我刚刚建立了一个自定义的OpenERP模块,比方说/addons/the_meaning_of_life
。
现在我想把它翻译成另一种语言。
我现在应该有一个包含.pot
和.po
文件的i18n文件夹。我该如何生成这些?有一个循序渐进的指南会很高兴。
答案 0 :(得分:18)
好的,你可以做的是:
Setting(or Configuration) > Translation> Import/Export/Export Translation
。然后选择模块the_meaning_of_life
并选择lang。并以.po格式导出。/addons/the_meaning_of_life/i18n
下的模块下,并且它可以与您的模块一起使用。希望这会回答你,问候
答案 1 :(得分:7)
这是我用于此的bash脚本:
$ cat oerp-i18n-module
#!/bin/bash
#
# usage:
# ./oerp-i18n-module <databasename> <module name>
#
# the script will create or update PO files for en, fr, de and es. You
# will need to update the translations (and don't forget bzr add +
# commit)
dirname=$(find src -name $1 | egrep -v '(src/stable)|(src/server)')
install -d ${dirname}/i18n
for lang in en fr de es
do
python src/server/openerp-server -c config/instance_debug.ini \
--log-level=error --i18n-export=${lang}.po -l ${lang} \
-d $1 --modules=$2 > /dev/null 2>&1
if [ -f ${dirname}/i18n/${lang}.po ]
then
echo merge new translations in ${dirname}/i18n/${lang}.po
msgmerge -vU --backup=simple ${dirname}/i18n/${lang}.po ${lang}.po
rm ${lang}.po
else
echo put file in ${dirname}/i18n/${lang}.po
mv ${lang}.po ${dirname}/i18n/
fi
done
希望这会有所帮助(您可能需要编辑一些特定于我的bzr分支布局的路径)。
答案 2 :(得分:-2)
在你的数据库中安装你想要的语言。
完成模块开发后,在测试服务器上安装模块,然后转到下面的向导设置(或配置)&gt;翻译&GT;导入/导出/导出翻译。然后选择模块the_meaning_of_life和欲望郎。并以.po格式导出。
保存该po文件,然后在po文件中添加所需的翻译。然后你可以在数据库中导回那个po文件,或者将它添加到你的模块下的文件夹/ addons / the_meaning_of_life / i18n下,它可以在你的模块中使用。
(仅适用于新模块),你需要在同一个i18n文件夹中也有“pot”文件,如果你还没有它,你可以通过重复步骤2而不选择任何语言来生成一个。这是如何为模块中的某些语言提供翻译的,但是如果你想使用Launchpad翻译服务,那么请检查以下网址,这将指导你使用.pot,但为此你需要明确地在lp项目。