如何强制在我的Odoo代码中翻译字段?

时间:2016-03-26 04:03:40

标签: openerp translation v8

我正在开发一个电子发票模块,并且应该用西班牙语表达付款期限,所以我设置了一个包含所有必填字段的字典,当我这样做时:

{
...
'FmaPago': inv.payment_term.name,
...
}

输出文件包含英文值“name”。我尝试过像

这样的东西
_(inv.payment_term.name)

但结果相同。

我应该如何强制在定义的翻译中表达值?

2 个答案:

答案 0 :(得分:1)

付款条款的字段名称已经可以翻译。您可以通过单击编辑模式下字段中的小按钮来更改Odoo中的翻译。

Translatable field in Odoo

如果你做得对,如果你使用旧的API,你必须避免代码端的一些典型错误。

  1. 始终传递上下文
  2. e.g。如果您浏览发票,请传递上下文,以使所有翻译正确

    1. 如果您想为他们翻译,请使用合作伙伴语言
    2. Odoo在其上下文中使用用户语言,以正确翻译Web客户端。如果您为客户打印文档,您当然希望用客户语言... 所以你可能需要操纵上下文(键'lang')。对于新API,您必须调用with_context()来执行此操作。

答案 1 :(得分:0)

  1. 您必须使用_()表示您希望能够翻译的字符串。
  2. 你必须翻译文件* .po(我记得),这就是我想的。
  3. 别忘了查看文档link