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"
""