Подтвердить что ты не робот

Как перевести модуль OpenERP?

Я только что создал пользовательский модуль OpenERP, скажем /addons/the_meaning_of_life. Теперь я хочу перевести его на другой язык. Теперь я должен иметь папку i18n, содержащую файлы .pot и .po. Как я могу их создать? Было бы неплохо иметь пошаговое руководство.

4b9b3361

Ответ 1

Хорошо, вот что вы можете сделать:

  • Установите свое желание в своем db.
  • Как только вы закончите разработку своего модуля, установите модуль на тестовом сервере, затем перейдите к мастеру Setting(or Configuration) > Translation> Import/Export/Export Translation. Затем выберите модуль the_meaning_of_life и нажмите lang. и экспортировать его в формате .po.
  • Сохраните этот файл po, затем добавьте перевод, который вы хотите в po файле. Затем вы можете импортировать этот файл po в базу данных или добавить его под своим модулем в папке /addons/the_meaning_of_life/i18n, и он доступен с вашим модулем.
  • (только для новых модулей), вы должны также иметь файл "pot" в той же папке i18n, если у вас его еще нет, вы можете сгенерировать его, повторив шаг 2, но не выбирая какой-либо язык. Это, как вы можете сделать доступный перевод для некоторого lang в вашем модуле, но если вы хотите использовать услугу перевода Launchpad, то проверьте следующий url, это поможет вам использовать .pot, но для этого вам нужен проект на lp.

Надеюсь, это ответит вам, С уважением

Ответ 2

Вот bash script, который я использую для этого:

$ 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).

Ответ 3

Установите свое желание в своем db.

Как только вы закончите разработку своего модуля, установите модуль на тестовом сервере, затем перейдите к настройке мастера настройки (или конфигурации) > Перевод > Импорт/Экспорт/Экспорт перевода. Затем выберите модуль the_meaning_of_life и желание lang. и экспортировать его в формате .po.

Сохраните этот файл po, затем добавьте перевод, который вы хотите в po файле. Затем вы можете импортировать этот файл po в базу данных или добавить его под своим модулем под папку /addons/the _meaning_of_life/i18n, и он доступен с вашим модулем.

(только для новых модулей), вы должны также иметь файл "pot" в той же папке i18n, если у вас его еще нет, вы можете сгенерировать его, повторив шаг 2, но не выбирая какой-либо язык. Это, как вы можете сделать доступный перевод для некоторого lang в вашем модуле, но если вы хотите использовать службу перевода Launchpad, тогда проверьте следующий URL-адрес, это поможет вам использовать .pot, но для этого вам нужен проект на lp.