358 lines
13 KiB
Python
358 lines
13 KiB
Python
"""
|
|
FormData 国际化翻译表 - 简化版
|
|
"""
|
|
|
|
TRANSLATIONS = {
|
|
"zh_CN": {
|
|
"operation": "操作",
|
|
"actions.add": "新增",
|
|
"actions.edit": "编辑",
|
|
"actions.delete": "删除",
|
|
"actions.save": "保存",
|
|
"actions.cancel": "取消",
|
|
"actions.confirm": "确认",
|
|
"actions.search": "搜索",
|
|
"actions.reset": "重置",
|
|
|
|
"table.User": "用户",
|
|
"table.UserAvatar": "用户头像",
|
|
"table.EphemeralTokens": "临时令牌",
|
|
"table.Tenant": "租户",
|
|
"table.Company": "公司",
|
|
"table.Dept": "部门",
|
|
"table.Role": "角色",
|
|
"table.Permission": "权限",
|
|
"table.UserRole": "用户-角色",
|
|
"table.RoleDept": "角色-部门",
|
|
"table.WorkOrder": "工单",
|
|
"table.Menu": "菜单",
|
|
"table.TestForm": "测试表单",
|
|
|
|
"User.UserUUID": "用户UUID",
|
|
"User.UserName": "用户名",
|
|
"User.UserPassword": "密码",
|
|
"User.UserPositionStatus": "职位状态",
|
|
"User.UserPersonalSignature": "个人签名",
|
|
"User.UserEmail": "邮箱",
|
|
"User.UserEmailVerify": "邮箱验证",
|
|
"User.UserAccountLicense": "账户许可",
|
|
"User.UserGender": "性别",
|
|
"User.UserTele": "电话",
|
|
"User.UserCreateTime": "创建时间",
|
|
"User.UserLastLoginDate": "最后登录",
|
|
|
|
"UserAvatar.UserUUID": "用户UUID",
|
|
"UserAvatar.UserAvatar": "头像数据",
|
|
"UserAvatar.AvatarUploadTime": "上传时间",
|
|
"UserAvatar.AvatarFileType": "文件类型",
|
|
|
|
"EphemeralTokens.ELTUUID": "令牌UUID",
|
|
"EphemeralTokens.ELTUserUUID": "用户UUID",
|
|
"EphemeralTokens.ELTCreatime": "创建时间",
|
|
"EphemeralTokens.ELTEndTime": "过期时间",
|
|
"EphemeralTokens.ELTType": "令牌类型",
|
|
"EphemeralTokens.ELTAllowIP": "允许IP",
|
|
"EphemeralTokens.ELTStatus": "状态",
|
|
|
|
"Tenant.TenantUUID": "租户UUID",
|
|
"Tenant.TenantName": "租户名称",
|
|
"Tenant.TenantCode": "租户编码",
|
|
"Tenant.TenantStatus": "租户状态",
|
|
"Tenant.TenantExpireTime": "过期时间",
|
|
"Tenant.CreateTime": "创建时间",
|
|
|
|
"Company.CompanyUUID": "公司UUID",
|
|
"Company.TenantUUID": "租户UUID",
|
|
"Company.ParentCompanyUUID": "上级公司UUID",
|
|
"Company.CompanyName": "公司名称",
|
|
"Company.CompanyShort": "公司简称",
|
|
"Company.CompanyStatus": "公司状态",
|
|
"Company.CreateTime": "创建时间",
|
|
|
|
"Dept.DeptUUID": "部门UUID",
|
|
"Dept.CompanyUUID": "公司UUID",
|
|
"Dept.DeptName": "部门名称",
|
|
"Dept.DeptShort": "部门简称",
|
|
"Dept.DeptStatus": "部门状态",
|
|
"Dept.CreateTime": "创建时间",
|
|
|
|
"Role.RoleUUID": "角色UUID",
|
|
"Role.CompanyUUID": "公司UUID",
|
|
"Role.RoleName": "角色名称",
|
|
"Role.RoleType": "角色类型",
|
|
"Role.RoleStatus": "角色状态",
|
|
"Role.CreateTime": "创建时间",
|
|
|
|
"Permission.PermUUID": "权限UUID",
|
|
"Permission.PermCode": "权限键",
|
|
"Permission.RoleUUID": "角色",
|
|
"Permission.PermStatus": "是否启用",
|
|
"Permission.PermName": "名称",
|
|
"Permission.PermDesc": "内容",
|
|
|
|
"UserRole.UserUUID": "用户名称",
|
|
"UserRole.RoleUUID": "角色名称",
|
|
|
|
"RoleDept.RoleUUID": "角色名称",
|
|
"RoleDept.DeptUUID": "部门名称",
|
|
|
|
"WorkOrder.OrderUUID": "工单UUID",
|
|
"WorkOrder.Title": "标题",
|
|
"WorkOrder.Description": "描述",
|
|
"WorkOrder.Category": "分类",
|
|
"WorkOrder.Priority": "优先级",
|
|
"WorkOrder.Status": "状态",
|
|
"WorkOrder.CreatorUUID": "提交人",
|
|
"WorkOrder.AssigneeUUID": "处理人",
|
|
"WorkOrder.Resolution": "处理说明",
|
|
"WorkOrder.CreateTime": "提交时间",
|
|
"WorkOrder.UpdateTime": "更新时间",
|
|
"WorkOrder.CloseTime": "关闭时间",
|
|
"WorkOrder.Category.bug": "缺陷",
|
|
"WorkOrder.Category.feature": "功能",
|
|
"WorkOrder.Category.question": "疑问",
|
|
"WorkOrder.Category.account": "账号",
|
|
"WorkOrder.Category.other": "其他",
|
|
"WorkOrder.Priority.0": "低",
|
|
"WorkOrder.Priority.1": "中",
|
|
"WorkOrder.Priority.2": "高",
|
|
"WorkOrder.Priority.3": "紧急",
|
|
"WorkOrder.Status.-1": "已拒绝",
|
|
"WorkOrder.Status.0": "待处理",
|
|
"WorkOrder.Status.1": "处理中",
|
|
"WorkOrder.Status.2": "已解决",
|
|
"WorkOrder.Status.3": "已关闭",
|
|
|
|
"Menu.MenuUUID": "菜单UUID",
|
|
"Menu.CompanyUUID": "公司",
|
|
"Menu.ParentMenuUUID": "上级菜单",
|
|
"Menu.MenuName": "标识名",
|
|
"Menu.MenuTitle": "显示名称",
|
|
"Menu.MenuIcon": "图标",
|
|
"Menu.MenuLink": "链接",
|
|
"Menu.MenuSort": "排序",
|
|
"Menu.PermissionLevel": "权限等级",
|
|
"Menu.PermissionAttr": "权限字段",
|
|
"Menu.MenuStatus": "状态",
|
|
"Menu.MenuType": "类型",
|
|
"Menu.MenuStatus.0": "禁用",
|
|
"Menu.MenuStatus.1": "启用",
|
|
"Menu.MenuType.0": "目录",
|
|
"Menu.MenuType.1": "页面",
|
|
|
|
"TestForm.title": "测试表单",
|
|
"TestForm.id": "编号",
|
|
"TestForm.username": "用户名",
|
|
"TestForm.email": "邮箱",
|
|
"TestForm.phone": "手机号",
|
|
"TestForm.gender": "性别",
|
|
"TestForm.age": "年龄",
|
|
"TestForm.height": "身高",
|
|
"TestForm.weight": "体重",
|
|
"TestForm.is_active": "是否激活",
|
|
"TestForm.join_time": "加入时间",
|
|
"TestForm.last_login_time": "最后登录时间",
|
|
"TestForm.birthday": "生日",
|
|
"TestForm.address": "地址",
|
|
"TestForm.avatar_url": "头像URL",
|
|
"TestForm.status": "状态",
|
|
"TestForm.ext_info": "扩展信息",
|
|
|
|
"TestForm.gender.male": "男",
|
|
"TestForm.gender.female": "女",
|
|
"TestForm.gender.other": "其他",
|
|
"TestForm.status.1": "正常",
|
|
"TestForm.status.2": "禁用",
|
|
"TestForm.status.3": "待审核",
|
|
},
|
|
|
|
"en_US": {
|
|
"operation": "Operation",
|
|
"actions.add": "Add",
|
|
"actions.edit": "Edit",
|
|
"actions.delete": "Delete",
|
|
"actions.save": "Save",
|
|
"actions.cancel": "Cancel",
|
|
"actions.confirm": "Confirm",
|
|
"actions.search": "Search",
|
|
"actions.reset": "Reset",
|
|
|
|
"table.User": "User",
|
|
"table.UserAvatar": "User Avatar",
|
|
"table.EphemeralTokens": "Ephemeral Tokens",
|
|
"table.Tenant": "Tenant",
|
|
"table.Company": "Company",
|
|
"table.Dept": "Department",
|
|
"table.Role": "Role",
|
|
"table.Permission": "Permission",
|
|
"table.UserRole": "User-Role",
|
|
"table.RoleDept": "Role-Dept",
|
|
"table.WorkOrder": "Work Order",
|
|
"table.Menu": "Menu",
|
|
"table.TestForm": "Test Form",
|
|
|
|
"User.UserUUID": "User UUID",
|
|
"User.UserName": "Username",
|
|
"User.UserPassword": "Password",
|
|
"User.UserPositionStatus": "Position Status",
|
|
"User.UserPersonalSignature": "Signature",
|
|
"User.UserEmail": "Email",
|
|
"User.UserEmailVerify": "Email Verified",
|
|
"User.UserAccountLicense": "Account License",
|
|
"User.UserGender": "Gender",
|
|
"User.UserTele": "Phone",
|
|
"User.UserCreateTime": "Create Time",
|
|
"User.UserLastLoginDate": "Last Login",
|
|
|
|
"UserAvatar.UserUUID": "User UUID",
|
|
"UserAvatar.UserAvatar": "Avatar Data",
|
|
"UserAvatar.AvatarUploadTime": "Upload Time",
|
|
"UserAvatar.AvatarFileType": "File Type",
|
|
|
|
"EphemeralTokens.ELTUUID": "Token UUID",
|
|
"EphemeralTokens.ELTUserUUID": "User UUID",
|
|
"EphemeralTokens.ELTCreatime": "Create Time",
|
|
"EphemeralTokens.ELTEndTime": "Expire Time",
|
|
"EphemeralTokens.ELTType": "Token Type",
|
|
"EphemeralTokens.ELTAllowIP": "Allowed IPs",
|
|
"EphemeralTokens.ELTStatus": "Status",
|
|
|
|
"Tenant.TenantUUID": "Tenant UUID",
|
|
"Tenant.TenantName": "Tenant Name",
|
|
"Tenant.TenantCode": "Tenant Code",
|
|
"Tenant.TenantStatus": "Tenant Status",
|
|
"Tenant.TenantExpireTime": "Expire Time",
|
|
"Tenant.CreateTime": "Create Time",
|
|
|
|
"Company.CompanyUUID": "Company UUID",
|
|
"Company.TenantUUID": "Tenant UUID",
|
|
"Company.ParentCompanyUUID": "Parent Company UUID",
|
|
"Company.CompanyName": "Company Name",
|
|
"Company.CompanyShort": "Company Short",
|
|
"Company.CompanyStatus": "Company Status",
|
|
"Company.CreateTime": "Create Time",
|
|
|
|
"Dept.DeptUUID": "Dept UUID",
|
|
"Dept.CompanyUUID": "Company UUID",
|
|
"Dept.DeptName": "Dept Name",
|
|
"Dept.DeptShort": "Dept Short",
|
|
"Dept.DeptStatus": "Dept Status",
|
|
"Dept.CreateTime": "Create Time",
|
|
|
|
"Role.RoleUUID": "Role UUID",
|
|
"Role.CompanyUUID": "Company UUID",
|
|
"Role.RoleName": "Role Name",
|
|
"Role.RoleType": "Role Type",
|
|
"Role.RoleStatus": "Role Status",
|
|
"Role.CreateTime": "Create Time",
|
|
|
|
"Permission.PermUUID": "Permission UUID",
|
|
"Permission.PermCode": "Permission Key",
|
|
"Permission.RoleUUID": "Role",
|
|
"Permission.PermStatus": "Enabled",
|
|
"Permission.PermName": "Name",
|
|
"Permission.PermDesc": "Content",
|
|
|
|
"UserRole.UserUUID": "User Name",
|
|
"UserRole.RoleUUID": "Role Name",
|
|
|
|
"RoleDept.RoleUUID": "Role Name",
|
|
"RoleDept.DeptUUID": "Dept Name",
|
|
|
|
"WorkOrder.OrderUUID": "Order UUID",
|
|
"WorkOrder.Title": "Title",
|
|
"WorkOrder.Description": "Description",
|
|
"WorkOrder.Category": "Category",
|
|
"WorkOrder.Priority": "Priority",
|
|
"WorkOrder.Status": "Status",
|
|
"WorkOrder.CreatorUUID": "Creator",
|
|
"WorkOrder.AssigneeUUID": "Assignee",
|
|
"WorkOrder.Resolution": "Resolution",
|
|
"WorkOrder.CreateTime": "Create Time",
|
|
"WorkOrder.UpdateTime": "Update Time",
|
|
"WorkOrder.CloseTime": "Close Time",
|
|
"WorkOrder.Category.bug": "Bug",
|
|
"WorkOrder.Category.feature": "Feature",
|
|
"WorkOrder.Category.question": "Question",
|
|
"WorkOrder.Category.account": "Account",
|
|
"WorkOrder.Category.other": "Other",
|
|
"WorkOrder.Priority.0": "Low",
|
|
"WorkOrder.Priority.1": "Medium",
|
|
"WorkOrder.Priority.2": "High",
|
|
"WorkOrder.Priority.3": "Urgent",
|
|
"WorkOrder.Status.-1": "Rejected",
|
|
"WorkOrder.Status.0": "Pending",
|
|
"WorkOrder.Status.1": "In Progress",
|
|
"WorkOrder.Status.2": "Resolved",
|
|
"WorkOrder.Status.3": "Closed",
|
|
|
|
"Menu.MenuUUID": "Menu UUID",
|
|
"Menu.CompanyUUID": "Company",
|
|
"Menu.ParentMenuUUID": "Parent Menu",
|
|
"Menu.MenuName": "Name",
|
|
"Menu.MenuTitle": "Display Title",
|
|
"Menu.MenuIcon": "Icon",
|
|
"Menu.MenuLink": "Link",
|
|
"Menu.MenuSort": "Sort",
|
|
"Menu.PermissionLevel": "Permission Level",
|
|
"Menu.PermissionAttr": "Permission Attr",
|
|
"Menu.MenuStatus": "Status",
|
|
"Menu.MenuType": "Type",
|
|
"Menu.MenuStatus.0": "Disabled",
|
|
"Menu.MenuStatus.1": "Active",
|
|
"Menu.MenuType.0": "Directory",
|
|
"Menu.MenuType.1": "Page",
|
|
|
|
"TestForm.title": "Test Form",
|
|
"TestForm.id": "ID",
|
|
"TestForm.username": "Username",
|
|
"TestForm.email": "Email",
|
|
"TestForm.phone": "Phone",
|
|
"TestForm.gender": "Gender",
|
|
"TestForm.age": "Age",
|
|
"TestForm.height": "Height",
|
|
"TestForm.weight": "Weight",
|
|
"TestForm.is_active": "Active",
|
|
"TestForm.join_time": "Join Time",
|
|
"TestForm.last_login_time": "Last Login",
|
|
"TestForm.birthday": "Birthday",
|
|
"TestForm.address": "Address",
|
|
"TestForm.avatar_url": "Avatar URL",
|
|
"TestForm.status": "Status",
|
|
"TestForm.ext_info": "Extra Info",
|
|
|
|
"TestForm.gender.male": "Male",
|
|
"TestForm.gender.female": "Female",
|
|
"TestForm.gender.other": "Other",
|
|
"TestForm.status.1": "Active",
|
|
"TestForm.status.2": "Disabled",
|
|
"TestForm.status.3": "Pending",
|
|
},
|
|
}
|
|
|
|
def get_translation(table_name, lang="zh_CN"):
|
|
"""获取翻译字典"""
|
|
return TRANSLATIONS.get(lang, TRANSLATIONS.get("zh_CN", {}))
|
|
|
|
def translate(key, lang="zh_CN"):
|
|
"""翻译单个键"""
|
|
trans = get_translation("", lang)
|
|
return trans.get(key, key)
|
|
|
|
def translate_field(table_name, field_name, lang="zh_CN"):
|
|
"""翻译字段标题"""
|
|
key = f"{table_name}.{field_name}"
|
|
trans = get_translation(table_name, lang)
|
|
return trans.get(key, field_name)
|
|
|
|
def translate_option(table_name, field_name, option_value, lang="zh_CN"):
|
|
"""翻译下拉选项"""
|
|
key = f"{table_name}.{field_name}.{option_value}"
|
|
trans = get_translation(table_name, lang)
|
|
return trans.get(key, option_value)
|
|
|
|
def get_current_lang():
|
|
"""获取当前语言"""
|
|
from flask import request, session
|
|
return session.get("lang", request.headers.get("Accept-Language", "zh_CN").split(",")[0])
|