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.
For details on each product, examples and FAQ please check the Wiki pages.
Please check Releases Notes for version history
Package | Status |
---|---|
GetText.NET | |
GetText.NET.PluralCompile | |
GetText.NET.WindowsForms | |
GetText.NET.Extractor |
For further details on each product, also check the Wiki pages.