/GetText.NET

A .NET Standard cross-platform implementation of GNU Gettext

Primary LanguageC#OtherNOASSERTION

GetText.NET

A cross-platform .NET implementation of the GNU Gettext library, initially forked from NGettext.
GetText.NET supports string interpolation and FormattableString.
GetText.NET.Extractor extracts string values from C# source code in GetText.ICatalog method calls to Get*String(), and also supports localizing Windows.Forms.Control properties showing text, such as .Text, .HeaderText or .ToopTipText.

GetText.NET has simplified usage over NGetText and original GNU Gettext tools, i.e. removed Get*StringFmt() methods and pass parameters directly to Get*String() overloads, and also removed the need for LC_MESSAGES subfolder to place translation files.

This fully managed library targets Microsoft .NET Standard 2.0 to support a wide range of .NET implementations including .NET Framework >=4.6.1, .NET Core >=2.0, Mono and more. It is fully COM and CLS compatible.

Translations are loaded directly from gettext *.mo files. Multiple translation domains and multiple locales can be loaded in one application instance. There is no need to compile satellite assemblies. GetText.NET supports both little-endian and big-endian MO files, automatic (header-based) encoding detection and (optional) plural form rules parsing.

Documentation and Samples

For details on each product, examples and FAQ please check the Wiki pages.

Version History

Please check Releases Notes for version history

Status

Build Status

Package Status
GetText.NET Nuget (with prereleases)
GetText.NET.PluralCompile Nuget (with prereleases)
GetText.NET.WindowsForms Nuget (with prereleases)
GetText.NET.Extractor Nuget (with prereleases)

For further details on each product, also check the Wiki pages.