Localization Guidelines

All the .po files are in message catalog format and can be manipulated using Linux utilities like msgfmt. For more information on msgfmt and other related utilities, refer to http://www.gnu.org/software/gettext/manual/html_node/gettext_toc.html.

You must adhere to the following rules when you localize the strings.

  1. When specifying the .po file header, you should use the UTF-8 character set NOT the character set that corresponds to the language you are translating to. Irrespective of whether you are writing a German or a Japanese .po file, you must use the UTF-8 character set NOT the utf-8 or the SHIFT-JIS character set. If you do not have text editors capable of saving files in UTF-8, manually convert the .po file to UTF-8 by running the following command:

    msgconv -t UTF-8 -o <new_file>.po <source_file>.po

    where

    <new_file> is the name of the .po file converted to the UTF-8 character set

    <source_file> is the original .po file (en_US locale)

  2. You should not translate Python string keyworded arguments. They come in the form of "%(some_text)s ", "%(some_text)d " or "%(some_text)f ".

    For example, translating the English string:

    "%(name)s, please "

    to French as

    "%(nom)s, s&#146il vous plait "

    would be incorrect. The English string

    "%(name)s, please "

    should be translated to French as:

    "%(name)s, s&#146il vous plait "