From the 2.2.0 version of Noah, it is possible to use the multi-language feature. The 2.2.0 release contains a couple of languages for start, but the language files we use are mostly inherited from the old 1.3 version of Noah. Because the program has changed a lot since the 1.3, these old translations don't cover the 100% of all the current interface texts. Any contributions to extend or correct the existing translations, or create new ones are welcome!
The Settings form contains a new section called “Language properties”. It has three fields:
If you have enabled the feature, the language selector drop-down list will appear next to the theme selector. If a user changes the language, his or her selection will be stored in a cookie and this way, the program will “remember” that permanently.
What texts are actually affected when the feature is used:
The texts that are not affected by the feature:
themes directory
You can add a new language to the program by creating new language files (or you can extend or correct the currently available languages by editing the current language files). All the language files can be found under the lang sub directory and every languages has two language files. E.g. you can find all the English texts in the lang_en.php and lang_admin_en.php files. The lang_admin_xx.php files contain texts that only appear on the admin interface. This separation aims to support the translators with providing the minimum set of texts in the separate lang_xx.php files that they must anyway translate to create a usable language version! As opposed to this, the lang_admin_xx.php files contain much more “advanced” texts, but these texts need not necessarily be translated, since they will be only ever seen by admin. (However, we would be glad if you translated them, too and we could provide full language support to the admin interface, as well!)
The process of creating a new translation is the following:
lang_en.php and lang_admin_en.php under the lang directory. Name the copies with the language code of the translation you are about to make. Use standard two letter codes, please. E.g. for an Esperanto translation, create lang_eo.php and lang_admin_eo.php.$lll["categories"]="Categories";
lang_xx.php files where all the current languages are listed. Add there a new line with your newly created language. E.g.:$lll["defaultLanguage_eo"]=$lll["allowedLanguages_eo"]="Esperanto";
(if you forget this, only the language code of your new translation will appear in the language selector drop-down lists)
The program will automatically detect that you created new language files and the new language will appear in the Settings form both in the Default language and in the Allowed languages to select from fields. Extend the Allowed languages to select from list with the new one to make it appear in the language selector. You can also establish translations of notification emails, too, by creating copies of the notification template files! You can find the notification templates under notifications. E.g. to create the Esperanto version of the email_to_friend.html template, make a copy of it into email_to_friend_eo.html and translate it!
Some important notes: