====== Localization ====== Localization (a.k.a. l10n) is the process of improving the experience of non-English speaking users of a Synchronet BBS. ===== Important considerations ===== * Although Synchronet does support UTF-8 terminals to a degree (primarily for output of non-ASCII characters), the native character set of files read/displayed by the Synchronet Terminal Server is CP437 * The CP437 character has only limited support for non-English/Western locales, so if UNICODE characters are required to support a new language translation, that will provide additional challenges * Software localization usually considers other aspects of a locale beyond just language (e.g. currency indicators, number separators, etc.), but Synchronet is currently only focused on //language// localization * The Synchronet developers are primarily English-only speakers, so help from non-English speaking sysops and developers is very much needed for a fully-translated BBS experience * Although this article is in the "custom" namespace of the Synchronet Wiki, the hope is that Synchronet will eventually ship with full support for the most common non-English-speaking (but Western) users: French, Spanish, and German ===== Mechanisms ===== * ''[[dir:ctrl]]/[[text.ini|text.lang.ini]]'' file can be used to replace ''text.dat'' and JavaScript text strings with translated/localized strings * ''[[dir:text]]/[[menu_files|menu/lang/*]]'' files can be used to replace menu files with translated/localized equivalents * The ''[JS]'' section of ''[[dir:ctrl]]/[[text.ini|text.lang.ini]]'' files can be used to replace any JavaScript strings that are passed-to/returned-from ''gettext()'' (see ''[[dir:load]]/[[custom:javascript:lib:gettext.js]]'') ===== See Also ===== * [[:custom:|custom index]] * [[text.ini]] file * [[custom:javascript:lib:gettext.js]] * [[Menu Files]] {{tag>localization text.dat}}