2012-07-19 68 views
13

我刚刚构建了一个定制的OpenERP模块,比如说/addons/the_meaning_of_life。 现在我想将它翻译成另一种语言。 我现在应该有一个包含.pot和文件的i18n文件夹。我如何生成这些?有一个分步指南将是很好的。如何翻译OpenERP模块?

回答

15

确定这里你可以做的是:

  1. 安装在你的数据库你的愿望郎。
  2. 完成模块开发后,将模块安装到测试服务器上,然后转到下面的向导Setting(or Configuration) > Translation> Import/Export/Export Translation。然后选择模块the_meaning_of_life并渴望lang。并以.po格式导出。
  3. 保存该po文件,然后在po文件中添加所需的翻译。然后,您可以将该po文件导入到数据库中,或者将其添加到文件夹/addons/the_meaning_of_life/i18n下的模块下,并且它可用于您的模块。
  4. (仅适用于新模块),您需要在同一个i18n文件夹中也有“锅”文件,如果您还没有它,您可以通过重复步骤2但不选择任何语言来生成一个文件。 如何为模块中的某些语言提供翻译,但是如果您想使用Launchpad翻译服务,请检查以下url这将指导您使用.pot,但是您需要清楚地了解有关lp的项目。

希望这会回答你,问候

+0

这样做了,谢谢。一些说法:下载的.po文件是ANSI,所以我必须将它保存为UTF-8。然后,我将文件'pt.po'复制到i18n文件夹并重新启动服务器。加载到服务器上的翻译重新启动。 – 2012-07-19 11:41:49

+0

@DReispt是的正确的方式,你必须保持在UTF-8只有 – 2012-07-19 11:44:50

6

这里是我使用这个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分支)。

+0

这对于繁重的工作很有用。感谢分享。 – 2012-07-19 15:30:47

-2

在你的db中安装你的愿望lang。

完成模块开发后,在测试服务器上安装模块,然后转到下面的向导设置(或配置)>翻译>导入/导出/导出翻译。然后选择模块the_meaning_of_life并期望lang。并以.po格式导出。

保存该po文件,然后在po文件中添加所需的翻译。然后,您可以将该po文件导入到数据库中,或者将其添加到您的模块下的文件夹/ addons/the_meaning_of_life/i18n下,并且可用于您的模块。

(仅适用于新模块),您需要在同一个i18n文件夹中也有“锅”文件,如果您还没有它,您可以通过重复步骤2但不选择任何语言来生成一个文件。如何为模块中的某些lang提供翻译,但是如果您想使用Launchpad翻译服务,请检查以下URL,它将引导您使用.pot,但为此,您需要清楚地了解LP上的项目。