PLEASE NOTE The documentation needs updating, but basically for the latest versions in the 2.11 range, all languages are now UTF-8, so it's best to always encode your languages with UTF-8
Several people are currently working on translations of phpList. The translation is split into frontend and backend.
The "Frontend" refers to all the pages viewable by the public (such as subscribe page, preferences page, etc.), as opposed to the administrators (such as attributes, send a message, etc.).
All frontend texts are currently stored in the texts directory that can be found in the lists directory in the phpList distribution. To translate the text strings (or to change the default ones), edit the english.inc file and save it to some other name. Then refer to this file in your config.php file.
These are the general steps to take when translating the frontend language file:
- Copy texts/english.inc and rename it to your_language.inc
- Translate only the text strings to the right of the equal symbol (=), and make sure the translated text strings are kept enclosed in single quotes and have a closing semi colon (;)
- If you need to use quotes in your text strings, you must place a backslash (\) in front of them, e.g. I\'m sending
- Finally, make sure you define the character set encoding you used for the translation by changing the $strCharSet value. UTF-8 (unicode) is the preferred character set, so if you can encode your translation in UTF-8, you can set this value: $strCharSet = 'UTF-8'; around line 5 of your language file.
- Upload your file back to the lists/texts/ folder
- Edit your config.php file and set $language_module = "english.inc"; to $language_module = "your_language.inc";
The Backend of phpList refers ot the 'administrators interface', i.e., to all the pages viewable only by administrators (with the various functions: user, messages, system, etc.). Translating the admin pages is a bit more complex. You can now download the latest translation pack from the DEV site. It will contain three directories:
- lan: this contains all the language strings for short bits of text on every page
- info: this contains the "information" on each page, that is located at the top of the page
- help: this contains content of help pages that are opened when clicking on a question mark (currently only in the "send" page)
In the language pack listing, you will find the language packs for all languages that are currently in the SVN repository. If you want to update an existing language, you will want to check the existing language pack for your language first. The main language pack (in english) is the one without a language code. eg phplist-langpack-2.11.4.tgz
In order to translate the strings that are used across the phpList application, you now need to use the new Translation Website. The system works entirely in UTF-8, so make sure to use the normal characters for any non-ascii letters.
We need moderators for each language. Everyone can contribute to the translation, but only approved users will be able to moderate the translations and add them to the core system. If you are interested to help out moderating your language, send an email to the translators mailinglist.
In order to use the new system to create your translation, you can use it in conjunction with the DevSite as follows:
1. edit your translation on http://translate.phplist.com
2. go to the Update translation page in dev.phplist.com
3. click to reload your translation, and your changes will be applied