diff --git a/public/locales/de-DE/application.json b/public/locales/de-DE/application.json index 84c48609..ee00306b 100644 --- a/public/locales/de-DE/application.json +++ b/public/locales/de-DE/application.json @@ -18,7 +18,7 @@ "email": "E-Mail", "password": "Passwort", "captcha": "CAPTCHA", - "captchaError": "CAPTCHA konnte nicht geladen werden: {{message}}", + "captchaError": "CAPTCHA konnte nicht geladen werden: ", "signIn": "Anmelden", "signUp": "Registrieren", "signUpAccount": "Konto registrieren", diff --git a/public/locales/en-US/application.json b/public/locales/en-US/application.json index 0224bc69..7f9b97cb 100644 --- a/public/locales/en-US/application.json +++ b/public/locales/en-US/application.json @@ -18,7 +18,7 @@ "useOtherAccount": "Use another account", "password": "Password", "captcha": "CAPTCHA", - "captchaError": "Cannot load CAPTCHA: {{message}}", + "captchaError": "Cannot load CAPTCHA: ", "signIn": "Sign in", "signUp": "Sign up", "signUpAccount": "Sign up", diff --git a/public/locales/es-ES/application.json b/public/locales/es-ES/application.json index a933a45b..90d9d675 100644 --- a/public/locales/es-ES/application.json +++ b/public/locales/es-ES/application.json @@ -18,7 +18,7 @@ "email": "Correo electrónico", "password": "Contraseña", "captcha": "Código de verificación", - "captchaError": "Error al cargar el código de verificación: {{message}}", + "captchaError": "Error al cargar el código de verificación: ", "signIn": "Iniciar sesión", "signUp": "Registrarse", "signUpAccount": "Registrar cuenta", diff --git a/public/locales/fr-FR/application.json b/public/locales/fr-FR/application.json index 85e1cb93..b5f77292 100644 --- a/public/locales/fr-FR/application.json +++ b/public/locales/fr-FR/application.json @@ -18,7 +18,7 @@ "email": "E-mail", "password": "Mot de passe", "captcha": "CAPTCHA", - "captchaError": "Impossible de charger le CAPTCHA : {{message}}", + "captchaError": "Impossible de charger le CAPTCHA : ", "resetThumbnail": "Réinitialiser la miniature cassée", "resetThumbnailRequested": "Réinitialisation de la miniature demandée.", "noFileCanResetThumbnail": "Aucun fichier pouvant réinitialiser la miniature.", diff --git a/public/locales/it-IT/application.json b/public/locales/it-IT/application.json index e44f4c79..5fef10b8 100644 --- a/public/locales/it-IT/application.json +++ b/public/locales/it-IT/application.json @@ -18,7 +18,7 @@ "email": "Email", "password": "Password", "captcha": "CAPTCHA", - "captchaError": "Impossibile caricare il CAPTCHA: {{message}}", + "captchaError": "Impossibile caricare il CAPTCHA: ", "signIn": "Accedi", "signUp": "Registrati", "signUpAccount": "Registra account", diff --git a/public/locales/ja-JP/application.json b/public/locales/ja-JP/application.json index 8acbb638..9b04108a 100644 --- a/public/locales/ja-JP/application.json +++ b/public/locales/ja-JP/application.json @@ -18,7 +18,7 @@ "email": "メールアドレス", "password": "パスワード", "captcha": "認証コード", - "captchaError": "認証コード読み込み失敗:{{message}}", + "captchaError": "認証コード読み込み失敗:", "signIn": "ログイン", "signUp": "登録", "signUpAccount": "アカウント登録", diff --git a/public/locales/ko-KR/application.json b/public/locales/ko-KR/application.json index a029eb59..a9bdb547 100644 --- a/public/locales/ko-KR/application.json +++ b/public/locales/ko-KR/application.json @@ -18,7 +18,7 @@ "email": "이메일", "password": "비밀번호", "captcha": "보안문자", - "captchaError": "보안문자 로드 실패: {{message}}", + "captchaError": "보안문자 로드 실패: ", "signIn": "로그인", "signUp": "가입", "signUpAccount": "계정 가입", diff --git a/public/locales/pt-BR/application.json b/public/locales/pt-BR/application.json index d50855a9..1fde1095 100644 --- a/public/locales/pt-BR/application.json +++ b/public/locales/pt-BR/application.json @@ -18,7 +18,7 @@ "email": "E-mail", "password": "Senha", "captcha": "CAPTCHA", - "captchaError": "Falha ao carregar CAPTCHA: {{message}}", + "captchaError": "Falha ao carregar CAPTCHA: ", "signIn": "Entrar", "signUp": "Cadastrar", "signUpAccount": "Cadastrar conta", diff --git a/public/locales/ru-RU/application.json b/public/locales/ru-RU/application.json index 8c48f2b1..5d469043 100644 --- a/public/locales/ru-RU/application.json +++ b/public/locales/ru-RU/application.json @@ -18,7 +18,7 @@ "email": "Электронная почта", "password": "Пароль", "captcha": "Капча", - "captchaError": "Ошибка загрузки капчи: {{message}}", + "captchaError": "Ошибка загрузки капчи: ", "signIn": "Войти", "signUp": "Зарегистрироваться", "signUpAccount": "Регистрация аккаунта", diff --git a/public/locales/zh-CN/application.json b/public/locales/zh-CN/application.json index e3316fbc..44047b07 100644 --- a/public/locales/zh-CN/application.json +++ b/public/locales/zh-CN/application.json @@ -5,20 +5,20 @@ "createNewAccount": "创建新账号", "enterPassword": "请输入密码", "enterPasswordHint": "请输入账号 {{email}} 对应的密码", - "paswordlessHint": "账号 {{email}} 为无密码账户,请选择下列方式认证:", + "paswordlessHint": "账号 {{email}} 为无密码账号,请选择下列方式认证:", "noAccountSignupNow": "还没有账号?<0>立即注册", "haveAccountSignInNow": "已有账号?<0>立即登录", "privacyPolicy": "隐私政策", "termOfUse": "使用条款", - "signupHint": "你输入的账户 {{email}} 不存在,是否立即注册?", - "accountNotFoundHint": "你输入的账户 {{email}} 不存在。", + "signupHint": "你输入的账号 {{email}} 不存在,是否立即注册?", + "accountNotFoundHint": "你输入的账号 {{email}} 不存在。", "or": "或者", "selectAccountToUse": "选择要使用的账号", "useOtherAccount": "使用其他账号", "email": "电子邮箱", "password": "密码", "captcha": "验证码", - "captchaError": "验证码加载失败: {{message}}", + "captchaError": "验证码加载失败:", "signIn": "登录", "signUp": "注册", "signUpAccount": "注册账号", @@ -101,7 +101,7 @@ "folderPath": "目录路径" }, "storage": "存储空间", - "storageDetail": "已使用 {{used}}, 共 {{total}}", + "storageDetail": "已使用 {{used}},共 {{total}}", "notLoginIn": "未登录", "visitor": "游客", "objectsSelected": "{{num}} 个对象", @@ -130,7 +130,7 @@ "auto": "自动", "default": "默认", "shareWithMeEmpty": "没有找到别人的分享", - "shareWithMeEmptyDes": "如需要在此看到别人的分享,请在访问别人分享链接时,在右上角将快捷方式保存到你的文件中的任意位置。", + "shareWithMeEmptyDes": "如需要在此看到别人的分享,请在访问别人的分享链接时,在右上角将快捷方式保存到你的文件中的任意位置。", "selectAll": "全选", "selectNone": "取消选择", "invertSelection": "反选", @@ -156,7 +156,7 @@ "metadata": "元数据", "symbolicFile": "快捷方式", "relocation": "转移存储策略", - "downloadingFile": "正在下载 “{{name}}”, 请不要关闭本页面...", + "downloadingFile": "正在下载 “{{name}}”,请不要关闭本页面...", "mountOwner": "只有当前目录的所有者可以挂载策略", "uploading": "上传中", "noActionsCanBeDone": "没有可以进行的操作", @@ -188,7 +188,7 @@ "charset": "编码", "textType": "文本类型", "fileSaved": "文件已保存", - "failedToLoadFile": "文件加载失败: {{msg}}", + "failedToLoadFile": "文件加载失败:{{msg}}", "monacoEditor": "Monaco 代码编辑器", "preparingOpenFile": "正在准备打开文件...", "openWithDescription": "选择一个应用打开 .{{ext}} 文件。", @@ -248,7 +248,7 @@ "exposureBias": "曝光补偿", "flash": "闪光灯", "copyToClipboard": "复制到剪切板", - "searchSomething": "搜索 \"{{text}}\"...", + "searchSomething": "搜索 “{{text}}”...", "iso": "ISO", "exposureValue": "{{num}} 秒", "exposure": "曝光", @@ -273,7 +273,7 @@ "restore": "还原", "unpin": "取消固定", "youDontHaveReadPermissionToThisFile": "你没有权限读取此内容", - "anonymousAccessDenied": "你没有权限读取此内容,请尝试登录账号。", + "anonymousAccessDenied": "你没有权限读取此内容,请尝试登录账号", "sharedWithOthers": "与他人分享", "new": "新建", "open": "打开", @@ -292,8 +292,8 @@ "refresh": "刷新", "createArchive": "创建压缩文件", "resetThumbnail": "重置失败的缩略图", - "resetThumbnailRequested": "已请求重置缩略图。", - "noFileCanResetThumbnail": "没有可重置缩略图的文件。", + "resetThumbnailRequested": "已请求重置缩略图", + "noFileCanResetThumbnail": "没有可重置缩略图的文件", "newFolder": "创建文件夹", "newFile": "创建文件", "showFullPath": "显示路径", @@ -324,7 +324,7 @@ "files": "文件", "listError": "请求时出现错误", "dropFileHere": "拖拽文件至此", - "orClickUploadButton": "或点击左上方“新建”按钮添加文件", + "orClickUploadButton": "或点击左上方 “新建” 按钮添加文件", "nothingFound": "什么都没有找到", "uploadFiles": "上传文件", "uploadFolder": "上传目录", @@ -371,7 +371,7 @@ "preparingBathDownload": "正在准备打包下载...", "preparingDownload": "正在准备下载...", "browserDownload": "浏览器端下载到本地目录", - "browserDownloadDescription": "由浏览器逐一下载文件结构到你指定到本地目录。", + "browserDownloadDescription": "由浏览器逐一下载文件结构到你指定的本地目录。", "browserBatchDownload": "浏览器端打包", "browserBatchDownloadDescription": "由浏览器实时下载并打包为 Zip 文件,无法下载大于 4GB 的数据。", "serverBatchDownload": "服务端中转打包", @@ -391,7 +391,7 @@ "directoryDownloadSkipAllDescription": "将会跳过下载 “{{name}}”,并记住选择", "directoryDownloadStarted": "下载已开始,请不要关闭此标签页", "directoryDownloadFinished": "下载完成,无失败对象", - "directoryDownloadFinishedWithError": "下载完成, 失败 {{failed}} 个对象", + "directoryDownloadFinishedWithError": "下载完成,失败 {{failed}} 个对象", "directoryDownloadPermissionError": "无权限操作,请允许读写本地文件", "back": "后退", "view": "视图", @@ -435,7 +435,7 @@ "groups": "用户组", "noResults": "没有结果", "resetToDefault": "重置为默认", - "duplicateTag": "标签 \"{{tag}}\" 已存在", + "duplicateTag": "标签 “{{tag}}” 已存在", "colorForTag": "自定义新标签颜色", "enterForNewTag": "按回车键添加新标签", "manageTags": "管理标签", @@ -456,7 +456,7 @@ "unknownParent": "未知父目录", "unknownParentDes": "被占用的目录是共享目录的父目录,它不属于你所有", "lockConflictTitle": "文件被占用", - "lockConflictDescription": "操作无法完成,因为下列文件正在被使用,请稍后重试。 如果你是文件所有者,并且确定文件没有被使用,你可以强制解锁文件并重试。", + "lockConflictDescription": "操作无法完成,因为下列文件正在被使用,请稍后重试。如果你是文件所有者,并且确定文件没有被使用,你可以强制解锁文件并重试。", "application": "应用", "errorDetailsTitle": "错误详情", "processingMoving": "正在移动文件...", @@ -466,7 +466,7 @@ "duplicatedObjectName": "新名称与已有文件重复", "newNameLengthError": "文件名长度必须在 1~255 个字符之间", "newNameCharacterError": "文件名不能包含以下字符:\\ / : * ? \" < > |", - "newNameDotError": "文件名不能为 \".\" 或 \"..\"", + "newNameDotError": "文件名不能为 “.” 或 “..”", "taskCreated": "任务已创建", "taskCreateFailed": "{{failed}} 个任务创建失败:{{details}}", "linkCopied": "链接已复制", @@ -501,7 +501,7 @@ "chineseMajorEncoding": "简体中文常见编码", "selectEncoding": "ZIP 文件编码", "password": "压缩文件密码", - "passwordDescription": "如果压缩文件未加密,此处请留空。", + "passwordDescription": "如果压缩文件未加密,此处请留空", "noEncodingSelected": "未选择编码方式", "listingFiles": "列取文件中...", "listingFileError": "列取文件时出错:{{message}}", @@ -510,7 +510,7 @@ "sourceBatchSizeExceeded": "当前用户组最大可同时为 {{limit}} 个文件生成外链", "zipFileName": "压缩文件名", "shareLinkShareContent": "我向你分享了:{{name}} 链接:{{link}}", - "shareLinkPasswordInfo": " 密码: {{password}}", + "shareLinkPasswordInfo": " 密码:{{password}}", "createShareLink": "创建分享链接", "privateShare": "使用密码保护链接", "privateShareDes": "勾选后,需要使用密码访问分享链接。", @@ -550,7 +550,7 @@ "unlinkOnly": "保留物理文件", "unlinkOnlyDes": "仅删除文件记录,物理文件不会被删除", "shareView": "分享视图设置", - "shareViewDes": "勾选后,其他用户访问此共享文件夹时可以看到你保存在服务器的视图设置(布局、排序等)。", + "shareViewDes": "勾选后,其他用户访问此共享文件夹时可以看到你保存在服务器的视图设置 (布局、排序等)。", "showReadme": "显示 README 文件", "showReadmeDes": "勾选后,会自动为访问者展示目录下的 <0>README.md (区分大小写) 文件。", "viewSetting": "视图设置", @@ -578,8 +578,8 @@ "pendingInQueue": "排队中...", "preparing": "准备中...", "processing": "处理中...", - "progressDescription": "已上传 {{uploaded}} , 共 {{total}} - {{percentage}}%", - "progressDescriptionFull": "{{speed}} 已上传 {{uploaded}} , 共 {{total}} - {{percentage}}%", + "progressDescription": "已上传 {{uploaded}},共 {{total}} - {{percentage}}%", + "progressDescriptionFull": "{{speed}} 已上传 {{uploaded}},共 {{total}} - {{percentage}}%", "progressDescriptionPlaceHolder": "已上传 - ", "uploaded": "已上传", "rootFolder": "根目录", @@ -593,7 +593,7 @@ "fileName": "文件名:", "fileSize": "文件大小:", "sessionExpiredIn": "<0>过期", - "chunkDescription": "({{total}} 个分片, 每个分片 {{size}})", + "chunkDescription": "({{total}} 个分片,每个分片 {{size}})", "noChunks": "(无分片)", "destination": "存放位置:", "storagePolicy": "存储策略:", @@ -618,25 +618,25 @@ "retryFailedTasksTooltip": "重试队列中所有已失败的任务", "setConcurrentTooltip": "设定同时进行的任务数量", "setConcurrent": "设置并行数量", - "sizeExceedLimitError": "文件大小超出存储策略限制(最大:{{max}})", + "sizeExceedLimitError": "文件大小超出存储策略限制 (最大:{{max}})", "suffixNotAllowedError": "存储策略不支持上传此扩展名的文件", "regexpNotAllowedError": "存储策略不支持上传此名称的文件", - "suffixAllowed": "(支持的扩展名:{{supported}})", - "suffixDenied": "(禁止的扩展名:{{denied}})", + "suffixAllowed": " (支持的扩展名:{{supported}})", + "suffixDenied": " (禁止的扩展名:{{denied}})", "createUploadSessionError": "无法创建上传会话", "deleteUploadSessionError": "无法删除上传会话", - "requestError": "请求失败: {{msg}} ({{url}})", + "requestError": "请求失败:{{msg}} ({{url}})", "chunkUploadError": "分片 [{{index}}] 上传失败", "conflictError": "同名文件的上传任务已经在处理中", - "chunkUploadErrorWithMsg": "分片上传失败: {{msg}}", - "chunkUploadErrorWithRetryAfter": "(请在 {{retryAfter}} 秒后重试)", + "chunkUploadErrorWithMsg": "分片上传失败:{{msg}}", + "chunkUploadErrorWithRetryAfter": "(请在 {{retryAfter}} 秒后重试)", "emptyFileError": "暂不支持上传空文件至 OneDrive,请通过创建文件按钮创建空文件", "finishUploadError": "无法完成文件上传", - "finishUploadErrorWithMsg": "无法完成文件上传: {{msg}}", - "ossFinishUploadError": "无法完成文件上传: {{msg}} ({{code}})", - "cosUploadFailed": "上传失败: {{msg}} ({{code}})", - "upyunUploadFailed": "上传失败: {{msg}}", - "parseResponseError": "无法解析响应: {{msg}} ({{content}})", + "finishUploadErrorWithMsg": "无法完成文件上传:{{msg}}", + "ossFinishUploadError": "无法完成文件上传:{{msg}} ({{code}})", + "cosUploadFailed": "上传失败:{{msg}} ({{code}})", + "upyunUploadFailed": "上传失败:{{msg}}", + "parseResponseError": "无法解析响应:{{msg}} ({{content}})", "concurrentTaskNumber": "同时上传的任务数量", "dropFileHere": "松开鼠标开始上传" }, @@ -650,7 +650,7 @@ "files": "1 file", "files_other": "{{count}} files", "statisticsViews": "{{views}} 次浏览", - "statisticsDownloads": "{{downloads}} 次下载 ", + "statisticsDownloads": "{{downloads}} 次下载", "views": "{{count}} view", "views_other": "{{count}} views", "downloads": "{{count}} download", @@ -663,7 +663,7 @@ "sharedFiles": "我的分享", "createdAtDesc": "最新", "createdAtAsc": "最早", - "noRecords": "没有分享记录.", + "noRecords": "没有分享记录", "sourceNotFound": "[原始对象不存在]", "expired": "已失效", "changeToPublic": "变更为公开分享", @@ -730,9 +730,9 @@ "setting": { "treeView": "树视图", "autoExpandTreeView": "自动展开树视图", - "autoExpandTreeViewDes": "开启后,侧边栏的文件树会跟随当前目录并自动展开。", + "autoExpandTreeViewDes": "开启后,侧边栏的文件树会跟随当前目录并自动展开", "syncView": "视图设置", - "syncViewDes": "是否记住各个目录的视图设置,并同步到服务器。", + "syncViewDes": "是否记住各个目录的视图设置,并同步到服务器", "syncViewOn": "同步到服务器", "syncViewOff": "不同步", "noAuthenticator": "添加通行密钥以使用人脸、指纹或 USB 密钥登录账号", @@ -743,7 +743,7 @@ "versionRetentionEnabledExt": "启用的文件扩展名", "versionRetentionEnabledExtDes": "按回车键添加,留空时会对所有文件启用", "enableVersionRetention": "启用版本保留", - "enableVersionRetentionDes": "启用后,对于符合条件的文件,系统会保留其的历史版本", + "enableVersionRetentionDes": "启用后,对于符合条件的文件,系统会保留其历史版本", "versionRetention": "版本保留", "languageDes": "设置应用展示语言和首选邮件语言", "timezoneDes": "设置展示时区,默认跟随系统时区", @@ -754,10 +754,10 @@ "shoeQr": "显示", "deviceNothing": "当前用户组不支持 WebDAV", "connectionInfo": "连接信息", - "proxyTooltip": "服务端代理所有文件下载请求。", - "readonlyTooltip": "用户只能通过此账号读取文件。", + "proxyTooltip": "服务端代理所有文件下载请求", + "readonlyTooltip": "用户只能通过此账号读取文件", "blockSysFilesUpload": "阻止上传系统文件", - "blockSysFilesUploadTooltip": "开启后,以 <0>. 开头的文件会被阻止上传。", + "blockSysFilesUploadTooltip": "开启后,以 <0>. 开头的文件会被阻止上传", "rootFolderIn": "选择 <0>", "createWebDavAccount": "创建 WebDAV 账号", "editWebDavAccount": "编辑 {{name}}", @@ -823,7 +823,7 @@ "publicShareOnly": "仅展示无密码分享链接", "publicShareOnlyDes": "仅在个人主页展示没有设置密码的分享链接。", "allShare": "所有分享", - "allShareDes": "在个人主页展示所有分享链接(包括有密码的分享)。对于有密码的分享,用户还需要输入密码才能访问。", + "allShareDes": "在个人主页展示所有分享链接 (包括有密码的分享)。对于有密码的分享,用户还需要输入密码才能访问。", "hideShare": "隐藏所有分享链接", "hideShareDes": "在个人主页隐藏所有分享链接。", "userHideShare": "用户隐藏了分享链接列表", @@ -853,13 +853,13 @@ "authenticatorAdded": "验证器已添加", "browserNotSupported": "当前浏览器或环境不支持", "removedAuthenticator": "删除凭证", - "removedAuthenticatorConfirm": "确定要吊销这个凭证吗?", + "removedAuthenticatorConfirm": "确定要吊销此凭证吗?", "addNewAuthenticator": "添加新凭证", "hardwareAuthenticator": "通行密钥", "copied": "已复制到剪切板", "pleaseManuallyCopy": "当前浏览器不支持,请手动复制", "webdavAccounts": "WebDAV 账号管理", - "webdavHint": "WebDAV的地址为:{{url}};登录用户名统一为:{{name}} ;密码为所创建账号的密码。", + "webdavHint": "WebDAV 地址为:{{url}};登录用户名统一为:{{name}};密码为所创建账号的密码。", "annotation": "备注名", "rootFolder": "相对根目录", "createdAt": "创建日期", @@ -902,7 +902,7 @@ "iOSApp": "iOS/iPadOS 客户端", "connectByiOS": "通过 iOS/iPadOS 设备连接到 <0>{{title}}", "downloadOurApp": "下载并安装我们的应用:", - "fillInEndpoint": "使用应用扫描下方二维码(其他扫码应用无效):", + "fillInEndpoint": "使用应用扫描下方二维码 (其他扫码应用无效):", "loginApp": "完成绑定,你可以开始使用客户端了。如果扫码绑定遇到问题,你也可以尝试手动输入用户名和密码登录。", "relocateFileTo": "将 <0>{{more}} 的存储策略转移至 {{policy}}", "extractFileTo": "将 <0>{{more}} 解压缩至 <1>", diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 025d6b4e..68a7ba40 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -20,7 +20,7 @@ "timeAgoLocaleCode": "zh_CN", "forEditorLocaleCode": "zh-CN", "artPlayerLocaleCode": "zh-cn", - "requestID": "请求 ID: {{id}}", + "requestID": "请求 ID:{{id}}", "object": "对象", "error": "错误", "areYouSure": "确认", diff --git a/public/locales/zh-CN/dashboard.json b/public/locales/zh-CN/dashboard.json index 0f11ba8f..4e180149 100644 --- a/public/locales/zh-CN/dashboard.json +++ b/public/locales/zh-CN/dashboard.json @@ -8,7 +8,7 @@ "40042": "无法更改初始用户的用户组", "40043": "无法对初始用户执行此操作", "40046": "无法对主机节点执行此操作", - "40060": "从机无法向主机发送回调请求,请检查主机端 参数设置 - 站点信息 - 站点URL设置,并确保从机可以连接到此地址 ({{message}})", + "40060": "从机无法向主机发送回调请求,请检查主机端 参数设置 - 站点信息 - 站点 URL 设置,并确保从机可以连接到此地址 ({{message}})", "40061": "Cloudreve 版本不一致 ({{message}})", "40086": "节点正在被以下存储策略使用:{{message}}", "50008": "设置项更新失败 ({{message}})", @@ -46,7 +46,7 @@ }, "summary": { "generatedAt": "生成于 <0>", - "confirmSiteURLTitle": "确定站点URL设置", + "confirmSiteURLTitle": "确定站点 URL 设置", "siteURLNotMatch": "你设置的站点 URL 并未包含当前的 {{current}},是否要更改设置?", "setAsPrimary": "设置为主要站点 URL", "setAsPrimaryDes": "将 {{current}} 设置为主要站点 URL,用于与外部服务通信和接受回调,请使用能被公网访问的 URL。", @@ -102,15 +102,15 @@ "workerNum": "工作线程数", "workerNumDes": "任务队列最多并行执行的任务数。", "maxExecution": "最大执行时间", - "maxExecutionDes": "任务最大执行时间(秒),超过此时间任务将被终止。", + "maxExecutionDes": "任务最大执行时间 (秒),超过此时间的任务将被终止。", "backoffFactor": "退避因子", "backoffFactorDes": "任务重试时间间隔的增长因子。", "backoffMaxDuration": "最大退避时间", - "backoffMaxDurationDes": "任务重试的最大退避时间(秒)。", + "backoffMaxDurationDes": "任务重试的最大退避时间 (秒)。", "maxRetry": "最大重试次数", "maxRetryDes": "任务失败后的最大重试次数。", "retryDelay": "重试延迟", - "retryDelayDes": "任务重试的初始延迟时间(秒)。" + "retryDelayDes": "任务重试的初始延迟时间 (秒)。" }, "settings": { "headlessFooter": "登录会话页面底部", @@ -151,21 +151,21 @@ "perPage": "每页 {{num}} 条", "noNodes": "没有可用的节点。", "extractMediaMeta": "媒体信息提取", - "extractMediaMetaDes": "提取媒体文件的元数据以用于展示和搜索。默认情况下,非本机存储策略只会使用“存储策略原生”方式提取。你可以在存储策略设置页面开启“提取器代理”功能扩展第三方存储策略的缩略图能力。详情请参考 <0>官方文档。", + "extractMediaMetaDes": "提取媒体文件的元数据以用于展示和搜索。默认情况下,非本机存储策略只会使用 “存储策略原生” 方式提取。你可以在存储策略设置页面开启 “提取器代理” 功能扩展第三方存储策略的缩略图能力。详情请参考 <0>官方文档。", "exif": "EXIF", "exifDes": "从图片文件中提取 EXIF 元数据以用于展示和搜索。", "music": "音乐元数据", "musicDes": "从音乐文件中提取元数据,包括标题、艺术家、专辑等信息。", "ffprobe": "FFprobe", "ffprobeDes": "使用 FFprobe 从视频和音频文件中提取元数据。", - "maxSizeLocal": "最大文件大小(本地存储)", + "maxSizeLocal": "最大文件大小 (本地存储)", "maxSizeLocalDes": "当文件存储在本地存储策略时,允许提取元数据的最大文件大小,填写为 0 时不限制。", - "maxSizeRemote": "最大文件大小(远程存储)", + "maxSizeRemote": "最大文件大小 (远程存储)", "maxSizeRemoteDes": "当文件存储在第三方存储策略时,允许提取元数据的最大文件大小,填写为 0 时不限制。", "exifBruteForce": "必要时使用暴力搜索", "exifBruteForceDes": "启用后,如果在标准头部位置找不到 EXIF 数据,将扫描整个文件以查找 EXIF 数据。这可能会增加处理时间,但可以找到非标准位置的 EXIF 数据。", "musicCover": "歌曲封面", - "musicCoverDes": "提取音频文件中的专辑封面, 支持 ID3 (v1, 2.2, 2.3, 2.4) 元数据容器。这一生成器依赖于任一其他图像生成器(Cloudreve 内置 或 VIPS)。", + "musicCoverDes": "提取音频文件中的专辑封面,支持 ID3 (v1, 2.2, 2.3, 2.4) 元数据容器。这一生成器依赖于任一其他图像生成器 (Cloudreve 内置 或 VIPS)。", "geocoding": "地理编码", "geocodingDes": "根据媒体 EXIF 中记录的坐标信息,使用 Mapbox 服务获取地址信息。", "mapboxAK": "Mapbox 密钥", @@ -173,23 +173,23 @@ "geocodingDependencyWarning": "地理编码生成器依赖于 EXIF 生成器,请开启 EXIF 生成器。", "notAppliedToNativeGenerator": "{{prefix}}不适用于存储策略原生生成器。", "notAppliedToOneDriveNativeGenerator": "{{prefix}}不适用于 OneDrive 或 SharePoint 存储策略原生生成器。", - "fileBlobMargin": "文件 Blob 临时 URL 缓存冗余(秒)", + "fileBlobMargin": "文件 Blob 临时 URL 缓存冗余 (秒)", "fileBlobMarginDes": "当相同的文件 Blob 被多次请求时,如果最初的 URL 剩余有效期大于冗余时长,相同的 URL 会被复用。", - "fileBlobTimeout": "文件 Blob 临时 URL 有效期(秒)", + "fileBlobTimeout": "文件 Blob 临时 URL 有效期 (秒)", "fileBlobTimeoutDes": "限制用户打开或下载文件时,所获得的临时链接的有效期,只针对本机存储策略、WebDAV 或经 Cloudreve 代理的文件下载。", - "wopiSessionTimeout": "WOPI 会话有效期(秒)", + "wopiSessionTimeout": "WOPI 会话有效期 (秒)", "wopiSessionTimeoutDes": "限制用户使用 WOPI 编辑文件时,单个会话的有效期,过期后用户需要重新从 Cloudreve 打开文件。", "oauthRefresh": "OAuth 存储策略凭证刷新间隔", - "oauthRefreshDes": "设定多久刷新需要使用 OAuth 的存储策略(OneDrive)的凭证,可以避免长期未使用存储策略导致的凭证过期", + "oauthRefreshDes": "设定多久刷新需要使用 OAuth 的存储策略 (OneDrive) 的凭证,可以避免长期未使用存储策略导致的凭证过期", "transitParallelNum": "中转最大并行传输", "transitParallelNumDes": "当单个服务端文件中转任务包含多个文件时,最大并行上传的数量。", "failedChunkRetry": "分片错误最大重试", "failedChunkRetryDes": "分片上传失败后重试的最大次数,只适用于服务端上传或中转分片上传。", "cacheChunks": "缓存流式分片文件以用于重试", - "cacheChunksDes": "开启后,流式中转分片上传时会将分片数据缓存在系统临时目录,以便用于分片上传失败后的重试;\n 关闭后,流式中转分片上传不会额外占用硬盘空间,但分片上传失败后整个上传会立即失败。", - "folderPropsTimeout": "目录统计信息有效期(秒)", - "folderPropsTimeoutDes": "用户计算目录统计信息(大小,包含文件数量等)时,结果缓存的有效期。", - "slaveAPIExpiration": "从机 API 签名有效期(秒)", + "cacheChunksDes": "开启后,流式中转分片上传时会将分片数据缓存在系统临时目录,以便用于分片上传失败后的重试;关闭后,流式中转分片上传不会额外占用硬盘空间,但分片上传失败后整个上传会立即失败。", + "folderPropsTimeout": "目录统计信息有效期 (秒)", + "folderPropsTimeoutDes": "用户计算目录统计信息 (大小,包含文件数量等) 时,结果缓存的有效期。", + "slaveAPIExpiration": "从机 API 签名有效期 (秒)", "slaveAPIExpirationDes": "主机访问从机 API 时使用的签名有效期。", "uploadSessionTimeout": "上传会话有效期 (秒)", "uploadSessionDes": "在上传会话有效期内,对于支持的存储策略,用户可以断点续传未完成的任务。最大可设定的值受限于不同存储策略服务商的规则。", @@ -217,10 +217,10 @@ "srcVar": "文件 Blob 临时访问地址", "srcBase64Var": "经过 Base64 编码后的文件 Blob 临时访问地址", "nameEncodedVar": "经过 URL 编码后的文件名", - "versionEntityVar": "打开的文件版本 Blob ID,为空时表示打开的是最新版本。", + "versionEntityVar": "打开的文件版本 Blob ID,为空时表示打开的是最新版本", "fileIdVar": "文件 ID", - "userIdVar": "用户 ID,未登录时为空。", - "userDisplayNameVar": "经过 URL 编码后的用户昵称。", + "userIdVar": "用户 ID,未登录时为空", + "userDisplayNameVar": "经过 URL 编码后的用户昵称", "fileViewers": "文件浏览应用", "addViewer": "添加应用", "viewerGroupTitle": "应用分组 #{{index}}", @@ -234,7 +234,7 @@ "displayNameDes": "展示名称,支持 i18next 键值。", "viewerEnabled": "启用", "newFileAction": "新建文件映射", - "newFileActionDes": "添加映射后,用户点击“新建”按钮后会出现此应用的选项。", + "newFileActionDes": "添加映射后,用户点击 “新建” 按钮后会出现此应用的选项。", "addNewFileAction": "添加映射", "builtinViewerType": "内置应用", "wopiViewerType": "WOPI", @@ -249,7 +249,7 @@ "icon": "图标", "iconUrl": "图标地址", "iconColor": "图标颜色", - "iconColorDark": "图标颜色(黑暗模式)", + "iconColorDark": "图标颜色 (黑暗模式)", "fileIcons": "文件图标", "builtinIcon": "内置图标", "mimeMapping": "MIME 类型映射", @@ -295,7 +295,7 @@ "logtoKeyDes": "应用管理页面创建的应用密钥。", "logtoAppIDDes": "你所创建的应用 ID。", "logto": "Logto", - "logtoDes": "借由 <0>Logto, 你可以实现更多第三方平台的互联登录,比如 Apple、GitHub、Microsoft Entra ID、Google、短信等。请在 Logto 管理面板创建一个 “传统网页应用”,并将 <1>{{url}} 加入到 “重定向 URIs” 中。", + "logtoDes": "借由 <0>Logto,你可以实现更多第三方平台的互联登录,比如 Apple、GitHub、Microsoft Entra ID、Google、短信等。请在 Logto 管理面板创建一个 “传统网页应用”,并将 <1>{{url}} 加入到 “重定向 URIs” 中。", "thirdPartySignIn": "第三方登录", "logo": "LOGO", "logoDes": "LOGO 图像的地址,用于在左上角展示;请分别提供黑暗模式和日间模式下不同的 LOGO。", @@ -307,9 +307,9 @@ "privacyUrlDes": "用于在用户登录或注册页脚展示,留空不展示。", "addSecondary": "添加备选站点 URL", "secondarySiteURL": "备选", - "secondaryDes": "你还可以添加其他备选站点 URL,Cloudreve 会根据用户实际访问的 URL 自动选择是否使用", + "secondaryDes": "你还可以添加其他备选站点 URL,Cloudreve 会根据用户实际访问的 URL 自动选择是否使用。", "primarySiteURL": "主要", - "primarySiteURLDes": "主要站点 URL 用于与外部服务通信和接受回调(比如:存储提供商),请使用能被公网访问的 URL。", + "primarySiteURLDes": "主要站点 URL 用于与外部服务通信和接受回调 (比如:存储提供商),请使用能被公网访问的 URL。", "revert": "撤销更改", "saved": "设置已更改", "save": "保存", @@ -323,7 +323,7 @@ "customFooterHTMLDes": "在页面底部插入的自定义 HTML 代码。", "announcement": "站点公告", "announcementDes": "展示给已登录用户的公告,留空不展示。当此项内容更改时,所有用户会重新看到公告。", - "supportHTML": "支持 HTML 代码", + "supportHTML": "支持 HTML 代码。", "branding": "图标", "smallIcon": "小图标", "smallIconDes": "小图标地址,ico 或 svg 格式。此图标还会被用于在浏览器标签页、书签和桌面快捷方式等位置展示。", @@ -338,7 +338,7 @@ "backgroundColor": "背景色", "backgroundColorDes": "CSS 色值", "hint": "提示", - "webauthnNoHttps": "Web Authn 需要你的站点启用 HTTPS,并确认 参数设置 - 站点信息 - 站点URL 也使用了 HTTPS 后才能开启。", + "webauthnNoHttps": "Web Authn 需要你的站点启用 HTTPS,并确认 参数设置 - 站点信息 - 站点 URL 也使用了 HTTPS 后才能开启。", "accountManagement": "注册与登录", "allowNewRegistrations": "允许新用户注册", "allowNewRegistrationsDes": "关闭后,无法再通过前台注册新的用户。", @@ -389,13 +389,13 @@ "sendTestEmail": "发送测试邮件", "transportation": "传输", "workerNum": "Worker 数量", - "workerNumDes": "主机节点任务队列最多并行执行的任务数,保存后需要重启 Cloudreve 生效", + "workerNumDes": "主机节点任务队列最多并行执行的任务数,保存后需要重启 Cloudreve 生效。", "tempFolder": "临时目录", - "tempFolderDes": "用于存放解压缩、压缩等任务产生的临时文件的目录路径", + "tempFolderDes": "用于存放解压缩、压缩等任务产生的临时文件的目录路径。", "textEditMaxSize": "文档在线编辑最大大小", - "textEditMaxSizeDes": "文档文件可在线编辑的最大大小,超出此大小的文件无法在线编辑。此项设置适用于纯文本文件、代码文件、Office 文档(WOPI)等 Web 在线编辑器。", + "textEditMaxSizeDes": "文档文件可在线编辑的最大大小,超出此大小的文件无法在线编辑。此项设置适用于纯文本文件、代码文件、Office 文档 (WOPI) 等 Web 在线编辑器。", "resetConnection": "上传校验失败时强制重置连接", - "resetConnectionDes": "开启后,如果本次策略、头像等数据上传校验失败,服务器会强制重置连接", + "resetConnectionDes": "开启后,如果本次策略、头像等数据上传校验失败,服务器会强制重置连接。", "batchDownload": "打包下载", "previewURL": "预览链接", "cannotDeleteDefaultTheme": "不能删除默认配色", @@ -419,13 +419,13 @@ "generators": "缩略图生成器", "thumbMaxSize": "最大原始文件尺寸", "thumbMaxSizeDes": "可生成缩略图的最大原始文件的大小,超出此大小的文件不会生成缩略图。", - "generatorProxyWarning": "默认情况下,非本机存储策略只会使用“存储策略原生”生成器。你可以在存储策略设置页面开启“生成器代理”功能扩展第三方存储策略的缩略图能力。详情请参考 <0>官方文档。", + "generatorProxyWarning": "默认情况下,非本机存储策略只会使用 “存储策略原生” 生成器。你可以在存储策略设置页面开启 “生成器代理” 功能扩展第三方存储策略的缩略图能力。详情请参考 <0>官方文档。", "policyBuiltin": "存储策略原生", "policyBuiltinDes": "使用存储提供方原生的图像处理接口。对于本机和 S3 策略,这一生成器不可用,将会自动顺沿其他生成器。对于其他存储策略,请前往存储策略设置页面设置允许的扩展名。", "cloudreveBuiltin": "Cloudreve 内置", "cloudreveBuiltinDes": "使用 Cloudreve 内置的图像处理能力,仅支持 PNG、JPEG、GIF 格式的图片。", "libreOffice": "LibreOffice", - "libreOfficeDes": "使用 LibreOffice 生成 Office 文档的缩略图。这一生成器依赖于任一其他图像生成器(Cloudreve 内置 或 VIPS)。", + "libreOfficeDes": "使用 LibreOffice 生成 Office 文档的缩略图。这一生成器依赖于任一其他图像生成器 (Cloudreve 内置 或 VIPS)。", "libraw": "LibRaw / DCRaw", "librawDes": "使用 LibRaw 附带的 DCRaw 模拟例程,或者原始 DCRaw 程序生成 RAW 图像的缩略图。", "vips": "VIPS", @@ -495,27 +495,27 @@ "showSlimeLine": "使用波浪线", "showSineLine": "使用正弦线", "siteKey": "Site KEY", - "siteKeyDes": "<0>应用管理页面 获取到的 网站密钥。", + "siteKeyDes": "<0>应用管理页面 获取到的站点密钥。", "siteSecret": "Secret", - "siteSecretDes": "<0>应用管理页面 获取到的 秘钥。", + "siteSecretDes": "<0>应用管理页面 获取到的秘钥。", "secretID": "SecretId", - "secretIDDes": "<0>访问密钥页面 获取到的 SecretId", + "secretIDDes": "<0>访问密钥页面 获取到的 SecretId。", "secretKey": "SecretKey", - "secretKeyDes": "<0>访问密钥页面 获取到的 SecretKey", + "secretKeyDes": "<0>访问密钥页面 获取到的 SecretKey。", "tCaptchaAppID": "APPID", - "tCaptchaAppIDDes": "<0>图形验证页面 获取到的 APPID", + "tCaptchaAppIDDes": "<0>图形验证页面 获取到的 APPID。", "tCaptchaSecretKey": "App Secret Key", - "tCaptchaSecretKeyDes": "<0>图形验证页面 获取到的 App Secret Key", + "tCaptchaSecretKeyDes": "<0>图形验证页面 获取到的 App Secret Key。", "staticResourceCache": "静态公共资源缓存", - "staticResourceCacheDes": "公共可访问的静态资源(如:本机策略直链、文件下载链接)的缓存有效期", + "staticResourceCacheDes": "公共可访问的静态资源 (如:本机策略直链、文件下载链接) 的缓存有效期。", "creditSystem": "积分系统", "creditAndVAS": "积分与增值服务", "enableCredit": "启用积分系统", "enableCreditDes": "启用积分系统,允许用户为分享链接设置价格。", "creditPrice": "积分价格", - "creditPriceDes": "使用货币充值积分的价格(以最小货币单位计),填写 0 表示禁止充值积分。", + "creditPriceDes": "使用货币充值积分的价格 (以最小货币单位计),填写 0 表示禁止充值积分。", "shareScoreRate": "分享者佣金比例", - "shareScoreRateDes": "分享链接被购买时,分享者获得的积分百分比(1-100)。", + "shareScoreRateDes": "分享链接被购买时,分享者获得的积分百分比 (1~100)。", "cronNotifyUser": "通知超额用户扫描间隔", "cronNotifyUserDes": "扫描并发送邮件提醒超额用户", "cronBanUser": "用户封禁扫描间隔", @@ -523,14 +523,14 @@ "anonymousPurchase": "匿名购买", "anonymousPurchaseDes": "允许未登录用户直接购买分享链接。", "shopNavEnabled": "显示商店导航", - "shopNavEnabledDes": "在侧边栏导航中显示“商店”条目。", + "shopNavEnabledDes": "在侧边栏导航中显示 “商店” 条目。", "paymentSettings": "支付设置", "currencyCode": "货币代码", - "currencyCodeDes": "三字母货币代码(如 USD、CNY、EUR)。", + "currencyCodeDes": "三字母货币代码 (如 USD、CNY、EUR)。", "currencySymbol": "货币符号", - "currencySymbolDes": "显示的货币符号(如 $、¥、€)。", + "currencySymbolDes": "显示的货币符号 (如 $、¥、€)。", "currencyUnit": "货币单位", - "currencyUnitDes": "最小货币单位(如美元/分为100)。", + "currencyUnitDes": "最小货币单位 (如美元 → 美分为 100)。", "paymentProviders": "支付提供商", "providerName": "提供商名称,用于展示给用户。", "providerType": "提供商类型", @@ -550,11 +550,11 @@ "storageSize": "存储大小", "storageSizeBytes": "此产品包含的存储大小。", "duration": "时长", - "durationSeconds": "时长(秒,例如:2592000 表示 30 天)。", + "durationSeconds": "时长 (秒,例如:2592000 表示 30 天)。", "price": "价格", - "priceInUnits": "价格(以最小货币单位计)", + "priceInUnits": "价格 (以最小货币单位计)", "priceInUnitsDes": "价格将显示为:", - "chipLabel": "标签(可选)", + "chipLabel": "标签 (可选)", "chipLabelHelp": "显示在产品名称旁边的短文本标签。", "usePoints": "允许使用积分", "points": "积分", @@ -567,11 +567,11 @@ "groupId": "用户组 ID", "groupIdHelp": "购买此产品后升级到的用户组。", "description": "描述", - "descriptionHelp": "输入特性或优势,每行一项", + "descriptionHelp": "输入特性或优势,每行一项。", "receiptEmailTemplate": "支付收据模板", "receiptEmailTemplateDes": "当支付被确认时发送给用户的邮件模板。", - "activationEmailTemplate": "账户激活模板", - "activationEmailTemplateDes": "当用户激活账户时发送给用户的邮件模板。", + "activationEmailTemplate": "账号激活模板", + "activationEmailTemplateDes": "当用户激活账号时发送给用户的邮件模板。", "quotaExceededEmailTemplate": "存储配额超出模板", "quotaExceededEmailTemplateDes": "当用户超出存储配额时发送给用户的邮件模板。", "resetPasswordEmailTemplate": "密码重置模板", @@ -594,8 +594,8 @@ "themeOptionsDes": "为你的站点配置自定义主题选项。这些主题将可供用户在其偏好设置中选择。", "primaryColor": "主色调", "secondaryColor": "次色调", - "primaryColorDark": "主色调(暗色模式)", - "secondaryColorDark": "次色调(暗色模式)", + "primaryColorDark": "主色调 (暗色模式)", + "secondaryColorDark": "次色调 (暗色模式)", "addThemeOption": "添加主题选项", "editThemeOption": "编辑主题选项", "invalidThemeConfig": "无效的主题配置。请检查你的 JSON 语法。", @@ -615,7 +615,7 @@ "systemEvents": "系统事件", "systemEventsDes": "与系统操作和状态相关的事件。", "userEvents": "用户事件", - "userEventsDes": "与用户账户、认证和配置文件更改相关的事件。", + "userEventsDes": "与用户账号、认证和配置文件更改相关的事件。", "fileEvents": "文件事件", "fileEventsDes": "与文件操作相关的事件,如上传、下载和修改。", "shareEvents": "分享事件", @@ -627,7 +627,7 @@ "filesystemEvents": "文件系统事件", "filesystemEventsDes": "与文件系统操作相关的事件,如挂载和归档处理。", "webdavEvents": "WebDAV 事件", - "webdavEventsDes": "与 WebDAV 账户管理和访问相关的事件。", + "webdavEventsDes": "与 WebDAV 账号管理和访问相关的事件。", "paymentEvents": "支付事件", "paymentEventsDes": "与支付交易和处理相关的事件。", "emailEvents": "Email 事件", @@ -667,9 +667,9 @@ "create_archive": "创建归档", "extract_archive": "解压归档", "webdav_login_failed": "WebDAV 登录失败", - "webdav_account_create": "WebDAV 账户创建", - "webdav_account_update": "WebDAV 账户更新", - "webdav_account_delete": "WebDAV 账户删除", + "webdav_account_create": "WebDAV 账号创建", + "webdav_account_update": "WebDAV 账号更新", + "webdav_account_delete": "WebDAV 账号删除", "payment_created": "支付创建", "points_change": "积分更改", "payment_paid": "支付完成", @@ -680,8 +680,8 @@ "user_exceed_quota_notified": "超出配额通知", "user_changed": "用户状态更改", "get_direct_link": "获取直链", - "link_account": "链接外部账户", - "unlink_account": "取消链接外部账户", + "link_account": "链接外部账号", + "unlink_account": "取消链接外部账号", "change_nick": "更改昵称", "change_avatar": "更改头像", "membership_unsubscribe": "取消订阅", @@ -782,10 +782,10 @@ "cdnOrCustomDomain": "CDN 或自定义源站域名", "bucketDomain": "存储空间域名", "bucketDomainDes": "填写你为存储空间绑定的 CDN 加速域名或者自定义源站域名。", - "storageNodeInternal": "存储节点(内网 Endpoint)", - "chunkSizeDesOssObs": "允许范围:100 KB ~ 5 GB,", - "chunkSizeDesQiniuCos": "允许范围:1 MB ~ 1 GB,", - "chunkSizeDesS3": "允许范围:5 MB ~ 5 GB,", + "storageNodeInternal": "存储节点 (内网 Endpoint)", + "chunkSizeDesOssObs": "允许范围:100 KB ~ 5 GB,", + "chunkSizeDesQiniuCos": "允许范围:1 MB ~ 1 GB,", + "chunkSizeDesS3": "允许范围:5 MB ~ 5 GB,", "thisIsACustomDomain": "这是一个自定义域名", "thisIsACustomDomainDes": "如果你为 Bucket 绑定了自定义域名,且需要通过自定义域名进行上传等管理操作,请勾选此选项。勾选后,Cloudreve 不会在请求域名中尝试补全 Bucket 名称。", "addedManually": "我已自行设置", @@ -808,7 +808,7 @@ "mediaExtractorProxy": "代理提取媒体信息", "mediaExtractorProxyDes": "开启后,对于存储端提取器不支持的文件,Cloudreve 会尝试提取文件媒体信息。请在 <0>媒体处理 中配置 Cloudreve 媒体信息提取器。", "mediaExtractorNative": "原生提取器", - "mediaExtractorOss": "智能媒体管理(IMM)", + "mediaExtractorOss": "智能媒体管理 (IMM)", "mediaExtractorQiniu": "智能多媒体服务", "mediaExtractorCos": "腾讯云数据万象", "mediaExtractorObs": "图片处理服务", @@ -816,11 +816,11 @@ "nativeMediaMetaExts": "使用<0>{{name}}的文件扩展名", "nativeMediaMetaExtsGeneralDes": "半角逗号 , 隔开,留空表示不使用<0>{{name}}。", "nativeMediaMetaExtsRemote": "对于从机存储,默认情况下支持 EXIF 和音乐元数据,你可以通过配置覆写在从机端启用其他生成器。", - "nativeMediaMetaExtOss": "智能媒体管理(IMM)服务支持处理音频、视频和图片。处理图片无需手动配置,但如果你需要处理音频或视频,需要手动开通 IMM 并绑定到 Bucket, 请参考 <0>文档 绑定。绑定完成后请在上面加上你想要处理的音视频的扩展名。", + "nativeMediaMetaExtOss": "智能媒体管理 (IMM) 服务支持处理音频、视频和图片。处理图片无需手动配置,但如果你需要处理音频或视频,需要手动开通 IMM 并绑定到 Bucket, 请参考 <0>文档 绑定。绑定完成后请在上面加上你想要处理的音视频的扩展名。", "nativeMediaMetaExtQiniu": "智能多媒体服务支持处理常见音频、视频和图片,无需额外配置,在上方填写你想要处理的媒体的扩展名即可。", "nativeMediaMetaExtCos": "腾讯云数据万象服务支持处理音频、视频和图片。处理图片无需手动配置,但如果你需要处理音频或视频, 请先前往 <0>数据万象 开通并绑定存储桶,然后前往 存储桶设置 - 媒体处理 中开通美图处理服务。绑定完成后请在上面加上你想要处理的音视频的扩展名。", - "nativeMediaMetaExtObs": "图片处理服务支持<0>提取图片 EXIF。无需手动配置,在上面加上你想要处理的图片的扩展名即可。", - "nativeMediaMetaExtUpyun": "图片处理服务支持<0>提取图片 EXIF。无需手动配置,在上面加上你想要处理的图片的扩展名即可。", + "nativeMediaMetaExtObs": "图片处理服务支持 <0>提取图片 EXIF。无需手动配置,在上面加上你想要处理的图片的扩展名即可。", + "nativeMediaMetaExtUpyun": "图片处理服务支持 <0>提取图片 EXIF。无需手动配置,在上面加上你想要处理的图片的扩展名即可。", "thumbProxy": "代理生成缩略图", "thumbProxyDes": "开启后,对于不符合原生缩略图条件的文件,Cloudreve 会尝试为其生成缩略图文件,并上传到存储端。请在 <0>媒体处理 中配置 Cloudreve 缩略图生成器。", "nativeThumbnailMaxSize": "使用原生缩略图的最大文件大小", @@ -829,11 +829,11 @@ "nativeThumbNails": "使用原生缩略图的扩展名", "nativeThumbNailsGeneralDes": "半角逗号 , 隔开,留空表示不使用原生缩略图。对于列表中列出的文件扩展名,Cloudreve 会使用存储端的原生缩略图。", "nativeThumbNailsGeneralRemote": "对于从机存储,默认情况下只支持简单图像和歌曲封面缩略图,你可以通过配置覆写在从机端启用其他生成器。", - "nativeThumbNailsGeneralOss": "对于阿里云 OSS 存储,<0>图片处理服务会被用来生成缩略图。", - "nativeThumbNailsGeneralQiniu": "对于七牛云存储,<0>图片基本处理(imageView2)服务会被用来生成缩略图。", - "nativeThumbNailsGeneralCos": "对于腾讯云 COS 存储,<0>腾讯云数据万象服务会被用来生成缩略图。", - "nativeThumbNailsGeneralObs": "对于华为云 OBS 存储,<0>图片处理服务会被用来生成缩略图。", - "nativeThumbNailsGeneralUpyun": "对于又拍云存储,<0>图片处理服务会被用来生成缩略图。", + "nativeThumbNailsGeneralOss": "对于阿里云 OSS 存储,<0>图片处理 服务会被用来生成缩略图。", + "nativeThumbNailsGeneralQiniu": "对于七牛云存储,<0>图片基本处理 (imageView2) 服务会被用来生成缩略图。", + "nativeThumbNailsGeneralCos": "对于腾讯云 COS 存储,<0>腾讯云数据万象 服务会被用来生成缩略图。", + "nativeThumbNailsGeneralObs": "对于华为云 OBS 存储,<0>图片处理 服务会被用来生成缩略图。", + "nativeThumbNailsGeneralUpyun": "对于又拍云存储,<0>图片处理 服务会被用来生成缩略图。", "preallocate": "预分配硬盘空间", "preallocateDes": "开启后,用户上传文件时会预先分配硬盘空间,同时也可支持并行分片上传。只在 Linux 或 Darwin 下有效。", "chunkConcurrency": "并行上传分片数", @@ -853,7 +853,7 @@ "uniqueVarRequired": "请在目录路径或文件名中至少包含一个唯一性变量:{uuid}、{randomkey8}、{randomkey16}。", "storageAndUpload": "存储与上传", "blobFolderNaming": "Blob 存储目录", - "blobFolderNamingDes": "文件 Blob 的存放目录,可以使用 <0>魔法变量 。", + "blobFolderNamingDes": "文件 Blob 的存放目录,可以使用 <0>魔法变量。", "blobName": "Blob 名称", "blobNameDes": "文件 Blob 的名称,可以使用 <0>魔法变量,需要确保为绝对唯一,即使在短时间内多次上传同一文件。", "basicInfo": "基本信息", @@ -939,8 +939,8 @@ "blobNameNoext": "无扩展名的文件 Blob 名称" }, "storageBucket": "存储空间", - "wanSiteURLDes": "在使用此存储策略前,请确保你在 参数设置 - 站点信息 - 站点URL 中填写的 地址与实际相符,并且 <0>能够被外网正常访问。", - "enterQiniuBucket": "前往 <0>七牛控制面板 创建对象存储资源。在填写你在七牛创建存储空间时指定的“存储空间名称”。", + "wanSiteURLDes": "在使用此存储策略前,请确保你在 参数设置 - 站点信息 - 站点 URL 中填写的地址与实际相符,并且 <0>能够被外网正常访问。", + "enterQiniuBucket": "前往 <0>七牛控制面板 创建对象存储资源。在填写你在七牛创建存储空间时指定的 “存储空间名称”。", "qiniuBucketName": "存储空间名称", "cosObsBucketName": "存储桶名称", "bucketType": "Bucket 读写权限", @@ -959,20 +959,20 @@ "qiniuCredentialDes": "在七牛控制面板进入 个人中心 - 密钥管理,填写获得到的 AK、SK。", "ak": "AK", "sk": "SK", - "cannotEnableForPrivateBucket": "私有空间开启外链功能后,还需要在用户组里设置开启“使用重定向的外链”,否则无法正常生成外链", - "chunkSizeLabelQiniu": "请指定分片上传时的分片大小,范围 1 MB - 1 GB。", + "cannotEnableForPrivateBucket": "私有空间开启外链功能后,还需要在用户组里设置开启 “使用重定向的外链”,否则无法正常生成外链", + "chunkSizeLabelQiniu": "请指定分片上传时的分片大小,范围 1 MB ~ 1 GB。", "corsSettingStep": "跨域策略", "corsPolicyAdded": "跨域策略已添加。", "createOSSBucketDes": "你可前往 <0>OSS 管理控制台 创建 Bucket。只支持 <1>标准存储 和 <2>低频访问 类型的 Bucket。", "bucketName": "Bucket 名称", "publicReadBucket": "公共读", - "ossEndpointDes": "转到所创建 Bucket 的概览页面,填写 <0>访问域名 栏目下 <1>外网访问 一行中间的 <2>EndPoint(地域节点)。", + "ossEndpointDes": "转到所创建 Bucket 的概览页面,填写 <0>访问域名 栏目下 <1>外网访问 一行中间的 <2>EndPoint (地域节点)。", "ossEndpointDesInternalHint": "如需配置内网或自定义域名 Endpoint,可在创建存储策略后设置。", "obsEndpointCnameHint": "如需配置自定义域名 Endpoint,可在创建存储策略后设置。", "endpoint": "EndPoint", - "ossLANEndpointDes": "留空为不使用。如果你的 Cloudreve 部署在阿里云计算服务中,并且与 OSS 处在同一可用区下,你可以额外指定使用内网 EndPoint 以节省流量开支, Cloudreve 会在条件满足时切换到内网 EndPoint 发送请求。", + "ossLANEndpointDes": "留空为不使用。如果你的 Cloudreve 部署在阿里云计算服务中,并且与 OSS 处在同一可用区下,你可以额外指定使用内网 EndPoint 以节省流量开支,Cloudreve 会在条件满足时切换到内网 EndPoint 发送请求。", "intranetEndPoint": "内网 EndPoint", - "ossCDNDes": "是否要使用配套的 阿里云CDN 加速 OSS 访问?", + "ossCDNDes": "是否要使用配套的阿里云 CDN 加速 OSS 访问?", "createOSSCDNDes": "前往 <0>阿里云 CDN 管理控制台 创建 CDN 加速域名,并设定源站为刚创建的 OSS Bucket。在下方填写 CDN 加速域名,并选择是否使用 HTTPS:", "ossAKDes": "在阿里云 <0>安全信息管理 页面获取 AccessKey。你也可以在 <1>RAM 访问控制 中创建拥有 <2>AliyunOSSFullAccess 权限的 AccessKey。", "shouldNotContainSpace": "不能含有空格", @@ -995,25 +995,25 @@ "obsBucketDes": "前往 <0>OBS 管理控制台 创建存储桶,将 <1>桶名称 填写到上方。存储桶类别只支持 <2>标准存储 或 <3>低频访问存储。", "cosPrivateRW": "私有读写", "cosPublicRW": "公共读私有写", - "cosAccessDomainDes": "在所创建 Bucket 的概况页面,填写 <0>域名信息 栏目下 给出的 <1>访问域名。你也可以使用自己绑定的源站域名或 CDN 加速域名。", - "obsEndpointDes": "在所创建存储桶的概览页面,填写 <0>域名信息 栏目下 给出的 <1>Endpoint(终端节点)。", + "cosAccessDomainDes": "在所创建 Bucket 的概况页面,填写 <0>域名信息 栏目下给出的 <1>访问域名。你也可以使用自己绑定的源站域名或 CDN 加速域名。", + "obsEndpointDes": "在所创建存储桶的概览页面,填写 <0>域名信息 栏目下给出的 <1>Endpoint (终端节点)。", "accessDomain": "访问域名", "cosCDNDomainDes": "前往 <0>腾讯云 CDN 管理控制台 创建 CDN 加速域名,并设定源站为刚创建的 COS 存储桶。在下方填写 CDN 加速域名,并选择是否使用 HTTPS:", - "cosCredentialDes": "填写在腾讯云 <0>访问密钥 页面获取一对访问密钥。请确保这对密钥拥有 COS 服务的访问权限。你也可以创建带有 <1>编程访问 能力的<2>子用户,为其赋予 COS 服务的访问权限。", - "obsCredentialDes": "填写在华为云 <0>访问密钥 页面获取一对访问密钥。你也可以创建带有 <1>编程访问 能力的<2>IAM 用户,为其赋予 <3>OBS OperateAccess 权限。", + "cosCredentialDes": "填写在腾讯云 <0>访问密钥 页面获取一对访问密钥。请确保这对密钥拥有 COS 服务的访问权限。你也可以创建带有 <1>编程访问 能力的 <2>子用户,为其赋予 COS 服务的访问权限。", + "obsCredentialDes": "填写在华为云 <0>访问密钥 页面获取一对访问密钥。你也可以创建带有 <1>编程访问 能力的 <2>IAM 用户,为其赋予 <3>OBS OperateAccess 权限。", "grantAccess": "账号授权", "grantAccessLater": "点击下方按钮创建存储策略后,还需要在存储策略设置页面进行账号授权。", - "odHttpsWarning": "你必须启用 HTTPS 才能使用 OneDrive/SharePoint 存储策略;启用后同步更改 参数设置 - 站点信息 - 站点URL。", - "creatAadAppDes": "前往 <0>Microsoft Entra ID 控制台 并登录,登录后进入<1>Microsoft Entra ID 管理面板,这里登录使用的账号和最终存储使用的 OneDrive 所属账号可以不同。", - "createAadAppDes2": "进入左侧 <0>应用注册 菜单,并点击 <1>新注册 按钮。填写应用注册表单。其中,名称可任取;<2>受支持的帐户类型 选择为 <3>任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox);<4>重定向 URI (可选) 请选择 <5>Web,并填写 <6>{{url}}; 其他保持默认即可。", - "aadAppIDDes": "进入应用管理的 <0>概览 页面,看到的 <1>应用程序(客户端) ID 的值。", + "odHttpsWarning": "你必须启用 HTTPS 才能使用 OneDrive/SharePoint 存储策略;启用后同步更改 参数设置 - 站点信息 - 站点 URL。", + "creatAadAppDes": "前往 <0>Microsoft Entra ID 控制台 并登录,登录后进入 <1>Microsoft Entra ID 管理面板,这里登录使用的账号和最终存储使用的 OneDrive 所属账号可以不同。", + "createAadAppDes2": "进入左侧 <0>应用注册 菜单,并点击 <1>新注册 按钮。填写应用注册表单。其中,名称可任取;<2>受支持的帐户类型 选择为 <3>任何组织目录 (任何 Azure AD 目录 - 多租户) 中的帐户和个人 Microsoft 帐户 (例如,Skype、Xbox);<4>重定向 URI (可选) 请选择 <5>Web,并填写 <6>{{url}}; 其他保持默认即可。", + "aadAppIDDes": "进入应用管理的 <0>概览 页面,看到的 <1>应用程序 (客户端) ID 的值。", "entraIdApp": "Entra ID 应用信息", - "aadAppID": "应用程序(客户端) ID", + "aadAppID": "应用程序 (客户端) ID", "addAppSecretDes": "客户端密码的创建方式:进入应用管理页面左侧的 <0>证书和密码 菜单,点击 <1>新建客户端密码 按钮,<2>截止期限 选择为最长时间。客户端密码过期后,需要重新创建并将其填入存储策略设置中。", "aadAppSecret": "客户端密码", "aadAccountCloud": "Microsoft Graph 端点", "aadAccountCloudDes": "请根据你使用的 Microsoft 365 账号类型选择对应的端点。", - "multiTenant": "公有(国际版)", + "multiTenant": "公有 (国际版)", "gallatin": "世纪互联", "sharePointDes": "是否将文件存放在 SharePoint 中?", "saveToOneDrive": "存到账号默认 OneDrive 驱动器中", @@ -1029,7 +1029,7 @@ "odOauthDes": "但是你需要点击下方按钮,并使用 OneDrive 登录授权以完成初始化后才能使用。日后你可以在存储策略列表页面重新进行授权。", "gotoAuthPage": "转到授权页面", "s3BucketDes": "前往 AWS S3 控制台创建存储桶,在下方填写你创建存储桶时指定的 <0>Bucket 名称:", - "s3EndpointDes": "指定存储桶的 EndPoint(地域节点),填写为完整的 URL 格式,比如 <0>https://bucket.region.example.com。", + "s3EndpointDes": "指定存储桶的 EndPoint (地域节点),填写为完整的 URL 格式,比如 <0>https://bucket.region.example.com。", "selectRegionDes": "输入存储桶所在的区域代码,如 <0>us-east-1。对于非 AWS 的 S3 兼容存储提供商,请在其文档中查找如何填写此项。", "chunkSizeLabelS3": "请指定分片上传时的分片大小,范围 5 MB ~ 5 GB。", "policyEndpoint": "Endpoint", @@ -1037,9 +1037,9 @@ "s3EndpointPathStyle": "选择是否强制使用路径格式 Endpoint。某些第三方 S3 兼容存储可能需要勾选此选项。开启后,将会强制使用路径格式地址,比如 <0>http://s3.amazonaws.com/BUCKET/KEY。", "usePathEndpoint": "强制路径格式 Endpoint", "thumbExt": "可生成缩略图的文件扩展名", - "thumbExtDes": "留空表示使用存储策略预定义集合。对本机、S3存储策略无效", + "thumbExtDes": "留空表示使用存储策略预定义集合。对本机、S3存储策略无效。", "driverRoot": "驱动器根目录", - "driverRootDes": "选择在 OneDrive 账户中保存文件的位置。更改此选项会导致存储策略中已有文件无法访问。", + "driverRootDes": "选择在 OneDrive 账号中保存文件的位置。更改此选项会导致存储策略中已有文件无法访问。", "saveToDefaultOneDrive": "保存文件到默认 OneDrive 驱动器", "saveToSharePoint": "保存文件到 SharePoint", "sharePointUrlDes": "输入 SharePoint 站点 URL。失去焦点后,系统将自动转换为正确的驱动器标识。", @@ -1077,15 +1077,15 @@ "extractArchiveDes": "接受解压文件的任务请求。", "remoteDownloadDes": "接受离线下载的任务请求。启用后还需要在下方配置离线下载相关信息。", "downloader": "下载器", - "aria2Des": "请在目标节点服务器上以和运行 Cloudreve 相同的用户/权限启动 Aria2, 并在 Aria2 的配置文件中开启 RPC 服务,更多信息及指引请参考文档的“离线下载”章节。", - "qbittorrentDes": "请在目标节点服务器上以和运行 Cloudreve 相同的用户/权限启动 qBittorrent, 并在 qBittorrent 的设置中开启“Web UI”服务,更多信息及指引请参考文档的“离线下载”章节。", + "aria2Des": "请在目标节点服务器上以和运行 Cloudreve 相同的用户/权限启动 Aria2,并在 Aria2 的配置文件中开启 RPC 服务,更多信息及指引请参考文档的 “离线下载” 章节。", + "qbittorrentDes": "请在目标节点服务器上以和运行 Cloudreve 相同的用户/权限启动 qBittorrent, 并在 qBittorrent 的设置中开启 “Web UI” 服务,更多信息及指引请参考文档的 “离线下载” 章节。", "rpcServer": "RPC 服务器地址", "rpcServerHelpDes": "包含端口的完整 RPC 服务器地址,例如:<0>http://127.0.0.1:6800/。", "rpcToken": "RPC 授权令牌", "rpcTokenDes": "与 Aria2 配置文件中 <0>rpc-secret 保持一致,未设置请留空。", - "downloaderOptionDes": "在创建下载任务时额外携带的下载器配置,以 JSON 键值对格式书写,具体可参考<0>下载器官方文档。", + "downloaderOptionDes": "在创建下载任务时额外携带的下载器配置,以 JSON 键值对格式书写,具体可参考 <0>下载器官方文档。", "refreshInterval": "状态刷新间隔 (秒)", - "refreshIntervalDes": "Cloudreve 向下载器请求刷新任务状态的间隔,实际刷新间隔也取决于“离线下载”队列的配置和繁忙程度。", + "refreshIntervalDes": "Cloudreve 向下载器请求刷新任务状态的间隔,实际刷新间隔也取决于 “离线下载” 队列的配置和繁忙程度。", "waitForSeeding": "等待做种完成", "waitForSeedingDes": "启用后,当离线下载任务完成后,会保留此任务在做种状态,直到在下载器配置的做种结束条件满足。等待做种发生在离线下载任务完成后,不会影响用户使用下载的文件。", "webUIEndpoint": "Web UI 地址", @@ -1127,7 +1127,7 @@ "nameOfGroupDes": "用户组的名称,用于向用户展示。", "availablePolicies": "可用存储策略", "availablePoliciesDes": "指定用户组可用的存储策略,修改此设置不会影响用户已上传的文件。", - "availablePolicyDesPro": "可多选,用户可在选定范围内自由切换存储策略.", + "availablePolicyDesPro": "可多选,用户可在选定范围内自由切换存储策略。", "initialStorageQuota": "初始容量", "initialStorageQuotaDes": "用户组下的用户初始可用最大容量。", "isAdmin": "管理员用户组", @@ -1151,7 +1151,7 @@ "allowRemoteDownload": "离线下载", "allowRemoteDownloadDes": "是否允许用户创建离线下载任务。如需使用离线下载,还需要在 <0>节点列表 中有开启离线下载功能的节点。", "aria2Options": "下载器任务参数", - "aria2OptionsDes": "qBittorrent 或 Aria2 下载器的任务额外配置参数,以 JSON 编码后的键-值格式书写,可用参数请查阅官方文档。", + "aria2OptionsDes": "qBittorrent 或 Aria2 下载器的任务额外配置参数,以 JSON 键值对格式书写,可用参数请查阅官方文档。", "aria2BatchSize": "批量离线下载最大数量", "aria2BatchSizeDes": "批量创建离线下载时的最大数量,填写为 0 表示不限制。", "migratePolicy": "存储策略转移", @@ -1164,16 +1164,16 @@ "allowedNodesDes": "指定用户组可用的任务处理节点,留空表示全部节点都可用。用户只能在此列表内选择或被负载均衡分配节点。目前覆盖的任务范围是:离线下载、文件压缩或解压缩。其他任务会分配给主机处理。", "allNodes": "所有节点", "esclateAnonymity": "提升匿名用户权限", - "esclateAnonymityDes": "开启后,用户可以为匿名用户设置更高权限(修改/创建/删除);关闭后,用户最高只能赋予匿名用户只读权限。更改此设置不会影响已设置的分享链接或文件。", + "esclateAnonymityDes": "开启后,用户可以为匿名用户设置更高权限 (修改/创建/删除);关闭后,用户最高只能赋予匿名用户只读权限。更改此设置不会影响已设置的分享链接或文件。", "allowDownloadShare": "访问分享链接", "allowDownloadShareDes": "关闭后,用户无法查看别人的分享链接。此项设置优先级高于分享链接的权限设置。", "deletedNode": "已删除节点 #{{id}}", "maxWalkedFiles": "最大遍历文件数", "maxWalkedFilesDes": "在某些需要深层遍历文件的操作中,最大允许遍历的文件数。", - "trashBinDuration": "回收站保留时间(秒)", + "trashBinDuration": "回收站保留时间 (秒)", "trashBinDurationDes": "回收站中文件的保留时长,超期后文件将被彻底删除。更改此设置不会影响已经在回收站中的文件。", "serverSideBatchDownload": "服务端打包下载", - "serverSideBatchDownloadDes": "是否允许用户多选文件使用服务端中转打包下载,关闭后,用户仍然可以使用纯 Web 端打包下载功能。", + "serverSideBatchDownloadDes": "是否允许用户多选文件使用服务端中转打包下载,关闭后,用户仍然可以使用纯 Web 端打包下载功能。", "uploadDownload": "上传和下载", "getDirectLink": "获取直链", "getDirectLinkDes": "是否允许用户获取文件的直链。", @@ -1187,9 +1187,9 @@ "downloadSpeedLimitDes": "填写为 0 表示不限制。开启限制后,用户下载所有支持限速的存储策略下的文件时,下载最大速度会被限制。", "anonymousHint": "此用户组对应着未登录的匿名访客。", "create": "新建", - "copyFromExisting": "从现有用户组复制?", + "copyFromExisting": "从现有用户组复制?", "notCopy": "不复制", - "confirmDelete": "确认要删除用户组 {{group}}?", + "confirmDelete": "确认要删除用户组 {{group}}?", "new": "新建用户组", "editGroup": "编辑 {{group}}" }, @@ -1236,7 +1236,7 @@ "notEnabled": "未启用", "reset2Fa": "关闭", "reset": "重置", - "confirmDelete": "确认要删除用户 {{user}}?", + "confirmDelete": "确认要删除用户 {{user}}?", "deleteXUsers": "删除 {{num}} 个用户", "confirmBatchDelete": "确认要删除 {{num}} 个用户?", "calibrateStorage": "校准存储空间", @@ -1245,7 +1245,7 @@ "file": { "deleteXFiles": "删除 {{num}} 个文件", "confirmBatchDelete": "确定要删除 {{num}} 个文件?", - "confirmDelete": "确认要删除文件 {{file}}?", + "confirmDelete": "确认要删除文件 {{file}}?", "haveShares": "拥有分享链接", "haveDirectLinks": "拥有中转直链", "directLinkId": "链接标识", @@ -1281,7 +1281,7 @@ "searchFileName": "搜索文件名", "storagePolicy": "存储策略", "selectTargetUser": "请先选择目标用户", - "importTaskCreated": "导入任务已创建,你可以在“后台任务”中查看执行情况", + "importTaskCreated": "导入任务已创建,你可以在 “后台任务” 中查看执行情况", "manuallyPathOnly": "选择的存储策略只支持手动输入路径", "selectFolder": "选择目录", "import": "导入", @@ -1298,7 +1298,7 @@ "recursivelyImport": "递归导入子目录", "recursivelyImportDes": "是否将目录下的所有子目录递归导入。", "createImportTask": "创建导入任务", - "unlink": "解除关联(保留物理文件)", + "unlink": "解除关联 (保留物理文件)", "searchUser": "搜索用户昵称或邮箱...", "extractMediaMeta": "提取媒体信息", "extractMediaMetaDes": "是否在导入文件的同时尝试提取每个文件的媒体信息。", @@ -1319,7 +1319,7 @@ "entityDialogTitle": "Blob 详情", "uploadSessionID": "上传会话 ID", "referredFiles": "关联文件", - "confirmBatchDelete": "确认要删除 {{num}} 个 Blob?", + "confirmBatchDelete": "确认要删除 {{num}} 个 Blob?", "deleteXEntities": "删除 {{num}} 个 Blob", "forceDelete": "强制删除", "forceDeleteDes": "无论物理文件是否删除成功,都会删除 Blob 记录。" @@ -1331,7 +1331,6 @@ "cleanupNotAfter": "在此日期之前", "cleanupEventTypes": "事件类型", "cleanupEventTypesDes": "选择要清理的事件类型,留空表示清理所有类型。", - "allEventTypes": "所有事件类型", "initiator": "发起者", "event": "事件", "userID": "用户 ID", @@ -1341,11 +1340,11 @@ "fileID": "文件 ID", "emailSend": "发送邮件 “{{title}}” 到 {{email}}", "emailFailed": "邮件队列启动失败", - "signinFailed": "登录失败: {{reason}}", - "createDavAccount": "创建 WebDAV 账户: {{account}}", - "updateDavAccount": "更新 WebDAV 账户: {{account}}", - "deleteDavAccount": "删除 WebDAV 账户: {{account}}", - "pointsChange": "积分变化: {{points}}", + "signinFailed": "登录失败:{{reason}}", + "createDavAccount": "创建 WebDAV 账号:{{account}}", + "updateDavAccount": "更新 WebDAV 账号:{{account}}", + "deleteDavAccount": "删除 WebDAV 账号:{{account}}", + "pointsChange": "积分变化:{{points}}", "storageAdded": "购买了 {{size}} 容量", "nickChange": "昵称从 {{old}} 改为 {{new}}", "eventDialogTitle": "事件详情", @@ -1356,13 +1355,13 @@ "linkedEntity": "关联 Blob", "linkedShare": "关联分享", "rawContent": "原始记录", - "confirmDelete": "确认要删除这个事件?", + "confirmDelete": "确认要删除此事件?", "deleteXEvents": "删除 {{num}} 个事件", - "confirmBatchDelete": "确认要删除 {{num}} 个事件?" + "confirmBatchDelete": "确认要删除 {{num}} 个事件?" }, "share": { - "confirmBatchDelete": "确认要删除 {{num}} 个分享?", - "confirmDelete": "确认要删除这个分享?", + "confirmBatchDelete": "确认要删除 {{num}} 个分享?", + "confirmDelete": "确认要删除此分享?", "deleteXShares": "删除 {{num}} 个分享", "shareDialogTitle": "分享详情", "shareLink": "分享链接", @@ -1391,15 +1390,15 @@ "cleanupTaskTypesDes": "选择要清理的任务类型,留空表示清理所有类型。", "cleanupTaskStatuses": "任务状态", "cleanupTaskStatusesDes": "选择要清理的任务状态,留空表示清理所有已完成状态的任务。", - "confirmDelete": "确认要删除这个任务?", - "confirmBatchDelete": "确认要删除 {{num}} 个任务?", + "confirmDelete": "确认要删除此任务?", + "confirmBatchDelete": "确认要删除 {{num}} 个任务?", "deleteXTasks": "删除 {{num}} 个任务", "blobID": "Blob ID", "retryIndex": "重试序号", "entityError": "回收失败的 Blob", "updatedAt": "更新于", "taskDialogTitle": "任务详情", - "explicitEntityRecycle": "显式回收文件 Blob: {{blobs}}", + "explicitEntityRecycle": "显式回收文件 Blob:{{blobs}}", "entityRecycleRoutine": "定时扫描回收文件 Blob", "mediaMetadata": "提取 Blob <0>#{{entityID}} 的媒体信息", "uploadSentinelCheck": "检查上传会话 {{uploadSessionID}} 状态", @@ -1467,7 +1466,7 @@ "vas": { "disableSubAddressEmail": "禁用子地址邮箱", "disableSubAddressEmailDes": "开启后,包含加号 <0>+ 的邮箱地址无法注册账户。", - "confirmDelete": "确认要删除这些订单?", + "confirmDelete": "确认要删除这些订单?", "vas": "增值服务", "reports": "举报", "orders": "订单", @@ -1479,7 +1478,7 @@ "filterEmailProviderBlacklist": "黑名单", "filterEmailProviderDes": "只允许使用特定的邮箱注册站点,第三方 SSO 登录不受此限制。", "filterEmailProviderRule": "邮箱域过滤规则", - "filterEmailProviderRuleDes": "多个域请使用半角逗号隔开。", + "filterEmailProviderRuleDes": "多个域请使用半角逗号 , 隔开。", "qqConnect": "QQ 互联", "qqConnectHint": "在 <0>QQ 互联开放平台 创建应用时,回调地址请填写:{{url}}。", "enableQQConnect": "开启 QQ 互联", @@ -1491,7 +1490,7 @@ "appKey": "APP KEY", "appKeyDes": "应用管理页面获取到的 APP KEY。", "overuseReminder": "超额提醒", - "overuseReminderDes": "用户因增值服务过期,容量超出限制后发送的提醒邮件模板", + "overuseReminderDes": "用户因增值服务过期,容量超出限制后发送的提醒邮件模板。", "vasSetting": "支付/杂项设置", "storagePack": "容量包", "purchasableGroups": "可购用户组", @@ -1517,7 +1516,7 @@ "payjs": "PAYJS 微信支付", "payjsWarning": "此服务由第三方平台 <0>PAYJS 提供,产生的任何纠纷与 Cloudreve 开发者无关。", "mcNumber": "商户号", - "mcNumberDes": "可在 PAYJS 管理面板首页看到", + "mcNumberDes": "可在 PAYJS 管理面板首页看到。", "communicationSecret": "通信密钥", "otherSettings": "杂项设置", "banBufferPeriod": "封禁缓冲期 (秒)", @@ -1548,31 +1547,31 @@ "generatingResult": "生成结果", "addStoragePack": "添加容量包", "editStoragePack": "编辑容量包", - "productNameDes": "商品展示名称", - "packSizeDes": "容量包的大小", + "productNameDes": "商品展示名称。", + "packSizeDes": "容量包的大小。", "durationDay": "有效期 (天)", - "durationDayDes": "每个容量包的有效期", + "durationDayDes": "每个容量包的有效期。", "priceYuan": "单价 (元)", - "packPriceDes": "容量包的单价", + "packPriceDes": "容量包的单价。", "priceCredits": "单价 (积分)", - "priceCreditsDes": "使用积分购买时的价格,填写为 0 表示不能使用积分购买", + "priceCreditsDes": "使用积分购买时的价格,填写为 0 表示不能使用积分购买。", "editMembership": "编辑可购用户组", "addMembership": "添加可购用户组", "group": "用户组", - "groupDes": "购买后升级的用户组", - "durationGroupDes": "购买后升级的用户组单位购买时间的有效期", - "groupPriceDes": "用户组的单价", + "groupDes": "购买后升级的用户组。", + "durationGroupDes": "购买后升级的用户组单位购买时间的有效期。", + "groupPriceDes": "用户组的单价。", "productDescription": "商品描述 (一行一个)", - "productDescriptionDes": "购买页面展示的商品描述", - "highlightDes": "开启后,在商品选择页面会被突出展示", + "productDescriptionDes": "购买页面展示的商品描述。", + "highlightDes": "开启后,在商品选择页面会被突出展示。", "generateGiftCode": "生成兑换码", "numberOfCodes": "生成数量", - "numberOfCodesDes": "激活码批量生成数量", + "numberOfCodesDes": "激活码批量生成数量。", "linkedProduct": "对应商品", "productQyt": "商品数量", - "productQytDes": "对于积分类商品,此处为积分数量,其他商品为时长倍数", + "productQytDes": "对于积分类商品,此处为积分数量,其他商品为时长倍数。", "freeDownload": "免积分下载分享", - "freeDownloadDes": "开启后,用户可以免费下载需付积分的分享", + "freeDownloadDes": "开启后,用户可以免费下载需付积分的分享。", "credits": "积分", "markSuccessful": "标记成功", "markAsResolved": "标记为已处理", diff --git a/public/locales/zh-CN/image_editor.json b/public/locales/zh-CN/image_editor.json index 1aba4c68..a9b2e1c1 100644 --- a/public/locales/zh-CN/image_editor.json +++ b/public/locales/zh-CN/image_editor.json @@ -5,7 +5,7 @@ "back": "后退", "loading": "加载中...", "resetOperations": "重置/删除所有操作", - "changesLoseWarningHint": "如果您按下“重置”按钮,您的更改将丢失。确定要继续吗?", + "changesLoseWarningHint": "如果您按下 “重置” 按钮,您的更改将丢失。确定要继续吗?", "discardChangesWarningHint": "如果关闭窗口,您的最后更改将不会被保存。", "cancel": "取消", "apply": "应用", @@ -65,8 +65,8 @@ "sides": "侧面", "rectangleTool": "长方形", "cornerRadius": "拐角半径", - "resizeWidthTitle": "宽度(以像素为单位)", - "resizeHeightTitle": "高度(以像素为单位)", + "resizeWidthTitle": "宽度 (以像素为单位)", + "resizeHeightTitle": "高度 (以像素为单位)", "toggleRatioLockTitle": "切换比率锁定", "resetSize": "重置为原始图像大小", "rotateTool": "旋转", @@ -98,9 +98,9 @@ "format": "格式", "nameIsRequired": "文件名为必填项。", "quality": "质量", - "imageDimensionsHoverTitle": "保存的图像尺寸(宽x高)", + "imageDimensionsHoverTitle": "保存的图像尺寸 (宽x高)", "cropSizeLowerThanResizedWarning": "请注意,所选的裁剪区域低于应用的调整大小,这可能会导致质量下降", - "actualSize": "实际尺寸(100%)", + "actualSize": "实际尺寸 (100%)", "fitSize": "适合尺寸", "addImageTitle": "选择要添加的图像...", "mutualizedFailedToLoadImg": "加载图像失败。", diff --git a/public/locales/zh-CN/markdown_editor.json b/public/locales/zh-CN/markdown_editor.json index 9d15f98e..eecce74a 100644 --- a/public/locales/zh-CN/markdown_editor.json +++ b/public/locales/zh-CN/markdown_editor.json @@ -12,7 +12,7 @@ "uploadImage": { "dialogTitle": "上传图片", "uploadInstructions": "从您的设备中上传图片:", - "addViaUrlInstructions": "或填写图片 URL / 相对路径(相对于当前文件):", + "addViaUrlInstructions": "或填写图片 URL / 相对路径 (相对于当前文件):", "autoCompletePlaceholder": "选择或粘贴图片 URL", "addViaUrlInstructionsNoUpload": "图片 URL:", "alt": "替代文本:", diff --git a/public/locales/zh-TW/application.json b/public/locales/zh-TW/application.json index 91713de5..f5b8bf25 100644 --- a/public/locales/zh-TW/application.json +++ b/public/locales/zh-TW/application.json @@ -18,7 +18,7 @@ "email": "電子郵箱", "password": "密碼", "captcha": "驗證碼", - "captchaError": "驗證碼載入失敗: {{message}}", + "captchaError": "驗證碼載入失敗:", "signIn": "登入", "signUp": "注冊", "signUpAccount": "注冊賬號", diff --git a/src/api/api.ts b/src/api/api.ts index 4a8e07bf..33633b37 100644 --- a/src/api/api.ts +++ b/src/api/api.ts @@ -157,7 +157,7 @@ export function getCaptcha(): ThunkResponse { { ...defaultOpts, noCredential: true, - errorSnackbarMsg: (e) => i18n.t("captchaError", { ns: "common" }) + e.message, + errorSnackbarMsg: (e) => i18n.t("login.captchaError", { ns: "application" }) + e.message, }, ), ); diff --git a/src/component/Admin/File/FileDialog/FileMetadata.tsx b/src/component/Admin/File/FileDialog/FileMetadata.tsx index b51f625b..ac7cf989 100644 --- a/src/component/Admin/File/FileDialog/FileMetadata.tsx +++ b/src/component/Admin/File/FileDialog/FileMetadata.tsx @@ -54,7 +54,7 @@ const FileMetadata = () => { - {t("file.name")} + {t("file.key")} {t("file.value")} {t("file.isPublic")} {t("group.#")} diff --git a/src/component/Admin/Settings/Settings.tsx b/src/component/Admin/Settings/Settings.tsx index 96293005..e2ede94b 100644 --- a/src/component/Admin/Settings/Settings.tsx +++ b/src/component/Admin/Settings/Settings.tsx @@ -243,6 +243,7 @@ const Settings = () => { "thumb_ffmpeg_max_size", "thumb_ffmpeg_exts", "thumb_ffmpeg_seek", + "thumb_ffmpeg_extra_args", "thumb_libreoffice_path", "thumb_libreoffice_max_size", "thumb_libreoffice_enabled", diff --git a/src/component/FileManager/Dialogs/LockConflictDetails.tsx b/src/component/FileManager/Dialogs/LockConflictDetails.tsx index 1f9c07ab..e5a0e676 100644 --- a/src/component/FileManager/Dialogs/LockConflictDetails.tsx +++ b/src/component/FileManager/Dialogs/LockConflictDetails.tsx @@ -77,7 +77,7 @@ const ErrorTable = (props: ErrorTableProps) => { {conflict.owner?.application && } - +