IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 23 Nisan 2026

Humanizer, verilerle çalışmayı basitleştiren ve insanlaştıran, özellikle bilgileri kullanıcı dostu bir formatta gösterirken güçlü ve esnek bir .NET kütüphanesidir. Tarihleri göreli zaman dizelerine dönüştürmeniz ('3 gün önce'), kelimeleri çoğul hale getirmeniz, sayıları kelime olarak biçimlendirmeniz veya enum'larla çalışmanız, dizeler gösterirken, Pascal durum girdi dizeleri gibi cümlelerle özelleştirilmiş açıklamalar yapmanız, alt çizgili giriş dizelerini normal başlık durum dizeleri haline getirmeniz ve uzun metin kesilmesi gibi işlemler için Humanizer'a ayrıntılı bir araç ve genişletme yöntemleri sağlıyor.

Bu makalede, C#'da Humanizer'in ayrıntılı bir öğreticisini tartışacağız. Ayrıca, C# PDF Kütüphanesi için Humanizer ve IronPDF kullanarak PDF belgelerini nasıl oluşturacağımızı tartışacağız.

C#'de Humanizer Kurulumu

Humanizer ile çalışmaya başlamak için NuGet aracılığıyla kütüphaneyi yüklemeniz gerekir. Projenizde bunu şu komutla Paket Yöneticisi Konsolu aracılığıyla yapabilirsiniz:

PM > Install-Package Humanizer

Alternatif olarak, .NET Core CLI'yi kullanıyorsanız, şu komutla Humanizer ekleyebilirsiniz:

dotnet add package Humanizer

Kurulumdan sonra, C# dosyalarınıza uygun ad alanını dahil ederek Humanizer kullanmaya başlayabilirsiniz:

using Humanizer;

Tarihleri ve Saatleri İnsancıl Hale Getirme

Humanizer'ın en yaygın kullanım alanlarından biri, tarhiler ve saatleri Humanize yöntemi ile insan tarafından okunabilir formatlara, süre aralıklarına, sayılara ve miktarlara dönüştürmektir. Bu özellikle "2 saat önce" veya "5 gün içinde" gibi göreceli zamanları göstermek için faydalıdır.

Örnek: Göreli Zamanı İnsancıl Hale Getirme

using System;

class HumanizerDemo
{
    static void Main()
    {
        DateTime pastDate = DateTime.Now.AddDays(-3);
        // Humanize the past date, which converts it to a relative time format
        string humanizedTime = pastDate.Humanize(); // Output: "3 days ago"

        DateTime futureDate = DateTime.Now.AddHours(5);
        // Humanize the future date, presenting it in relative time
        string futureHumanizedTime = futureDate.Humanize(); // Output: "in 5 hours"

        Console.WriteLine("Humanized Past Date: " + humanizedTime);
        Console.WriteLine("Humanized Future Date: " + futureHumanizedTime);
    }
}

Humanizer genişletme yöntemi, farklı zaman birimlerini otomatik olarak işler ve hatta dilbilgisi doğruluğu için ayarlamalar yapar.

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - Göreceli Zaman Çıktısını İnsancıllaştır

TimeSpans İnsancıl Hale Getirme

Humanizer ayrıca süreleri okunabilir bir formatta görüntülemeyi kolaylaştırarak TimeSpan objelerini de insancıllaştırabilir.

Örnek: TimeSpan İnsancıl Hale Getirme

using System;

class TimeSpanHumanizerDemo
{
    static void Main()
    {
        TimeSpan timeSpan = TimeSpan.FromMinutes(123);
        // Humanizing the TimeSpan into hours and minutes
        string humanizedTimeSpan = timeSpan.Humanize(2); // Output: "2 hours, 3 minutes"
        Console.WriteLine("Humanized TimeSpan: " + humanizedTimeSpan);
    }
}

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - TimeSpan Çıktısını İnsancıllaştır

Sayılarla Çalışma

Humanizer, sayıları insan tarafından okunabilir kelimelere dönüştürmek ve ordinalları işlemek için birkaç yöntem sağlar.

Örnek: Sayıları Kelimelere Dönüştürme

using System;

class NumberHumanizerDemo
{
    static void Main()
    {
        int number = 123;
        // Convert number to words
        string words = number.ToWords(); // Output: "one hundred and twenty-three"
        Console.WriteLine("Number in Words: " + words);
    }
}

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - Sayıyı Kelimeye Çevir Çıktısı

Örnek: Sayıları Ordinallere Dönüştürme

using System;

class OrdinalHumanizerDemo
{
    static void Main()
    {
        int number = 21;
        // Convert number to ordinal words
        string ordinal = number.ToOrdinalWords(); // Output: "twenty-first"
        Console.WriteLine("Ordinal Number: " + ordinal);
    }
}

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - Sayıyı Sıra Sayısına Çevir Çıktısı

Çoğul ve Tekil Yapma

Humanizer, kelimeleri tekil ve çoğul biçimleri arasında dönüştürmeyi kolaylaştırır, bu da miktara göre uzun metinleri dinamik olarak oluşturmak için kullanışlıdır.

Örnek: Kelimeleri Çoğul ve Tekilleştirme

using System;

class PluralizationDemo
{
    static void Main()
    {
        string singular = "car";
        // Pluralize the word
        string plural = singular.Pluralize(); // Output: "cars"

        string word = "people";
        // Singularize the word
        string singularForm = word.Singularize(); // Output: "person"

        Console.WriteLine("Plural of 'car': " + plural);
        Console.WriteLine("Singular of 'people': " + singularForm);
    }
}

Humanizer, düzensiz çoğul ve tekil koşulları da işleyerek çeşitli kullanım senaryoları için sağlam olur.

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 5 - Çoğul ve Tekil Çıktılar

Enum'lar ile Çalışma

Enum'lar, C# uygulamalarında sıkça bir dizi adlandırılmış sabit temsil etmek için kullanılır. Humanizer enum değerlerini insan tarafından okunabilir dizelere dönüştürebilir.

Örnek: Enum'ları İnsancıl Hale Getirme

using System;

public enum MyEnum
{
    FirstValue,
    SecondValue
}

class EnumHumanizerDemo
{
    static void Main()
    {
        MyEnum enumValue = MyEnum.FirstValue;
        // Humanizing enum to a readable format
        string humanizedEnum = enumValue.Humanize(); // Output: "First value"

        Console.WriteLine("Humanized Enum: " + humanizedEnum);
    }
}

Bu yöntem, özellikle kullanıcı dostu etiketlerin arayüzlerde gösterilmesi için faydalı olabilir.

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 6 - Enum Çıktısını İnsancıllaştır

Bayt Boyutlarını İnsancıl Hale Getirme

Humanizer'in başka bir elverişli özelliği, büyük bayt değerlerini KB, MB veya GB gibi okunabilir formatlara dönüştürerek bayt boyutlarını insanlaştırma yeteneğidir.

Örnek: Bayt Boyutlarını İnsanı Hale Getirme

using System;

class ByteSizeHumanizerDemo
{
    static void Main()
    {
        long bytes = 1048576;
        // Humanize bytes to a readable size format
        string humanizedBytes = bytes.Bytes().Humanize(); // Output: "1 MB"
        
        Console.WriteLine("Humanized Byte Size: " + humanizedBytes);
    }
}

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 7 - Bayt Boyutunu İnsancıllaştır

İleri Düzey Senaryolar

Humanizer, yukarıda tanımlanan temel senaryolarla sınırlı değildir. Uygulama zonalarını destekleyen Truncate yöntemi ve birden çok dil ve uzantılar gibi birçok gelişmiş özelliği destekler.

Örnek: DateTime Sapmaları İnsancıl Hale Getirme

Humanizer, zaman dilimlerini ele alan uygulamalar için faydalı olan DateTimeOffset ile de başa çıkabilir.

using System;

class DateTimeOffsetHumanizerDemo
{
    static void Main()
    {
        DateTimeOffset dateTimeOffset = DateTimeOffset.Now.AddDays(-2);
        // Humanize DateTimeOffset
        string humanizedDateTimeOffset = dateTimeOffset.Humanize(); // Output: "2 days ago"

        Console.WriteLine("Humanized DateTimeOffset: " + humanizedDateTimeOffset);
    }
}

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 8 - DateTime Offset Çıktısını İnsancıllaştır

Performans Hususları

Humanizer verimli olacak şekilde tasarlanmıştır, ancak herhangi bir kütüphane gibi, performansı nasıl kullanıldığına bağlıdır. Büyük veri setleriyle veya gerçek zamanlı işleme ile ilgilenen uygulamalar için, sıkça yapılan insanlaştırma işlemlerinin etkisini düşünmek önemlidir.

IronPDF for C#

IronPDF, .NET uygulamaları için kapsamlı bir PDF oluşturma ve manipülasyon kütüphanesidir. Geliştiricilere PDF dosyalarını kolaylıkla oluşturma, okuma, düzenleme ve içerik çıkarma imkanı sunar. IronPDF, kullanıcı dostu olacak şekilde tasarlanmış ve HTML'den PDF'ye dönüştürme, belgeleri birleştirme, filigran ekleme ve çok daha fazla işlevsellik sunar. Çok yönlülüğü ve güçlü özellikleri, C# projelerinde PDF belgeleriyle çalışmak için mükemmel bir seçim haline getirir.

NuGet Paket Yöneticisi ile IronPDF Kurulumu

NuGet Paket Yöneticisi'ni kullanarak IronPDF'i yüklemek için bu adımları izleyin:

  1. Projenizi Visual Studio'da Açın:

    • Visual Studio'yu başlatın ve mevcut C# projenizi açın veya yeni bir tane oluşturun.
  2. NuGet Paket Yöneticisini Açın:

    • Çözüm Gezgini'nde projenize sağ tıklayın.
    • "Manage NuGet Packages..." seçeneğini içerik menüsünden seçin.

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 9 - NuGet Paket Yöneticisi

  1. IronPDF'i Yükleyin:
  • NuGet Paket Yöneticisi'nde, "Araştır" sekmesine gidin.
  • IronPDF için arama yapın.
  • Arama sonuçlarından IronPDF paketini seçin.
  • IronPDF'i projenize eklemek için "Yükle" düğmesine tıklayın.

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 10 - IronPDF

Bu adımları izleyerek, IronPDF C# projenize yüklenmiş ve kullanıma hazır hale gelecek, güçlü PDF manipülasyon yeteneklerinden yararlanmanızı sağlayacaktır.

C# Humanizer ve IronPDF Kod Örneği

using Humanizer;
using IronPdf;
using System;
using System.Collections.Generic;

class PDFGenerationDemo
{
    static void Main()
    {
        // Instantiate the PDF renderer
        var renderer = new ChromePdfRenderer();
        
        // Generate humanized content
        List<string> content = GenerateHumanizedContent();
        
        // HTML content template for the PDF
        string htmlContent = "<h1>Humanizer Examples</h1><ul>";

        // Build the list items to add to the HTML content
        foreach (var item in content)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";

        // Render the HTML into a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF to a file
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF document generated successfully: output.pdf");
    }

    /// <summary>
    /// Generates a list of humanized content examples
    /// </summary>
    /// <returns>List of humanized content as strings</returns>
    static List<string> GenerateHumanizedContent()
    {
        List<string> content = new List<string>();

        // DateTime examples
        DateTime pastDate = DateTime.Now.AddDays(-3);
        DateTime futureDate = DateTime.Now.AddHours(5);
        content.Add($"DateTime.Now: {DateTime.Now}");
        content.Add($"3 days ago: {pastDate.Humanize()}");
        content.Add($"In 5 hours: {futureDate.Humanize()}");

        // TimeSpan examples
        TimeSpan timeSpan = TimeSpan.FromMinutes(123);
        content.Add($"TimeSpan of 123 minutes: {timeSpan.Humanize()}");

        // Number examples
        int number = 12345;
        content.Add($"Number 12345 in words: {number.ToWords()}");
        content.Add($"Ordinal of 21: {21.ToOrdinalWords()}");

        // Pluralization examples
        string singular = "car";
        content.Add($"Plural of 'car': {singular.Pluralize()}");
        string plural = "children";
        content.Add($"Singular of 'children': {plural.Singularize()}");

        // Byte size examples
        long bytes = 1048576;
        content.Add($"1,048,576 bytes: {bytes.Bytes().Humanize()}");

        return content;
    }
}

Humanizer C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 11 - PDF Çıktısı

Sonuç

Humanizer, .NET geliştiricilerinin kullanıcı dostu ve insan tarafından okunabilir bir formatta bilgi sunan uygulamalar oluşturmayı hedeflediği vazgeçilmez bir kütüphanedir. Tarihler ve zamanlar için insanlaştırma, sayı ve enum formatlama gibi geniş özellik yelpazesi, uygulamaların kullanılabilirliğini artırmak için çok yönlü bir araç yapar. Humanizer'dan yararlanan geliştiriciler, uygulamalarının son kullanıcılara verileri daha etkili bir şekilde iletmesini sağlayarak özel formatlama mantığını uygulama zahmetinden tasarruf edebilirler.

Benzer şekilde, IronPDF, C# projelerinde PDF belgeleri oluşturmak ve yönetmek için kapsamlı PDF üretim ve manipülasyon yetenekleri sunarak mükemmel bir seçimdir. Humanizer ve IronPDF bir araya geldiğinde, .NET uygulamalarının işlevselliğini ve sunumunu önemli ölçüde artırabilirler. IronPDF lisansı hakkında daha fazla bilgi için, IronPDF Lisans Bilgisine bakın. Daha fazla keşfetmek için, HTML'den PDF'ye Dönüştürme Üzerine Ayrıntılı Eğitimimize göz atın.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez