当您导出特定模块的翻译模板时,您会导出模块中的所有项目:python 中的文字字符串、标签以及您在data
文件夹中手动引入的所有信息:
想象一下,您已经为您的客户安装了模块并且缺少一些翻译。尤其是
data
文件夹中添加的记录中的那些。然后,用户通过 Odoo 界面翻译其中的一些,ir_translation
用这些术语更新表格。然后,您想在 po 文件中将更多字段及其翻译添加到模块中,或者修改一些已经完成的翻译。
如果您想加载您在 po 文件中编写的术语,您必须覆盖 po 文件中所有字段的翻译(标记复选框)。但问题是这些字段中会有一些字段是用户翻译的。
有没有办法保留用户修改或更改的翻译?
我还考虑到:
- 再次导出模块的语言不会通过界面带来新的翻译记录
- 我可以从 po 文件中导出数据
ir.translation
并将其写入 po 文件,但是每次我想更改 po 文件时都这样做很麻烦 - 我可以将 po 文件发送给客户端,即使这不是很方便
- 我可以在没有任何 po 文件的新模块中尽可能多地隔离记录
可能的最佳解决方案
- 只需勾选“保留用户修改的翻译记录”即可。更新的记录可以通过检查最后一次写入日期来识别
ir_translation
。或者我什至可以添加一个新字段ir_translation
来指示用户更新了它们。恐怕这是在Odoo的翻译引擎中,我不知道它是否安全或容易触摸。