File: gettext.info, Node: Locating Catalogs, Next: Charset conversion, Prev: Ambiguities, Up: gettext 12.2.3 Locating Message Catalog Files ------------------------------------- Because many different languages for many different packages have to be stored we need some way to add these information to file message catalog files. The way usually used in Unix environments is have this encoding in the file name. This is also done here. The directory name given in ‘bindtextdomain’s second argument (or the default directory), followed by the name of the locale, the locale category, and the domain name are concatenated: DIR_NAME/LOCALE/LC_CATEGORY/DOMAIN_NAME.mo The default value for DIR_NAME is system specific. For the GNU library, and for packages adhering to its conventions, it's: /usr/local/share/locale LOCALE is the name of the locale category which is designated by ‘LC_CATEGORY’. For ‘gettext’ and ‘dgettext’ this ‘LC_CATEGORY’ is always ‘LC_MESSAGES’.(1) The name of the locale category is determined through ‘setlocale (LC_CATEGORY, NULL)’. (2) When using the function ‘dcgettext’, you can specify the locale category through the third argument. ---------- Footnotes ---------- (1) Some system, e.g. mingw, don't have ‘LC_MESSAGES’. Here we use a more or less arbitrary value for it, namely 1729, the smallest positive integer which can be represented in two different ways as the sum of two cubes. (2) When the system does not support ‘setlocale’ its behavior in setting the locale values is simulated by looking at the environment variables.
