mirror of
https://github.com/veops/cmdb.git
synced 2025-08-08 11:18:40 +08:00
feat(api): i18n
This commit is contained in:
@@ -1,103 +1,138 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
from api.lib.resp_format import CommonErrFormat
|
||||
|
||||
|
||||
class ErrFormat(CommonErrFormat):
|
||||
ci_type_config = "模型配置"
|
||||
ci_type_config = _l("CI Model") # 模型配置
|
||||
|
||||
invalid_relation_type = "无效的关系类型: {}"
|
||||
ci_type_not_found = "模型不存在!"
|
||||
argument_attributes_must_be_list = "参数 attributes 类型必须是列表"
|
||||
argument_file_not_found = "文件似乎并未上传"
|
||||
invalid_relation_type = _l("Invalid relation type: {}") # 无效的关系类型: {}
|
||||
ci_type_not_found = _l("CIType is not found") # 模型不存在!
|
||||
|
||||
attribute_not_found = "属性 {} 不存在!"
|
||||
attribute_is_unique_id = "该属性是模型的唯一标识,不能被删除!"
|
||||
attribute_is_ref_by_type = "该属性被模型 {} 引用, 不能删除!"
|
||||
attribute_value_type_cannot_change = "属性的值类型不允许修改!"
|
||||
attribute_list_value_cannot_change = "多值不被允许修改!"
|
||||
attribute_index_cannot_change = "修改索引 非管理员不被允许!"
|
||||
attribute_index_change_failed = "索引切换失败!"
|
||||
invalid_choice_values = "预定义值的类型不对!"
|
||||
attribute_name_duplicate = "重复的属性名 {}"
|
||||
add_attribute_failed = "创建属性 {} 失败!"
|
||||
update_attribute_failed = "修改属性 {} 失败!"
|
||||
cannot_edit_attribute = "您没有权限修改该属性!"
|
||||
cannot_delete_attribute = "目前只允许 属性创建人、管理员 删除属性!"
|
||||
attribute_name_cannot_be_builtin = "属性字段名不能是内置字段: id, _id, ci_id, type, _type, ci_type"
|
||||
attribute_choice_other_invalid = "预定义值: 其他模型请求参数不合法!"
|
||||
# 参数 attributes 类型必须是列表
|
||||
argument_attributes_must_be_list = _l("The type of parameter attributes must be a list")
|
||||
argument_file_not_found = _l("The file doesn't seem to be uploaded") # 文件似乎并未上传
|
||||
|
||||
ci_not_found = "CI {} 不存在"
|
||||
unique_constraint = "多属性联合唯一校验不通过: {}"
|
||||
unique_value_not_found = "模型的主键 {} 不存在!"
|
||||
unique_key_required = "主键字段 {} 缺失"
|
||||
ci_is_already_existed = "CI 已经存在!"
|
||||
relation_constraint = "关系约束: {}, 校验失败 "
|
||||
m2m_relation_constraint = "多对多关系 限制: 模型 {} <-> {} 已经存在多对多关系!"
|
||||
relation_not_found = "CI关系: {} 不存在"
|
||||
ci_search_Parentheses_invalid = "搜索表达式里小括号前不支持: 或、非"
|
||||
attribute_not_found = _l("Attribute {} does not exist!") # 属性 {} 不存在!
|
||||
attribute_is_unique_id = _l(
|
||||
"This attribute is the unique identifier of the model and cannot be deleted!") # 该属性是模型的唯一标识,不能被删除!
|
||||
attribute_is_ref_by_type = _l(
|
||||
"This attribute is referenced by model {} and cannot be deleted!") # 该属性被模型 {} 引用, 不能删除!
|
||||
attribute_value_type_cannot_change = _l(
|
||||
"The value type of the attribute is not allowed to be modified!") # 属性的值类型不允许修改!
|
||||
attribute_list_value_cannot_change = _l("Multiple values are not allowed to be modified!") # 多值不被允许修改!
|
||||
# 修改索引 非管理员不被允许!
|
||||
attribute_index_cannot_change = _l("Modifying the index is not allowed for non-administrators!")
|
||||
attribute_index_change_failed = _l("Index switching failed!") # 索引切换失败!
|
||||
invalid_choice_values = _l("The predefined value is of the wrong type!") # 预定义值的类型不对!
|
||||
attribute_name_duplicate = _l("Duplicate attribute name {}") # 重复的属性名 {}
|
||||
add_attribute_failed = _l("Failed to create attribute {}!") # 创建属性 {} 失败!
|
||||
update_attribute_failed = _l("Modify attribute {} failed!") # 修改属性 {} 失败!
|
||||
cannot_edit_attribute = _l("You do not have permission to modify this attribute!") # 您没有权限修改该属性!
|
||||
cannot_delete_attribute = _l(
|
||||
"Only creators and administrators are allowed to delete attributes!") # 目前只允许 属性创建人、管理员 删除属性!
|
||||
# 属性字段名不能是内置字段: id, _id, ci_id, type, _type, ci_type
|
||||
attribute_name_cannot_be_builtin = _l(
|
||||
"Attribute field names cannot be built-in fields: id, _id, ci_id, type, _type, ci_type")
|
||||
attribute_choice_other_invalid = _l(
|
||||
"Predefined value: Other model request parameters are illegal!") # 预定义值: 其他模型请求参数不合法!
|
||||
|
||||
ci_type_not_found2 = "模型 {} 不存在"
|
||||
ci_type_is_already_existed = "模型 {} 已经存在"
|
||||
unique_key_not_define = "主键未定义或者已被删除"
|
||||
only_owner_can_delete = "只有创建人才能删除它!"
|
||||
ci_exists_and_cannot_delete_type = "因为CI已经存在,不能删除模型"
|
||||
ci_relation_view_exists_and_cannot_delete_type = "因为关系视图 {} 引用了该模型,不能删除模型"
|
||||
ci_type_group_not_found = "模型分组 {} 不存在"
|
||||
ci_type_group_exists = "模型分组 {} 已经存在"
|
||||
ci_type_relation_not_found = "模型关系 {} 不存在"
|
||||
ci_type_attribute_group_duplicate = "属性分组 {} 已存在"
|
||||
ci_type_attribute_group_not_found = "属性分组 {} 不存在"
|
||||
ci_type_group_attribute_not_found = "属性组<{0}> - 属性<{1}> 不存在"
|
||||
unique_constraint_duplicate = "唯一约束已经存在!"
|
||||
unique_constraint_invalid = "唯一约束的属性不能是 JSON 和 多值"
|
||||
ci_type_trigger_duplicate = "重复的触发器"
|
||||
ci_type_trigger_not_found = "触发器 {} 不存在"
|
||||
ci_not_found = _l("CI {} does not exist") # CI {} 不存在
|
||||
unique_constraint = _l("Multiple attribute joint unique verification failed: {}") # 多属性联合唯一校验不通过: {}
|
||||
unique_value_not_found = _l("The model's primary key {} does not exist!") # 模型的主键 {} 不存在!
|
||||
unique_key_required = _l("Primary key {} is missing") # 主键字段 {} 缺失
|
||||
ci_is_already_existed = _l("CI already exists!") # CI 已经存在!
|
||||
relation_constraint = _l("Relationship constraint: {}, verification failed") # 关系约束: {}, 校验失败
|
||||
# 多对多关系 限制: 模型 {} <-> {} 已经存在多对多关系!
|
||||
m2m_relation_constraint = _l(
|
||||
"Many-to-many relationship constraint: Model {} <-> {} already has a many-to-many relationship!")
|
||||
|
||||
record_not_found = "操作记录 {} 不存在"
|
||||
cannot_delete_unique = "不能删除唯一标识"
|
||||
cannot_delete_default_order_attr = "不能删除默认排序的属性"
|
||||
relation_not_found = _l("CI relationship: {} does not exist") # CI关系: {} 不存在
|
||||
|
||||
preference_relation_view_node_required = "没有选择节点"
|
||||
preference_search_option_not_found = "该搜索选项不存在!"
|
||||
preference_search_option_exists = "该搜索选项命名重复!"
|
||||
# 搜索表达式里小括号前不支持: 或、非
|
||||
ci_search_Parentheses_invalid = _l("In search expressions, not supported before parentheses: or, not")
|
||||
|
||||
relation_type_exists = "关系类型 {} 已经存在"
|
||||
relation_type_not_found = "关系类型 {} 不存在"
|
||||
ci_type_not_found2 = _l("Model {} does not exist") # 模型 {} 不存在
|
||||
ci_type_is_already_existed = _l("Model {} already exists") # 模型 {} 已经存在
|
||||
unique_key_not_define = _l("The primary key is undefined or has been deleted") # 主键未定义或者已被删除
|
||||
only_owner_can_delete = _l("Only the creator can delete it!") # 只有创建人才能删除它!
|
||||
ci_exists_and_cannot_delete_type = _l(
|
||||
"The model cannot be deleted because the CI already exists") # 因为CI已经存在,不能删除模型
|
||||
|
||||
attribute_value_invalid = "无效的属性值: {}"
|
||||
attribute_value_invalid2 = "{} 无效的值: {}"
|
||||
not_in_choice_values = "{} 不在预定义值里"
|
||||
attribute_value_unique_required = "属性 {} 的值必须是唯一的, 当前值 {} 已存在"
|
||||
attribute_value_required = "属性 {} 值必须存在"
|
||||
attribute_value_unknown_error = "新增或者修改属性值未知错误: {}"
|
||||
# 因为关系视图 {} 引用了该模型,不能删除模型
|
||||
ci_relation_view_exists_and_cannot_delete_type = _l(
|
||||
"The model cannot be deleted because the model is referenced by the relational view {}")
|
||||
ci_type_group_not_found = _l("Model group {} does not exist") # 模型分组 {} 不存在
|
||||
ci_type_group_exists = _l("Model group {} already exists") # 模型分组 {} 已经存在
|
||||
ci_type_relation_not_found = _l("Model relationship {} does not exist") # 模型关系 {} 不存在
|
||||
ci_type_attribute_group_duplicate = _l("Attribute group {} already exists") # 属性分组 {} 已存在
|
||||
ci_type_attribute_group_not_found = _l("Attribute group {} does not exist") # 属性分组 {} 不存在
|
||||
# 属性组<{0}> - 属性<{1}> 不存在
|
||||
ci_type_group_attribute_not_found = _l("Attribute group <{0}> - attribute <{1}> does not exist")
|
||||
unique_constraint_duplicate = _l("The unique constraint already exists!") # 唯一约束已经存在!
|
||||
# 唯一约束的属性不能是 JSON 和 多值
|
||||
unique_constraint_invalid = _l("Uniquely constrained attributes cannot be JSON and multi-valued")
|
||||
ci_type_trigger_duplicate = _l("Duplicated trigger") # 重复的触发器
|
||||
ci_type_trigger_not_found = _l("Trigger {} does not exist") # 触发器 {} 不存在
|
||||
|
||||
custom_name_duplicate = "订制名重复"
|
||||
record_not_found = _l("Operation record {} does not exist") # 操作记录 {} 不存在
|
||||
cannot_delete_unique = _l("Unique identifier cannot be deleted") # 不能删除唯一标识
|
||||
cannot_delete_default_order_attr = _l("Cannot delete default sorted attributes") # 不能删除默认排序的属性
|
||||
|
||||
limit_ci_type = "模型数超过限制: {}"
|
||||
limit_ci = "CI数超过限制: {}"
|
||||
preference_relation_view_node_required = _l("No node selected") # 没有选择节点
|
||||
preference_search_option_not_found = _l("This search option does not exist!") # 该搜索选项不存在!
|
||||
preference_search_option_exists = _l("This search option has a duplicate name!") # 该搜索选项命名重复!
|
||||
|
||||
adr_duplicate = "自动发现规则: {} 已经存在!"
|
||||
adr_not_found = "自动发现规则: {} 不存在!"
|
||||
adr_referenced = "该自动发现规则被模型引用, 不能删除!"
|
||||
ad_duplicate = "自动发现规则的应用不能重复定义!"
|
||||
ad_not_found = "您要修改的自动发现: {} 不存在!"
|
||||
ad_not_unique_key = "属性字段没有包括唯一标识: {}"
|
||||
adc_not_found = "自动发现的实例不存在!"
|
||||
adt_not_found = "模型并未关联该自动发现!"
|
||||
adt_secret_no_permission = "只有创建人才能修改Secret!"
|
||||
cannot_delete_adt = "该规则已经有自动发现的实例, 不能被删除!"
|
||||
adr_default_ref_once = "该默认的自动发现规则 已经被模型 {} 引用!"
|
||||
adr_unique_key_required = "unique_key方法必须返回非空字符串!"
|
||||
adr_plugin_attributes_list_required = "attributes方法必须返回的是list"
|
||||
adr_plugin_attributes_list_no_empty = "attributes方法返回的list不能为空!"
|
||||
adt_target_all_no_permission = "只有管理员才可以定义执行机器为: 所有节点!"
|
||||
adt_target_expr_no_permission = "执行机器权限检查不通过: {}"
|
||||
relation_type_exists = _l("Relationship type {} already exists") # 关系类型 {} 已经存在
|
||||
relation_type_not_found = _l("Relationship type {} does not exist") # 关系类型 {} 不存在
|
||||
|
||||
ci_filter_name_cannot_be_empty = "CI过滤授权 必须命名!"
|
||||
ci_filter_perm_cannot_or_query = "CI过滤授权 暂时不支持 或 查询"
|
||||
ci_filter_perm_attr_no_permission = "您没有属性 {} 的操作权限!"
|
||||
ci_filter_perm_ci_no_permission = "您没有该CI的操作权限!"
|
||||
attribute_value_invalid = _l("Invalid attribute value: {}") # 无效的属性值: {}
|
||||
attribute_value_invalid2 = _l("{} Invalid value: {}") # {} 无效的值: {}
|
||||
not_in_choice_values = _l("{} is not in the predefined values") # {} 不在预定义值里
|
||||
# 属性 {} 的值必须是唯一的, 当前值 {} 已存在
|
||||
attribute_value_unique_required = _l("The value of attribute {} must be unique, {} already exists")
|
||||
attribute_value_required = _l("Attribute {} value must exist") # 属性 {} 值必须存在
|
||||
|
||||
password_save_failed = "保存密码失败: {}"
|
||||
password_load_failed = "获取密码失败: {}"
|
||||
# 新增或者修改属性值未知错误: {}
|
||||
attribute_value_unknown_error = _l("Unknown error when adding or modifying attribute value: {}")
|
||||
|
||||
custom_name_duplicate = _l("Duplicate custom name") # 订制名重复
|
||||
|
||||
limit_ci_type = _l("Number of models exceeds limit: {}") # 模型数超过限制: {}
|
||||
limit_ci = _l("The number of CIs exceeds the limit: {}") # CI数超过限制: {}
|
||||
|
||||
adr_duplicate = _l("Auto-discovery rule: {} already exists!") # 自动发现规则: {} 已经存在!
|
||||
adr_not_found = _l("Auto-discovery rule: {} does not exist!") # 自动发现规则: {} 不存在!
|
||||
# 该自动发现规则被模型引用, 不能删除!
|
||||
adr_referenced = _l("This auto-discovery rule is referenced by the model and cannot be deleted!")
|
||||
# 自动发现规则的应用不能重复定义!
|
||||
ad_duplicate = _l("The application of auto-discovery rules cannot be defined repeatedly!")
|
||||
ad_not_found = _l("The auto-discovery you want to modify: {} does not exist!") # 您要修改的自动发现: {} 不存在!
|
||||
ad_not_unique_key = _l("Attribute does not include unique identifier: {}") # 属性字段没有包括唯一标识: {}
|
||||
adc_not_found = _l("The auto-discovery instance does not exist!") # 自动发现的实例不存在!
|
||||
adt_not_found = _l("The model is not associated with this auto-discovery!") # 模型并未关联该自动发现!
|
||||
adt_secret_no_permission = _l("Only the creator can modify the Secret!") # 只有创建人才能修改Secret!
|
||||
# 该规则已经有自动发现的实例, 不能被删除!
|
||||
cannot_delete_adt = _l("This rule already has auto-discovery instances and cannot be deleted!")
|
||||
# 该默认的自动发现规则 已经被模型 {} 引用!
|
||||
adr_default_ref_once = _l("The default auto-discovery rule is already referenced by model {}!")
|
||||
# unique_key方法必须返回非空字符串!
|
||||
adr_unique_key_required = _l("The unique_key method must return a non-empty string!")
|
||||
adr_plugin_attributes_list_required = _l("The attributes method must return a list") # attributes方法必须返回的是list
|
||||
# attributes方法返回的list不能为空!
|
||||
adr_plugin_attributes_list_no_empty = _l("The list returned by the attributes method cannot be empty!")
|
||||
# 只有管理员才可以定义执行机器为: 所有节点!
|
||||
adt_target_all_no_permission = _l("Only administrators can define execution targets as: all nodes!")
|
||||
adt_target_expr_no_permission = _l("Execute targets permission check failed: {}") # 执行机器权限检查不通过: {}
|
||||
|
||||
ci_filter_name_cannot_be_empty = _l("CI filter authorization must be named!") # CI过滤授权 必须命名!
|
||||
ci_filter_perm_cannot_or_query = _l(
|
||||
"CI filter authorization is currently not supported or query") # CI过滤授权 暂时不支持 或 查询
|
||||
# 您没有属性 {} 的操作权限!
|
||||
ci_filter_perm_attr_no_permission = _l("You do not have permission to operate attribute {}!")
|
||||
ci_filter_perm_ci_no_permission = _l("You do not have permission to operate this CI!") # 您没有该CI的操作权限!
|
||||
|
||||
password_save_failed = _l("Failed to save password: {}") # 保存密码失败: {}
|
||||
password_load_failed = _l("Failed to get password: {}") # 获取密码失败: {}
|
||||
|
@@ -1,46 +1,50 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
from api.lib.resp_format import CommonErrFormat
|
||||
|
||||
|
||||
class ErrFormat(CommonErrFormat):
|
||||
login_succeed = "登录成功"
|
||||
ldap_connection_failed = "连接LDAP服务失败"
|
||||
invalid_password = "密码验证失败"
|
||||
auth_only_with_app_token_failed = "应用 Token验证失败"
|
||||
session_invalid = "您不是应用管理员 或者 session失效(尝试一下退出重新登录)"
|
||||
login_succeed = _l("login successful") # 登录成功
|
||||
ldap_connection_failed = _l("Failed to connect to LDAP service") # 连接LDAP服务失败
|
||||
invalid_password = _l("Password verification failed") # 密码验证失败
|
||||
auth_only_with_app_token_failed = _l("Application Token verification failed") # 应用 Token验证失败
|
||||
# 您不是应用管理员 或者 session失效(尝试一下退出重新登录)
|
||||
session_invalid = _l(
|
||||
"You are not the application administrator or the session has expired (try logging out and logging in again)")
|
||||
|
||||
resource_type_not_found = "资源类型 {} 不存在!"
|
||||
resource_type_exists = "资源类型 {} 已经存在!"
|
||||
resource_type_cannot_delete = "因为该类型下有资源的存在, 不能删除!"
|
||||
resource_type_not_found = _l("Resource type {} does not exist!") # 资源类型 {} 不存在!
|
||||
resource_type_exists = _l("Resource type {} already exists!") # 资源类型 {} 已经存在!
|
||||
# 因为该类型下有资源的存在, 不能删除!
|
||||
resource_type_cannot_delete = _l("Because there are resources under this type, they cannot be deleted!")
|
||||
|
||||
user_not_found = "用户 {} 不存在!"
|
||||
user_exists = "用户 {} 已经存在!"
|
||||
role_not_found = "角色 {} 不存在!"
|
||||
role_exists = "角色 {} 已经存在!"
|
||||
global_role_not_found = "全局角色 {} 不存在!"
|
||||
global_role_exists = "全局角色 {} 已经存在!"
|
||||
user_not_found = _l("User {} does not exist!") # 用户 {} 不存在!
|
||||
user_exists = _l("User {} already exists!") # 用户 {} 已经存在!
|
||||
role_not_found = _l("Role {} does not exist!") # 角色 {} 不存在!
|
||||
role_exists = _l("Role {} already exists!") # 角色 {} 已经存在!
|
||||
global_role_not_found = _l("Global role {} does not exist!") # 全局角色 {} 不存在!
|
||||
global_role_exists = _l("Global role {} already exists!") # 全局角色 {} 已经存在!
|
||||
|
||||
resource_no_permission = "您没有资源: {} 的 {} 权限"
|
||||
admin_required = "需要管理员权限"
|
||||
role_required = "需要角色: {}"
|
||||
user_role_delete_invalid = "删除用户角色, 请在 用户管理 页面操作!"
|
||||
resource_no_permission = _l("You do not have {} permission on resource: {}") # 您没有资源: {} 的 {} 权限
|
||||
admin_required = _l("Requires administrator permissions") # 需要管理员权限
|
||||
role_required = _l("Requires role: {}") # 需要角色: {}
|
||||
# 删除用户角色, 请在 用户管理 页面操作!
|
||||
user_role_delete_invalid = _l("To delete a user role, please operate on the User Management page!")
|
||||
|
||||
app_is_ready_existed = "应用 {} 已经存在"
|
||||
app_not_found = "应用 {} 不存在!"
|
||||
app_secret_invalid = "应用的Secret无效"
|
||||
app_is_ready_existed = _l("Application {} already exists") # 应用 {} 已经存在
|
||||
app_not_found = _l("Application {} does not exist!") # 应用 {} 不存在!
|
||||
app_secret_invalid = _l("The Secret is invalid") # 应用的Secret无效
|
||||
|
||||
resource_not_found = "资源 {} 不存在!"
|
||||
resource_exists = "资源 {} 已经存在!"
|
||||
resource_not_found = _l("Resource {} does not exist!") # 资源 {} 不存在!
|
||||
resource_exists = _l("Resource {} already exists!") # 资源 {} 已经存在!
|
||||
|
||||
resource_group_not_found = "资源组 {} 不存在!"
|
||||
resource_group_exists = "资源组 {} 已经存在!"
|
||||
resource_group_not_found = _l("Resource group {} does not exist!") # 资源组 {} 不存在!
|
||||
resource_group_exists = _l("Resource group {} already exists!") # 资源组 {} 已经存在!
|
||||
|
||||
inheritance_dead_loop = "继承检测到了死循环"
|
||||
role_relation_not_found = "角色关系 {} 不存在!"
|
||||
inheritance_dead_loop = _l("Inheritance detected infinite loop") # 继承检测到了死循环
|
||||
role_relation_not_found = _l("Role relationship {} does not exist!") # 角色关系 {} 不存在!
|
||||
|
||||
trigger_not_found = "触发器 {} 不存在!"
|
||||
trigger_exists = "触发器 {} 已经存在!"
|
||||
trigger_disabled = "触发器 {} 已经被禁用!"
|
||||
|
||||
invalid_password = "密码不正确!"
|
||||
trigger_not_found = _l("Trigger {} does not exist!") # 触发器 {} 不存在!
|
||||
trigger_exists = _l("Trigger {} already exists!") # 触发器 {} 已经存在!
|
||||
trigger_disabled = _l("Trigger {} has been disabled!") # Trigger {} has been disabled!
|
||||
|
@@ -1,29 +1,34 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
|
||||
class CommonErrFormat(object):
|
||||
unauthorized = "未认证"
|
||||
unknown_error = "未知错误"
|
||||
unauthorized = _l("unauthorized") # 未认证
|
||||
unknown_error = _l("unknown error") # 未知错误
|
||||
|
||||
invalid_request = "不合法的请求"
|
||||
invalid_operation = "无效的操作"
|
||||
invalid_request = _l("Illegal request") # 不合法的请求
|
||||
invalid_operation = _l("Invalid operation") # 无效的操作
|
||||
|
||||
not_found = "不存在"
|
||||
not_found = _l("does not exist") # 不存在
|
||||
|
||||
circular_dependency_error = "存在循环依赖!"
|
||||
circular_dependency_error = _l("There is a circular dependency!") # 存在循环依赖!
|
||||
|
||||
unknown_search_error = "未知搜索错误"
|
||||
unknown_search_error = _l("Unknown search error") # 未知搜索错误
|
||||
|
||||
invalid_json = "json格式似乎不正确了, 请仔细确认一下!"
|
||||
# json格式似乎不正确了, 请仔细确认一下!
|
||||
invalid_json = _l("The json format seems to be incorrect, please confirm carefully!")
|
||||
|
||||
datetime_argument_invalid = "参数 {} 格式不正确, 格式必须是: yyyy-mm-dd HH:MM:SS"
|
||||
# 参数 {} 格式不正确, 格式必须是: yyyy-mm-dd HH:MM:SS
|
||||
datetime_argument_invalid = _l("The format of parameter {} is incorrect, the format must be: yyyy-mm-dd HH:MM:SS")
|
||||
|
||||
argument_value_required = "参数 {} 的值不能为空!"
|
||||
argument_required = "请求缺少参数 {}"
|
||||
argument_invalid = "参数 {} 的值无效"
|
||||
argument_str_length_limit = "参数 {} 的长度必须 <= {}"
|
||||
argument_value_required = _l("The value of parameter {} cannot be empty!") # 参数 {} 的值不能为空!
|
||||
argument_required = _l("The request is missing parameters {}") # 请求缺少参数 {}
|
||||
argument_invalid = _l("Invalid value for parameter {}") # 参数 {} 的值无效
|
||||
argument_str_length_limit = _l("The length of parameter {} must be <= {}") # 参数 {} 的长度必须 <= {}
|
||||
|
||||
role_required = "角色 {} 才能操作!"
|
||||
user_not_found = "用户 {} 不存在"
|
||||
no_permission = "您没有资源: {} 的{}权限!"
|
||||
no_permission2 = "您没有操作权限!"
|
||||
no_permission_only_owner = "只有创建人或者管理员才有权限!"
|
||||
role_required = _l("Role {} can only operate!") # 角色 {} 才能操作!
|
||||
user_not_found = _l("User {} does not exist") # 用户 {} 不存在
|
||||
no_permission = _l("You do not have {} permission for resource: {}!") # 您没有资源: {} 的{}权限!
|
||||
no_permission2 = _l("You do not have permission to operate!") # 您没有操作权限!
|
||||
no_permission_only_owner = _l("Only the creator or administrator has permission!") # 只有创建人或者管理员才有权限!
|
||||
|
Reference in New Issue
Block a user