I18n - 国际化

关于多种语言应用程序的说明

简介

I18n 包含了各模块对不同语言的翻译。这个文件夹包含2种类型的文件, .po 和 .pot。 .po 文件是真正的翻译文件, .pot 是翻译文件的模板。

.po 文件应该是依照对应语言的代码命名的, .pot 应该是依照对应模块的名称命名的。

以下以 account.pot 为例子

"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-05-19 14:36+0000\n"
"PO-Revision-Date: 2009-05-20 10:36+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-07 15:06+0000\n"
"X-Generator: Launchpad (build Unknown)\n"

#. module: account
#: code:addons/account/account.py:0
#, python-format
msgid "Integrity Error !"
msgstr ""

上述的文件是会计(account)模块翻译文件的模板,里面的程序是在判别所有模块里的值,在对应的语言里应该被翻译成什么。

以下例子是会计模块里的 fr_FR.po 把会计模块翻译成法文。

# Translation of OpenERP Server.
# This file contains the translation of the following modules:
#     * account
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-05-19 14:36+0000\n"
"PO-Revision-Date: 2010-01-04 11:19+0530\n"
"Last-Translator: Anup <ach@tinyerp.co.in>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2009-12-07 15:07+0000\n"
"X-Generator: Launchpad (build Unknown)\n"

#. module: account
#: code:addons/account/account.py:0
#, python-format
msgid "Integrity Error !"
msgstr "Erreur d'Intégrité !"

上面的文件把 msgid 的值,依据 msgid 在 .pot 文件里代表的值,翻译成 msgstr 里的法文。 fr_FR 是法文的语言代码,其中 fr 表示法文, FR 表示使用这个语言的国家。