如何在RML中翻译字符串?

时间:2014-11-07 11:11:21

标签: report openerp openerp-7 po rml

我做了一份RML报告,这是完美的。在翻译文件中,包含RML文件中的字符串,因此我可以翻译报告的内容。但是有一种情况是字符串无法被识别,因此这些字符串无法翻译。我要举一个例子:

下一行正在运行,"类别"被翻译文件识别,我可以在那里翻译。

<para style="terp_tblheader_General_Centre">Category</para>

下一个没有工作:

<para>[[ o.type == 'r' and 'Registration' or 'Deregistration' ]]</para>

这是不识别字符串的唯一情况。 类型 是一个选择字段(可以取值&#39; r&#39;或&#39; d&#39;),我写了这一行请参阅报告注册(如果是类型值&#39; r&#39;)或注销(如果类型有价值&#39; d&#39; )。但注册注销未被识别为要翻译的字词。

我看到这篇文章:

Translation of strings in python code in RML reports

我尝试写_('Registration') / _('Deregistration')然后_(Registration) / _(Deregistration)代替'Registration' / 'Deregistration',但在这种情况下字符串甚至不会出现在报告中。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

要进行翻译,您必须在.po文件中插入文字。您可以在i18n文件夹下查看销售,购买,帐户等核心模块。

  1. 在此路径Setting => Translations => Load a Translation

  2. 下加载翻译
  3. 现在为合作伙伴分配语言。

  4. .po文件中添加文本值

  5. 根据合作伙伴语言,它会更改文本标签,就像这里是.rml文件的示例代码

    <story>
    <para style="terp_default_8">[[repeatIn(objects,'o')]]</para>
    <para style="terp_default_8">[[ setLang(o.partner_id.lang) ]]</para>
    
  6. 希望这会对你有所帮助。