Humanizr/Humanizer

Public

Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities

  • Stars9.9k+10 tuần này
  • Forks1.1k
  • Watchers189
  • Issues1
  • Ngày tạo03/05/2012
  • Cập nhật gần nhất26/10/2026
  • Ngôn ngữC#
  • Giấy phép—
readme.md14.2 KBRaw

Humanizer

Build Status NuGet version NuGet downloads

Humanizer is a .NET library for turning strings, enums, dates, times, durations, numbers, quantities, and collections into human-friendly text.

Install

dotnet add package Humanizer

Select your Humanizer version in the documentation site for version-correct package, framework, and API guidance.

Example

using System.Globalization;
using Humanizer;

var culture = CultureInfo.GetCultureInfo("en-US");
var text = TimeSpan.FromMinutes(2).Humanize(culture: culture);
var indianNumber = 1_000_000_000L.ToIndianWords(IndianScaleStyle.CroreBased);
var precise = TimeSpan.FromMilliseconds(1500).HumanizeWithFractionalSeconds(
    precision: 1,
    maxFractionalDigits: 3,
    roundingMode: MidpointRounding.ToEven,
    culture: culture,
    maxUnit: TimeUnit.Second);

Console.WriteLine(text); // 2 minutes
Console.WriteLine(indianNumber); // one hundred crore
Console.WriteLine(precise); // 1.5 seconds

var german = CultureInfo.GetCultureInfo("de-DE");
var duration = TimeSpan.FromDays(7).HumanizeWithCase(
    GrammaticalCase.Dative,
    culture: german);

Console.WriteLine($"in {duration}"); // in einer Woche

In v4 previews, applications can provide the exact noun forms for a culture's CLDR cardinal categories:

var files = new PluralizationForms(
    singular: "plik",
    other: "pliku",
    few: "pliki",
    many: "plików");

if (files.TryPluralize(5m, CultureInfo.GetCultureInfo("pl"), out var noun))
    Console.WriteLine(noun); // plików

TryPluralize uses the required cardinal rule for every supported culture and returns false when the selected form was not supplied. TrySingularize resolves any exact form in the same set. See inflection and quantities for examples.

HumanizeWithCase returns only the duration phrase; add any required preposition yourself. Singular forms may include a locale-authored one-word or article, and a locale may encode a count in the unit form. Locales and custom components without verified case support throw NotSupportedException instead of falling back to English.

Nội dung README thuộc về Humanizr và cộng đồng đóng góp, giấy phép Không có giấy phép. Nguồn: github.com/Humanizr/Humanizer