diff --git a/src/translation/es.json b/src/translation/es.json index 8df791b17..18ba4bc17 100644 --- a/src/translation/es.json +++ b/src/translation/es.json @@ -233,7 +233,9 @@ "user": "Usuario", "setGhostTooltip": "Suplantar", "invitationTooltip": "Invitar Usuario", - "mailmanagerTooltip": "Este usuario puede administrar usuarios y buzones de correo" + "mailmanagerTooltip": "Este usuario puede administrar usuarios y buzones de correo", + "makeLocalTooltip": "Hacer que el usuario sea local", + "count": "Total usuarios: {{ count }}" }, "newUserAction": "Nuevo Usuario", "title": "Directorio de Usuarios", @@ -375,6 +377,9 @@ "all": "Todos los Usuarios", "active": "Usuarios Activos", "inactive": "Usuarios Inactivos" + }, + "makeLocalDialog": { + "title": "Hacer este usuario local" } }, "backups": { diff --git a/src/translation/nl.json b/src/translation/nl.json index f438b242c..621860f3b 100644 --- a/src/translation/nl.json +++ b/src/translation/nl.json @@ -162,7 +162,11 @@ "title": "App niet gevonden", "description": "De app {{ appId }} met versie {{ version }} bestaat niet." }, - "categoryLabel": "Categorie" + "categoryLabel": "Categorie", + "ssofilter": { + "all": "Alle Apps", + "label": "Gebruikersbeheer" + } }, "users": { "title": "Gebruikerslijst", @@ -486,6 +490,9 @@ "passwordResetNotification": { "title": "Wachtwoordherstel succesvol", "body": "E-mail gestuurd naar {{ email }}" + }, + "changeBackgroundImage": { + "title": "Stel achtergrond afbeelding in" } }, "backups": { diff --git a/src/translation/ru.json b/src/translation/ru.json index 99b2f9c69..e07930a91 100644 --- a/src/translation/ru.json +++ b/src/translation/ru.json @@ -162,7 +162,11 @@ "title": "Приложение не найдено", "description": "Не найдено приложения {{ appId }} версии {{ version }}." }, - "categoryLabel": "Категория" + "categoryLabel": "Категория", + "ssofilter": { + "all": "Все приложения", + "label": "Управление пользователями" + } }, "users": { "users": { @@ -486,6 +490,9 @@ "passwordResetNotification": { "title": "Пароль успешно сброшен", "body": "Письмо отправлено на адрес электронной почты {{ email }}" + }, + "changeBackgroundImage": { + "title": "Установить фоновое изображение" } }, "app": { diff --git a/src/translation/zh_Hans.json b/src/translation/zh_Hans.json index 678dc3c05..b15608113 100644 --- a/src/translation/zh_Hans.json +++ b/src/translation/zh_Hans.json @@ -18,7 +18,12 @@ "tagsFilterHeader": "标签:{{ tags }}", "tagsFilterHeaderAll": "所有标签", "domainsFilterHeader": "所有域名", - "groupsFilterHeader": "选择组" + "groupsFilterHeader": "选择组", + "auth": { + "sso": "使用 Cloudron 账户登录", + "nosso": "使用专用账户登录", + "email": "使用 Email 登录" + } }, "profile": { "changeEmail": { @@ -29,7 +34,11 @@ "changeFallbackEmail": { "errorEmailInvalid": "这不是有效的 Email 地址", "title": "修改密码恢复 Email", - "errorEmailRequired": "需要有效的 Email 地址" + "errorEmailRequired": "需要有效的 Email 地址", + "email": "新密码恢复邮件地址", + "password": "确认密码", + "errorWrongPassword": "密码错误", + "errorPasswordRequired": "需要密码" }, "changeDisplayName": { "title": "修改你的昵称", @@ -60,7 +69,8 @@ "changeAvatar": { "title": "修改头像", "useGravatar": "使用 Gravatar", - "useCustomPicture": "使用自定义图片" + "useCustomPicture": "使用自定义图片", + "noAvatar": "没有头像" }, "primaryEmail": "主要 Email", "passwordRecoveryEmail": "密码恢复 Email", @@ -111,6 +121,11 @@ "title": "登录 Token", "description": "您有 {{ webadminTokenCount}} 个有效的 web token(s) 和 {{ cliTokenCount }} 个 CLI token(s).", "logoutAll": "注销全部" + }, + "passwordResetAction": "我忘记了密码", + "passwordResetNotification": { + "title": "密码重置成功", + "body": "邮件已发送到了 {{ email }}" } }, "backups": { @@ -123,7 +138,8 @@ "endpoint": "Endpoint", "format": "存储格式", "configure": "配置", - "description": "Cloudron 会在指定的位置进行一次完全备份。" + "description": "Cloudron 会在指定的位置进行一次完全备份。", + "remount": "重新挂载存储" }, "schedule": { "title": "备份计划和保存时间", @@ -134,7 +150,7 @@ }, "listing": { "title": "备份列表", - "noBackups": "当前没有已完成的备份", + "noBackups": "当前没有已完成的备份。", "contents": "内容", "version": "版本", "noApps": "没有应用", @@ -142,7 +158,9 @@ "cleanupBackups": "清理备份", "backupNow": "现在备份", "stopTask": "停止 {{ taskType === 'backup' ? '备份' : '清理' }}", - "tooltipDownloadBackupConfig": "下载备份配置" + "tooltipDownloadBackupConfig": "下载备份配置", + "tooltipPreservedBackup": "该备份将会被保留", + "tooltipEditBackup": "编辑备份" }, "logs": { "title": "日志", @@ -208,11 +226,31 @@ "copyConcurrency": "并发数", "copyConcurrencyDescription": "当备份时同时复制几个文件。", "copyConcurrencyDigitalOceanNote": "DigitalOcean Spaces 的上限为 20。", - "s3LikeNote": "请不要在 S3 存储桶上设置 lifecycle 规则,因为这会导致 rsync 备份损坏。" + "s3LikeNote": "请不要在 S3 存储桶上设置 lifecycle 规则,因为这会导致 rsync 备份损坏。", + "server": "服务器 IP 或 Hostname", + "cifsSealSupport": "使用 seal 加密。需要 SMB v3 以上版本", + "remoteDirectory": "远程目录", + "username": "用户名", + "password": "密码", + "configureMount": "设置挂载点配置", + "setupMountDescription": "当勾选时,Cloudron 会在服务器上配置挂载点", + "port": "端口", + "user": "用户", + "privateKey": "私钥", + "diskPath": "硬盘路径", + "chown": "远程文件系统支持 chown" }, "check": { "noop": "Cloudron 备份已停用。请确保这台服务器已经使用其它方法备份。更多关于备份的信息请参考 https://docs.cloudron.io/backups/#storage-providers .", "sameDisk": "Cloudron 备份现在和 Cloudron 服务器在同一个硬盘上。若这块硬盘损坏,将会导致所有数据丢失。关于备份到外部存储,请见:https://docs.cloudron.io/backups/#storage-providers ." + }, + "backupEdit": { + "title": "编辑备份", + "label": "标签", + "preserved": { + "description": "忽略留存策略保留这份备份", + "tooltip": "这会保留邮件和 {{ appsLength }} 个 App 的备份。" + } } }, "main": { @@ -266,7 +304,14 @@ "yearsAgo": "{{ y }} 年前", "minutesAgo": "{{ m }} 分钟前", "monthsAgo": "{{ m }} 个月前" - } + }, + "statusEnabled": "已启用", + "statusDisabled": "已停用", + "navbar": { + "users": "用户" + }, + "enableAction": "启用", + "disableAction": "停用" }, "appstore": { "title": "App Store", @@ -305,7 +350,7 @@ "locationPlaceholder": "留空以使用根域名", "manualWarning": "手动为 {{ location }} 添加一条指向这个 Cloudron 公开 IP 的 A 记录", "userManagement": "用户管理", - "userManagementNone": "这个应用使用其自带的用户管理。", + "userManagementNone": "这个应用使用其自带的用户管理。这一设置决定该应用是否在用户的主界面可见。", "userManagementLeaveToApp": "使用应用内置的用户管理", "userManagementAllUsers": "允许这个 Cloudron 上的所有用户", "userManagementMailbox": "所有在这个 Cloudron 上有邮箱的用户都有权限访问。", @@ -320,7 +365,9 @@ "installAnywayAction": "仍要安装", "installAction": "安装", "configuredForCloudronEmail": "这个应用已经预先配置好使用 Cloudron Email 。", - "doInstallAction": "安装 {{ dnsOverwrite ? '并覆盖 DNS' : '' }}" + "doInstallAction": "安装 {{ dnsOverwrite ? '并覆盖 DNS' : '' }}", + "cloudflarePortWarning": "要使用这个端口,Cloudflare 代理必须被关闭", + "titleAndVersion": "应用包 {{ title }} {{ version }}" }, "appNotFoundDialog": { "title": "无法找到应用", @@ -346,7 +393,7 @@ "searchPlaceholder": "使用应用名称如 Github, Dropbox, Slack, Trello, ... 来搜索替代品" }, "users": { - "title": "用户", + "title": "用户目录", "newUserAction": "新用户", "users": { "user": "用户", @@ -360,8 +407,13 @@ "editUserTooltip": "编辑用户", "removeUserTooltip": "删除用户", "empty": "没有用户", - "resetPasswordTooltip": "重设密码,关闭双因素验证或发送邀请链接", - "transferOwnershipTooltip": "转让所有权" + "resetPasswordTooltip": "重设密码", + "transferOwnershipTooltip": "转让所有权", + "makeLocalTooltip": "设为本地用户", + "invitationTooltip": "邀请用户", + "setGhostTooltip": "模拟该用户", + "mailmanagerTooltip": "该用户可以管理用户和邮箱", + "count": "用户总数: {{ count }}" }, "groups": { "title": "用户组", @@ -376,10 +428,11 @@ "require2FACheckbox": "用户必须启用双因素验证", "subscriptionRequiredAction": "现在就设置订阅", "saveAction": "保存", - "subscriptionRequired": "这些功能只在付费订阅后可用。" + "subscriptionRequired": "这些功能只在付费订阅后可用。", + "require2FAWarning": "为您的账户设置双因素认证以避免无法登录。" }, "externalLdap": { - "title": "LDAP", + "title": "连接外部用户目录", "subscriptionRequired": "这个功能仅在付费订阅后可用。", "subscriptionRequiredAction": "现在就设置订阅", "noopInfo": "LDAP 认证未配置。", @@ -430,7 +483,9 @@ "errorDisplayNameRequired": "昵称是必填项", "activeCheckbox": "激活用户", "errorNotValidFullName": "这不是一个有效的名字", - "recoveryEmail": "密码恢复 Email" + "recoveryEmail": "密码恢复 Email", + "displayNamePlaceholder": "选填。如果不提供,用户会在注册时填写", + "fallbackEmailPlaceholder": "选填。如果不指定,会使用首选 Email" }, "deleteUserDialog": { "title": "删除用户 {{ username }}", @@ -462,15 +517,18 @@ "description": "这个用户组里有 {{ memberCount }} 名用户。确定要删除吗?" }, "passwordResetDialog": { - "title": "为 {{ username }} 重设密码或双因素验证", - "description": "使用下面的链接来重设 {{ username }} 的密码,或者重新邀请:", + "title": "为 {{ username }} 重设密码", + "description": "重设密码的链接已经发送到了 {{ email }}:", "sendEmailLinkAction": "将链接用 Email 发送给用户", "2FAIsSetup": "在此关闭用户的双因素验证。用户可以在资料页面重新设置。", - "newLinkAction": "生成新链接", - "resetLinkExplanation": "在此生成新的密码重设或者邀请链接。所有未使用的旧链接将会失效。", + "newLinkAction": "使用邮件发送密码重置链接", + "resetLinkExplanation": "在此将密码重置链接发送到用户的备用 Email 地址: {{ email }}。", "no2FASetup": "这位用户未设置双因素验证。", "reset2FAAction": "重设双因素验证", - "emailSent": "已发送" + "emailSent": "已发送", + "sendAction": "发送邮件", + "descriptionLink": "复制密码重置链接", + "descriptionEmail": "发送密码重置链接" }, "externalLdapDialog": { "title": "配置 LDAP" @@ -479,13 +537,80 @@ "user": "用户", "usermanager": "用户管理", "admin": "管理员", - "owner": "超级管理员" + "owner": "超级管理员", + "mailmanager": "用户和 Email 管理员" }, "transferOwnershipDialog": { "transferAction": "转移所有权", "description": "这个操作会让选定的用户成为这个 Cloudron 的所有者和管理员,而当前用户的管理权限将会被移除。", "title": "确定要转让所有权?", "newOwner": "新的所有者" + }, + "setGhostDialog": { + "description": "设置一个临时密码来以这个用户的身份登录并使用 App。该密码有效期为 6 小时。", + "title": "创建一个密码以模拟用户 {{ username }}", + "password": "密码", + "setPassword": "设置密码", + "generatePassword": "生成密码" + }, + "makeLocalDialog": { + "title": "将该用户改为本地用户", + "warning": "会为该用户触发一次密码重置来设置本地密码。", + "description": "该操作将会将用户从外部用户目录迁移到 Cloudron。", + "submitAction": "设为本地用户" + }, + "exposedLdap": { + "secret": { + "label": "密钥", + "description": "所有 LDAP 请求都必须使用这个密钥和用户 DN {{ userDN }} 认证身份" + }, + "title": "目录服务器", + "description": "Cloudron 可以作为用户目录给其他外部应用使用。", + "enabled": "启用", + "ipRestriction": { + "description": "该目录服务可以仅允许特定 IP 或 IP 段使用。", + "placeholder": "每行一个 IP 地址或子网", + "label": "限制访问" + } + }, + "invitationDialog": { + "title": "邀请 {{ username }}", + "inviteLinkExplanation": "用于生成一个新的邀请链接。这个链接会被发送给用户并重置密码。", + "newLinkAction": "现在邀请用户", + "description": "下列邀请链接已经发送给 {{ email }}:", + "sendAction": "发送邮件", + "descriptionLink": "复制邀请链接", + "descriptionEmail": "发送邀请链接" + }, + "userImportDialog": { + "title": "导入用户", + "fileInput": "选择 JSON 或者 CSV 文件", + "importAction": "导入", + "description": "上传一个以 文档 中描述的 schema 构建的 JSON 或 CSV 文件", + "usersFound": "发现 {{ count }} 个用户可以导入。", + "success": "{{ count }} 个用户已导入。", + "failed": "下列用户未能导入:", + "sendInviteCheckbox": "通过 Email 发送邀请以导入用户" + }, + "userExport": { + "json": "导出 JSON", + "tooltip": "导出用户", + "csv": "导出 CSV" + }, + "userImport": { + "tooltip": "导入用户" + }, + "stateFilter": { + "all": "所有用户", + "active": "启用状态用户", + "inactive": "停用状态用户" + }, + "setGhost": { + "password": "密码" + }, + "invitationNotification": { + "title": "邀请链接已发送", + "body": "Email 已发送给 {{ email }}" } }, "network": { @@ -507,7 +632,8 @@ "interface": "网卡名称", "configure": "配置", "interfaceDescription": "这台服务器上可用的设备:", - "detected": "检测到" + "detected": "检测到", + "address": "IP 地址" }, "dyndns": { "title": "动态 DNS", @@ -516,6 +642,17 @@ "configureIp": { "title": "配置 IP 提供商", "providerGenericDescription": "这台服务器的公开 IP 会被自动检测到。" + }, + "ipv4": { + "address": "IPv4 地址" + }, + "ipv6": { + "address": "IPv6 地址", + "title": "IPv6", + "description": "Cloudron 使用该 IPv6 地址来设置 DNS AAAA 记录。\n" + }, + "configureIpv6": { + "title": "配置 IPv6 提供商" } }, "branding": { @@ -555,10 +692,12 @@ "solrRunning": "运行中", "solrNotRunning": "未运行", "spamFilterOverview": "{{ blacklistCount }} 个地址已加入黑名单。", - "info": "这些全局设置会应用到所有域名上。" + "info": "这些全局设置会应用到所有域名上。", + "acl": "邮件 ACL", + "aclOverview": "{{ dnsblZonesCount }} DNSBL zone(s)" }, "eventlog": { - "title": "事件日志", + "title": "邮件事件日志", "time": "时间", "details": "详情", "type": { @@ -568,18 +707,21 @@ "queued": "队列", "denied": "拒绝", "bounce": "退信", - "deferredInfo": "向 {{ rcptTo | prettyEmailAddresses }} 发送邮件失败。{{ details.message || details.reason }}。会在 {{ details.delay }} 秒后重试。", - "outboundInfo": "从 {{ mailFrom | prettyEmailAddresses }} 发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件已加入队列", - "receivedInfo": "将 {{ mailFrom | prettyEmailAddresses }} 发送的邮件保存到 {{ rcptTo | prettyEmailAddresses }}", - "deliveredInfo": "从 {{ mailFrom | prettyEmailAddresses }} 发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件已送达", + "deferredInfo": "发送邮件失败,会在 {{ details.delay }} 秒后重试。", + "outboundInfo": "已加入送信队列", + "receivedInfo": "已保存", + "deliveredInfo": "邮件已送达", "spamFilterTrainedInfo": "垃圾邮件过滤器使用邮箱的内容进行训练", "spamFilterTrained": "垃圾邮件过滤器已训练", - "bounceInfo": "为发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件向 {{ mailFrom | prettyEmailAddresses }} 发送退信通知。 {{ details.message || details.reason }}", - "inboundInfo": "从 {{ mailFrom | prettyEmailAddresses }} 发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件。垃圾邮件判定:{{ details.spamStatus.indexOf('Yes,') === 0 ? '是' : '否' }}", - "deniedInfo": "已拒绝 {{ remote.ip }} 的连接。{{ details.message || details.reason }}" + "bounceInfo": "发送退信通知", + "inboundInfo": "已收到", + "deniedInfo": "已拒绝连接" }, "searchPlaceholder": "搜索", - "empty": "无事件日志。" + "empty": "无事件日志。", + "from": "发信人", + "mailFrom": "发信人", + "rcptTo": "收信人" }, "changeDomainDialog": { "title": "更改 Email 服务器位置", @@ -614,7 +756,20 @@ "notEnoughMemory": "请为邮件服务分配至少 3GB 内存以启用 Solr。", "description": "Solr 可以提供快速的邮件全文搜索。 Solr 需要 邮件服务 被分配至少 3GB 内存。" }, - "typeFilterHeader": "所有事件" + "typeFilterHeader": "所有事件", + "aclDialog": { + "dnsblZones": "DNSBL Zones", + "dnsblZonesInfo": "IP 地址在下列 IP 屏蔽列表中被找到", + "dnsblZonesPlaceholder": "每行一个 zone 名称", + "title": "修改邮件 ACL" + }, + "mailboxSharing": { + "description": "当启用后,用户可以与其他用户共享 IMAP 文件夹。", + "title": "共享邮箱", + "enabled": "共享邮箱已启用。", + "disabled": "共享邮箱已停用。", + "enableAction": "启用" + } }, "services": { "title": "服务", @@ -630,7 +785,8 @@ "accessControl": "权限管理", "requireAdminRoleLabel": "只有管理员用户才能使用 SFTP", "resetToDefaults": "重置为默认选项", - "accessControlDescription": "允许非管理员用户使用 SFTP 会允许他们接触到配置文件和密钥。对于有些应用(如 WordPress),他们也可以记录到密码。" + "accessControlDescription": "允许非管理员用户使用 SFTP 会允许他们接触到配置文件和密钥。对于有些应用(如 WordPress),他们也可以记录到密码。", + "enableRecoveryMode": "启用恢复模式" }, "refresh": "刷新" },