覆盖原始模块的翻译

时间:2018-07-30 12:46:27

标签: odoo odoo-8 odoo-9

如何覆盖default_code字段的翻译?

在继承的产品模板和产品产品中,我添加了字段

default_code = fields.Char(
        string='Articul',

        related='product_variant_ids.default_code')

 default_code = fields.Char(
        'Articul', select=True)

字符串在英语版本中有所变化,但是如果我更改语言,则会得到原始的翻译。

所以我试图从原始模块翻译中复制一部分并将其添加到我的po文件中。

#. module: product
#: model:ir.model.fields,field_description:product.field_product_product_default_code
#: model:ir.model.fields,field_description:product.field_product_template_default_code
msgid "Articul"
msgstr "Articulas"

它可以工作,但是当我想用Poedit更新文件时出现错误

2018 m. liepos 30 d. 15:43:37: /tmp/poedituUNIro/1input.po:1023: duplicate message definition...
2018 m. liepos 30 d. 15:43:37: /tmp/poedituUNIro/1input.po:169: ...this is the location of the first definition
2018 m. liepos 30 d. 15:43:37: msgmerge: found 1 fatal error
2018 m. liepos 30 d. 15:43:37: Entries in the catalog are probably incorrect.
2018 m. liepos 30 d. 15:43:37: Updating the catalog failed. Click on 'Details >>' for details.

1 个答案:

答案 0 :(得分:2)

无需重新声明字段字符串!

  1. 从您要覆盖的加载项中导出翻译文件。
  2. 使用POEeit或类似工具对其进行翻译。
  3. 将翻译文件拖放到插件的i18n_extra文件夹中。例如:addon/i18n_extra/fr.pot
  4. 更新插件。

在该系统中,子模块能够覆盖父模块的翻译。