2012-07-19 122 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上的項目。