diff --git a/.eslintrc.js b/.eslintrc.js index 636e06962..1bb0c823a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,15 +9,24 @@ module.exports = { node: true, es6: true }, - extends: ['plugin:vue/recommended', 'eslint:recommended'], + extends: ['plugin:vue/recommended', 'eslint:recommended', 'plugin:vue-i18n/recommended'], globals: { window: true, _: true }, - + settings: { + 'vue-i18n': { + localeDir: './src/i18n/langs/*/*.json' // extention is glob formatting! + } + }, // add your custom rules here // it is base on https://github.com/vuejs/eslint-config-vue rules: { + // Optional. + 'vue-i18n/no-dynamic-keys': 'error', + 'vue-i18n/no-unused-keys': ['error', { + extensions: ['.js', '.vue'] + }], 'vue/max-attributes-per-line': [2, { 'singleline': 10, 'multiline': { diff --git a/package.json b/package.json index 053833fbb..c34b19709 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,9 @@ "lint": "eslint --ext .js,.vue src", "test:unit": "jest --clearCache && vue-cli-service test:unit", "test:ci": "npm run lint && npm run test:unit", - "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" + "svgo": "svgo -f src/icons/svg --config=src/icas/svgo.yml", + "vue-i18n-extract": "vue-i18n-extract", + "vue-i18n-report": "vue-i18n-extract report -v './src/**/*.?(js|vue)' -l './src/i18n/langs/**/*.json'" }, "dependencies": { "axios": "0.18.1", @@ -66,8 +68,9 @@ "chalk": "2.4.2", "connect": "3.6.6", "element-theme-chalk": "^2.13.1", - "eslint": "5.15.3", + "eslint": "^5.15.3", "eslint-plugin-vue": "5.2.2", + "eslint-plugin-vue-i18n": "^0.3.0", "html-webpack-plugin": "3.2.0", "husky": "^4.2.3", "less-loader": "^5.0.0", @@ -81,6 +84,7 @@ "serve-static": "^1.13.2", "svg-sprite-loader": "4.1.3", "svgo": "1.2.2", + "vue-i18n-extract": "^1.1.1", "vue-template-compiler": "2.6.10" }, "engines": { diff --git a/src/i18n/langs/cn.json b/src/i18n/langs/cn.json new file mode 100644 index 000000000..79e9c862b --- /dev/null +++ b/src/i18n/langs/cn.json @@ -0,0 +1,856 @@ +{ + "route": { + "Dashboard": "仪表盘", + "Users": "用户管理", + "UserList": "用户列表", + "UserDetail": "用户详情", + "UserGroupList": "用户组", + "UserGroupDetail": "用户组详情", + "Assets": "资产管理", + "AssetList": "资产列表", + "DomainList": "网关列表", + "AdminUserList": "管理用户", + "SystemUserList": "系统用户", + "LabelList": "标签管理", + "CommandFilterList": "命令过滤", + "PlatformList": "平台列表", + "Applications": "应用管理", + "RemoteApp": "远程应用", + "DatabaseApp": "数据库应用", + "Perms": "权限管理", + "AssetPermission": "资产授权", + "AssetPermissionDetail": "资产授权详情", + "AssetPermissionCreate": "创建资产授权规则", + "AssetPermissionUpdate": "更新资产授权规则", + "RemoteAppPermission": "远程应用授权", + "RemoteAppPermissionDetail": "远程应用授权详情", + "RemoteAppPermissionCreate": "创建远程应用授权规则", + "RemoteAppPermissionUpdate": "更新远程应用授权规则", + "DatabaseAppPermission": "数据库应用授权", + "DatabaseAppPermissionDetail": "数据库应用授权详情", + "DatabaseAppPermissionCreate": "创建数据库应用授权规则", + "DatabaseAppPermissionUpdate": "更新数据库应用授权规则", + "Sessions": "会话管理", + "SessionOnline": "在线会话", + "SessionOffline": "历史会话", + "SessionDetail": "会话详情", + "Commands": "命令记录", + "WebTerminal": "Web终端", + "FileManager": "文件管理", + "Terminal": "终端管理", + "JobCenter": "作业中心", + "TaskList": "任务列表", + "TaskDetail": "任务详情", + "BatchCommand": "批量命令", + "TaskMonitor": "任务监控", + "Tickets": "工单管理", + "Audits": "日志审计", + "LoginLog": "登录日志", + "FtpLog": "FTP日志", + "OperateLog": "操作日志", + "PasswordChangeLog": "改密日志", + "Settings": "系统设置", + "UserCreate": "创建用户", + "UserGroupCreate": "创建用户组", + "UserUpdate": "更新用户", + "AdminUserCreate": "创建管理用户", + "PlatformCreate": "创建系统平台", + "PlatformUpdate": "更新系统平台", + "CommandFilterCreate": "创建命令过滤器", + "CommandFilterUpdate": "更新命令过滤器", + "CreateReplayStorage": "创建录像存储", + "ReplayStorageUpdate": "更新录像存储", + "CreateCommandStorage": "创建命令存储", + "CommandStorageUpdate": "更新命令存储", + "CommandFilterRulesCreate": " 创建命令过滤器规则", + "LabelCreate": "创建标签", + "LabelUpdate": "更新标签", + "SystemUserDetail": "系统用户详情", + "SystemUserCreate": "创建系统用户", + "SystemUserUpdate": "更新系统用户", + "": "", + "DatabaseAppDetail": "", + "RemoteAppDetail": "" + }, + "common": { + "name": "名称", + "action": "动作", + "Active": "激活中", + "role": "角色", + "username": "用户名", + "nav": { + "Language": "语言", + "Docs": "文档", + "Help": "帮助", + "Profile": "个人信息", + "UserPage": "用户页面", + "APIKey": "API Key", + "Logout": "退出", + "Support": "支持" + }, + "Reset": "重置", + "Submit": "提交", + "more": "更多", + "update": "更新", + "delete": "删除", + "detail": "详情", + "BaseInfo": "基本信息", + "BasicInfo": "基本信息", + "createdBy": "创建人", + "dateCreated": "创建日期", + "Comment": "备注", + "Create": "创建", + "MoreActions": "更多操作", + "deleteSelected": "删除所选", + "updateSelected": "更新所选", + "deleteSuccessMsg": "删除成功", + "Validity": "有效", + "Update": "更新", + "Delete": "删除", + "Remove": "移除", + "Actions": "操作", + "deleteFailedMsg": "删除失败", + "search": "搜索", + "Source": "来源", + "Status": "状态", + "Monitor": "监控", + "run": "执行", + "deleteConfirmMsg": "你确定要删除", + "Info": "提示", + "submit": "提交", + "reset": "重置", + "requiredErrorMsg": "这个字段是必填项", + "validity": "有效性", + "Confirm": "确认", + "Cancel": "取消", + "Import": "导入", + "Export": "导出", + "Other": "其它", + "createSuccessMsg": "创建成功", + "updateSuccessMsg": "更新成功", + "updateFailedMsg": "更新失败", + "disableSelected": "禁用所选", + "activateSelected": "激活所选", + "deleteWarningMsg": "你确定要删除", + "rows": "行", + "basicInfo": "基本信息", + "commandFilter": "命令过滤器", + "Add": "添加", + "Auth": "认证", + "Others": "其他", + "Members": "成员", + "Email": "邮件", + "dateExpired": "失效日期", + "quickUpdate": "快速更新", + "Send": "发送", + "Unblock": "解锁", + "show": "显示", + "QuickUpdate": "快速更新", + "Activate": "激活", + "actions": { + "exportRange": "导出范围", + "exportAll": "导出全部", + "exportOnlySelectedItems": "仅导出选中项", + "downloadTheImportedTemplateOrUseTheExportedCSVFormat": "下载导入的模板或使用导出的csv格式", + "downloadImportTemplate": "下载导入模板", + "downloadTheUpdatedTemplateOrUsTheExportedCSVFormat": "下载更新的模板或使用导出的csv格式", + "downloadUpdateTemplate": "下载更新模板", + "upload": "点击上传", + "onlyCSVFilesCanBeUploaded": "只能上传CSV文件", + "Create": "", + "Activate": "", + "cancel": "" + }, + "tree": { + "AddNode": "添加节点", + "RenameNode": "重命名节点", + "DeleteNode": "删除节点", + "Empty": "空", + "Loading": "" + }, + "message": { + "deleteWarning": "Are you sure to delete " + }, + "fieldRequiredError": "", + "Show": "", + "deleteErrorMsg": "", + "More": "", + "table": { + "Name": "", + "DateCreated": "", + "Actions": "" + }, + "comment": "", + "Name": "", + "Username": "", + "Command filter": "", + "confirm": "", + "import": "", + "IsValid": "" + }, + "applications": { + "applications": "应用管理", + "remote_app_list": "远程应用列表", + "create_remote_app": "创建远程应用", + "remote_app_detail": "远程应用详情", + "update_remote_app": "更新远程应用", + "name": "名称", + "appType": "应用类型", + "appPath": "应用路径", + "asset": "资产", + "action": "操作", + "update": "更新", + "delete": "删除", + "comment": "备注", + "database_app_list": "数据库应用列表", + "database_app_detail": "数据库应用详情", + "create_database_app": "创建数据库应用", + "update_database_app": "更新数据库应用", + "type": "类型", + "host": "主机", + "port": "端口", + "database": "数据库", + "search": "搜索", + "date_created": "创建日期", + "created_by": "创建者", + "app_path": "应用路径", + "chrome": "Chrome", + "mysql_workbench": "MySQL Workbench", + "vmware_client": "vSphere Client", + "custom": "自定义", + "chrome_target": "目标URL", + "chrome_username": "登录账号", + "chrome_password": "登录密码", + "mysql_workbench_ip": "数据库IP", + "mysql_workbench_name": "数据库名", + "mysql_workbench_username": "数据库账号", + "mysql_workbench_password": "数据库密码", + "vmware_target": "目标地址", + "vmware_username": "登录账号", + "vmware_password": "登录密码", + "custom_cmdline": "运行参数", + "custom_target": "目标地址", + "custom_username": "登录账号", + "custom_password": "登录密码", + "": "" + }, + "assets": { + "Assets": "资产", + "Nodes": "节点", + "SystemUsers": "系统用户", + "RemoteApps": "远程应用", + "Hostname": "主机名", + "Ip": "IP", + "Hardware": "硬件", + "Reachable": "可连接", + "Action": "动作", + "Update": "更新", + "Delete": "删除", + "Search": "搜索", + "Deleteselected": "批量删除", + "Updateselected": "批量更新", + "Removefromthisnode": "从节点移除", + "Deactiveselected": "禁用所选", + "Activeselected": "激活所选", + "Submit": "提交", + "Platform": "系统平台", + "Publicip": "公网IP", + "Domain": "网域", + "Adminuser": "管理用户", + "Node": "节点", + "Label": "标签", + "Comment": "备注", + "Basic": "基本", + "Protocols": "协议组", + "Auth": "认证", + "Labels": "标签管理", + "Other": "其它", + "Vendor": "制造商", + "Model": "型号", + "Cpu": "CPU", + "Memory": "内存", + "Disk": "硬盘", + "Os": "操作系统", + "Isactive": "激活", + "Serialnumber": "序列号", + "Assetnumber": "资产编号", + "Datejoined": "创建日期", + "Quickmodify": "快速修改", + "Active": "激活中", + "Refreshhardware": "更新硬件信息", + "Testconnective": "测试可连接性", + "Refresh": "刷新", + "Test": "测试", + "Confirm": "确认", + "Assetuserlist": "资产用户列表", + "Domainlist": "网域列表", + "Domaindetail": "网域详情", + "Createdomain": "创建网域", + "Updatedomain": "更新网域", + "Name": "名称", + "Asset": "资产", + "Gateway": "网关", + "Datecreated": "创建日期", + "Port": "端口", + "Version": "版本", + "Testconnection": "测试连接", + "Adminuserlist": "管理用户列表", + "Adminuserdetail": "管理用户详情", + "Adminusercreate": "创建管理用户", + "Adminuserupdate": "更新管理用户", + "Username": "用户名", + "Loginmodedisplay": "登录模式", + "Replacenodeassetsadminuserwiththis": "替换资产节点的管理员", + "Selectnodes": "选择节点", + "Protocol": "协议", + "Loginmode": "登录模式", + "Quickupdate": "快速更新", + "Autopush": "自动推送", + "Labellist": "标签列表", + "Labeldetail": "标签详情", + "Createlabel": "创建标签", + "Updatelabel": "更新标签", + "Value": "值", + "Commandfilterlist": "命令过滤器列表", + "Createcommandfilter": "创建命令过滤器", + "Updatecommandfilter": "更新命令过滤器", + "Commandfilterdetail": "命令过滤器详情", + "Commandfilterrules": "命令过滤器规则", + "Rules": "规则", + "Systemuser": "系统用户", + "Dateupdated": "更新日期", + "Detail": "详情", + "Type": "类型", + "Content": "内容", + "Priority": "优先级", + "Ruleaction": "策略", + "Bindingtosystemuser": "绑定到系统用户", + "Createdby": "创建者", + "Platformlist": "平台列表", + "Createplatform": "创建系统平台", + "Updateplatform": "更新系统平台", + "Platformdetail": "平台详情", + "Baseplatform": "基础平台", + "Charset": "编码", + "Meta": "元数据", + "Testassetsconnective": "测试资产可连接性", + "Pushsystemusernow": "立刻推送系统", + "hostname": "", + "ip": "", + "TestAssetsConnective": "", + "username": "", + "version": "", + "date_created": "", + "Replace node assets admin user with this": "", + "name": "", + "created_by": "", + "AdminUserDetail": "", + "detail": "", + "assetlist": "", + "assets": "", + "hardware": "", + "reachable": "", + "comment": "", + "date_updated": "", + "commandFilterDetail": "", + "commandFilterRules": "", + "type": "", + "content": "", + "priority": "", + "ruleaction": "", + "rules": "", + "systemUser": "", + "资产": "", + "网关": "", + "port": "", + "protocol": "", + "TestConnection": "", + "asset": "", + "gateway": "", + "value": "", + "BasePlatform": "", + "quick_update": "", + "auto_push": "", + "command_filter_list": "", + "PushSystemUserNow": "", + "login_mode_display": "", + "SystemUserDetail": "", + "loginMode": "", + "IP": "", + "SystemUser": "" + }, + "audits": { + "username": "用户名", + "type": "类型", + "ip": "IP", + "city": "城市", + "user_agent": "Agent", + "mfa": "多因子认证", + "reason": "原因", + "status": "状态", + "datetime": "日期" + }, + "auth": { + "authExpireMsg": "账号已退出,请重新登录", + "Re-Login": "重新登录", + "You have been logged out, Please log in again": "" + }, + "jobcenter": { + "RunTimes": "执行次数", + "Hosts": "主机", + "Success": "成功", + "Date": "日期", + "Time": "时间", + "run": "执行", + "ID": "ID", + "TaskDetail": "任务详情", + "TaskVersions": "任务各版本", + "Execution": "执行历史", + "LaskExecutionOutput": "最后执行输出", + "DateCreated": "创建日期", + "TotalVersions": "版本数量", + "LatestVersion": "最新版本", + "LastRun": "最后运行", + "TimeDelta": "运行时间", + "IsFinished": "是否完成", + "IsSuccess": "成功", + "Contents": "内容", + "Last run failed hosts": "最后运行失败的主机", + "Last run success hosts": "最后运行成功的主机", + "Version": "版本", + "Pattern": "模式", + "RunAs": "运行用户", + "Become": "Become", + "Datetime": "日期", + "Stat": "成功/失败/总", + "Ratio": "比例", + "Yes": "是", + "No": "否", + "versionDetail": "版本详情", + "VersionRunExecution": "执行历史", + "SuccessHosts": "成功资产", + "FailedHosts": "失败资产", + "ExecutionDetail": "执行历史详情", + "Output": "输出", + "CreatedBy": "创建者", + "Tasks": "任务", + "Options": "选项", + "TaskName": "任务名称", + "DateStart": "开始日期" + }, + "perms": { + "Asset permissions": "资产授权", + "RefreshPermissionCache": "刷新授权缓存", + "ReFreshSuccess": "刷新成功", + "ReFreshFail": "刷新失败", + "IsValid": "有效", + "IP": "IP", + "Hostname": "主机名", + "All": "全部", + "Connect": "连接", + "UpDownload": "上传下载", + "UploadFile": "上传文件", + "DownloadFile": "下载文件", + "Basic": "基本", + "User": "用户", + "Asset": "资产", + "Actions": "动作", + "UserGroups": "用户组", + "Node": "节点", + "SystemUser": "系统用户", + "UserCount": "用户数量", + "UserGroupCount": "用户组数量", + "AssetCount": "资产数量", + "NodeCount": "节点数量", + "SystemUserCount": "系统用户数量", + "DateStart": "开始日期", + "DateExpired": "失效日期", + "DateCreated": "创建日期", + "CreatedBy": "创建者", + "Comment": "备注", + "QuickModify": "快速修改", + "AssetPermissionDetail": "资产授权详情", + "UsersAndUserGroups": "用户或用户组", + "AssetAndNode": "资产或节点", + "Active": "激活中", + "Add user to this permission": "添加用户", + "Add user group to this permission": "添加用户组", + "Add asset to this permission": "添加资产", + "Add node to this permission": "添加节点", + "Add System User to this permission": "添加系统用户", + "RemoteApp": "远程应用", + "RemoteAppCount": "远程应用数量", + "RemoteAppPermissionDetail": "远程应用授权详情", + "Add RemoteApp to this permission": "添加远程应用", + "DatabaseApp": "数据库应用", + "DatabaseAppPermissionDetail": "数据库应用授权详情", + "Add DatabaseApp to this permission": "添加数据库应用", + "grantedAssets": "授权的资产", + "assetPermissionRules": "资产授权规则", + "grantedRemoteApps": "授权的远程应用", + "remoteAppsPermissionRules": "远程应用授权规则", + "grantedDatabases": "授权的数据库", + "databasePermissionRules": "数据库授权规则", + "": "", + "createdBy": "" + }, + "sessions": { + "id": "ID", + "user": "用户", + "asset": "资产", + "systemUser": "系统用户", + "remoteAddr": "远端地址", + "protocol": "协议", + "loginFrom": "登录来源", + "command": "命令", + "dateStart": "开始日期", + "duration": "时长", + "terminate": "终断", + "dateEnd": "结束日期", + "commands": "命令记录", + "replay": "回放", + "download": "下载", + "riskLevel": "风险等级", + "session": "会话", + "date": "日期", + "addr": "地址", + "active": "激活中", + "alive": "在线", + "StorageConfiguration": "存储配置", + "join": "加入", + "goto": "转到", + "sessionDetail": "会话详情", + "quickModify": "快速修改", + "replaySession": "回放会话:", + "downloadReplay": "下载录像:", + "go": "执行", + "terminalDetail": "终端详情", + "name": "名称:", + "sshPort": "SSH端口:", + "httpPort": "HTTP端口:", + "comment": "备注:", + "dateCreated": "创建日期:", + "info": "信息", + "createCommand": "创建命令存储", + "createReplay": "创建录像存储", + "commandStorage": "命令存储", + "replayStorage": "录像存储", + "storage": "存储", + "test": "测试", + "createReplyStorage": "创建录像存储", + "endPoint": "端点", + "bucket": "桶名称", + "type": "类型", + "containerName": "容器名称", + "accountName": "账户名称", + "accountKey": "账户密钥", + "endpointSuffix": "端点后缀", + "docType": "文档类型", + "index": "索引", + "hosts": "主机", + "region": "", + "loginForm": "", + "terminalUpdate": "" + }, + "settings": { + "setting": "系统设置", + "Basic": "基本设置", + "Email": "邮件设置", + "EmailContent": "邮件内容设置", + "Ldap": "LDAP设置", + "Terminal": "终端设置", + "Security": "安全设置", + "createUserSetting": "创建用户设置", + "basicSetting": "基本设置", + "SecuritySetting": "安全设置", + "PasswordCheckRule": "密码校验规则", + "siteUrl": "当前站点URL", + "userGuideUrl": "用户向导URL", + "emailSubjectPrefix": "Email主题前缀", + "emailHost": "SMTP主机", + "emailPort": "SMTP端口", + "emailHostUser": "SMTP账号", + "emailHostPassword": "SMTP密码", + "emailEmailFrom": "发送账号", + "emailRecipient": "测试收件人", + "emailUserSSL": "使用SSL", + "emailUserTLS": "使用TLS", + "emailCustomUserCreatedSubject": "创建用户邮件的主题", + "emailCustomUserCreatedHonorific": "创建用户邮件的敬语", + "emailCustomUserCreatedBody": "创建用户邮件的内容", + "emailCustomUserCreatedSignature": "署名", + "authLdapServerUri": "LDAP地址", + "authLdapBindDn": "绑定DN", + "authLdapBindPassword": "密码", + "authLdapSearchOu": "用户OU", + "authLdapSearchFilter": "用户过滤器", + "authLdapUserAttrMap": "LDAP属性映射", + "authLdap": "启用LDAP认证", + "terminalPasswordAuth": "密码认证", + "terminalPublicKeyAuth": "密钥认证", + "terminalHeartbeatInterval": "心跳间隔", + "terminalAssetListSortBy": "资产列表排序", + "terminalAssetListPageSize": "资产分页每页数量", + "terminalSessionKeepDuration": "会话保留时长", + "terminalTelnetRegex": "Telnet 成功正则表达式", + "securityMfaAuth": "多因子认证", + "securityCommandExecution": "批量命令", + "securityServiceAccountRegistration": "终端注册", + "securityLoginLimitCount": "限制登录失败次数", + "securityLoginLimitTime": "禁止登录时间间隔", + "securityMaxIdleTime": "连接最大空闲时间", + "securityPasswordExpirationTime": "密码过期时间", + "securityPasswordMinLength": "密码最小长度", + "securityPasswordUpperCase": "必须包含大写字母", + "securityPasswordLowerCase": "必须包含小写字母", + "securityPasswordNumber": "必须包含数字字符", + "securityPasswordSpecialChar": "必须包含特殊字符", + "Hostname": "主机名", + "emailTest": "测试连接", + "ldapConnectTest": "测试连接", + "ldapLoginTest": "测试登录", + "ldapBulkImport": "一键导入", + "password": "密码", + "username": "用户名", + "usernamePlaceholder": "请输入用户名", + "passwordPlaceholder": "请输入密码", + "refreshLdapUser": "刷新缓存", + "testLdapLoginTitle": "测试LDAP 用户登录", + "testLdapLoginSubtitle": "请先提交LDAP配置再进行测试登录", + "importLdapUserTitle": "LDAP 用户列表", + "importLdapUserTip": "请先提交LDAP配置再进行导入", + "helpText": { + "siteUrl": "eg: http://jumpserver.abc.com:8080", + "userGuideUrl": "用户第一次登录,修改profile后重定向到地址", + "emailSubjectPrefix": "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer", + "emailHostPassword": "提示:一些邮件提供商需要输入的是Token", + "emailEmailFrom": "提示:发送邮件账号,默认使用SMTP账号作为发送账号", + "emailRecipient": "提示:仅用来作为测试邮件收件人", + "emailCustomUserCreatedSubject": "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)", + "emailCustomUserCreatedHonorific": "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)", + "emailCustomUserCreatedBody": "提示: 创建用户时,发送设置密码邮件的内容", + "emailCustomUserCreatedSignature": "提示: 邮件的署名 (例如: jumpserver)", + "authLdapSearchOu": "使用|分隔各OU", + "authLdapSearchFilter": "可能的选项是(cn或uid或sAMAccountName=%(user)s)", + "authLdapUserAttrMap": "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name,email 是jumpserver的属性", + "terminalHeartbeatInterval": "单位: 秒", + "terminalSessionKeepDuration": "单位:天。 会话、录像、命令记录超过该时长将会被删除(仅影响数据库存储, oss等不受影响)", + "terminalTelnetRegex": "登录telnet服务器成功后的提示正则表达式,如: Last\\s*login|success|成功", + "securityLoginLimitTime": "提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录", + "securityMaxIdleTime": "提示:如果超过该配置没有操作,连接会被断开 (单位:分)", + "securityPasswordExpirationTime": "提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户" + }, + "helpTip": { + "emailUserSSL": "如果SMTP端口是465,通常需要启用SSL", + "emailUserTLS": "如果SMTP端口是587,通常需要启用TLS", + "securityMfaAuth": "开启后,所有用户登录必须使用多因子认证(对所有用户有效,包括管理员)", + "securityCommandExecution": "允许用户批量执行命令", + "securityServiceAccountRegistration": "允许使用bootstrap token注册终端, 当终端注册成功后可以禁止", + "securityPasswordUpperCase": "开启后,用户密码修改、重置必须包含大写字母", + "securityPasswordLowerCase": "开启后,用户密码修改、重置必须包含小写字母", + "securityPasswordNumber": "开启后,用户密码修改、重置必须包含数字字符", + "securityPasswordSpecialChar": "开启后,用户密码修改、重置必须包含特殊字符" + } + }, + "tickets": { + "title": "标题", + "user": "用户", + "type": "类型", + "status": "状态", + "date": "日期", + "MyTickets": "我的工单", + "AssignedMe": "待处理", + "Assignees": "待处理人", + "Assignee": "处理人" + }, + "users": { + "Account": "账户", + "Authentication": "认证", + "Secure": "安全", + "dateLastLogin": "最后登录日期", + "MFA": "MFA", + "Source": "来源", + "datePasswordUpdated": "改密日期", + "Name": "姓名", + "Username": "用户名", + "Email": "Email", + "Role": "角色", + "dateExpired": "过期时间", + "dateJoined": "创建日期", + "Users": "用户", + "Remove": "移除", + "UserGroups": "用户组", + "RemoveApps": "远程应用", + "SystemUsers": "系统用户", + "quickUpdate": { + "resetMFA": "重置MFA", + "resetPassword": "重置密码", + "restSSHKey": "重置密钥", + "unblockLogin": "解除登录限制", + "messages": { + "resetPasswordWarning": "" + }, + "resetMFAWarningMsg": "", + "resetMFAdSuccessMsg": "", + "send": "", + "resetSSHKey": "", + "unblockUser": "", + "unblock": "" + }, + "tabs": { + "grantedAssets": "授权的资产", + "assetPermissionRules": "资产授权规则", + "grantedRemoteApps": "授权的远程应用", + "remoteAppPermissionRules": "远程应用授权规则", + "grantedDatabases": "授权的数据库", + "databasePermissionRules": "数据库授权规则" + }, + "resetPasswordWarningMsg": "", + "resetPasswordSuccessMsg": "", + "resetSSHKeyWarningMsg": "", + "unblockSuccessMsg": "", + "removeWarningMsg": "", + "removeSuccessMsg": "", + "removeErrorMsg": "" + }, + "资产列表": "", + "tree": { + "AddNode": "", + "RenameNode": "", + "DeleteNode": "" + }, + "action": { + "update": "", + "ExportRange": "", + "ExportAll": "", + "ExportOnlySelectedItems": "", + "downloadTheImportedTemplateOrUseTheExportedCSVFormat": "", + "DownloadImportTemplate": "", + "downloadTheUpdatedTemplateOrUsTheExportedCSVFormat": "", + "DownloadUpdateTemplate": "", + "upload": "", + "onlyCSVFilesCanBeUploaded": "" + }, + "deleteWarningMsg": "", + "Delete success": "", + "Delete failed": "", + "添加筛选条件": "", + "名称": "", + "用户名": "", + "密码或密钥密码": "", + "Test": "", + "Action": "", + "delete": "", + "Update success": "", + "Update failed": "", + "basic": "", + "协议组": "", + "认证": "", + "节点": "", + "标签": "", + "others": "", + "系统用户可以绑定一些命令过滤器,一个过滤器可以定义一些规则 当用户使用这个系统用户登录资产,然后执行一个命令 这个命令需要被绑定过滤器的所有规则匹配,高优先级先被匹配, 当一个规则匹配到了,如果规则的动作是允许,这个命令会被放行, 如果规则的动作是禁止,命令将会被禁止执行, 否则就匹配下一个规则,如果最后没有匹配到规则,则允许执行\\n": "", + "other": "", + "网域功能是为了解决部分环境(如:混合云)无法直接连接而新增的功能,原理是通过网关服务器进行跳转登录。JMS => 网域网关 => 目标资产": "", + "Push": "", + "Add": "", + "setting": { + "siteUrl": "", + "helpText": { + "siteUrl": "", + "userGuideUrl": "", + "emailSubjectPrefix": "", + "emailHostPassword": "", + "emailEmailFrom": "", + "emailRecipient": "", + "emailCustomUserCreatedSubject": "", + "emailCustomUserCreatedHonorific": "", + "emailCustomUserCreatedBody": "", + "emailCustomUserCreatedSignature": "", + "authLdapSearchOu": "", + "authLdapSearchFilter": "", + "authLdapUserAttrMap": "", + "securityLoginLimitTime": "", + "securityMaxIdleTime": "", + "securityPasswordExpirationTime": "", + "terminalHeartbeatInterval": "", + "terminalSessionKeepDuration": "", + "terminalTelnetRegex": "" + }, + "userGuideUrl": "", + "emailSubjectPrefix": "", + "emailHost": "", + "emailPort": "", + "emailHostUser": "", + "emailHostPassword": "", + "emailEmailFrom": "", + "emailRecipient": "", + "emailUserSSL": "", + "helpTip": { + "emailUserSSL": "", + "emailUserTLS": "", + "securityMfaAuth": "", + "securityCommandExecution": "", + "securityServiceAccountRegistration": "", + "securityPasswordUpperCase": "", + "securityPasswordLowerCase": "", + "securityPasswordNumber": "", + "securityPasswordSpecialChar": "" + }, + "emailUserTLS": "", + "emailTest": "", + "createUserSetting": "", + "emailCustomUserCreatedSubject": "", + "emailCustomUserCreatedHonorific": "", + "emailCustomUserCreatedBody": "", + "emailCustomUserCreatedSignature": "", + "Basic": "", + "Email": "", + "EmailContent": "", + "Ldap": "", + "Terminal": "", + "Security": "", + "testLdapLoginTitle": "", + "testLdapLoginSubtitle": "", + "username": "", + "usernamePlaceholder": "", + "password": "", + "passwordPlaceholder": "", + "importLdapUserTitle": "", + "importLdapUserTip": "", + "authLdapServerUri": "", + "authLdapBindDn": "", + "authLdapBindPassword": "", + "authLdapSearchOu": "", + "authLdapSearchFilter": "", + "authLdapUserAttrMap": "", + "authLdap": "", + "ldapConnectTest": "", + "ldapLoginTest": "", + "ldapBulkImport": "", + "refreshLdapUser": "", + "SecuritySetting": "", + "PasswordCheckRule": "", + "securityMfaAuth": "", + "securityCommandExecution": "", + "securityServiceAccountRegistration": "", + "securityLoginLimitCount": "", + "securityLoginLimitTime": "", + "securityMaxIdleTime": "", + "securityPasswordExpirationTime": "", + "securityPasswordMinLength": "", + "securityPasswordUpperCase": "", + "securityPasswordLowerCase": "", + "securityPasswordNumber": "", + "securityPasswordSpecialChar": "", + "basicSetting": "", + "terminalPasswordAuth": "", + "terminalPublicKeyAuth": "", + "terminalHeartbeatInterval": "", + "terminalAssetListSortBy": "", + "Hostname": "", + "terminalAssetListPageSize": "", + "terminalSessionKeepDuration": "", + "terminalTelnetRegex": "" + } +} \ No newline at end of file diff --git a/src/i18n/langs/cn/applications.json b/src/i18n/langs/cn/applications.json deleted file mode 100644 index 55e3fa559..000000000 --- a/src/i18n/langs/cn/applications.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "applications": "应用管理", - "remote_app_list": "远程应用列表", - "create_remote_app": "创建远程应用", - "remote_app_detail": "远程应用详情", - "update_remote_app": "更新远程应用", - "name": "名称", - "appType": "应用类型", - "appPath": "应用路径", - "asset": "资产", - "action": "操作", - "update": "更新", - "delete": "删除", - "comment": "备注", - "database_app_list": "数据库应用列表", - "database_app_detail": "数据库应用详情", - "create_database_app": "创建数据库应用", - "update_database_app": "更新数据库应用", - "type": "类型", - "host": "主机", - "port": "端口", - "database": "数据库", - "search": "搜索", - "date_created": "创建日期", - "created_by": "创建者", - "app_path": "应用路径", - "chrome": "Chrome", - "mysql_workbench": "MySQL Workbench", - "vmware_client": "vSphere Client", - "custom": "自定义", - "chrome_target": "目标URL", - "chrome_username": "登录账号", - "chrome_password": "登录密码", - "mysql_workbench_ip": "数据库IP", - "mysql_workbench_name": "数据库名", - "mysql_workbench_username": "数据库账号", - "mysql_workbench_password": "数据库密码", - "vmware_target": "目标地址", - "vmware_username": "登录账号", - "vmware_password": "登录密码", - "custom_cmdline": "运行参数", - "custom_target": "目标地址", - "custom_username": "登录账号", - "custom_password": "登录密码" -} diff --git a/src/i18n/langs/cn/assets.json b/src/i18n/langs/cn/assets.json deleted file mode 100644 index 4f12e08b3..000000000 --- a/src/i18n/langs/cn/assets.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "Assets": "资产", - "Nodes": "节点", - "SystemUsers": "系统用户", - "RemoteApps": "远程应用", - "Hostname": "主机名", - "Ip": "IP", - "Hardware": "硬件", - "Reachable": "可连接", - "Action": "动作", - "Update": "更新", - "Delete": "删除", - "Search": "搜索", - "Deleteselected": "批量删除", - "Updateselected": "批量更新", - "Removefromthisnode": "从节点移除", - "Deactiveselected": "禁用所选", - "Activeselected": "激活所选", - "Submit": "提交", - "Platform": "系统平台", - "Publicip": "公网IP", - "Domain": "网域", - "Adminuser": "管理用户", - "Node": "节点", - "Label": "标签", - "Comment": "备注", - "Basic": "基本", - "Protocols": "协议组", - "Auth": "认证", - "Labels": "标签管理", - "Other": "其它", - "Vendor": "制造商", - "Model": "型号", - "Cpu": "CPU", - "Memory": "内存", - "Disk": "硬盘", - "Os": "操作系统", - "Isactive": "激活", - "Serialnumber": "序列号", - "Assetnumber": "资产编号", - "Datejoined": "创建日期", - "Quickmodify": "快速修改", - "Active": "激活中", - "Refreshhardware": "更新硬件信息", - "Testconnective": "测试可连接性", - "Refresh": "刷新", - "Test": "测试", - "Confirm": "确认", - "Assetuserlist": "资产用户列表", - "Domainlist": "网域列表", - "Domaindetail": "网域详情", - "Createdomain": "创建网域", - "Updatedomain": "更新网域", - "Name": "名称", - "Asset": "资产", - "Gateway": "网关", - "Datecreated": "创建日期", - "Port": "端口", - "Version": "版本", - "Testconnection": "测试连接", - "Adminuserlist": "管理用户列表", - "Adminuserdetail": "管理用户详情", - "Adminusercreate": "创建管理用户", - "Adminuserupdate": "更新管理用户", - "Username": "用户名", - "Loginmodedisplay": "登录模式", - "Replacenodeassetsadminuserwiththis": "替换资产节点的管理员", - "Selectnodes": "选择节点", - "Protocol": "协议", - "Loginmode": "登录模式", - "Quickupdate": "快速更新", - "Autopush": "自动推送", - "Labellist": "标签列表", - "Labeldetail": "标签详情", - "Createlabel": "创建标签", - "Updatelabel": "更新标签", - "Value": "值", - "Commandfilterlist": "命令过滤器列表", - "Createcommandfilter": "创建命令过滤器", - "Updatecommandfilter": "更新命令过滤器", - "Commandfilterdetail": "命令过滤器详情", - "Commandfilterrules": "命令过滤器规则", - "Rules": "规则", - "Systemuser": "系统用户", - "Dateupdated": "更新日期", - "Detail": "详情", - "Type": "类型", - "Content": "内容", - "Priority": "优先级", - "Ruleaction": "策略", - "Bindingtosystemuser": "绑定到系统用户", - "Createdby": "创建者", - "Platformlist": "平台列表", - "Createplatform": "创建系统平台", - "Updateplatform": "更新系统平台", - "Platformdetail": "平台详情", - "Baseplatform": "基础平台", - "Charset": "编码", - "Meta": "元数据", - "Testassetsconnective": "测试资产可连接性", - "Pushsystemusernow": "立刻推送系统" -} diff --git a/src/i18n/langs/cn/audits.json b/src/i18n/langs/cn/audits.json deleted file mode 100644 index 62fc42862..000000000 --- a/src/i18n/langs/cn/audits.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "username": "用户名", - "type": "类型", - "ip": "IP", - "city": "城市", - "user_agent": "Agent", - "mfa": "多因子认证", - "reason": "原因", - "status": "状态", - "datetime": "日期" -} diff --git a/src/i18n/langs/cn/auth.json b/src/i18n/langs/cn/auth.json deleted file mode 100644 index c5919d516..000000000 --- a/src/i18n/langs/cn/auth.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "authExpireMsg": "账号已退出,请重新登录", - "Re-Login": "重新登录" -} diff --git a/src/i18n/langs/cn/common.json b/src/i18n/langs/cn/common.json deleted file mode 100644 index 34e0c0d68..000000000 --- a/src/i18n/langs/cn/common.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "name": "名称", - "action": "动作", - "Active": "激活中", - "role": "角色", - "username": "用户名", - "nav": { - "Language": "语言", - "Docs": "文档", - "Help": "帮助", - "Profile": "个人信息", - "UserPage": "用户页面", - "APIKey": "API Key", - "Logout": "退出", - "Support": "支持" - }, - "Reset": "重置", - "Submit": "提交", - "more": "更多", - "update": "更新", - "delete": "删除", - "detail": "详情", - "BaseInfo": "基本信息", - "BasicInfo": "基本信息", - "createdBy": "创建人", - "dateCreated": "创建日期", - "Comment": "备注", - "Create": "创建", - "MoreActions": "更多操作", - "deleteSelected": "删除所选", - "updateSelected": "更新所选", - "deleteSuccessMsg": "删除成功", - "Validity": "有效", - "Update": "更新", - "Delete": "删除", - "Remove": "移除", - "Actions": "操作", - "deleteFailedMsg": "删除失败", - "search": "搜索", - "Source": "来源", - "Status": "状态", - "Monitor": "监控", - "run": "执行", - "deleteConfirmMsg": "你确定要删除", - "Info": "提示", - "submit": "提交", - "reset": "重置", - "requiredErrorMsg": "这个字段是必填项", - "validity": "有效性", - "Confirm": "确认", - "Cancel": "取消", - "Import": "导入", - "Export": "导出", - "Other": "其它", - "createSuccessMsg": "创建成功", - "updateSuccessMsg": "更新成功", - "updateFailedMsg": "更新失败", - "disableSelected": "禁用所选", - "activateSelected": "激活所选", - "deleteWarningMsg": "你确定要删除", - "rows": "行", - "basicInfo": "基本信息", - "commandFilter": "命令过滤器", - "Add": "添加", - "Auth": "认证", - "Others": "其他", - "Members": "成员", - "Email": "邮件", - "dateExpired": "失效日期", - "quickUpdate": "快速更新", - "Send": "发送", - "Unblock": "解锁", - - "show": "显示", - "actions": { - "exportRange": "导出范围", - "exportAll": "导出全部", - "exportOnlySelectedItems": "仅导出选中项", - "downloadTheImportedTemplateOrUseTheExportedCSVFormat": "下载导入的模板或使用导出的csv格式", - "downloadImportTemplate": "下载导入模板", - "downloadTheUpdatedTemplateOrUsTheExportedCSVFormat": "下载更新的模板或使用导出的csv格式", - "downloadUpdateTemplate": "下载更新模板", - "upload": "点击上传", - "onlyCSVFilesCanBeUploaded": "只能上传CSV文件" - }, - "tree": { - "AddNode": "添加节点", - "RenameNode": "重命名节点", - "DeleteNode": "删除节点", - "Empty": "空" - }, - "message": { - "deleteWarning": "Are you sure to delete " - } -} diff --git a/src/i18n/langs/cn/jobcenter.json b/src/i18n/langs/cn/jobcenter.json deleted file mode 100644 index bd4c98cbb..000000000 --- a/src/i18n/langs/cn/jobcenter.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "RunTimes": "执行次数", - "Hosts": "主机", - "Success": "成功", - "Date": "日期", - "Time": "时间", - "run": "执行", - "ID": "ID", - "TaskDetail": "任务详情", - "TaskVersions": "任务各版本", - "Execution": "执行历史", - "LaskExecutionOutput": "最后执行输出", - "DateCreated": "创建日期", - "TotalVersions": "版本数量", - "LatestVersion": "最新版本", - "LastRun": "最后运行", - "TimeDelta": "运行时间", - "IsFinished": "是否完成", - "IsSuccess": "成功", - "Contents": "内容", - "Last run failed hosts": "最后运行失败的主机", - "Last run success hosts": "最后运行成功的主机", - "Version": "版本", - "Pattern": "模式", - "RunAs": "运行用户", - "Become": "Become", - "Datetime": "日期", - "Stat": "成功/失败/总", - "Ratio": "比例", - "Yes": "是", - "No": "否", - "versionDetail": "版本详情", - "VersionRunExecution": "执行历史", - "SuccessHosts": "成功资产", - "FailedHosts": "失败资产", - "ExecutionDetail": "执行历史详情", - "Output": "输出", - "CreatedBy": "创建者", - "Tasks": "任务", - "Options": "选项", - "TaskName": "任务名称", - "DateStart": "开始日期" -} diff --git a/src/i18n/langs/cn/perms.json b/src/i18n/langs/cn/perms.json deleted file mode 100644 index 1b907d43c..000000000 --- a/src/i18n/langs/cn/perms.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "Asset permissions": "资产授权", - "RefreshPermissionCache": "刷新授权缓存", - "ReFreshSuccess": "刷新成功", - "ReFreshFail": "刷新失败", - "IsValid": "有效", - "IP": "IP", - "Hostname": "主机名", - "All": "全部", - "Connect": "连接", - "UpDownload": "上传下载", - "UploadFile": "上传文件", - "DownloadFile": "下载文件", - "Basic": "基本", - "User": "用户", - "Asset": "资产", - "Actions": "动作", - "UserGroups": "用户组", - "Node": "节点", - "SystemUser": "系统用户", - "UserCount": "用户数量", - "UserGroupCount": "用户组数量", - "AssetCount": "资产数量", - "NodeCount": "节点数量", - "SystemUserCount": "系统用户数量", - "DateStart": "开始日期", - "DateExpired": "失效日期", - "DateCreated": "创建日期", - "CreatedBy": "创建者", - "Comment": "备注", - "QuickModify": "快速修改", - "AssetPermissionDetail": "资产授权详情", - "UsersAndUserGroups": "用户或用户组", - "AssetAndNode": "资产或节点", - "Active": "激活中", - "Add user to this permission": "添加用户", - "Add user group to this permission": "添加用户组", - "Add asset to this permission": "添加资产", - "Add node to this permission": "添加节点", - "Add System User to this permission": "添加系统用户", - "RemoteApp": "远程应用", - "RemoteAppCount": "远程应用数量", - "RemoteAppPermissionDetail": "远程应用授权详情", - "Add RemoteApp to this permission": "添加远程应用", - "DatabaseApp": "数据库应用", - "DatabaseAppPermissionDetail": "数据库应用授权详情", - "Add DatabaseApp to this permission": "添加数据库应用", - "grantedAssets": "授权的资产", - "assetPermissionRules": "资产授权规则", - "grantedRemoteApps": "授权的远程应用", - "remoteAppsPermissionRules": "远程应用授权规则", - "grantedDatabases": "授权的数据库", - "databasePermissionRules": "数据库授权规则" -} diff --git a/src/i18n/langs/cn/route.json b/src/i18n/langs/cn/route.json deleted file mode 100644 index 44b8c1da8..000000000 --- a/src/i18n/langs/cn/route.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "Dashboard": "仪表盘", - "Users": "用户管理", - "UserList": "用户列表", - "UserDetail": "用户详情", - "UserGroupList": "用户组", - "UserGroupDetail": "用户组详情", - "Assets": "资产管理", - "AssetList": "资产列表", - "DomainList": "网关列表", - "AdminUserList": "管理用户", - "SystemUserList": "系统用户", - "LabelList": "标签管理", - "CommandFilterList": "命令过滤", - "PlatformList": "平台列表", - "Applications": "应用管理", - "RemoteApp": "远程应用", - "DatabaseApp": "数据库应用", - "Perms": "权限管理", - "AssetPermission": "资产授权", - "AssetPermissionDetail": "资产授权详情", - "AssetPermissionCreate": "创建资产授权规则", - "AssetPermissionUpdate": "更新资产授权规则", - "RemoteAppPermission": "远程应用授权", - "RemoteAppPermissionDetail": "远程应用授权详情", - "RemoteAppPermissionCreate": "创建远程应用授权规则", - "RemoteAppPermissionUpdate": "更新远程应用授权规则", - "DatabaseAppPermission": "数据库应用授权", - "DatabaseAppPermissionDetail": "数据库应用授权详情", - "DatabaseAppPermissionCreate": "创建数据库应用授权规则", - "DatabaseAppPermissionUpdate": "更新数据库应用授权规则", - "Sessions": "会话管理", - "SessionOnline": "在线会话", - "SessionOffline": "历史会话", - "SessionDetail": "会话详情", - "Commands": "命令记录", - "WebTerminal": "Web终端", - "FileManager": "文件管理", - "Terminal": "终端管理", - "JobCenter": "作业中心", - "TaskList": "任务列表", - "TaskDetail": "任务详情", - "BatchCommand": "批量命令", - "TaskMonitor": "任务监控", - "Tickets": "工单管理", - "Audits": "日志审计", - "LoginLog": "登录日志", - "FtpLog": "FTP日志", - "OperateLog": "操作日志", - "PasswordChangeLog": "改密日志", - "Settings": "系统设置", - "UserCreate": "创建用户", - "UserGroupCreate": "创建用户组", - "UserUpdate": "更新用户", - "AdminUserCreate": "创建管理用户", - "PlatformCreate": "创建系统平台", - "PlatformUpdate": "更新系统平台", - "CommandFilterCreate": "创建命令过滤器", - "CommandFilterUpdate": "更新命令过滤器", - "CreateReplayStorage": "创建录像存储", - "ReplayStorageUpdate": "更新录像存储", - "CreateCommandStorage": "创建命令存储", - "CommandStorageUpdate": "更新命令存储", - "CommandFilterRulesCreate": " 创建命令过滤器规则", - "LabelCreate": "创建标签", - "LabelUpdate": "更新标签", - "SystemUserDetail": "系统用户详情", - "SystemUserCreate": "创建系统用户", - "SystemUserUpdate": "更新系统用户" -} diff --git a/src/i18n/langs/cn/sessions.json b/src/i18n/langs/cn/sessions.json deleted file mode 100644 index 63c5bfecf..000000000 --- a/src/i18n/langs/cn/sessions.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "id": "ID", - "user": "用户", - "asset": "资产", - "systemUser": "系统用户", - "remoteAddr": "远端地址", - "protocol": "协议", - "loginFrom": "登录来源", - "command": "命令", - "dateStart": "开始日期", - "duration": "时长", - "terminate": "终断", - "dateEnd": "结束日期", - "commands": "命令记录", - "replay": "回放", - "download": "下载", - "riskLevel": "风险等级", - "session": "会话", - "date": "日期", - "addr": "地址", - "active": "激活中", - "alive": "在线", - "StorageConfiguration": "存储配置", - "join": "加入", - "goto": "转到", - "sessionDetail": "会话详情", - "quickModify": "快速修改", - "replaySession": "回放会话:", - "downloadReplay": "下载录像:", - "go": "执行", - "terminalDetail": "终端详情", - "name": "名称:", - "sshPort": "SSH端口:", - "httpPort": "HTTP端口:", - "comment": "备注:", - "dateCreated": "创建日期:", - "info": "信息", - "createCommand": "创建命令存储", - "createReplay": "创建录像存储", - "commandStorage": "命令存储", - "replayStorage": "录像存储", - "storage": "存储", - "test": "测试", - "createReplyStorage": "创建录像存储", - "endPoint": "端点", - "bucket": "桶名称", - "type": "类型", - "containerName": "容器名称", - "accountName": "账户名称", - "accountKey": "账户密钥", - "endpointSuffix": "端点后缀", - "docType": "文档类型", - "index": "索引", - "hosts": "主机" -} diff --git a/src/i18n/langs/cn/setting.json b/src/i18n/langs/cn/setting.json deleted file mode 100644 index 070325530..000000000 --- a/src/i18n/langs/cn/setting.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "setting": "系统设置", - "Basic": "基本设置", - "Email": "邮件设置", - "EmailContent": "邮件内容设置", - "Ldap": "LDAP设置", - "Terminal": "终端设置", - "Security": "安全设置", - "createUserSetting": "创建用户设置", - "basicSetting": "基本设置", - "SecuritySetting": "安全设置", - "PasswordCheckRule": "密码校验规则", - "siteUrl": "当前站点URL", - "userGuideUrl": "用户向导URL", - "emailSubjectPrefix": "Email主题前缀", - "emailHost": "SMTP主机", - "emailPort": "SMTP端口", - "emailHostUser": "SMTP账号", - "emailHostPassword": "SMTP密码", - "emailEmailFrom": "发送账号", - "emailRecipient": "测试收件人", - "emailUserSSL": "使用SSL", - "emailUserTLS": "使用TLS", - "emailCustomUserCreatedSubject": "创建用户邮件的主题", - "emailCustomUserCreatedHonorific": "创建用户邮件的敬语", - "emailCustomUserCreatedBody": "创建用户邮件的内容", - "emailCustomUserCreatedSignature": "署名", - "authLdapServerUri": "LDAP地址", - "authLdapBindDn": "绑定DN", - "authLdapBindPassword": "密码", - "authLdapSearchOu": "用户OU", - "authLdapSearchFilter": "用户过滤器", - "authLdapUserAttrMap": "LDAP属性映射", - "authLdap": "启用LDAP认证", - "terminalPasswordAuth": "密码认证", - "terminalPublicKeyAuth": "密钥认证", - "terminalHeartbeatInterval": "心跳间隔", - "terminalAssetListSortBy": "资产列表排序", - "terminalAssetListPageSize": "资产分页每页数量", - "terminalSessionKeepDuration": "会话保留时长", - "terminalTelnetRegex": "Telnet 成功正则表达式", - "securityMfaAuth": "多因子认证", - "securityCommandExecution": "批量命令", - "securityServiceAccountRegistration": "终端注册", - "securityLoginLimitCount": "限制登录失败次数", - "securityLoginLimitTime": "禁止登录时间间隔", - "securityMaxIdleTime": "连接最大空闲时间", - "securityPasswordExpirationTime": "密码过期时间", - "securityPasswordMinLength": "密码最小长度", - "securityPasswordUpperCase": "必须包含大写字母", - "securityPasswordLowerCase": "必须包含小写字母", - "securityPasswordNumber": "必须包含数字字符", - "securityPasswordSpecialChar": "必须包含特殊字符", - "Hostname": "主机名", - "emailTest": "测试连接", - "ldapConnectTest": "测试连接", - "ldapLoginTest": "测试登录", - "ldapBulkImport": "一键导入", - "password": "密码", - "username": "用户名", - "usernamePlaceholder": "请输入用户名", - "passwordPlaceholder": "请输入密码", - "refreshLdapUser": "刷新缓存", - "testLdapLoginTitle": "测试LDAP 用户登录", - "testLdapLoginSubtitle": "请先提交LDAP配置再进行测试登录", - "importLdapUserTitle": "LDAP 用户列表", - "importLdapUserTip": "请先提交LDAP配置再进行导入", - "helpText": { - "siteUrl": "eg: http://jumpserver.abc.com:8080", - "userGuideUrl": "用户第一次登录,修改profile后重定向到地址", - "emailSubjectPrefix": "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、JumpServer", - "emailHostPassword": "提示:一些邮件提供商需要输入的是Token", - "emailEmailFrom": "提示:发送邮件账号,默认使用SMTP账号作为发送账号", - "emailRecipient": "提示:仅用来作为测试邮件收件人", - "emailCustomUserCreatedSubject": "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)", - "emailCustomUserCreatedHonorific": "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)", - "emailCustomUserCreatedBody": "提示: 创建用户时,发送设置密码邮件的内容", - "emailCustomUserCreatedSignature": "提示: 邮件的署名 (例如: jumpserver)", - "authLdapSearchOu": "使用|分隔各OU", - "authLdapSearchFilter": "可能的选项是(cn或uid或sAMAccountName=%(user)s)", - "authLdapUserAttrMap": "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name,email 是jumpserver的属性", - "terminalHeartbeatInterval": "单位: 秒", - "terminalSessionKeepDuration": "单位:天。 会话、录像、命令记录超过该时长将会被删除(仅影响数据库存储, oss等不受影响)", - "terminalTelnetRegex": "登录telnet服务器成功后的提示正则表达式,如: Last\\s*login|success|成功", - "securityLoginLimitTime": "提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录", - "securityMaxIdleTime": "提示:如果超过该配置没有操作,连接会被断开 (单位:分)", - "securityPasswordExpirationTime": "提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户" - }, - "helpTip": { - "emailUserSSL": "如果SMTP端口是465,通常需要启用SSL", - "emailUserTLS": "如果SMTP端口是587,通常需要启用TLS", - "securityMfaAuth": "开启后,所有用户登录必须使用多因子认证(对所有用户有效,包括管理员)", - "securityCommandExecution": "允许用户批量执行命令", - "securityServiceAccountRegistration": "允许使用bootstrap token注册终端, 当终端注册成功后可以禁止", - "securityPasswordUpperCase": "开启后,用户密码修改、重置必须包含大写字母", - "securityPasswordLowerCase": "开启后,用户密码修改、重置必须包含小写字母", - "securityPasswordNumber": "开启后,用户密码修改、重置必须包含数字字符", - "securityPasswordSpecialChar": "开启后,用户密码修改、重置必须包含特殊字符" - } -} diff --git a/src/i18n/langs/cn/tickets.json b/src/i18n/langs/cn/tickets.json deleted file mode 100644 index 661feb46c..000000000 --- a/src/i18n/langs/cn/tickets.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "title": "标题", - "user": "用户", - "type": "类型", - "status": "状态", - "date": "日期", - "MyTickets": "我的工单", - "AssignedMe": "待处理", - "Assignees": "待处理人", - "Assignee": "处理人" -} diff --git a/src/i18n/langs/cn/users.json b/src/i18n/langs/cn/users.json deleted file mode 100644 index 46e987088..000000000 --- a/src/i18n/langs/cn/users.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "Account": "账户", - "Authentication": "认证", - "Secure": "安全", - "dateLastLogin": "最后登录日期", - "MFA": "MFA", - "Source": "来源", - "datePasswordUpdated": "改密日期", - "Name": "姓名", - "Username": "用户名", - "Email": "Email", - "Role": "角色", - "dateExpired": "过期时间", - "dateJoined": "创建日期", - "Users": "用户", - "Remove": "移除", - "UserGroups": "用户组", - "RemoveApps": "远程应用", - "SystemUsers": "系统用户", "quickUpdate": { - "resetMFA": "重置MFA", - "resetPassword": "重置密码", - "restSSHKey": "重置密钥", - "unblockLogin": "解除登录限制", - "messages": { - "resetPasswordWarning": "" - } - }, - "tabs": { - "grantedAssets": "授权的资产", - "assetPermissionRules": "资产授权规则", - "grantedRemoteApps": "授权的远程应用", - "remoteAppPermissionRules": "远程应用授权规则", - "grantedDatabases": "授权的数据库", - "databasePermissionRules": "数据库授权规则" - } -} diff --git a/src/i18n/langs/en.json b/src/i18n/langs/en.json new file mode 100644 index 000000000..668d5cc8e --- /dev/null +++ b/src/i18n/langs/en.json @@ -0,0 +1,521 @@ +{ + "route": { + "Dashboard": "Dashboard", + "Users": "Users", + "UserList": "Users", + "UserDetail": "User detail", + "UserGroupList": "User groups", + "UserGroupDetail": "User group detail", + "Assets": "Assets", + "AssetList": "Assets", + "DomainList": "Domains", + "AdminUserList": "Admin users", + "SystemUserList": "System users", + "LabelList": "Labels", + "CommandFilterList": "Command filters", + "PlatformList": "Platforms", + "Applications": "Applications", + "RemoteApps": "RemoteApps", + "Databases": "Databases", + "Perms": "Permissions", + "AssetPermission": "Asset permissions", + "AssetPermissionDetail": "Asset permissions detail", + "AssetPermissionCreate": "Asset permissions create", + "AssetPermissionUpdate": "Asset permissions update", + "RemoteAppPermission": "Remote apps permissions", + "RemoteAppPermissionDetail": "Remote apps permissions detail", + "RemoteAppPermissionCreate": "Remote apps permission create", + "RemoteAppPermissionUpdate": "Remote app permission update", + "DatabaseAppPermission": "Databases permissions", + "DatabaseAppPermissionDetail": "Databases permissions detail", + "DatabaseAppPermissionCreate": "Databases permissions create", + "DatabaseAppPermissionUpdate": "Databases permissions update", + "Sessions": "Sessions", + "SessionOnline": "Sessions online", + "SessionOffline": "Sessions offline", + "SessionDetail": "Sessions detail", + "Commands": "Commands", + "WebTerminal": "Web terminal", + "FileManager": "File manager", + "Terminal": "Terminal", + "JobCenter": "Job center", + "TaskList": "Tasks", + "TaskDetail": "Tasks detail", + "BatchCommand": "Batch command", + "TaskMonitor": "Tasks monitor", + "Tickets": "Tickets", + "Audits": "Audits", + "LoginLog": "Login logs", + "FtpLog": "FTP logs", + "OperateLog": "Operation logs", + "PasswordChangeLog": "Password update logs", + "Settings": "Settings", + "UserCreate": "User create", + "UserGroupCreate": "User group create", + "UserUpdate": "User update", + "AdminUserCreate": "Admin user create", + "PlatformCreate": "创建系统平台", + "PlatformUpdate": "更新系统平台", + "CommandFilterCreate": "创建命令过滤器", + "CommandFilterUpdate": "更新命令过滤器", + "CreateReplayStorage": "创建录像存储", + "ReplayStorageUpdate": "更新录像存储", + "CreateCommandStorage": "创建命令存储", + "CommandStorageUpdate": "更新命令存储", + "CommandFilterRulesCreate": " 创建命令过滤器规则", + "LabelCreate": "创建标签", + "LabelUpdate": "更新标签", + "SystemUserDetail": "系统用户详情", + "SystemUserCreate": "创建系统用户", + "SystemUserUpdate": "更新系统用户" + }, + + "common": { + "Other": "Other", + "fieldRequiredError": "This field is required", + "Comment": "Comment", + "CreatedBy": "Created by", + "Validity": "Validity", + "Info": "Info", + "Members": "Members", + "More": "More", + "Activate": "Activate", + "Actions": "Actions", + "Name": "Name", + "dateCreated": "Date created", + "createdBy": "Created by", + "deleteWarningMsg": "Are you sure to delete ", + "Update": "Update", + "Delete": "Delete", + "moreActions": "Actions", + "Submit": "Submit", + "Reset": "Reset", + "Confirm": "Confirm", + "Cancel": "Cancel", + "Create": "Create", + "Show": "Show", + "deleteSelected": "Delete selected", + "disableSelected": "Disable selected", + "activateSelected": "Activate selected", + "Add": "Add", + "BasicInfo": "Basic info", + "quickUpdate": "Quick update", + "MoreActions": "Actions", + "nav": { + "Help": "Help", + "Docs": "Docs", + "Language": "Language", + "Support": "Support", + "Profile": "Profile", + "APIKey": "API Key", + "Logout": "Logout", + "UserPage": "User page" + }, + "tree": { + "addNode": "Add", + "renameNode": "Rename", + "deleteNode": "Delete", + "Empty": "Empty", + "Loading": "Loading" + } + }, + "applications": { + "applications": "Applications", + "remote_app_list": "RemoteApp list", + "create_remote_app": "Create RemoteApp", + "remote_app_detail": "RemoteApp detail", + "update_remote_app": "Update RemoteApp", + "name": "Name", + "app_type": "App type", + "action": "Action", + "update": "Update", + "delete": "Detele", + "comment": "Comment", + "database_app_list": "DatabaseApp list", + "database_app_detail": "DatabaseApp detail", + "create_database_app": "Create DatabaseApp", + "update_database_app": "Update DatabaseApp", + "type": "Type", + "host": "Host", + "port": "Port", + "database": "Database", + "search": "Search", + "date_created": "Date created", + "created_by": "Created by", + "app_path": "App path", + "chrome": "Chrome", + "mysql_workbench": "MySQL Workbench", + "vmware_client": "vSphere Client", + "custom": "Custom", + "chrome_target": "Target URL", + "chrome_username": "Account", + "chrome_password": "Password", + "mysql_workbench_ip": "Database IP", + "mysql_workbench_name": "Database name", + "mysql_workbench_username": "Database account", + "mysql_workbench_password": "Database password", + "vmware_target": "Target", + "vmware_username": "Account", + "vmware_password": "Password", + "custom_cmdline": "cmd arguments", + "custom_target": "Target", + "custom_username": "Account", + "custom_password": "Password" + }, + "assets": { + "SystemUsers": "System users", + "RemoteApps": "Remote apps", + "Assets": "Assets", + "Nodes": "Nodes", + "asset_list": "Asset list", + "asset_detail": "Asset detail", + "create_asset": "Create asset", + "update_asset": "Update asset", + "hostname": "Hostname", + "ip": "IP", + "hardware": "Hardware", + "reachable": "Reachable", + "action": "Action", + "update": "Update", + "delete": "Delete", + "search": "Search", + "delete_selected": "Delete selected", + "update_selected": "updateSelected", + "remove_from_this_node": "Remove from this node", + "deactive_selected": "Deactive selected", + "active_selected": "Active selected", + "submit": "Submit", + "platform": "Platform", + "public_ip": "Public Ip", + "domain": "Domain", + "admin_user": "Admin user", + "node": "Node", + "label": "Label", + "comment": "Comment", + "basic": "Basic", + "protocols": "Protocols", + "auth": "Auth", + "labels": "Labels", + "other": "Other", + "vendor": "Vendor", + "model": "Model", + "cpu": "CPU", + "memory": "Memory", + "disk": "Disk", + "os": "OS", + "is_active": "Is active", + "serial_number": "Serial number", + "asset_number": "Asset number", + "created_by": "Created by", + "date_joined": "Date joined", + "quick_modify": "Quick modify", + "active": "Active", + "refresh_hardware": "Refresh hardware", + "test_connective": "Test connective", + "refresh": "Refresh", + "test": "Test", + "confirm": "Confirm", + "asset_user_list": "Asset user list", + "domain_list": "Domain list", + "domain_detail": "Domain detail", + "create_domain": "Create domain", + "update_domain": "Update domain", + "name": "Name", + "asset": "Asset", + "gateway": "Gateway", + "date_created": "Date created", + "admin_user_list": "Admin user list", + "admin_user_detail": "Admin user detail", + "create_admin_user": "Create admin user", + "update_admin_user": "Update admin user", + "username": "Username", + "replace_node_assets_admin_user_with_this": "Replace node assets admin user with this", + "select_nodes": "Select nodes", + "system_user_list": "System user list", + "create_system_user": "Create system user", + "update_system_user": "Update system user", + "system_user_detail": "System user detail", + "protocol": "Protocol", + "login_mode": "Login mode", + "quick_update": "Quick update", + "auto_push": "Auto push", + "label_list": "Label list", + "label_detail": "Label detail", + "create_label": "Create label", + "update_label": "Update label", + "value": "Value", + "command_filter_list": "Command filter list", + "create_command_filter": "Create command filter", + "update_command_filter": "Update command filter", + "command_filter_detail": "command filter detail", + "rules": "rules", + "system_user": "System user", + "date_updated": "Date updated", + "binding_to_system_user": "Binding to system user", + "platform_list": "Platform list", + "create_platform": "Create platform", + "update_platform": "Update platform", + "platform_detail": "Platform detail", + "base_platform": "Base platform", + "charset": "Charset", + "meta": "Meta" + }, + "audits": { + "username": "Username", + "type": "Type", + "ip": "IP", + "city": "City", + "user_agent": "UA", + "mfa": "MFA", + "reason": "Reason", + "status": "Status", + "datetime": "Date" + }, + "perms": { + "asset_permission": "Asset permission", + "asset_permission_list": "Asset permission list", + "asset_permission_detail": "Asset permission detail", + "create_asset_permission": "Create asset permission", + "update_asset_permission": "Update asset permission", + "name": "Name", + "user": "User", + "user_group": "User group", + "asset": "Asset", + "node": "Node", + "system_user": "System user", + "validity": "Validity", + "action": "Action", + "update": "Update", + "delete": "Detele", + "search": "Search", + "user_count": "User count", + "user_group_count": "User group count", + "asset_count": "Asset count", + "node_count": "Node count", + "system_user_count": "System user count", + "date_start": "Date start", + "dateexpired": "Date expired", + "date_created": "Date created", + "created_by": "Created by", + "comment": "Comment", + "quick_update": "Quick update", + "active": "Active", + "users_and_user_groups": "Users and user groups", + "assets_and_node": "Assets and node", + "remote_app": "RemoteApp", + "remote_app_permission_list": " RemoteApp permission list", + "remote_app_permission_detail": "RemoteApp permission detail", + "create_remote_app_permission": "Create RemoteApp permission", + "update_remote_app_permission": "Update RemoteApp permission", + "remote_app_count": "RemoteApp count", + "database_app": "DatabaseApp", + "database_app_permission_list": "DatabaseApp permission list", + "database_app_permission_detail": "DatabaseApp permission detail", + "create_database_app_permission": "Create DatabaseApp permission", + "update_database_app_permission": "Update DatabaseApp permission", + "database_app_count": "DatabaseApp count" + }, + "sessions": { + "id": "", + "user": "Use", + "asset": "Asset", + "systemUser": "System user", + "remoteAddr": "Remote addr", + "protocol": "Protocol", + "loginFrom": "Login from", + "command": "Command", + "dateStart": "Date start", + "duration": "Duration", + "terminate": "Terminate", + "dateEnd": "Date end", + "commands": "Commands", + "replay": "replay", + "download": "download", + "riskLevel": "Risk level", + "session": "session", + "action": "Action", + "search": "Search", + "terminate_selected": "Terminate selected", + "confirm_finished": "Confirm finished", + "submit": "Submit", + "command_list": "Command list", + "quick_modify": "Quick modify", + "terminate_session": "Terminate session", + "confirm": "Confirm", + "join": "join", + "goto": "Goto", + "sessionDetail": "Session Detail", + "quickModify": "Quick Modify", + "replaySession": "Replay session:", + "downloadReplay": "Download replay:", + "go": "Go", + "terminalDetail": "terminalDetail", + "name": "Name:", + "sshPort": "SSH port:", + "httpPort": "Http port:", + "comment": "Comment:", + "dateCreated": "Date created:", + "createCommand": "Create command storage", + "createReplay": "Create replay storage", + "commandStorage": "Command storage", + "replayStorage": "Replay Storage", + "storage": "Storage", + "test": "Test", + "createReplayStorage": "Create replay storage", + "endPoint": "Endpoint", + "bucket": "Bucket", + "type": "Type", + "containerName": "Container name", + "accountName": "Account name", + "accountKey": "Account key", + "endpointSuffix": "Endpoint suffix", + "docType": "Doc type", + "index": "Index", + "hosts": "Hosts" + }, + "settings": { + "setting": "System Setting", + "Basic": "Basic setting", + "Email": "Email setting", + "EmailContent": "Email content setting", + "Ldap": "LDAP setting", + "Terminal": "Terminal setting", + "Security": "Security setting", + "createUserSetting": "Create User setting", + "basicSetting": "Basic setting", + "SecuritySetting": "Security setting", + "PasswordCheckRule": "Password check rule", + "siteUrl": "Current SITE URL", + "userGuideUrl": "User Guide URL", + "emailSubjectPrefix": "Email Subject Prefix", + "emailHost": "SMTP host", + "emailPort": "SMTP port", + "emailHostUser": "SMTP user", + "emailHostPassword": "SMTP password", + "emailEmailFrom": "Send user", + "emailRecipient": "Test recipient", + "emailUserSSL": "Use SSL", + "emailUserTLS": "Use TLS", + "emailCustomUserCreatedSubject": "Create user email subject", + "emailCustomUserCreatedHonorific": "Create user honorific", + "emailCustomUserCreatedBody": "Create user email content", + "emailCustomUserCreatedSignature": "Signature", + "authLdapServerUri": "LDAP server", + "authLdapBindDn": "Bind DN", + "authLdapBindPassword": "Password", + "authLdapSearchOu": "User OU", + "authLdapSearchFilter": "User search filter", + "authLdapUserAttrMap": "User attr map", + "authLdap": "Enable LDAP auth", + "terminalPasswordAuth": "Password auth", + "terminalPublicKeyAuth": "Public key auth", + "terminalHeartbeatInterval": "Heartbeat interval", + "terminalAssetListSortBy": "List sort by", + "terminalAssetListPageSize": "List page size", + "terminalSessionKeepDuration": "Session keep duration", + "terminalTelnetRegex": "Telnet login regex", + "securityMfaAuth": "MFA", + "securityCommandExecution": "Batch execute commands", + "securityServiceAccountRegistration": "Service account registration", + "securityLoginLimitCount": "Limit the number of login failures", + "securityLoginLimitTime": "No logon interval", + "securityMaxIdleTime": "Connection max idle time", + "securityPasswordExpirationTime": "Password expiration time", + "securityPasswordMinLength": "Password minimum length", + "securityPasswordUpperCase": "Must contain capital letters", + "securityPasswordLowerCase": "Must contain lowercase letters", + "securityPasswordNumber": "Must contain numeric characters", + "securityPasswordSpecialChar": "Must contain special characters", + "Hostname": "Hostname", + "emailTest": "Test connection", + "ldapConnectTest": "Test connection", + "ldapLoginTest": "Test login", + "ldapBulkImport": "Bulk import", + "password": "Password", + "username": "Username", + "usernamePlaceholder": "Please input username", + "passwordPlaceholder": "Please input password", + "refreshLdapUser": "Refresh cache", + "testLdapLoginTitle": "Test LDAP user login", + "testLdapLoginSubtitle": "Save the configuration before testing the login", + "importLdapUserTitle": "LDAP user list", + "importLdapUserTip": "Please submit the LDAP configuration before import", + "helpText": { + "siteUrl": "eg: http://jumpserver.abc.com:8080", + "userGuideUrl": "User first login update profile done redirect to it", + "emailSubjectPrefix": "Tips: Some word will be intercept by mail provider", + "emailHostPassword": "Tips: Some provider use token except password", + "emailEmailFrom": "Tips: Send mail account, default SMTP account as the send account", + "emailRecipient": "Tips: Used only as a test mail recipient", + "emailCustomUserCreatedSubject": "Tips: When creating a user, send the subject of the email (eg:Create account successfully)", + "emailCustomUserCreatedHonorific": "Tips: When creating a user, send the honorific of the email (eg:Hello)", + "emailCustomUserCreatedBody": "Tips:When creating a user, send the content of the email", + "emailCustomUserCreatedSignature": "Tips: Email signature (eg:jumpserver)", + "authLdapSearchOu": "Use | split User OUs", + "authLdapSearchFilter": "Choice may be (cn|uid|sAMAccountName)=%(user)s)", + "authLdapUserAttrMap": "User attr map present how to map LDAP user attr to jumpserver, username,name,email is jumpserver attr", + "terminalHeartbeatInterval": "Units: seconds", + "terminalSessionKeepDuration": "Units: days, Session, record, command will be delete if more than duration, only in database", + "terminalTelnetRegex": "ex: Last\\s*login|success|成功", + "securityLoginLimitTime": "Tip: (unit/minute) if the user has failed to log in for a limited number of times, no login is allowed during this time interval.", + "securityMaxIdleTime": "If idle time more than it, disconnect connection Unit: minute", + "securityPasswordExpirationTime": "Tip: (unit: day) If the user does not update the password during the time, the user password will expire failure;The password expiration reminder mail will be automatic sent to the user by system within 5 days (daily) before the password expires" + }, + "helpTip": { + "emailUserSSL": "If SMTP port is 465, may be select", + "emailUserTLS": "If SMTP port is 587, may be select", + "securityMfaAuth": "After opening, all user login must use MFA(valid for all users, including administrators)", + "securityCommandExecution": "Allow user batch execute commands", + "securityServiceAccountRegistration": "Allow using bootstrap token register service account, when terminal setup, can disable it", + "securityPasswordUpperCase": "开启后,用户密码修改、重置必须包含大写字母", + "securityPasswordLowerCase": "开启后,用户密码修改、重置必须包含小写字母", + "securityPasswordNumber": "开启后,用户密码修改、重置必须包含数字字符", + "securityPasswordSpecialChar": "开启后,用户密码修改、重置必须包含特殊字符" + } + }, + "users": { + "dateLastLogin": "Date last login", + "MFA": "MFA", + "Source": "Source", + "datePasswordUpdated": "Date password updated", + "Name": "Name", + "Username": "Username", + "Email": "Email", + "Role": "Role", + "dateExpired": "Date expired", + "dateJoined": "Date joined", + "Users": "Users", + "SystemUsers": "System users", + "UserGroups": "User groups", + "Account": "Account", + "Authentication": "Account", + "Secure": "Secure", + "Remove": "Remove", + "removeWarningMsg": "Are you sure remove ", + "removeSuccessMsg": "Remove success", + "removeErrorMsg": "Remove failed: ", + "quickUpdate": { + "resetPasswordWarning": "This will reset the user password and send a reset mail", + "resetPasswordSuccess": "An e-mail has been sent to the user`s mailbox", + "resetSSHKeyWarning": "This will reset the user public key and send a reset mail", + "resetSSHKeySuccess": "An e-mail has been sent to the user`s mailbox", + "unblockSuccess": "Account has unblocked", + "resetMFAWarning": "This will reset user MFA setting and user need config again", + "resetMFAdSuccess": "User MFA setting reset success", + "resetMFA": "Reset MFA", + "resetPassword": "Reset password", + "resetSSHKey": "Reset SSH key", + "unblockUser": "Unblock login", + "send": "Send", + "unblock": "Unblock" + }, + "tabs": { + "grantedAssets": "Granted assets", + "assetPermissionRules": "Asset permission rules", + "grantedRemoteApps": "Granted remote apps", + "remoteAppPermissionRules": "Remote app permission rules", + "grantedDatabases": "Granted databases", + "databasePermissionRules": "Database Permission rules" + } + } +} diff --git a/src/i18n/langs/en/applications.json b/src/i18n/langs/en/applications.json deleted file mode 100644 index a9236de3c..000000000 --- a/src/i18n/langs/en/applications.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "applications": "Applications", - "remote_app_list": "RemoteApp list", - "create_remote_app": "Create RemoteApp", - "remote_app_detail": "RemoteApp detail", - "update_remote_app": "Update RemoteApp", - "name": "Name", - "app_type": "App type", - "action": "Action", - "update": "Update", - "delete": "Detele", - "comment": "Comment", - "database_app_list": "DatabaseApp list", - "database_app_detail": "DatabaseApp detail", - "create_database_app": "Create DatabaseApp", - "update_database_app": "Update DatabaseApp", - "type": "Type", - "host": "Host", - "port": "Port", - "database": "Database", - "search": "Search", - "date_created": "Date created", - "created_by": "Created by", - "app_path": "App path", - "chrome": "Chrome", - "mysql_workbench": "MySQL Workbench", - "vmware_client": "vSphere Client", - "custom": "Custom", - "chrome_target": "Target URL", - "chrome_username": "Account", - "chrome_password": "Password", - "mysql_workbench_ip": "Database IP", - "mysql_workbench_name": "Database name", - "mysql_workbench_username": "Database account", - "mysql_workbench_password": "Database password", - "vmware_target": "Target", - "vmware_username": "Account", - "vmware_password": "Password", - "custom_cmdline": "cmd arguments", - "custom_target": "Target", - "custom_username": "Account", - "custom_password": "Password" -} diff --git a/src/i18n/langs/en/assets.json b/src/i18n/langs/en/assets.json deleted file mode 100644 index 8e7f880f7..000000000 --- a/src/i18n/langs/en/assets.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "SystemUsers": "System users", - "RemoteApps": "Remote apps", - "Assets": "Assets", - "Nodes": "Nodes", - "asset_list": "Asset list", - "asset_detail": "Asset detail", - "create_asset": "Create asset", - "update_asset": "Update asset", - "hostname": "Hostname", - "ip": "IP", - "hardware": "Hardware", - "reachable": "Reachable", - "action": "Action", - "update": "Update", - "delete": "Delete", - "search": "Search", - "delete_selected": "Delete selected", - "update_selected": "updateSelected", - "remove_from_this_node": "Remove from this node", - "deactive_selected": "Deactive selected", - "active_selected": "Active selected", - "submit": "Submit", - "platform": "Platform", - "public_ip": "Public Ip", - "domain": "Domain", - "admin_user": "Admin user", - "node": "Node", - "label": "Label", - "comment": "Comment", - "basic": "Basic", - "protocols": "Protocols", - "auth": "Auth", - "labels": "Labels", - "other": "Other", - "vendor": "Vendor", - "model": "Model", - "cpu": "CPU", - "memory": "Memory", - "disk": "Disk", - "os": "OS", - "is_active": "Is active", - "serial_number": "Serial number", - "asset_number": "Asset number", - "created_by": "Created by", - "date_joined": "Date joined", - "quick_modify": "Quick modify", - "active": "Active", - "refresh_hardware": "Refresh hardware", - "test_connective": "Test connective", - "refresh": "Refresh", - "test": "Test", - "confirm": "Confirm", - "asset_user_list": "Asset user list", - "domain_list": "Domain list", - "domain_detail": "Domain detail", - "create_domain": "Create domain", - "update_domain": "Update domain", - "name": "Name", - "asset": "Asset", - "gateway": "Gateway", - "date_created": "Date created", - "admin_user_list": "Admin user list", - "admin_user_detail": "Admin user detail", - "create_admin_user": "Create admin user", - "update_admin_user": "Update admin user", - "username": "Username", - "replace_node_assets_admin_user_with_this": "Replace node assets admin user with this", - "select_nodes": "Select nodes", - "system_user_list": "System user list", - "create_system_user": "Create system user", - "update_system_user": "Update system user", - "system_user_detail": "System user detail", - "protocol": "Protocol", - "login_mode": "Login mode", - "quick_update": "Quick update", - "auto_push": "Auto push", - "label_list": "Label list", - "label_detail": "Label detail", - "create_label": "Create label", - "update_label": "Update label", - "value": "Value", - "command_filter_list": "Command filter list", - "create_command_filter": "Create command filter", - "update_command_filter": "Update command filter", - "command_filter_detail": "command filter detail", - "rules": "rules", - "system_user": "System user", - "date_updated": "Date updated", - "binding_to_system_user": "Binding to system user", - "platform_list": "Platform list", - "create_platform": "Create platform", - "update_platform": "Update platform", - "platform_detail": "Platform detail", - "base_platform": "Base platform", - "charset": "Charset", - "meta": "Meta" -} diff --git a/src/i18n/langs/en/audits.json b/src/i18n/langs/en/audits.json deleted file mode 100644 index 50653574b..000000000 --- a/src/i18n/langs/en/audits.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "username": "Username", - "type": "Type", - "ip": "IP", - "city": "City", - "user_agent": "UA", - "mfa": "MFA", - "reason": "Reason", - "status": "Status", - "datetime": "Date" -} diff --git a/src/i18n/langs/en/common.json b/src/i18n/langs/en/common.json deleted file mode 100644 index 4d2ceae87..000000000 --- a/src/i18n/langs/en/common.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "Other": "Other", - "fieldRequiredError": "This field is required", - "Comment": "Comment", - "CreatedBy": "Created by", - "Validity": "Validity", - "Info": "Info", - "Members": "Members", - "More": "More", - "Activate": "Activate", - "Actions": "Actions", - "Name": "Name", - "dateCreated": "Date created", - "createdBy": "Created by", - "deleteWarningMsg": "Are you sure to delete ", - "Update": "Update", - "Delete": "Delete", - "moreActions": "Actions", - "Submit": "Submit", - "Reset": "Reset", - "Confirm": "Confirm", - "Cancel": "Cancel", - "Create": "Create", - "Show": "Show", - "deleteSelected": "Delete selected", - "disableSelected": "Disable selected", - "activateSelected": "Activate selected", - "Add": "Add", - "BasicInfo": "Basic info", - "quickUpdate": "Quick update", - "MoreActions": "Actions", - "nav": { - "Help": "Help", - "Docs": "Docs", - "Language": "Language", - "Support": "Support", - "Profile": "Profile", - "APIKey": "API Key", - "Logout": "Logout", - "UserPage": "User page" - }, - "tree": { - "addNode": "Add", - "renameNode": "Rename", - "deleteNode": "Delete", - "Empty": "Empty", - "Loading": "Loading" - } -} diff --git a/src/i18n/langs/en/perms.json b/src/i18n/langs/en/perms.json deleted file mode 100644 index 717f8f102..000000000 --- a/src/i18n/langs/en/perms.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "asset_permission": "Asset permission", - "asset_permission_list": "Asset permission list", - "asset_permission_detail": "Asset permission detail", - "create_asset_permission": "Create asset permission", - "update_asset_permission": "Update asset permission", - "name": "Name", - "user": "User", - "user_group": "User group", - "asset": "Asset", - "node": "Node", - "system_user": "System user", - "validity": "Validity", - "action": "Action", - "update": "Update", - "delete": "Detele", - "search": "Search", - "user_count": "User count", - "user_group_count": "User group count", - "asset_count": "Asset count", - "node_count": "Node count", - "system_user_count": "System user count", - "date_start": "Date start", - "dateexpired": "Date expired", - "date_created": "Date created", - "created_by": "Created by", - "comment": "Comment", - "quick_update": "Quick update", - "active": "Active", - "users_and_user_groups": "Users and user groups", - "assets_and_node": "Assets and node", - "remote_app": "RemoteApp", - "remote_app_permission_list": " RemoteApp permission list", - "remote_app_permission_detail": "RemoteApp permission detail", - "create_remote_app_permission": "Create RemoteApp permission", - "update_remote_app_permission": "Update RemoteApp permission", - "remote_app_count": "RemoteApp count", - "database_app": "DatabaseApp", - "database_app_permission_list": "DatabaseApp permission list", - "database_app_permission_detail": "DatabaseApp permission detail", - "create_database_app_permission": "Create DatabaseApp permission", - "update_database_app_permission": "Update DatabaseApp permission", - "database_app_count": "DatabaseApp count" -} diff --git a/src/i18n/langs/en/route.json b/src/i18n/langs/en/route.json deleted file mode 100644 index 464744a9d..000000000 --- a/src/i18n/langs/en/route.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "Dashboard": "Dashboard", - "Users": "Users", - "UserList": "Users", - "UserDetail": "User detail", - "UserGroupList": "User groups", - "UserGroupDetail": "User group detail", - "Assets": "Assets", - "AssetList": "Assets", - "DomainList": "Domains", - "AdminUserList": "Admin users", - "SystemUserList": "System users", - "LabelList": "Labels", - "CommandFilterList": "Command filters", - "PlatformList": "Platforms", - "Applications": "Applications", - "RemoteApps": "RemoteApps", - "Databases": "Databases", - "Perms": "Permissions", - "AssetPermission": "Asset permissions", - "AssetPermissionDetail": "Asset permissions detail", - "AssetPermissionCreate": "Asset permissions create", - "AssetPermissionUpdate": "Asset permissions update", - "RemoteAppPermission": "Remote apps permissions", - "RemoteAppPermissionDetail": "Remote apps permissions detail", - "RemoteAppPermissionCreate": "Remote apps permission create", - "RemoteAppPermissionUpdate": "Remote app permission update", - "DatabaseAppPermission": "Databases permissions", - "DatabaseAppPermissionDetail": "Databases permissions detail", - "DatabaseAppPermissionCreate": "Databases permissions create", - "DatabaseAppPermissionUpdate": "Databases permissions update", - "Sessions": "Sessions", - "SessionOnline": "Sessions online", - "SessionOffline": "Sessions offline", - "SessionDetail": "Sessions detail", - "Commands": "Commands", - "WebTerminal": "Web terminal", - "FileManager": "File manager", - "Terminal": "Terminal", - "JobCenter": "Job center", - "TaskList": "Tasks", - "TaskDetail": "Tasks detail", - "BatchCommand": "Batch command", - "TaskMonitor": "Tasks monitor", - "Tickets": "Tickets", - "Audits": "Audits", - "LoginLog": "Login logs", - "FtpLog": "FTP logs", - "OperateLog": "Operation logs", - "PasswordChangeLog": "Password update logs", - "Settings": "Settings", - "UserCreate": "User create", - "UserGroupCreate": "User group create", - "UserUpdate": "User update", - "AdminUserCreate": "Admin user create", - "PlatformCreate": "创建系统平台", - "PlatformUpdate": "更新系统平台", - "CommandFilterCreate": "创建命令过滤器", - "CommandFilterUpdate": "更新命令过滤器", - "CreateReplayStorage": "创建录像存储", - "ReplayStorageUpdate": "更新录像存储", - "CreateCommandStorage": "创建命令存储", - "CommandStorageUpdate": "更新命令存储", - "CommandFilterRulesCreate": " 创建命令过滤器规则", - "LabelCreate": "创建标签", - "LabelUpdate": "更新标签", - "SystemUserDetail": "系统用户详情", - "SystemUserCreate": "创建系统用户", - "SystemUserUpdate": "更新系统用户" -} diff --git a/src/i18n/langs/en/sessions.json b/src/i18n/langs/en/sessions.json deleted file mode 100644 index 36bd3449e..000000000 --- a/src/i18n/langs/en/sessions.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": "", - "user": "Use", - "asset": "Asset", - "systemUser": "System user", - "remoteAddr": "Remote addr", - "protocol": "Protocol", - "loginFrom": "Login from", - "command": "Command", - "dateStart": "Date start", - "duration": "Duration", - "terminate": "Terminate", - "dateEnd": "Date end", - "commands": "Commands", - "replay": "replay", - "download": "download", - "riskLevel": "Risk level", - "session": "session", - "action": "Action", - "search": "Search", - "terminate_selected": "Terminate selected", - "confirm_finished": "Confirm finished", - "submit": "Submit", - "command_list": "Command list", - "quick_modify": "Quick modify", - "terminate_session": "Terminate session", - "confirm": "Confirm", - "join": "join", - "goto": "Goto", - "sessionDetail": "Session Detail", - "quickModify": "Quick Modify", - "replaySession": "Replay session:", - "downloadReplay": "Download replay:", - "go": "Go", - "terminalDetail": "terminalDetail", - "name": "Name:", - "sshPort": "SSH port:", - "httpPort": "Http port:", - "comment": "Comment:", - "dateCreated": "Date created:", - "createCommand": "Create command storage", - "createReplay": "Create replay storage", - "commandStorage": "Command storage", - "replayStorage": "Replay Storage", - "storage": "Storage", - "test": "Test", - "createReplayStorage": "Create replay storage", - "endPoint": "Endpoint", - "bucket": "Bucket", - "type": "Type", - "containerName": "Container name", - "accountName": "Account name", - "accountKey": "Account key", - "endpointSuffix": "Endpoint suffix", - "docType": "Doc type", - "index": "Index", - "hosts": "Hosts" -} diff --git a/src/i18n/langs/en/setting.json b/src/i18n/langs/en/setting.json deleted file mode 100644 index aaf86bebc..000000000 --- a/src/i18n/langs/en/setting.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "setting": "System Setting", - "Basic": "Basic setting", - "Email": "Email setting", - "EmailContent": "Email content setting", - "Ldap": "LDAP setting", - "Terminal": "Terminal setting", - "Security": "Security setting", - "createUserSetting": "Create User setting", - "basicSetting": "Basic setting", - "SecuritySetting": "Security setting", - "PasswordCheckRule": "Password check rule", - "siteUrl": "Current SITE URL", - "userGuideUrl": "User Guide URL", - "emailSubjectPrefix": "Email Subject Prefix", - "emailHost": "SMTP host", - "emailPort": "SMTP port", - "emailHostUser": "SMTP user", - "emailHostPassword": "SMTP password", - "emailEmailFrom": "Send user", - "emailRecipient": "Test recipient", - "emailUserSSL": "Use SSL", - "emailUserTLS": "Use TLS", - "emailCustomUserCreatedSubject": "Create user email subject", - "emailCustomUserCreatedHonorific": "Create user honorific", - "emailCustomUserCreatedBody": "Create user email content", - "emailCustomUserCreatedSignature": "Signature", - "authLdapServerUri": "LDAP server", - "authLdapBindDn": "Bind DN", - "authLdapBindPassword": "Password", - "authLdapSearchOu": "User OU", - "authLdapSearchFilter": "User search filter", - "authLdapUserAttrMap": "User attr map", - "authLdap": "Enable LDAP auth", - "terminalPasswordAuth": "Password auth", - "terminalPublicKeyAuth": "Public key auth", - "terminalHeartbeatInterval": "Heartbeat interval", - "terminalAssetListSortBy": "List sort by", - "terminalAssetListPageSize": "List page size", - "terminalSessionKeepDuration": "Session keep duration", - "terminalTelnetRegex": "Telnet login regex", - "securityMfaAuth": "MFA", - "securityCommandExecution": "Batch execute commands", - "securityServiceAccountRegistration": "Service account registration", - "securityLoginLimitCount": "Limit the number of login failures", - "securityLoginLimitTime": "No logon interval", - "securityMaxIdleTime": "Connection max idle time", - "securityPasswordExpirationTime": "Password expiration time", - "securityPasswordMinLength": "Password minimum length", - "securityPasswordUpperCase": "Must contain capital letters", - "securityPasswordLowerCase": "Must contain lowercase letters", - "securityPasswordNumber": "Must contain numeric characters", - "securityPasswordSpecialChar": "Must contain special characters", - "Hostname": "Hostname", - "emailTest": "Test connection", - "ldapConnectTest": "Test connection", - "ldapLoginTest": "Test login", - "ldapBulkImport": "Bulk import", - "password": "Password", - "username": "Username", - "usernamePlaceholder": "Please input username", - "passwordPlaceholder": "Please input password", - "refreshLdapUser": "Refresh cache", - "testLdapLoginTitle": "Test LDAP user login", - "testLdapLoginSubtitle": "Save the configuration before testing the login", - "importLdapUserTitle": "LDAP user list", - "importLdapUserTip": "Please submit the LDAP configuration before import", - "helpText": { - "siteUrl": "eg: http://jumpserver.abc.com:8080", - "userGuideUrl": "User first login update profile done redirect to it", - "emailSubjectPrefix": "Tips: Some word will be intercept by mail provider", - "emailHostPassword": "Tips: Some provider use token except password", - "emailEmailFrom": "Tips: Send mail account, default SMTP account as the send account", - "emailRecipient": "Tips: Used only as a test mail recipient", - "emailCustomUserCreatedSubject": "Tips: When creating a user, send the subject of the email (eg:Create account successfully)", - "emailCustomUserCreatedHonorific": "Tips: When creating a user, send the honorific of the email (eg:Hello)", - "emailCustomUserCreatedBody": "Tips:When creating a user, send the content of the email", - "emailCustomUserCreatedSignature": "Tips: Email signature (eg:jumpserver)", - "authLdapSearchOu": "Use | split User OUs", - "authLdapSearchFilter": "Choice may be (cn|uid|sAMAccountName)=%(user)s)", - "authLdapUserAttrMap": "User attr map present how to map LDAP user attr to jumpserver, username,name,email is jumpserver attr", - "terminalHeartbeatInterval": "Units: seconds", - "terminalSessionKeepDuration": "Units: days, Session, record, command will be delete if more than duration, only in database", - "terminalTelnetRegex": "ex: Last\\s*login|success|成功", - "securityLoginLimitTime": "Tip: (unit/minute) if the user has failed to log in for a limited number of times, no login is allowed during this time interval.", - "securityMaxIdleTime": "If idle time more than it, disconnect connection Unit: minute", - "securityPasswordExpirationTime": "Tip: (unit: day) If the user does not update the password during the time, the user password will expire failure;The password expiration reminder mail will be automatic sent to the user by system within 5 days (daily) before the password expires" - }, - "helpTip": { - "emailUserSSL": "If SMTP port is 465, may be select", - "emailUserTLS": "If SMTP port is 587, may be select", - "securityMfaAuth": "After opening, all user login must use MFA(valid for all users, including administrators)", - "securityCommandExecution": "Allow user batch execute commands", - "securityServiceAccountRegistration": "Allow using bootstrap token register service account, when terminal setup, can disable it", - "securityPasswordUpperCase": "开启后,用户密码修改、重置必须包含大写字母", - "securityPasswordLowerCase": "开启后,用户密码修改、重置必须包含小写字母", - "securityPasswordNumber": "开启后,用户密码修改、重置必须包含数字字符", - "securityPasswordSpecialChar": "开启后,用户密码修改、重置必须包含特殊字符" - } -} diff --git a/src/i18n/langs/en/users.json b/src/i18n/langs/en/users.json deleted file mode 100644 index 7da92b692..000000000 --- a/src/i18n/langs/en/users.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "dateLastLogin": "Date last login", - "MFA": "MFA", - "Source": "Source", - "datePasswordUpdated": "Date password updated", - "Name": "Name", - "Username": "Username", - "Email": "Email", - "Role": "Role", - "dateExpired": "Date expired", - "dateJoined": "Date joined", - "Users": "Users", - "SystemUsers": "System users", - "UserGroups": "User groups", - "Account": "Account", - "Authentication": "Account", - "Secure": "Secure", - "Remove": "Remove", - "removeWarningMsg": "Are you sure remove ", - "removeSuccessMsg": "Remove success", - "removeErrorMsg": "Remove failed: ", - "quickUpdate": { - "resetPasswordWarning": "This will reset the user password and send a reset mail", - "resetPasswordSuccess": "An e-mail has been sent to the user`s mailbox", - "resetSSHKeyWarning": "This will reset the user public key and send a reset mail", - "resetSSHKeySuccess": "An e-mail has been sent to the user`s mailbox", - "unblockSuccess": "Account has unblocked", - "resetMFAWarning": "This will reset user MFA setting and user need config again", - "resetMFAdSuccess": "User MFA setting reset success", - "resetMFA": "Reset MFA", - "resetPassword": "Reset password", - "resetSSHKey": "Reset SSH key", - "unblockUser": "Unblock login", - "send": "Send", - "unblock": "Unblock" - }, - "tabs": { - "grantedAssets": "Granted assets", - "assetPermissionRules": "Asset permission rules", - "grantedRemoteApps": "Granted remote apps", - "remoteAppPermissionRules": "Remote app permission rules", - "grantedDatabases": "Granted databases", - "databasePermissionRules": "Database Permission rules" - } -} diff --git a/src/i18n/langs/index.js b/src/i18n/langs/index.js index 4e415a44a..015788be3 100644 --- a/src/i18n/langs/index.js +++ b/src/i18n/langs/index.js @@ -1,39 +1,15 @@ import zhLocale from 'element-ui/lib/locale/lang/zh-CN' import enLocale from 'element-ui/lib/locale/lang/en' -import _ from 'lodash' +import zh from './cn.json' +import en from './en.json' -function loadLangFromContext(context) { - const langs = {} - context.keys().forEach(module => { - // module = './cn/assets.json' - const moduleName = module.replace('./', '').replace('.json', '') - const [lang, app] = moduleName.split('/') - if (lang && app) { - if (!langs[lang]) { - langs[lang] = {} - } - langs[lang][app] = context(module) - } - }) - return langs -} - -const loadCustomLang = function() { - const requireContext = require.context('.', true, /\.json$/) - return loadLangFromContext(requireContext) -} - -const sysLang = { +export default { cn: { - ...zhLocale + ...zhLocale, + ...zh }, en: { - ...enLocale + ...enLocale, + ...en } } - -const customLang = loadCustomLang() - -const lang = _.merge(sysLang, customLang) - -export default lang diff --git a/src/i18n/make_message.py b/src/i18n/make_message.py deleted file mode 100644 index b14236c97..000000000 --- a/src/i18n/make_message.py +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python -# - -import os - - - diff --git a/yarn.lock b/yarn.lock index 74329ba36..713bdbd3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2458,6 +2458,11 @@ coa@^2.0.2: chalk "^2.4.1" q "^1.1.2" +code-error-fragment@0.0.230: + version "0.0.230" + resolved "https://registry.npm.taobao.org/code-error-fragment/download/code-error-fragment-0.0.230.tgz#d736d75c832445342eca1d1fedbf17d9618b14d7" + integrity sha1-1zbXXIMkRTQuyh0f7b8X2WGLFNc= + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -2526,10 +2531,15 @@ commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" -commander@^4.0.1: +commander@^4.0.0, commander@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" +commander@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/commander/download/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha1-Rqu9FlL44Fm92u+Zu9yyrZzxea4= + commander@~2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -3164,6 +3174,11 @@ detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" +diff-match-patch@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-match-patch%2Fdownload%2Fdiff-match-patch-1.0.4.tgz#6ac4b55237463761c4daf0dc603eb869124744b1" + integrity sha1-asS1UjdGN2HE2vDcYD64aRJHRLE= + diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -3270,6 +3285,14 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +dot-object@^2.1.3: + version "2.1.3" + resolved "https://registry.npm.taobao.org/dot-object/download/dot-object-2.1.3.tgz#aa261fdefd232f0edb17e77ff4708bbed6f04b2e" + integrity sha1-qiYf3v0jLw7bF+d/9HCLvtbwSy4= + dependencies: + commander "^4.0.0" + glob "^7.1.5" + dot-prop@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" @@ -3481,6 +3504,20 @@ eslint-plugin-html@^6.0.0: dependencies: htmlparser2 "^3.10.1" +eslint-plugin-vue-i18n@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-vue-i18n/download/eslint-plugin-vue-i18n-0.3.0.tgz#70ea6601e38f06255ad7183ffe3b0328174ba976" + integrity sha1-cOpmAeOPBiVa1xg//jsDKBdLqXY= + dependencies: + flat "^4.1.0" + glob "^7.1.3" + ignore "^5.0.5" + json-to-ast "^2.1.0" + jsondiffpatch "^0.3.11" + lodash "^4.17.11" + parse5 "^5.1.0" + vue-eslint-parser "^6.0.3" + eslint-plugin-vue@5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-5.2.2.tgz#86601823b7721b70bc92d54f1728cfc03b36283c" @@ -3524,47 +3561,6 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" -eslint@5.15.3: - version "5.15.3" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5" - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^4.0.3" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^5.0.1" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.2.2" - js-yaml "^3.12.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.11" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" - table "^5.2.3" - text-table "^0.2.0" - eslint@^4.19.1: version "4.19.1" resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" @@ -3608,6 +3604,53 @@ eslint@^4.19.1: table "4.0.2" text-table "~0.2.0" +eslint@^5.15.3: + version "5.16.0" + resolved "https://registry.npm.taobao.org/eslint/download/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha1-oeOsGq5KP72Clvz496tzFMu2q+o= + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.9.1" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^4.0.3" + eslint-utils "^1.3.1" + eslint-visitor-keys "^1.0.0" + espree "^5.0.1" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.7.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^6.2.2" + js-yaml "^3.13.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.11" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^5.5.1" + strip-ansi "^4.0.0" + strip-json-comments "^2.0.1" + table "^5.2.3" + text-table "^0.2.0" + +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.npm.taobao.org/esm/download/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha1-NCwYwp1WFXaIulzjH4Qx+7eVzBA= + espree@^3.5.2, espree@^3.5.4: version "3.5.4" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" @@ -3623,7 +3666,7 @@ espree@^4.1.0: acorn-jsx "^5.0.0" eslint-visitor-keys "^1.0.0" -espree@^5.0.1: +espree@^5.0.0, espree@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" dependencies: @@ -4103,6 +4146,13 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/flat/download/flat-4.1.0.tgz?cache=0&sync_timestamp=1571722225811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflat%2Fdownload%2Fflat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha1-CQvsiwXjnLowl0fx1YjwTbr5jbI= + dependencies: + is-buffer "~2.0.3" + flatted@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" @@ -4299,7 +4349,7 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.5, glob@^7.1.6, glob@~7.1.1: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" dependencies: @@ -4364,6 +4414,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/grapheme-splitter/download/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha1-nPOmZcYkdHmJaDSvNc8du0QAdn4= + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -4703,6 +4758,11 @@ ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" +ignore@^5.0.5: + version "5.1.4" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" + integrity sha1-hLez2+ZFUrbvDsqZ9nQ9vsbZet8= + image-size@^0.5.1, image-size@~0.5.0: version "0.5.5" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" @@ -4908,7 +4968,7 @@ is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" -is-buffer@^2.0.2: +is-buffer@^2.0.2, is-buffer@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" @@ -5153,6 +5213,11 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-valid-glob/download/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + is-whitespace@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" @@ -5662,7 +5727,7 @@ js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9.1: +js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" dependencies: @@ -5740,6 +5805,14 @@ json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" +json-to-ast@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/json-to-ast/download/json-to-ast-2.1.0.tgz#041a9fcd03c0845036acb670d29f425cea4faaf9" + integrity sha1-BBqfzQPAhFA2rLZw0p9CXOpPqvk= + dependencies: + code-error-fragment "0.0.230" + grapheme-splitter "^1.0.4" + json3@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" @@ -5760,6 +5833,14 @@ json5@^2.1.0: dependencies: minimist "^1.2.5" +jsondiffpatch@^0.3.11: + version "0.3.11" + resolved "https://registry.npm.taobao.org/jsondiffpatch/download/jsondiffpatch-0.3.11.tgz#43f9443a0d081b5f79d413fe20f302079e493201" + integrity sha1-Q/lEOg0IG1951BP+IPMCB55JMgE= + dependencies: + chalk "^2.3.0" + diff-match-patch "^1.0.0" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -7105,6 +7186,11 @@ parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" +parse5@^5.1.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1586991218581&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg= + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -9509,10 +9595,34 @@ vue-eslint-parser@^5.0.0: esquery "^1.0.1" lodash "^4.17.11" +vue-eslint-parser@^6.0.3: + version "6.0.5" + resolved "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-6.0.5.tgz#c1c067c2755748e28f3872cd42e8c1c4c1a8059f" + integrity sha1-wcBnwnVXSOKPOHLNQujBxMGoBZ8= + dependencies: + debug "^4.1.1" + eslint-scope "^4.0.0" + eslint-visitor-keys "^1.0.0" + espree "^5.0.0" + esquery "^1.0.1" + lodash "^4.17.11" + vue-hot-reload-api@^2.3.0: version "2.3.4" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" +vue-i18n-extract@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/vue-i18n-extract/download/vue-i18n-extract-1.1.1.tgz#484da3a42ea8208f3396d89870d858944829f600" + integrity sha1-SE2jpC6oII8zltiYcNhYlEgp9gA= + dependencies: + commander "^5.0.0" + dot-object "^2.1.3" + esm "^3.2.25" + glob "^7.1.6" + is-valid-glob "^1.0.0" + js-yaml "^3.13.1" + vue-i18n@^8.15.5: version "8.15.5" resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.15.5.tgz#e39e4724c88ec38ef72217de325e8b10a35718cf"