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"
""
相关推荐
AI视觉网奇1 小时前
Uncaught SyntaxError: Failed to construct ‘RTCPeerConnection‘:
前端·javascript·html
再学一点就睡8 小时前
前端网络实战手册:15个高频工作场景全解析
前端·网络协议
tjjucheng8 小时前
靠谱的小程序定制开发哪个好
python
num_killer8 小时前
小白的Langchain学习
java·python·学习·langchain
WangYaolove13148 小时前
基于深度学习的中文情感分析系统(源码+文档)
python·深度学习·django·毕业设计·源码
2501_948195348 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_8 小时前
N+1查询问题
数据库·oracle
C_心欲无痕8 小时前
有限状态机在前端中的应用
前端·状态模式
C_心欲无痕9 小时前
前端基于 IntersectionObserver 更流畅的懒加载实现
前端
candyTong9 小时前
深入解析:AI 智能体(Agent)是如何解决问题的?
前端·agent·ai编程