Table of Contents
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
ctrl/text.lang.ini
file can be used to replacetext.dat
and JavaScript text strings with translated/localized stringstext/menu/lang/*
files can be used to replace menu files with translated/localized equivalents- The
[JS]
section ofctrl/text.lang.ini
files can be used to replace any JavaScript strings that are passed-to/returned-fromgettext()
(seeload/gettext.js
)