SuperAPI AI 工具集

odoo-i18n

写作与研究

查看项目

更新于 10-15 16:43

技能介绍

用途:为 Odoo 14-19 提供国际化(i18n)与本地化(l10n)支持,覆盖字符串提取、.po 校验、缺失翻译报告、阿拉伯语/RTL 处理及 Odoo CLI 导入导出。

主要能力:

  1. 提取可翻译字符串:扫描模块生成 .pot/.po,支持 Python 的 _()/_lt()、XML 的 string/help/placeholder 等属性、JS 的 _t()/_lt()。命令:python ${CLAUDE_PLUGIN_ROOT}/odoo-i18n/scripts/i18n_extractor.py --module <path> --lang <code> [--output <dir>] [--no-pot] [--verbose]。
  2. 校验 .po:检查编码、头部、空翻译、fuzzy、重复 msgid、格式符数量、阿拉伯语 nplurals=6 等。命令:python ${CLAUDE_PLUGIN_ROOT}/odoo-i18n/scripts/i18n_validator.py --po-file <path> [--lang <code>] [--strict] [--output <file>]。
  3. 缺失翻译报告:对比源码与 .po,输出 text/json/csv。命令:python ${CLAUDE_PLUGIN_ROOT}/odoo-i18n/scripts/i18n_reporter.py --module <path> --lang <code> [--format text|json|csv] [--output <file>] [--min-pct <N>]。
  4. 合并/清理/统计/转换:python ${CLAUDE_PLUGIN_ROOT}/odoo-i18n/scripts/i18n_converter.py --action merge|clean|stats|convert ...。
  5. Odoo CLI 导入导出:python odoo-bin -c conf/myproject.conf -d mydb --i18n-export --modules=my_module --language=ar --output=my_module/i18n/ar.po --stop-after-init;导入用 --i18n-import,可加 --i18n-overwrite。

关键规则:_() 内禁用 f-string 与字符串拼接,用 % 格式化;类级字符串用 _lt();string= 字段属性不要包 _();.po 存为 UTF-8 无 BOM;阿拉伯语 Plural-Forms 需 nplurals=6;改 .po 后用 -u module --stop-after-init 更新模块。

适用场景:Odoo 模块多语言翻译、阿拉伯语/RTL 界面与报表、CI 中校验翻译(退出码 0 通过、1 失败)。

限制:CLI 导入导出需 PostgreSQL 与有效数据库;插件提取器不含数据库字符串,生产建议用 Odoo 内置提取器;Odoo 17+ 内部以 JSON 存储翻译,导出仍为 .po;Odoo 19 视图用 <list>、控制器用 type='jsonrpc'。其余细节暂未提供。