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"
""
相关推荐
飞翔的佩奇2 分钟前
Java项目:基于SSM框架实现的忘忧小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
java·数据库·mysql·vue·毕业设计·ssm框架·小区物业管理系统
程序员爱钓鱼9 分钟前
Go语言泛型-泛型约束与实践
前端·后端·go
前端小巷子11 分钟前
web从输入网址到页面加载完成
前端·面试·浏览器
江城开朗的豌豆11 分钟前
Vue路由动态生成秘籍:让你的链接'活'起来!
前端·javascript·vue.js
晓得迷路了12 分钟前
栗子前端技术周刊第 88 期 - Apache ECharts 6.0 beta、Deno 2.4、Astro 5.11...
前端·javascript·echarts
这里有鱼汤17 分钟前
“对象”?对象你个头!——Python世界观彻底崩塌的一天
后端·python
江城开朗的豌豆17 分钟前
在写vue公用组件的时候,怎么提高可配置性
前端·javascript·vue.js
江城开朗的豌豆18 分钟前
Vue路由跳转的N种姿势,总有一种适合你!
前端·javascript·vue.js
江城开朗的豌豆18 分钟前
Vue路由玩法大揭秘:三种路由模式你Pick谁?
前端·javascript·vue.js
江城开朗的豌豆19 分钟前
Vue路由守卫全攻略:给页面访问装上'安检门'
前端·javascript·vue.js