Odoo16—国际化翻译
2024/1/3 14:02:39
本文主要是介绍Odoo16—国际化翻译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
开发odoo系统模块的时候,如果一开始就有国际化的需求,无论是模型的定义还是视图的构建,建议使用英语作为第一语言:一方面,英语本身就是一种国际化的语言;另一方面,odoo内置模型字段描述如Created by和Created on都是用英文,如果我们将中文作为第一语言,就会出现原始.po语言文件中既有中文,又有英文的尴尬场景,还需要再做一次从中文到中文的翻译。poedit截图如下:
odoo的国际化翻译大致有一下几个步骤:
- 导出模块.po文件
- 使用poedit工具进行词条翻译
- 将翻译后的.po文件放到模块的i18n文件夹下,然后执行语言添加操作
导出模块.po文件
我们打开开发者模式,通过“设置-翻译-导入/导出-导出翻译”进入如下弹窗界面:
语言选择简体中文,格式选择PO单据,然后选择我们要导出的应用,执行导出操作会得到一个zh_CN.po文件。
使用poedit工具进行词条翻译
1.下载poedit
2.安装后使用poedit翻译我们导出的po文件中的词条,如下截图:
最终效果展示
1.在开发的模块根目录中创建i18n目录,然后把翻译过保存之后的zh_CN.po文件放到i18n目录中。
2.模块在安装的时候会自动加载i18n目录中的po文件,所以在安装之后就会看到翻译的效果,如下图:
3.模块在升级的时候是不会执行po文件的重载操作的,如果是在模块的开发过程中新添加的翻译,执行以下操作即可完成po文件的重载:通过“设置-翻译-语言”导航到如下界面
单击第一条数据“简体中文”,进入到表单页面,然后单击“启动及翻译”
勾线“覆盖现有术语”,然后单击“添加”,即可完成po文件的重载
跳过的坑
因为在模块名称中使用了短横杠odoo-logistics,导致国际化翻译这个步骤一直卡壳,为什么会这样呢?参考odoo框架源码,这里标记下代码位置:
模块名称改成odoo_logistics后,就正常了;一个模块命名问题导致的卡壳,虽然花费了不少时间,不过问题总算解决了。
点击阅读原文:菜园工程师
这篇关于Odoo16—国际化翻译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南