Sympa was originally designed as a multilingual Mailing List Manager. Even in its earliest versions, Sympa separated messages from the code itself, messages being stored in NLS catalogues. Later a
lang list parameter was introduced. Nowadays, Sympa is able to keep track of individual users' language preferences.
If you are willing to provide Sympa into your native language, please check the translation howto: Instructions for translating Sympa.
Every message sent by Sympa to users, owners and editors is outside the code, in a message catalog. These catalogs are located in the
To tell Sympa to use a particular message catalog, you can should set the
lang parameter in
lang list parameter defines the language for a list. It is used by WWSympa and to initialize users' language preferences at subscription time. And, all messages returned by Sympa concerning a list will be in the list's language.
The user language preference is currently used by WWSympa and email commands. There is no email-based command for a user to set his/her language. The language preference is initialized when the user subscribes to his/her first list. WWSympa allows the user to change it.
Sympa uses “language tag” to determine context of language and locale for users and lists. The language tag consists of one or more subtags: language, script, region and variant. Below are some examples.
|Arabic language (common)|
|Portuguese language in Brazil|
|Serbian language with Latin script|
|Catalan spoken in Valencia|
|Utinaaguti (around Okinawa island)|
Sympa is designed to allow easy internationalization of its user interface (service mail messages and web interface). All translations for one language are gathered in a single .po file that can be manipulated by standard GNU gettext tools.
Instructions for translating Sympa are maintained on the Sympa website.
ryu, respectively. If you don't know what name to use for your language, please ask Sympa authors.
Sympa templates refer to translatable strings using the
loc TT2 filter.
[%|loc%]User Email[% END %]
[%|loc(list.name,user.email)%]You have subscribed to list %1 with email address %2[% END %]
Sympa had previously been translated into 15 languages more or less completely. We have automatically extracted the translatable strings from previous templates but this process is awkward and is only seen as a bootstrap for translators. Therefore Sympa distribution will not include previous translations until a skilled translator has reviewed and updated the corresponding .po file.
The default Sympa templates are language independant, refering to catalogue entries for translations. When customizing either web or mail templates, you can define different templates for different languages. The template should be located in a language subdirectory of
mail_tt2 with the language tag.
/web_tt2/home.tt2 /web_tt2/de/home.tt2 /web_tt2/en-US/home.tt2 /web_tt2/fr/home.tt2
This mechanism also applies to
comment.tt2 files used by create list templates.
Web templates can also make use of the
lang variable to make templates multi-lingual:
[% IF lang == 'fr' %] Personnalisation [% ELSE %] Customization [% END %]
localevariable was used.
web_tt2/css.tt2 for specific languages will override any portion of main css, not fully replacing it. So they may be used for customization for particular language.
For example, default css.tt2 specifies the font families covering Western scripts (Cyrillic, Latin, ...). East Asian users may prefer to consistent font family supporting Western along with Eastern scripts (hangeul, hanzi, ...). Sympa 6.1.18 and later include
css.tt2 specific to these languages (
For another example, users using languages with right-to-left scripts (Arabic, Hebrew, ...) might wish web page layout to be fit in direction of texts. It may be possible to override attributes for alignment by
css.tt2 for each language (
Topics are defined in a
topics.conf file. In this file, each entry can be given a title in different languages, see Topics.
Until version 5.3, Sympa web pages were using in each language's character set (iso-8859-1 for French, utf-8 for Japanese, ...) whereas every web page now uses utf-8. Sympa also expects every file to be UTF-8 including : configursation files, templates, authorization scenarios, .po files.
Note that the shared documents (see Shared documents) filenames are Q-encoded to make their storage encoding neutral. This encoding is transparent for end users.
Sympa fully supports Unicode. By default, all messages sent by Sympa will be encoded by
utf-8 character set. However, in some language environments legacy character sets are preferred, for example
iso-2022-jp in Japanese language. Messages sent by Sympa may be encoded using legacy character sets spesific to each language. See legacy_character_support_feature parameter.
Note that this setting does not affect messages sent by users but only the messages mailing list robot will send.