1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- How to translate SquirrelMail into another language?
- ====================================================
- This document does not deal with CVS and how to upload translations to
- the repository.
- 1. First time translation
- -------------------------
- a) You must have gettext installed. If it is not installed you can
- download the sources from
- <URL:ftp://ftp.gnu.org/pub/gnu/gettext/>.
- b) Find the language code for the language you are going to translate
- into. A list of language codes can be found at
- <URL:http://lcweb.loc.gov/standards/iso639-2/langhome.html>. If
- there is a 2 letter code for the language, use this.
- Create a directory squirrelmail/locale/language_code/LC_MESSAGES/.
- Copy squirrelmail/po/squirrelmail.po into this directory. This is the
- file that is going to be translated.
- c) To translate the actual strings fill in the msgstr after each
- msgid with the appropriate translation. There are a few tools which
- can make this job a bit easier at
- <URL:http://i18n.kde.org/translation-howto/gui-specialized-apps.html>.
- Convert the translated squirrelmail.po into a binary file by
- running the command "msgfmt -o squirrelmail.mo squirrelmail.po" in
- the directory where the translated squirrelmail.po is residing.
- d) Add the language name and language code to the array at the top of
- squirrelmail/functions/i18n.php.
- There is also a small script in the po/ directory that can help in
- creating charset mappings from the mappings files that are provided by
- the Unicode consortium.
- 2. Maintaining translations
- ---------------------------
- The text strings in the program will change over time. This means that
- strings that are already translated are no longer used and new strings
- are added. Therefore it is necessary to maintain the translations.
- a) There should always be an updated template containing all strings
- in SquirrelMail in squirrelmail/squirrelmail.po. To merge all new
- strings in this file into an existing translation run the command
- msgmerge squirrelmail/locale/language/LC_MESSAGES/squirrelmail.po \
- squirrelmail/po/squirrelmail.po > \
- squirrelmail/locale/language/LC_MESSAGES/squirrelmail.po.new
- This should keep all strings that are unchanged and comment out all
- strings that are no longer in use. You might want to make a copy
- before doing this.
- b) Run msgfmt again to create a new binary file.
- 3. Updating the template
- ------------------------
- This script comes from Serek:
- #!/bin/bash
- xgettext --keyword=_ -keyword=N_ \
- --default-domain=squirrelmail/po/squirrelmail \
- -C squirrelmail/src/*.php
- xgettext --keyword=_ -keyword=N_ \
- --default-domain=squirrelmail/po/squirrelmail \
- -C -j squirrelmail/functions/*.php
- $ Id $
|