Mono.Posix 1.0.5000.0 2.0.0.0 4.0.0.0 All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe. System.Object A wrapper to the libintl library providing message translation capabilities.

The following example demonstrates the use of the type. See also: http://www.mono-project.com/Internationalization.

`// File: i18n.cs using System; using Mono.Unix; public class i18n { public static void Main(string[] argv) { Catalog.Init ("i18n", "./locale"); Console.WriteLine (Catalog.GetString ("My name is") + " Enzo"); int i = 20; Console.WriteLine (Catalog.GetPluralString ("I'm {0} year old.", "I'm {0} years old.", i), i); } }`

To generate the translations, use:

`xgettext --from-code=UTF-8 i18n.cs -o es.po`

Edit the translations in es.po, then compile the translations and copy the file so that libintl can find it:

`mkdir -p locale/es/LC_MESSAGES/ msgfmt es.po -o locale/es/LC_MESSAGES/i18n.mo`

To run your example with the new translations:

`LANGUAGE=es mono i18n.exe`
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.String `` `` `` A containing the singular form of the string. It is also used as the key to search the catalog on. A containing the plural form of the string. An containing a number that determines which form of the string to return. If is one, the translation for is returned; otherwise, the translation for is returned. Returns a native language translation of a text whose form depends on the number passed to the method. The translated string. If no message catalog can be found, the method returns the singular form if == 1, the plural form otherwise.

  The following example demonstrates the use of the type. See also: http://www.mono-project.com/Internationalization.

  `// File: i18n.cs using System; using Mono.Unix; public class i18n { public static void Main(string[] argv) { Catalog.Init ("i18n", "./locale"); Console.WriteLine (Catalog.GetString ("My name is") + " Enzo"); int i = 20; Console.WriteLine (Catalog.GetPluralString ("I'm {0} year old.", "I'm {0} years old.", i), i); } }`
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.String `` A containing the text to be translated. It is used as the key to search the catalog on. Returns a native language translation of the text passed as the parameter. The translated string, if found in the catalog, otherwise.

  The following example demonstrates the use of the type. See also: http://www.mono-project.com/Internationalization.

  `// File: i18n.cs using System; using Mono.Unix; public class i18n { public static void Main(string[] argv) { Catalog.Init ("i18n", "./locale"); Console.WriteLine (Catalog.GetString ("My name is") + " Enzo"); int i = 20; Console.WriteLine (Catalog.GetPluralString ("I'm {0} year old.", "I'm {0} years old.", i), i); } }`
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` A containing the name of the package (domain) that is to be accessed. A containing the top level directory (folder) under which the message catalog(s) are stored. Initialize the object instance by providing information required to build the base directory where the message catalog is stored. The path to the message catalogs is constructed as follows localedir/locale/category/package. In this notation locale and category are, respectively, the locale name and the message category name, such as LC_MESSAGES. The object is initialized so that it translates the strings retrieved from the on-disk catalog into the UTF-8 encoding.