diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 8aeec94..cb5313c 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -71,77 +71,77 @@ export default { }, settings: { title: 'System Settings', - basicSettings: 'Basic Settings', - websiteInfo: 'Website Basic Information', - websiteName: 'Website Name', - websiteDescription: 'Website Description', + basicSettings: 'General', + websiteInfo: 'Site Information', + websiteName: 'Site Name', + websiteDescription: 'Site Description', siteName: 'Site Name', adminPassword: 'Admin Password', - passwordPlaceholder: 'Leave blank to keep current password', - passwordNote: 'Leave blank to keep unchanged', - keywords: 'Keywords', - themeSelection: 'Theme Selection', - robotsFile: 'Robots.txt', - notificationSettings: 'Notification Settings', - notificationTitle: 'Notification Title', - notificationContent: 'Notification Content', - storageSettings: 'Storage Settings', + passwordPlaceholder: 'Enter new password to change', + passwordNote: 'Leave empty to keep current', + keywords: 'SEO Keywords', + themeSelection: 'Theme', + robotsFile: 'Robots.txt Configuration', + notificationSettings: 'Notifications', + notificationTitle: 'Announcement Title', + notificationContent: 'Announcement Content', + storageSettings: 'Storage', storagePath: 'Storage Path', - storagePathPlaceholder: 'Leave blank to use default path, optional', - storageMethod: 'Storage Method', + storagePathPlaceholder: 'Leave empty for default path', + storageMethod: 'Storage Type', localStorage: 'Local Storage', - s3Storage: 'S3 Storage', - webdavStorage: 'Webdav Storage', - chunkUploadNote: 'Enable chunk upload (experimental feature, may have unknown issues)', - s3AccessKeyId: 'S3 AccessKeyId', - s3SecretAccessKey: 'S3 SecretAccessKey', - s3BucketName: 'S3 BucketName', - s3EndpointUrl: 'S3 EndpointUrl', - s3RegionName: 'S3 Region Name', - s3SignatureVersion: 'S3 Signature Version', - s3Hostname: 'S3 Hostname', + s3Storage: 'S3 Object Storage', + webdavStorage: 'WebDAV Storage', + chunkUploadNote: 'Chunked Upload (experimental, better for large files)', + s3AccessKeyId: 'Access Key ID', + s3SecretAccessKey: 'Secret Access Key', + s3BucketName: 'Bucket Name', + s3EndpointUrl: 'Endpoint URL', + s3RegionName: 'Region Name', + s3SignatureVersion: 'Signature Version', + s3Hostname: 'Custom Domain', s3v2: 'S3v2', s3v4: 'S3v4', - autoPlaceholder: 'auto', + autoPlaceholder: 'Auto-detect', enabled: 'Enabled', disabled: 'Disabled', - webdavUrl: 'Please enter Webdav URL', - webdavUsername: 'Please enter Webdav Username', - webdavPassword: 'Please enter Webdav Password', - webdavUrlPlaceholder: 'Please enter Webdav URL', - webdavUsernamePlaceholder: 'Please enter Webdav Username', - webdavPasswordPlaceholder: 'Please enter Webdav Password', - enableProxy: 'Enable Proxy', - uploadLimits: 'Upload Limits', - uploadRateLimit: 'Upload Rate Limit', - uploadPerMinute: 'Upload Per Minute', - minute: 'minute', - uploadCountLimit: 'Upload Count Limit', + webdavUrl: 'Enter WebDAV server URL', + webdavUsername: 'Enter WebDAV username', + webdavPassword: 'Enter WebDAV password', + webdavUrlPlaceholder: 'Enter WebDAV server URL', + webdavUsernamePlaceholder: 'Enter WebDAV username', + webdavPasswordPlaceholder: 'Enter WebDAV password', + enableProxy: 'Enable Download Proxy', + uploadLimits: 'Upload Settings', + uploadRateLimit: 'Time Window (limit uploads within this period)', + uploadPerMinute: 'Time Window (limit uploads within this period)', + minute: 'min', + uploadCountLimit: 'Max Files Allowed (within the time window)', files: 'files', - fileSizeLimit: 'File Size Limit', - expirationMethod: 'Expiration Method', - expirationType: 'Expiration Type', + fileSizeLimit: 'Max File Size', + expirationMethod: 'Expiration Options', + expirationType: 'Expiration Options', expiration: { - day: 'By Day', - hour: 'By Hour', - minute: 'By Minute', - forever: 'Forever', - count: 'By Count' + day: 'Days', + hour: 'Hours', + minute: 'Minutes', + forever: 'Never Expire', + count: 'Download Count' }, - maxSaveTime: 'Maximum Save Time', + maxSaveTime: 'Max Retention Period', timeUnits: { - second: 'second', - minute: 'minute', - hour: 'hour', + second: 'sec', + minute: 'min', + hour: 'hr', day: 'day' }, - guestUpload: 'Guest Upload', - errorLimits: 'Error Limits', - errorRateLimit: 'Error Rate Limit', - errorPerMinute: 'Error Per Minute', - errorCountLimit: 'Error Count Limit', + guestUpload: 'Allow Guest Uploads', + errorLimits: 'Access Protection', + errorRateLimit: 'Detection Window (count errors within this period)', + errorPerMinute: 'Detection Window (count errors within this period)', + errorCountLimit: 'Max Errors Allowed (block after exceeding)', times: 'times', - saveChanges: 'Save Changes', + saveChanges: 'Save Settings', fileSizeUnits: { kb: 'KB', mb: 'MB', @@ -314,137 +314,137 @@ export default { manage: { settings: { title: 'System Settings', - basicSettings: 'Basic Settings', - websiteInfo: 'Website Basic Information', - websiteName: 'Website Name', - websiteDescription: 'Website Description', + basicSettings: 'General', + websiteInfo: 'Site Information', + websiteName: 'Site Name', + websiteDescription: 'Site Description', siteName: 'Site Name', adminPassword: 'Admin Password', - passwordPlaceholder: 'Leave blank to keep current password', - passwordNote: 'Leave blank to keep unchanged', - keywords: 'Keywords', - themeSelection: 'Theme Selection', - notificationSettings: 'Notification Settings', - notificationTitle: 'Notification Title', - notificationContent: 'Notification Content', - storageSettings: 'Storage Settings', + passwordPlaceholder: 'Enter new password to change', + passwordNote: 'Leave empty to keep current', + keywords: 'SEO Keywords', + themeSelection: 'Theme', + notificationSettings: 'Notifications', + notificationTitle: 'Announcement Title', + notificationContent: 'Announcement Content', + storageSettings: 'Storage', storagePath: 'Storage Path', - storagePathPlaceholder: 'Leave blank to use default path, optional', - storageMethod: 'Storage Method', + storagePathPlaceholder: 'Leave empty for default path', + storageMethod: 'Storage Type', localStorage: 'Local Storage', - s3Storage: 'S3 Storage', - webdavStorage: 'Webdav Storage', - chunkUploadNote: 'Enable chunk upload (experimental feature, may have unknown issues)', + s3Storage: 'S3 Object Storage', + webdavStorage: 'WebDAV Storage', + chunkUploadNote: 'Chunked Upload (experimental, better for large files)', enabled: 'Enabled', disabled: 'Disabled', - webdavUrl: 'Please enter Webdav URL', - webdavUsername: 'Please enter Webdav Username', - webdavPassword: 'Please enter Webdav Password', - webdavUrlPlaceholder: 'Please enter Webdav URL', - webdavUsernamePlaceholder: 'Please enter Webdav Username', - webdavPasswordPlaceholder: 'Please enter Webdav Password', - enableProxy: 'Enable Proxy', - uploadLimits: 'Upload Limits', - uploadRateLimit: 'Upload Rate Limit', - uploadPerMinute: 'Upload Per Minute', - minute: 'minute', - uploadCountLimit: 'Upload Count Limit', + webdavUrl: 'Enter WebDAV server URL', + webdavUsername: 'Enter WebDAV username', + webdavPassword: 'Enter WebDAV password', + webdavUrlPlaceholder: 'Enter WebDAV server URL', + webdavUsernamePlaceholder: 'Enter WebDAV username', + webdavPasswordPlaceholder: 'Enter WebDAV password', + enableProxy: 'Enable Download Proxy', + uploadLimits: 'Upload Settings', + uploadRateLimit: 'Time Window (limit uploads within this period)', + uploadPerMinute: 'Time Window (limit uploads within this period)', + minute: 'min', + uploadCountLimit: 'Max Files Allowed (within the time window)', files: 'files', - fileSizeLimit: 'File Size Limit', - expirationMethod: 'Expiration Method', - expirationType: 'Expiration Type', + fileSizeLimit: 'Max File Size', + expirationMethod: 'Expiration Options', + expirationType: 'Expiration Options', expiration: { - day: 'By Day', - hour: 'By Hour', - minute: 'By Minute', - forever: 'Forever', - count: 'By Count' + day: 'Days', + hour: 'Hours', + minute: 'Minutes', + forever: 'Never Expire', + count: 'Download Count' }, - maxSaveTime: 'Maximum Save Time', + maxSaveTime: 'Max Retention Period', timeUnits: { - second: 'second', - minute: 'minute', - hour: 'hour', + second: 'sec', + minute: 'min', + hour: 'hr', day: 'day' }, - guestUpload: 'Guest Upload', - errorLimits: 'Error Limits', - errorRateLimit: 'Error Rate Limit', - errorPerMinute: 'Error Per Minute', - errorCountLimit: 'Error Count Limit', + guestUpload: 'Allow Guest Uploads', + errorLimits: 'Access Protection', + errorRateLimit: 'Detection Window (count errors within this period)', + errorPerMinute: 'Detection Window (count errors within this period)', + errorCountLimit: 'Max Errors Allowed (block after exceeding)', times: 'times', fileSizeUnits: { kb: 'KB', mb: 'MB', gb: 'GB' }, - saveChanges: 'Save Changes' + saveChanges: 'Save Settings' }, systemSettings: { title: 'System Settings', - basicSettings: 'Basic Settings', - websiteInfo: 'Website Basic Information', - websiteName: 'Website Name', - websiteDescription: 'Website Description', + basicSettings: 'General', + websiteInfo: 'Site Information', + websiteName: 'Site Name', + websiteDescription: 'Site Description', adminPassword: 'Admin Password', - passwordPlaceholder: 'Leave blank to keep current password', - passwordNote: 'Leave blank to keep unchanged', - keywords: 'Keywords', - themeSelection: 'Theme Selection', - notificationSettings: 'Notification Settings', - notificationTitle: 'Notification Title', - notificationContent: 'Notification Content', - storageSettings: 'Storage Settings', + passwordPlaceholder: 'Enter new password to change', + passwordNote: 'Leave empty to keep current', + keywords: 'SEO Keywords', + themeSelection: 'Theme', + notificationSettings: 'Notifications', + notificationTitle: 'Announcement Title', + notificationContent: 'Announcement Content', + storageSettings: 'Storage', storagePath: 'Storage Path', - storagePathPlaceholder: 'Leave blank to use default path, optional', - storageMethod: 'Storage Method', + storagePathPlaceholder: 'Leave empty for default path', + storageMethod: 'Storage Type', localStorage: 'Local Storage', - s3Storage: 'S3 Storage', - webdavStorage: 'Webdav Storage', - chunkUploadNote: 'Enable chunk upload (experimental feature, may have unknown issues)', + s3Storage: 'S3 Object Storage', + webdavStorage: 'WebDAV Storage', + chunkUploadNote: 'Chunked Upload (experimental, better for large files)', enabled: 'Enabled', disabled: 'Disabled', - webdavUrl: 'Please enter Webdav URL', - webdavUsername: 'Please enter Webdav Username', - webdavPassword: 'Please enter Webdav Password', - enableProxy: 'Enable Proxy', - uploadLimits: 'Upload Limits', - uploadRateLimit: 'Upload Rate Limit', - minute: 'minute', - uploadCountLimit: 'Upload Count Limit', + webdavUrl: 'Enter WebDAV server URL', + webdavUsername: 'Enter WebDAV username', + webdavPassword: 'Enter WebDAV password', + enableProxy: 'Enable Download Proxy', + uploadLimits: 'Upload Settings', + uploadRateLimit: 'Time Window (limit uploads within this period)', + minute: 'min', + uploadCountLimit: 'Max Files Allowed (within the time window)', files: 'files', - fileSizeLimit: 'File Size Limit', - expirationMethod: 'Expiration Method', + fileSizeLimit: 'Max File Size', + expirationMethod: 'Expiration Options', expirationMethods: { - day: 'By Day', - hour: 'By Hour', - minute: 'By Minute', - forever: 'Forever', - count: 'By Count' + day: 'Days', + hour: 'Hours', + minute: 'Minutes', + forever: 'Never Expire', + count: 'Download Count' }, expiration: { - day: 'By Day', - hour: 'By Hour', - minute: 'By Minute', - forever: 'Forever', - count: 'By Count' + day: 'Days', + hour: 'Hours', + minute: 'Minutes', + forever: 'Never Expire', + count: 'Download Count' }, - maxSaveTime: 'Maximum Save Time', + maxSaveTime: 'Max Retention Period', timeUnits: { - second: 'second', - minute: 'minute', - hour: 'hour', + second: 'sec', + minute: 'min', + hour: 'hr', day: 'day' }, - guestUpload: 'Guest Upload', - errorLimits: 'Error Limits', - errorRateLimit: 'Error Rate Limit', - errorCountLimit: 'Error Count Limit', + guestUpload: 'Allow Guest Uploads', + errorLimits: 'Access Protection', + errorRateLimit: 'Detection Window (count errors within this period)', + errorCountLimit: 'Max Errors Allowed (block after exceeding)', times: 'times', saveSettings: 'Save Settings', - saveSuccess: 'Save successful', - saveFailed: 'Save failed', - getConfigFailed: 'Failed to get configuration' + saveSuccess: 'Settings saved successfully', + saveFailed: 'Failed to save, please try again', + getConfigFailed: 'Failed to load settings, please refresh' }, dashboard: { title: 'Dashboard', diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 5fca9d5..e935e6e 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -76,71 +76,71 @@ export default { websiteDescription: '网站描述', siteName: '网站名称', adminPassword: '管理员密码', - passwordPlaceholder: '留空则不修改密码', - passwordNote: '留空则不修改', - keywords: '关键词', - themeSelection: '主题选择', - robotsFile: 'Robots.txt', + passwordPlaceholder: '如需修改请输入新密码', + passwordNote: '不修改请留空', + keywords: 'SEO 关键词', + themeSelection: '界面主题', + robotsFile: 'Robots.txt 配置', notificationSettings: '通知设置', - notificationTitle: '通知标题', - notificationContent: '通知内容', - storageSettings: '存储设置', - storagePath: '存储路径', - storagePathPlaceholder: '留空则使用默认路径,可不填写', + notificationTitle: '公告标题', + notificationContent: '公告内容', + storageSettings: '存储配置', + storagePath: '文件存储路径', + storagePathPlaceholder: '使用默认路径可留空', storageMethod: '存储方式', localStorage: '本地存储', - s3Storage: 'S3 存储', - webdavStorage: 'Webdav 存储', - chunkUploadNote: '开启切片上传(实验性功能,可能会出现未知问题)', - s3AccessKeyId: 'S3 AccessKeyId', - s3SecretAccessKey: 'S3 SecretAccessKey', - s3BucketName: 'S3 BucketName', - s3EndpointUrl: 'S3 EndpointUrl', - s3RegionName: 'S3 Region Name', - s3SignatureVersion: 'S3 Signature Version', - s3Hostname: 'S3 Hostname', + s3Storage: 'S3 对象存储', + webdavStorage: 'WebDAV 存储', + chunkUploadNote: '分片上传(实验性功能,大文件上传更稳定)', + s3AccessKeyId: 'Access Key ID', + s3SecretAccessKey: 'Secret Access Key', + s3BucketName: '存储桶名称', + s3EndpointUrl: '服务端点 URL', + s3RegionName: '区域名称', + s3SignatureVersion: '签名版本', + s3Hostname: '自定义域名', s3v2: 'S3v2', s3v4: 'S3v4', - autoPlaceholder: 'auto', - enabled: '已开启', - disabled: '已关闭', - webdavUrl: '请输入 Webdav URL', - webdavUsername: '请输入 Webdav Username', - webdavPassword: '请输入 Webdav Password', - webdavUrlPlaceholder: '请输入 Webdav URL', - webdavUsernamePlaceholder: '请输入 Webdav Username', - webdavPasswordPlaceholder: '请输入 Webdav Password', - enableProxy: '启用代理', - uploadLimits: '上传限制', - uploadRateLimit: '每分钟上传限制', - uploadPerMinute: '每分钟上传限制', + autoPlaceholder: '自动识别', + enabled: '已启用', + disabled: '已禁用', + webdavUrl: '输入 WebDAV 服务地址', + webdavUsername: '输入 WebDAV 用户名', + webdavPassword: '输入 WebDAV 密码', + webdavUrlPlaceholder: '输入 WebDAV 服务地址', + webdavUsernamePlaceholder: '输入 WebDAV 用户名', + webdavPasswordPlaceholder: '输入 WebDAV 密码', + enableProxy: '启用下载代理', + uploadLimits: '上传设置', + uploadRateLimit: '限流时间窗口(在此时间内限制上传次数)', + uploadPerMinute: '限流时间窗口(在此时间内限制上传次数)', minute: '分钟', - uploadCountLimit: '上传数量限制', + uploadCountLimit: '允许上传文件数(限流窗口内最多上传几个文件)', files: '个文件', - fileSizeLimit: '文件大小限制', + fileSizeLimit: '单文件大小上限', expirationMethod: '过期方式', - expirationType: '过期类型', + expirationType: '过期方式', expiration: { - day: '按天', + day: '按天数', hour: '按小时', minute: '按分钟', - forever: '永久', - count: '按次数' + forever: '永久有效', + count: '按下载次数' }, - maxSaveTime: '最长保存时间', + maxSaveTime: '文件最长保存时间', timeUnits: { second: '秒', - minute: '分', - hour: '时', + minute: '分钟', + hour: '小时', day: '天' }, - guestUpload: '游客上传', - errorLimits: '错误限制', - errorRateLimit: '每分钟错误限制', - errorPerMinute: '每分钟错误限制', - errorCountLimit: '错误次数限制', + guestUpload: '允许游客上传', + errorLimits: '访问保护', + errorRateLimit: '检测时间窗口(在此时间内统计错误次数)', + errorPerMinute: '检测时间窗口(在此时间内统计错误次数)', + errorCountLimit: '允许错误次数(超过后临时封禁)', times: '次', - saveChanges: '保存更改', + saveChanges: '保存设置', fileSizeUnits: { kb: 'KB', mb: 'MB', @@ -356,59 +356,59 @@ export default { basicSettings: '基本设置', siteName: '网站名称', adminPassword: '管理员密码', - passwordPlaceholder: '留空则不修改密码', - passwordNote: '留空则不修改', - keywords: '关键词', - themeSelection: '主题选择', - robotsFile: 'Robots.txt', + passwordPlaceholder: '如需修改请输入新密码', + passwordNote: '不修改请留空', + keywords: 'SEO 关键词', + themeSelection: '界面主题', + robotsFile: 'Robots.txt 配置', notificationSettings: '通知设置', - notificationTitle: '通知标题', - notificationContent: '通知内容', - storageSettings: '存储设置', - storagePath: '存储路径', - storagePathPlaceholder: '留空则使用默认路径,可不填写', + notificationTitle: '公告标题', + notificationContent: '公告内容', + storageSettings: '存储配置', + storagePath: '文件存储路径', + storagePathPlaceholder: '使用默认路径可留空', storageMethod: '存储方式', localStorage: '本地存储', - s3Storage: 'S3 存储', - webdavStorage: 'Webdav 存储', - chunkUploadNote: '开启切片上传(实验性功能,可能会出现未知问题)', - uploadLimits: '上传限制', - uploadPerMinute: '每分钟上传限制', - uploadCountLimit: '上传数量限制', - fileSizeLimit: '文件大小限制', + s3Storage: 'S3 对象存储', + webdavStorage: 'WebDAV 存储', + chunkUploadNote: '分片上传(实验性功能,大文件上传更稳定)', + uploadLimits: '上传设置', + uploadPerMinute: '限流时间窗口(在此时间内限制上传次数)', + uploadCountLimit: '允许上传文件数(限流窗口内最多上传几个文件)', + fileSizeLimit: '单文件大小上限', expiration: { - day: '按天', + day: '按天数', hour: '按小时', minute: '按分钟', - forever: '永久', - count: '按次数' + forever: '永久有效', + count: '按下载次数' }, - maxSaveTime: '最长保存时间', - s3AccessKeyId: 'S3 AccessKeyId', - s3SecretAccessKey: 'S3 SecretAccessKey', - s3BucketName: 'S3 BucketName', - s3EndpointUrl: 'S3 EndpointUrl', - s3RegionName: 'S3 Region Name', - s3SignatureVersion: 'S3 Signature Version', - s3Hostname: 'S3 Hostname', + maxSaveTime: '文件最长保存时间', + s3AccessKeyId: 'Access Key ID', + s3SecretAccessKey: 'Secret Access Key', + s3BucketName: '存储桶名称', + s3EndpointUrl: '服务端点 URL', + s3RegionName: '区域名称', + s3SignatureVersion: '签名版本', + s3Hostname: '自定义域名', s3v2: 'S3v2', s3v4: 'S3v4', - autoPlaceholder: 'auto', - enableProxy: '启用代理', - webdavUrlPlaceholder: '请输入 Webdav URL', - webdavUsernamePlaceholder: '请输入 Webdav Username', - webdavPasswordPlaceholder: '请输入 Webdav Password', + autoPlaceholder: '自动识别', + enableProxy: '启用下载代理', + webdavUrlPlaceholder: '输入 WebDAV 服务地址', + webdavUsernamePlaceholder: '输入 WebDAV 用户名', + webdavPasswordPlaceholder: '输入 WebDAV 密码', fileSizeUnits: { kb: 'KB', mb: 'MB', gb: 'GB' }, - expirationType: '过期类型', - guestUpload: '游客上传', - errorLimits: '错误限制', - errorPerMinute: '每分钟错误限制', - errorCountLimit: '错误次数限制', - saveChanges: '保存更改' + expirationType: '过期方式', + guestUpload: '允许游客上传', + errorLimits: '访问保护', + errorPerMinute: '检测时间窗口(在此时间内统计错误次数)', + errorCountLimit: '允许错误次数(超过后临时封禁)', + saveChanges: '保存设置' }, dashboard: { title: '仪表盘', @@ -458,64 +458,64 @@ export default { websiteName: '网站名称', websiteDescription: '网站描述', adminPassword: '管理员密码', - passwordPlaceholder: '留空则不修改密码', - passwordNote: '留空则不修改', - keywords: '关键词', - themeSelection: '主题选择', + passwordPlaceholder: '如需修改请输入新密码', + passwordNote: '不修改请留空', + keywords: 'SEO 关键词', + themeSelection: '界面主题', notificationSettings: '通知设置', - notificationTitle: '通知标题', - notificationContent: '通知内容', - storageSettings: '存储设置', - storagePath: '存储路径', - storagePathPlaceholder: '留空则使用默认路径,可不填写', + notificationTitle: '公告标题', + notificationContent: '公告内容', + storageSettings: '存储配置', + storagePath: '文件存储路径', + storagePathPlaceholder: '使用默认路径可留空', storageMethod: '存储方式', localStorage: '本地存储', - s3Storage: 'S3 存储', - webdavStorage: 'Webdav 存储', - chunkUploadNote: '开启切片上传(实验性功能,可能会出现未知问题)', - enabled: '已开启', - disabled: '已关闭', - webdavUrl: '请输入 Webdav URL', - webdavUsername: '请输入 Webdav Username', - webdavPassword: '请输入 Webdav Password', - enableProxy: '启用代理', - uploadLimits: '上传限制', - uploadRateLimit: '每分钟上传限制', + s3Storage: 'S3 对象存储', + webdavStorage: 'WebDAV 存储', + chunkUploadNote: '分片上传(实验性功能,大文件上传更稳定)', + enabled: '已启用', + disabled: '已禁用', + webdavUrl: '输入 WebDAV 服务地址', + webdavUsername: '输入 WebDAV 用户名', + webdavPassword: '输入 WebDAV 密码', + enableProxy: '启用下载代理', + uploadLimits: '上传设置', + uploadRateLimit: '限流时间窗口(在此时间内限制上传次数)', minute: '分钟', - uploadCountLimit: '上传数量限制', + uploadCountLimit: '允许上传文件数(限流窗口内最多上传几个文件)', files: '个文件', - fileSizeLimit: '文件大小限制', + fileSizeLimit: '单文件大小上限', expirationMethod: '过期方式', expirationMethods: { - day: '按天', + day: '按天数', hour: '按小时', minute: '按分钟', - forever: '永久', - count: '按次数' + forever: '永久有效', + count: '按下载次数' }, expiration: { - day: '按天', + day: '按天数', hour: '按小时', minute: '按分钟', - forever: '永久', - count: '按次数' + forever: '永久有效', + count: '按下载次数' }, - maxSaveTime: '最长保存时间', + maxSaveTime: '文件最长保存时间', timeUnits: { second: '秒', - minute: '分', - hour: '时', + minute: '分钟', + hour: '小时', day: '天' }, - guestUpload: '游客上传', - errorLimits: '错误限制', - errorRateLimit: '每分钟错误限制', - errorCountLimit: '错误次数限制', + guestUpload: '允许游客上传', + errorLimits: '访问保护', + errorRateLimit: '检测时间窗口(在此时间内统计错误次数)', + errorCountLimit: '允许错误次数(超过后临时封禁)', times: '次', saveSettings: '保存设置', - saveSuccess: '保存成功', - saveFailed: '保存失败', - getConfigFailed: '获取配置失败' + saveSuccess: '设置已保存', + saveFailed: '保存失败,请重试', + getConfigFailed: '获取配置失败,请刷新页面' }, login: { title: '登录',