From bee0a3a3e50b2f1a9ab52719b2921743ae8ec256 Mon Sep 17 00:00:00 2001 From: simontigers <47096077+simontigers@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:06:15 +0800 Subject: [PATCH] feat(api): common i18n (#340) --- .../api/lib/common_setting/resp_format.py | 129 ++++----- .../translations/zh/LC_MESSAGES/messages.mo | Bin 12036 -> 16386 bytes .../translations/zh/LC_MESSAGES/messages.po | 261 +++++++++++++++++- 3 files changed, 322 insertions(+), 68 deletions(-) diff --git a/cmdb-api/api/lib/common_setting/resp_format.py b/cmdb-api/api/lib/common_setting/resp_format.py index 52274fd..12973ab 100644 --- a/cmdb-api/api/lib/common_setting/resp_format.py +++ b/cmdb-api/api/lib/common_setting/resp_format.py @@ -1,77 +1,80 @@ # -*- coding:utf-8 -*- +from flask_babel import lazy_gettext as _l from api.lib.resp_format import CommonErrFormat class ErrFormat(CommonErrFormat): - company_info_is_already_existed = "公司信息已存在!无法创建" + company_info_is_already_existed = _l("Company info already existed") # 公司信息已存在!无法创建 - no_file_part = "没有文件部分" - file_is_required = "文件是必须的" - file_not_found = "文件不存在" - file_type_not_allowed = "文件类型不允许" - upload_failed = "上传失败: {}" + no_file_part = _l("No file part") # 没有文件部分 + file_is_required = _l("File is required") # 文件是必须的 + file_not_found = _l("File not found") # 文件不存在 + file_type_not_allowed = _l("File type not allowed") # 文件类型不允许 + upload_failed = _l("Upload failed: {}") # 上传失败: {} - direct_supervisor_is_not_self = "直属上级不能是自己" - parent_department_is_not_self = "上级部门不能是自己" - employee_list_is_empty = "员工列表为空" + direct_supervisor_is_not_self = _l("Direct supervisor is not self") # 直属上级不能是自己 + parent_department_is_not_self = _l("Parent department is not self") # 上级部门不能是自己 + employee_list_is_empty = _l("Employee list is empty") # 员工列表为空 - column_name_not_support = "不支持的列名" - password_is_required = "密码不能为空" - employee_acl_rid_is_zero = "员工ACL角色ID不能为0" + column_name_not_support = _l("Column name not support") # 不支持的列名 + password_is_required = _l("Password is required") # 密码是必须的 + employee_acl_rid_is_zero = _l("Employee acl rid is zero") # 员工ACL角色ID不能为0 - generate_excel_failed = "生成excel失败: {}" - rename_columns_failed = "字段转换为中文失败: {}" - cannot_block_this_employee_is_other_direct_supervisor = "该员工是其他员工的直属上级, 不能禁用" - cannot_block_this_employee_is_department_manager = "该员工是部门负责人, 不能禁用" - employee_id_not_found = "员工ID [{}] 不存在" - value_is_required = "值是必须的" - email_already_exists = "邮箱 [{}] 已存在" - query_column_none_keep_value_empty = "查询 {} 空值时请保持value为空" - not_support_operator = "不支持的操作符: {}" - not_support_relation = "不支持的关系: {}" - conditions_field_missing = "conditions内元素字段缺失,请检查!" - datetime_format_error = "{} 格式错误,应该为:%Y-%m-%d %H:%M:%S" - department_level_relation_error = "部门层级关系不正确" - delete_reserved_department_name = "保留部门,无法删除!" - department_id_is_required = "部门ID是必须的" - department_list_is_required = "部门列表是必须的" - cannot_to_be_parent_department = "{} 不能设置为上级部门" - department_id_not_found = "部门ID [{}] 不存在" - parent_department_id_must_more_than_zero = "上级部门ID必须大于0" - department_name_already_exists = "部门名称 [{}] 已存在" - new_department_is_none = "新部门是空的" + generate_excel_failed = _l("Generate excel failed: {}") # 生成excel失败: {} + rename_columns_failed = _l("Rename columns failed: {}") # 重命名字段失败: {} + cannot_block_this_employee_is_other_direct_supervisor = _l( + "Cannot block this employee is other direct supervisor") # 该员工是其他员工的直属上级, 不能禁用 + cannot_block_this_employee_is_department_manager = _l( + "Cannot block this employee is department manager") # 该员工是部门负责人, 不能禁用 + employee_id_not_found = _l("Employee id [{}] not found") # 员工ID [{}] 不存在 + value_is_required = _l("Value is required") # 值是必须的 + email_already_exists = _l("Email already exists") # 邮箱已存在 + query_column_none_keep_value_empty = _l("Query {} none keep value empty") # 查询 {} 空值时请保持value为空" + not_support_operator = _l("Not support operator: {}") # 不支持的操作符: {} + not_support_relation = _l("Not support relation: {}") # 不支持的关系: {} + conditions_field_missing = _l("Conditions field missing") # conditions内元素字段缺失,请检查! + datetime_format_error = _l("Datetime format error: {}") # {} 格式错误,应该为:%Y-%m-%d %H:%M:%S + department_level_relation_error = _l("Department level relation error") # 部门层级关系不正确 + delete_reserved_department_name = _l("Delete reserved department name") # 保留部门,无法删除! + department_id_is_required = _l("Department id is required") # 部门ID是必须的 + department_list_is_required = _l("Department list is required") # 部门列表是必须的 + cannot_to_be_parent_department = _l("{} Cannot to be parent department") # 不能设置为上级部门 + department_id_not_found = _l("Department id [{}] not found") # 部门ID [{}] 不存在 + parent_department_id_must_more_than_zero = _l("Parent department id must more than zero") # 上级部门ID必须大于0 + department_name_already_exists = _l("Department name [{}] already exists") # 部门名称 [{}] 已存在 + new_department_is_none = _l("New department is none") # 新部门是空的 - acl_edit_user_failed = "ACL 修改用户失败: {}" - acl_uid_not_found = "ACL 用户UID [{}] 不存在" - acl_add_user_failed = "ACL 添加用户失败: {}" - acl_add_role_failed = "ACL 添加角色失败: {}" - acl_update_role_failed = "ACL 更新角色失败: {}" - acl_get_all_users_failed = "ACL 获取所有用户失败: {}" - acl_remove_user_from_role_failed = "ACL 从角色中移除用户失败: {}" - acl_add_user_to_role_failed = "ACL 添加用户到角色失败: {}" - acl_import_user_failed = "ACL 导入用户[{}]失败: {}" + acl_edit_user_failed = _l("ACL edit user failed: {}") # ACL 修改用户失败: {} + acl_uid_not_found = _l("ACL uid not found: {}") # ACL 用户UID [{}] 不存在 + acl_add_user_failed = _l("ACL add user failed: {}") # ACL 添加用户失败: {} + acl_add_role_failed = _l("ACL add role failed: {}") # ACL 添加角色失败: {} + acl_update_role_failed = _l("ACL update role failed: {}") # ACL 更新角色失败: {} + acl_get_all_users_failed = _l("ACL get all users failed: {}") # ACL 获取所有用户失败: {} + acl_remove_user_from_role_failed = _l("ACL remove user from role failed: {}") # ACL 从角色中移除用户失败: {} + acl_add_user_to_role_failed = _l("ACL add user to role failed: {}") # ACL 添加用户到角色失败: {} + acl_import_user_failed = _l("ACL import user failed: {}") # ACL 导入用户失败: {} - nickname_is_required = "用户名不能为空" - username_is_required = "username不能为空" - email_is_required = "邮箱不能为空" - email_format_error = "邮箱格式错误" - email_send_timeout = "邮件发送超时" + nickname_is_required = _l("Nickname is required") # 昵称不能为空 + username_is_required = _l("Username is required") # 用户名不能为空 + email_is_required = _l("Email is required") # 邮箱不能为空 + email_format_error = _l("Email format error") # 邮箱格式错误 + email_send_timeout = _l("Email send timeout") # 邮件发送超时 - common_data_not_found = "ID {} 找不到记录" - common_data_already_existed = "{} 已存在" - notice_platform_existed = "{} 已存在" - notice_not_existed = "{} 配置项不存在" - notice_please_config_messenger_first = "请先配置 messenger" - notice_bind_err_with_empty_mobile = "绑定失败,手机号为空" - notice_bind_failed = "绑定失败: {}" - notice_bind_success = "绑定成功" - notice_remove_bind_success = "解绑成功" + common_data_not_found = _l("Common data not found {} ") # ID {} 找不到记录 + common_data_already_existed = _l("Common data {} already existed") # {} 已存在 + notice_platform_existed = _l("Notice platform {} existed") # {} 已存在 + notice_not_existed = _l("Notice {} not existed") # {} 配置项不存在 + notice_please_config_messenger_first = _l("Notice please config messenger first") # 请先配置messenger URL + notice_bind_err_with_empty_mobile = _l("Notice bind err with empty mobile") # 绑定错误,手机号为空 + notice_bind_failed = _l("Notice bind failed: {}") # 绑定失败: {} + notice_bind_success = _l("Notice bind success") # 绑定成功 + notice_remove_bind_success = _l("Notice remove bind success") # 解绑成功 - not_support_test = "不支持的测试类型: {}" - not_support_auth_type = "不支持的认证类型: {}" - ldap_server_connect_timeout = "LDAP服务器连接超时" - ldap_server_connect_not_available = "LDAP服务器连接不可用" - ldap_test_unknown_error = "LDAP测试未知错误: {}" - common_data_not_support_auth_type = "通用数据不支持auth类型: {}" - ldap_test_username_required = "LDAP测试用户名必填" + not_support_test = _l("Not support test type: {}") # 不支持的测试类型: {} + not_support_auth_type = _l("Not support auth type: {}") # 不支持的认证类型: {} + ldap_server_connect_timeout = _l("LDAP server connect timeout") # LDAP服务器连接超时 + ldap_server_connect_not_available = _l("LDAP server connect not available") # LDAP服务器连接不可用 + ldap_test_unknown_error = _l("LDAP test unknown error: {}") # LDAP测试未知错误: {} + common_data_not_support_auth_type = _l("Common data not support auth type: {}") # 通用数据不支持auth类型: {} + ldap_test_username_required = _l("LDAP test username required") # LDAP测试用户名必填 diff --git a/cmdb-api/api/translations/zh/LC_MESSAGES/messages.mo b/cmdb-api/api/translations/zh/LC_MESSAGES/messages.mo index a82f9bfa360be2aabbc18ba57bc57a99fe3b4aaf..a02d5eb49fa4e3204377eb0864e2041f8f3bc127 100644 GIT binary patch delta 6741 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 delta 2343 zcmYM!e@vBC9LMqVAZY|w;37XRm|iG;i1JIh6u+^7CdD)hu@QIu@cw~eR8C~8bs1D5 zGG#r}=9U(@T1-dDvz%sYlr>hfWh|RIf3+26X0E2T>C)bx?z6=%_w}6fJm;M6_j}HB zdwZ-`gW5=3VsSUaZ8=Fb8j77G}m8GYji62_HvIxDGRLJ0|0P z)I1Y7A5WnIn;sWQAP>_`*qEhUXyDWCjaOWEVLbhxVjUjERP=Zvfn=k`J&1|827TCt zs?ZPy@k3PRGiOFzfcMgF#8lQdow~qHs0rW33OtPW;dLy+LZV5)AgU6bSc`Aq12~Cu zF`0){kpPxp8|wLOsI3^oYWxnvir7Q=#h8ot;A+>GQ3KyWKIRBtD&cY0ztKm763zj>*@_9}{vY``?k!yszUHeoqBs0=ToCM@OvtiWch!}n3+ zE?^}lFsa5pjLrBu2JkfIqc5POQR7Cj z22Y|&pOzNclKb%?+TGZQU!oF>Cw*1485MB1>aWa(F&%$KKIXRD_R*=sQ;OP}m8d=M z!U{ZqByIjgVldOGKQWs*sCEFK#U?DpL%0b4z(NdXaU%43J%Y-(8w>CQFDuX9b0S%!7+=cUS6p7KCKm~9Oc`-~JCs)tSMn0y1uVlUd%el}4 zA>?414X8cuM@=w_D&<#h`;6;VBv}(n`c&V{LyfP;h1i0eS2KWA+w4Zo_X%pf@6pHl z<|p^YP1GUrveC+5HL5ZjT(_Yn7(q=ujtcAt)E54ZDsd9!(zq&AK&#w#J66%|!*U$Q zFx53TxL|FQPTG3ys!y&XGH0ZbsMMFrZ0 zs@PVye_syu*Nq7}wCCsC8&^^N@%)U*T-5zq)B=y8PVZXeQL_`3$T;e?JdesSmU8GY zHef9Vu?%;koWRiqyk@m|!zU!yWVhit#O<@Wnol{HNnsuDq5 zfZbSu@1f>7kDB)uY6~;N)LSJF@KuUWp-%S>R0iLmCX8k_m3j{9ho}-&+80n;GKi|w z9@IjIQJJ4aRq8KfDwD~(tu1XrJs*CO3q{h6D)AsT;V`O1SCDgM;+aL6FG4N268+eY zs>A@s;69AQ18)0>+x`}HCQhLOyM$)(^Uf;I9nTV~lGr?0n{X1wH_&IrZWk7h4%#z;i\n" "Language: zh\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.1\n" +"Generated-By: Babel 2.14.0\n" #: api/lib/resp_format.py:7 msgid "unauthorized" @@ -436,9 +436,257 @@ msgstr "保存密码失败: {}" msgid "Failed to get password: {}" msgstr "获取密码失败: {}" -#: api/lib/common_setting/employee.py:1349 -msgid "Not a valid date value." -msgstr "" +#: api/lib/common_setting/resp_format.py:8 +msgid "Company info already existed" +msgstr "公司信息已存在,无法创建!" + +#: api/lib/common_setting/resp_format.py:10 +msgid "No file part" +msgstr "没有文件部分" + +#: api/lib/common_setting/resp_format.py:11 +msgid "File is required" +msgstr "文件是必须的" + +#: api/lib/common_setting/resp_format.py:12 +msgid "File not found" +msgstr "文件不存在!" + +#: api/lib/common_setting/resp_format.py:13 +msgid "File type not allowed" +msgstr "文件类型不允许!" + +#: api/lib/common_setting/resp_format.py:14 +msgid "Upload failed: {}" +msgstr "上传失败: {}" + +#: api/lib/common_setting/resp_format.py:16 +msgid "Direct supervisor is not self" +msgstr "直属上级不能是自己" + +#: api/lib/common_setting/resp_format.py:17 +msgid "Parent department is not self" +msgstr "上级部门不能是自己" + +#: api/lib/common_setting/resp_format.py:18 +msgid "Employee list is empty" +msgstr "员工列表为空" + +#: api/lib/common_setting/resp_format.py:20 +msgid "Column name not support" +msgstr "不支持的列名" + +#: api/lib/common_setting/resp_format.py:21 +msgid "Password is required" +msgstr "密码是必须的" + +#: api/lib/common_setting/resp_format.py:22 +msgid "Employee acl rid is zero" +msgstr "员工ACL角色ID不能为0" + +#: api/lib/common_setting/resp_format.py:24 +msgid "Generate excel failed: {}" +msgstr "生成excel失败: {}" + +#: api/lib/common_setting/resp_format.py:25 +msgid "Rename columns failed: {}" +msgstr "重命名字段失败: {}" + +#: api/lib/common_setting/resp_format.py:26 +msgid "Cannot block this employee is other direct supervisor" +msgstr "该员工是其他员工的直属上级, 不能禁用" + +#: api/lib/common_setting/resp_format.py:28 +msgid "Cannot block this employee is department manager" +msgstr "该员工是部门负责人, 不能禁用" + +#: api/lib/common_setting/resp_format.py:30 +msgid "Employee id [{}] not found" +msgstr "员工ID [{}] 不存在!" + +#: api/lib/common_setting/resp_format.py:31 +msgid "Value is required" +msgstr "值是必须的" + +#: api/lib/common_setting/resp_format.py:32 +msgid "Email already exists" +msgstr "邮箱已存在!" + +#: api/lib/common_setting/resp_format.py:33 +msgid "Query {} none keep value empty" +msgstr "查询 {} 空值时请保持value为空" + +#: api/lib/common_setting/resp_format.py:34 +msgid "Not support operator: {}" +msgstr "不支持的操作符: {}" + +#: api/lib/common_setting/resp_format.py:35 +msgid "Not support relation: {}" +msgstr "不支持的关系: {}" + +#: api/lib/common_setting/resp_format.py:36 +msgid "Conditions field missing" +msgstr " conditions内元素字段缺失,请检查!" + +#: api/lib/common_setting/resp_format.py:37 +msgid "Datetime format error: {}" +msgstr "{}格式错误,应该为:%Y-%m-%d %H:%M:%S" + +#: api/lib/common_setting/resp_format.py:38 +msgid "Department level relation error" +msgstr "部门层级关系不正确" + +#: api/lib/common_setting/resp_format.py:39 +msgid "Delete reserved department name" +msgstr "保留部门,无法删除!" + +#: api/lib/common_setting/resp_format.py:40 +msgid "Department id is required" +msgstr "部门ID是必须的" + +#: api/lib/common_setting/resp_format.py:41 +msgid "Department list is required" +msgstr "部门列表是必须的" + +#: api/lib/common_setting/resp_format.py:42 +msgid "{} Cannot to be parent department" +msgstr "{} 不能设置为上级部门" + +#: api/lib/common_setting/resp_format.py:43 +msgid "Department id [{}] not found" +msgstr "部门ID [{}] 不存在" + +#: api/lib/common_setting/resp_format.py:44 +msgid "Parent department id must more than zero" +msgstr "上级部门ID必须大于0" + +#: api/lib/common_setting/resp_format.py:45 +msgid "Department name [{}] already exists" +msgstr "部门名称 [{}] 已存在" + +#: api/lib/common_setting/resp_format.py:46 +msgid "New department is none" +msgstr "新部门是空的" + +#: api/lib/common_setting/resp_format.py:48 +msgid "ACL edit user failed: {}" +msgstr "ACL 修改用户失败: {}" + +#: api/lib/common_setting/resp_format.py:49 +msgid "ACL uid not found: {}" +msgstr "ACL 用户UID [{}] 不存在" + +#: api/lib/common_setting/resp_format.py:50 +msgid "ACL add user failed: {}" +msgstr "ACL 添加用户失败: {}" + +#: api/lib/common_setting/resp_format.py:51 +msgid "ACL add role failed: {}" +msgstr "ACL 添加角色失败: {}" + +#: api/lib/common_setting/resp_format.py:52 +msgid "ACL update role failed: {}" +msgstr "ACL 更新角色失败: {}" + +#: api/lib/common_setting/resp_format.py:53 +msgid "ACL get all users failed: {}" +msgstr "ACL 获取所有用户失败: {}" + +#: api/lib/common_setting/resp_format.py:54 +msgid "ACL remove user from role failed: {}" +msgstr "ACL 从角色中移除用户失败: {}" + +#: api/lib/common_setting/resp_format.py:55 +msgid "ACL add user to role failed: {}" +msgstr "ACL 添加用户到角色失败: {}" + +#: api/lib/common_setting/resp_format.py:56 +msgid "ACL import user failed: {}" +msgstr "ACL 导入用户失败: {}" + +#: api/lib/common_setting/resp_format.py:58 +msgid "Nickname is required" +msgstr "昵称不能为空" + +#: api/lib/common_setting/resp_format.py:59 +msgid "Username is required" +msgstr "用户名不能为空" + +#: api/lib/common_setting/resp_format.py:60 +msgid "Email is required" +msgstr "邮箱不能为空" + +#: api/lib/common_setting/resp_format.py:61 +msgid "Email format error" +msgstr "邮箱格式错误" + +#: api/lib/common_setting/resp_format.py:62 +msgid "Email send timeout" +msgstr "邮件发送超时" + +#: api/lib/common_setting/resp_format.py:64 +msgid "Common data not found {} " +msgstr "ID {} 找不到记录" + +#: api/lib/common_setting/resp_format.py:65 +msgid "Common data {} already existed" +msgstr "{} 已经存在" + +#: api/lib/common_setting/resp_format.py:66 +msgid "Notice platform {} existed" +msgstr "{} 已经存在" + +#: api/lib/common_setting/resp_format.py:67 +msgid "Notice {} not existed" +msgstr "{} 配置项不存在" + +#: api/lib/common_setting/resp_format.py:68 +msgid "Notice please config messenger first" +msgstr "请先配置messenger URL" + +#: api/lib/common_setting/resp_format.py:69 +msgid "Notice bind err with empty mobile" +msgstr "绑定错误,手机号为空" + +#: api/lib/common_setting/resp_format.py:70 +msgid "Notice bind failed: {}" +msgstr "绑定失败: {}" + +#: api/lib/common_setting/resp_format.py:71 +msgid "Notice bind success" +msgstr "绑定成功" + +#: api/lib/common_setting/resp_format.py:72 +msgid "Notice remove bind success" +msgstr "解绑成功" + +#: api/lib/common_setting/resp_format.py:74 +msgid "Not support test type: {}" +msgstr "不支持的测试类型: {}" + +#: api/lib/common_setting/resp_format.py:75 +msgid "Not support auth type: {}" +msgstr "不支持的认证类型: {}" + +#: api/lib/common_setting/resp_format.py:76 +msgid "LDAP server connect timeout" +msgstr "LDAP服务器连接超时" + +#: api/lib/common_setting/resp_format.py:77 +msgid "LDAP server connect not available" +msgstr "LDAP服务器连接不可用" + +#: api/lib/common_setting/resp_format.py:78 +msgid "LDAP test unknown error: {}" +msgstr "LDAP测试未知错误: {}" + +#: api/lib/common_setting/resp_format.py:79 +msgid "Common data not support auth type: {}" +msgstr "通用数据不支持auth类型: {}" + +#: api/lib/common_setting/resp_format.py:80 +msgid "LDAP test username required" +msgstr "LDAP测试用户名必填" #: api/lib/perm/acl/resp_format.py:9 msgid "login successful" @@ -562,3 +810,6 @@ msgstr "触发器 {} 已经存在!" msgid "Trigger {} has been disabled!" msgstr "Trigger {} has been disabled!" +#~ msgid "Not a valid date value." +#~ msgstr "" +