odoo17 翻译模块备忘

odoo17 翻译模块备忘

自定义模块安装前:

复制代码
{
  "en_US": "<field name=\"groups_id\" position=\"replace\">\n  <field name=\"sel_groups_1_10_11\" invisible=\"1\" on_change=\"1\"/>\n  <field name=\"sel_groups_8\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\" invisible=\"1\"/>\n  <field name=\"in_group_9\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_5\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_6\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_7\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\" groups=\"!base.group_no_one\"/>\n  <group groups=\"base.group_no_one\">\n    <separator string=\"User Type\" colspan=\"2\" groups=\"base.group_no_one\"/>\n    <field name=\"sel_groups_1_10_11\" widget=\"radio\" on_change=\"1\"/>\n    <newline/>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <div class=\"alert alert-warning\" role=\"alert\" colspan=\"2\" invisible=\"not user_group_warning\">\n      <label for=\"user_group_warning\" string=\"Access Rights Mismatch\" class=\"text text-warning fw-bold\"/>\n      <field name=\"user_group_warning\"/>\n    </div>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <group string=\"Administration\">\n      <newline/>\n      <field name=\"sel_groups_2_4\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\"/>\n      <newline/>\n    </group>\n    <group string=\"Other\">\n      <newline/>\n      <field name=\"sel_groups_8\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\"/>\n      <newline/>\n    </group>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\" groups=\"base.group_no_one\" class=\"o_label_nowrap\">\n    <separator string=\"其它权限\" groups=\"base.group_no_one\"/>\n    <group>\n      <field name=\"in_group_9\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_6\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group>\n      <field name=\"in_group_5\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_7\" invisible=\"1\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <separator string=\"Other\"/>\n    <group>\n      <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group/>\n  </group>\n</field>",
  "zh_CN": "<field name=\"groups_id\" position=\"replace\">\n  <field name=\"sel_groups_1_10_11\" invisible=\"1\" on_change=\"1\"/>\n  <field name=\"sel_groups_8\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\" invisible=\"1\"/>\n  <field name=\"in_group_9\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_5\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_6\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_7\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\" groups=\"!base.group_no_one\"/>\n  <group groups=\"base.group_no_one\">\n    <separator string=\"用户类型\" colspan=\"2\" groups=\"base.group_no_one\"/>\n    <field name=\"sel_groups_1_10_11\" widget=\"radio\" on_change=\"1\"/>\n    <newline/>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <div class=\"alert alert-warning\" role=\"alert\" colspan=\"2\" invisible=\"not user_group_warning\">\n      <label for=\"user_group_warning\" string=\"访问权限不匹配\" class=\"text text-warning fw-bold\"/>\n      <field name=\"user_group_warning\"/>\n    </div>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <group string=\"管理栏\">\n      <newline/>\n      <field name=\"sel_groups_2_4\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\"/>\n      <newline/>\n    </group>\n    <group string=\"其他\">\n      <newline/>\n      <field name=\"sel_groups_8\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\"/>\n      <newline/>\n    </group>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\" groups=\"base.group_no_one\" class=\"o_label_nowrap\">\n    <separator string=\"其它权限\" groups=\"base.group_no_one\"/>\n    <group>\n      <field name=\"in_group_9\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_6\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group>\n      <field name=\"in_group_5\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_7\" invisible=\"1\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <separator string=\"其他\"/>\n    <group>\n      <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group/>\n  </group>\n</field>"
}

安装后

复制代码
{
  "en_US": "<field name=\"groups_id\" position=\"replace\">\n  <field name=\"sel_groups_1_10_11\" invisible=\"1\" on_change=\"1\"/>\n  <field name=\"in_group_8\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_12\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_9\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_5\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_6\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_7\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\" groups=\"!base.group_no_one\"/>\n  <group groups=\"base.group_no_one\">\n    <separator string=\"User Type\" colspan=\"2\" groups=\"base.group_no_one\"/>\n    <field name=\"sel_groups_1_10_11\" widget=\"radio\" on_change=\"1\"/>\n    <newline/>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <div class=\"alert alert-warning\" role=\"alert\" colspan=\"2\" invisible=\"not user_group_warning\">\n      <label for=\"user_group_warning\" string=\"Access Rights Mismatch\" class=\"text text-warning fw-bold\"/>\n      <field name=\"user_group_warning\"/>\n    </div>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <group string=\"管理\">\n      <newline/>\n      <field name=\"sel_groups_2_4\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\"/>\n      <newline/>\n    </group>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\" groups=\"base.group_no_one\" class=\"o_label_nowrap\">\n    <separator string=\"Technical\" groups=\"base.group_no_one\"/>\n    <group>\n      <field name=\"in_group_8\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group>\n      <field name=\"in_group_12\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <separator string=\"其它权限\" groups=\"base.group_no_one\"/>\n    <group>\n      <field name=\"in_group_9\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_6\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group>\n      <field name=\"in_group_5\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_7\" invisible=\"1\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <separator string=\"Other\"/>\n    <group>\n      <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group/>\n  </group>\n</field>",
  "zh_CN": "<field name=\"groups_id\" position=\"replace\">\n  <field name=\"sel_groups_1_10_11\" invisible=\"1\" on_change=\"1\"/>\n  <field name=\"in_group_8\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_12\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_9\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_5\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_6\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_7\" groups=\"!base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\"/>\n  <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\" invisible=\"1\" groups=\"!base.group_no_one\"/>\n  <group groups=\"base.group_no_one\">\n    <separator string=\"User Type\" colspan=\"2\" groups=\"base.group_no_one\"/>\n    <field name=\"sel_groups_1_10_11\" widget=\"radio\" on_change=\"1\"/>\n    <newline/>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <div class=\"alert alert-warning\" role=\"alert\" colspan=\"2\" invisible=\"not user_group_warning\">\n      <label for=\"user_group_warning\" string=\"Access Rights Mismatch\" class=\"text text-warning fw-bold\"/>\n      <field name=\"user_group_warning\"/>\n    </div>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\">\n    <group string=\"管理\">\n      <newline/>\n      <field name=\"sel_groups_2_4\" readonly=\"sel_groups_1_10_11 != 1\" on_change=\"1\"/>\n      <newline/>\n    </group>\n  </group>\n  <group invisible=\"sel_groups_1_10_11 != 1\" groups=\"base.group_no_one\" class=\"o_label_nowrap\">\n    <separator string=\"Technical\" groups=\"base.group_no_one\"/>\n    <group>\n      <field name=\"in_group_8\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group>\n      <field name=\"in_group_12\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <separator string=\"其它权限\" groups=\"base.group_no_one\"/>\n    <group>\n      <field name=\"in_group_9\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_6\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group>\n      <field name=\"in_group_5\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n      <field name=\"in_group_7\" invisible=\"1\" groups=\"base.group_no_one\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <separator string=\"Other\"/>\n    <group>\n      <field name=\"in_group_3\" readonly=\"sel_groups_1_10_11 != 1\"/>\n    </group>\n    <group/>\n  </group>\n</field>"
}

升级模块:

翻译也不起作用

复制代码
#. module: resconfig
#: model_terms:ir.ui.view,arch_db:base.user_groups_view
msgid "User Type"
msgstr "用户类型"

#. module: resconfig
#: model_terms:ir.ui.view,arch_db:base.res.users.groups
msgid ""
"<separator string=\"Technical\" groups=\"base.group_no_one\"/>\n"
""
msgstr ""
"<separator string=\"真怪了的技术 \" groups=\"base.group_no_one\"/>\n"
""
复制代码
#. module: base
#: model_terms:ir.ui.view,arch_db:base.user_groups_view
msgid "User Type"
msgstr "用户类型"

#. module: base
#: model_terms:ir.ui.view,arch_db:base.res.users.groups
msgid ""
"<separator string=\"Technical\" groups=\"base.group_no_one\"/>\n"
""
msgstr ""
"<separator string=\"真怪了的技术 \" groups=\"base.group_no_one\"/>\n"
""
相关推荐
ly76892 分钟前
HTML5 从入门到工程实践:语义化、表单、多媒体、性能与项目规范详解
前端·html·html5
viskaz6 分钟前
数据库迁移流程学习
数据库
m0_3807438744 分钟前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
auspicious航1 小时前
PostgreSQL写入慢全攻略:原因排查与性能调优实战
数据库·postgresql
IvorySQL1 小时前
PostgreSQL 日报|逻辑复制行过滤致数据丢失(8 月 21 日)
数据库·postgresql
重生之我是Java开发战士1 小时前
【Java EE】事务与事务的传播机制
数据库·java-ee
润乾软件1 小时前
Trae+SQLazy 编写复杂 SQL 实践
数据库·sql
会编程的吕洞宾1 小时前
Redis大Key拖垮线上?排查定位与治理实战
数据库·redis·bootstrap
ltl2 小时前
WiredTiger History Store:文档库里的第三种 MVCC
数据库