619 lines
19 KiB
TypeScript
619 lines
19 KiB
TypeScript
export default {
|
|
// 通用
|
|
common: {
|
|
confirm: '确认',
|
|
cancel: '取消',
|
|
close: '关闭',
|
|
delete: '删除',
|
|
edit: '编辑',
|
|
save: '保存',
|
|
add: '添加',
|
|
back: '返回',
|
|
next: '下一页',
|
|
previous: '上一页',
|
|
loading: '加载中...',
|
|
success: '成功',
|
|
error: '错误',
|
|
warning: '警告',
|
|
info: '信息',
|
|
search: '搜索',
|
|
copy: '复制',
|
|
uploadSuccess: '上传成功',
|
|
uploadFailed: '上传失败',
|
|
copySuccess: '复制成功',
|
|
copyFailed: '复制失败',
|
|
deleteSuccess: '删除成功',
|
|
deleteFailed: '删除失败',
|
|
downloadSuccess: '下载成功',
|
|
downloadFailed: '下载失败',
|
|
shareSuccess: '分享成功',
|
|
shareFailed: '分享失败',
|
|
expiredFile: '文件已过期',
|
|
fileNotFound: '文件不存在',
|
|
networkError: '网络错误',
|
|
unknownError: '未知错误',
|
|
invalidFileType: '不支持的文件类型',
|
|
fileTooLarge: '文件过大',
|
|
uploadCanceled: '上传已取消',
|
|
processing: '处理中...',
|
|
pleaseWait: '请稍候...',
|
|
fileDetails: '文件详情',
|
|
enabled: '已开启',
|
|
disabled: '已关闭',
|
|
minute: '分钟',
|
|
files: '个文件',
|
|
second: '秒',
|
|
hour: '小时',
|
|
day: '天',
|
|
times: '次',
|
|
appName: '文件快递柜 - FileCodeBox',
|
|
appDescription: '开箱即用的文件快传系统'
|
|
},
|
|
|
|
// 管理员模块
|
|
admin: {
|
|
dashboard: {
|
|
title: '仪表盘',
|
|
totalFiles: '总文件数',
|
|
storageSpace: '存储空间',
|
|
activeUsers: '活跃用户',
|
|
systemStatus: '系统状态',
|
|
yesterday: '昨天:',
|
|
today: '今天:',
|
|
weeklyChange: '↓ 5% 较上周',
|
|
normal: '正常',
|
|
serverUptime: '服务器运行时间:',
|
|
version: '版本 v2.2.1 更新时间:2025-09-04'
|
|
},
|
|
fileManage: {
|
|
title: '文件管理'
|
|
},
|
|
settings: {
|
|
title: '系统设置',
|
|
basicSettings: '基本设置',
|
|
websiteInfo: '网站基本信息',
|
|
websiteName: '网站名称',
|
|
websiteDescription: '网站描述',
|
|
siteName: '网站名称',
|
|
adminPassword: '管理员密码',
|
|
passwordPlaceholder: '留空则不修改密码',
|
|
passwordNote: '留空则不修改',
|
|
keywords: '关键词',
|
|
themeSelection: '主题选择',
|
|
robotsFile: 'Robots.txt',
|
|
notificationSettings: '通知设置',
|
|
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',
|
|
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: '每分钟上传限制',
|
|
minute: '分钟',
|
|
uploadCountLimit: '上传数量限制',
|
|
files: '个文件',
|
|
fileSizeLimit: '文件大小限制',
|
|
expirationMethod: '过期方式',
|
|
expirationType: '过期类型',
|
|
expiration: {
|
|
day: '按天',
|
|
hour: '按小时',
|
|
minute: '按分钟',
|
|
forever: '永久',
|
|
count: '按次数'
|
|
},
|
|
maxSaveTime: '最长保存时间',
|
|
timeUnits: {
|
|
second: '秒',
|
|
minute: '分',
|
|
hour: '时',
|
|
day: '天'
|
|
},
|
|
guestUpload: '游客上传',
|
|
errorLimits: '错误限制',
|
|
errorRateLimit: '每分钟错误限制',
|
|
errorPerMinute: '每分钟错误限制',
|
|
errorCountLimit: '错误次数限制',
|
|
times: '次',
|
|
saveChanges: '保存更改',
|
|
fileSizeUnits: {
|
|
kb: 'KB',
|
|
mb: 'MB',
|
|
gb: 'GB'
|
|
}
|
|
}
|
|
},
|
|
|
|
// 页面标题和导航
|
|
nav: {
|
|
sendFile: '发送文件',
|
|
retrieveFile: '取件',
|
|
fileRecords: '取件记录'
|
|
},
|
|
|
|
// 取件页面
|
|
retrieve: {
|
|
title: '文件取件',
|
|
codeInput: {
|
|
placeholder: '请输入5位取件码',
|
|
label: '取件码'
|
|
},
|
|
submit: '取件',
|
|
needSendFile: '需要发送文件?点击这里',
|
|
recordsDrawer: '取件记录',
|
|
messages: {
|
|
invalidCode: '请输入5位取件码',
|
|
retrieveSuccess: '文件获取成功',
|
|
invalidCodeError: '无效的取件码',
|
|
retrieveFailure: '获取文件失败:',
|
|
networkError: '取件失败,请稍后重试:',
|
|
unknownError: '未知错误'
|
|
}
|
|
},
|
|
|
|
// 发送页面
|
|
send: {
|
|
title: '文件发送',
|
|
sendText: '发送文本',
|
|
fileDetails: '文件详情',
|
|
expirationMethod: '过期方式',
|
|
uploadArea: {
|
|
dragText: '拖拽文件到此处或',
|
|
clickText: '点击选择文件',
|
|
textInput: '在此输入要发送的文本...',
|
|
placeholder: '点击或拖放文件到此处上传',
|
|
description: '支持各种常见格式'
|
|
},
|
|
submit: '安全寄送',
|
|
needRetrieveFile: '需要取件?点击这里',
|
|
sendRecords: '发件记录',
|
|
secureEncryption: '安全加密',
|
|
fileDetail: {
|
|
title: '文件详情',
|
|
content: '文件内容',
|
|
previewContent: '预览内容',
|
|
download: '点击下载',
|
|
qrCode: '取件二维码',
|
|
scanQrCode: '扫描二维码快速取件'
|
|
},
|
|
contentPreview: {
|
|
title: '内容预览'
|
|
},
|
|
fileManage: {
|
|
title: '文件管理',
|
|
searchPlaceholder: '搜索文件名称、描述...',
|
|
allFiles: '所有文件',
|
|
editFileInfo: '编辑文件信息',
|
|
saveChanges: '保存更改',
|
|
headers: {
|
|
code: '取件码',
|
|
name: '名称',
|
|
size: '大小',
|
|
description: '描述',
|
|
expiration: '过期时间',
|
|
actions: '操作'
|
|
},
|
|
form: {
|
|
code: '取件码',
|
|
codePlaceholder: '输入取件码',
|
|
filename: '文件名称',
|
|
filenamePlaceholder: '输入文件名称',
|
|
suffix: '文件后缀',
|
|
suffixPlaceholder: '输入文件后缀',
|
|
downloadLimit: '下载次数限制',
|
|
downloadLimitPlaceholder: '输入下载次数限制'
|
|
}
|
|
},
|
|
expiration: {
|
|
label: '过期时间',
|
|
placeholders: {
|
|
days: '输入天数',
|
|
hours: '输入小时数',
|
|
minutes: '输入分钟数',
|
|
count: '输入查看次数',
|
|
forever: '永久',
|
|
default: '输入值'
|
|
},
|
|
units: {
|
|
days: '天',
|
|
hours: '小时',
|
|
minutes: '分钟',
|
|
times: '次',
|
|
forever: '永久'
|
|
}
|
|
},
|
|
time: {
|
|
day: '按天',
|
|
hour: '按小时',
|
|
minute: '按分钟',
|
|
forever: '永久',
|
|
count: '按次数'
|
|
},
|
|
messages: {
|
|
selectFile: '请选择要上传的文件',
|
|
enterText: '请输入要发送的文本',
|
|
enterExpirationValue: '请输入过期值',
|
|
expirationTooLong: '过期时间不能超过{days}天',
|
|
sendSuccess: '文件发送成功!取件码:{code}',
|
|
initChunkUploadFailed: '初始化切片上传失败',
|
|
chunkUploadFailed: '切片 {index} 上传失败',
|
|
completeUploadFailed: '完成上传失败',
|
|
uploadFailed: '上传失败,请稍后重试',
|
|
guestUploadDisabled: '游客上传功能已关闭',
|
|
fileSizeExceeded: '文件大小超过限制 ({size})',
|
|
serverError: '服务器响应异常',
|
|
sendFailed: '发送失败,请稍后重试',
|
|
expiresAfterCount: '{count}次后过期',
|
|
expiresAt: '{date}过期',
|
|
emptyFileError: '无法读取空文件',
|
|
fileAddedFromClipboard: '已从剪贴板添加文件:{filename}',
|
|
fileProcessingFailed: '文件处理失败',
|
|
expiresAfter: '{value}{unit}后过期'
|
|
}
|
|
},
|
|
|
|
// 文件管理
|
|
fileManage: {
|
|
title: '文件管理',
|
|
searchPlaceholder: '搜索文件名称、描述...',
|
|
allFiles: '所有文件',
|
|
editFileInfo: '编辑文件信息',
|
|
saveChanges: '保存更改',
|
|
headers: {
|
|
code: '取件码',
|
|
name: '名称',
|
|
size: '大小',
|
|
description: '描述',
|
|
expiration: '过期时间',
|
|
actions: '操作'
|
|
},
|
|
form: {
|
|
code: '取件码',
|
|
codePlaceholder: '输入取件码',
|
|
filename: '文件名称',
|
|
filenamePlaceholder: '输入文件名称',
|
|
suffix: '文件后缀',
|
|
suffixPlaceholder: '输入文件后缀',
|
|
downloadLimit: '下载次数限制',
|
|
downloadLimitPlaceholder: '输入下载次数限制'
|
|
}
|
|
},
|
|
|
|
// 文件记录
|
|
fileRecord: {
|
|
filename: '文件名',
|
|
size: '文件大小',
|
|
date: '取件日期',
|
|
code: '取件码',
|
|
actions: '操作',
|
|
download: '下载',
|
|
viewDetails: '查看详情',
|
|
deleteRecord: '删除记录',
|
|
preview: '预览',
|
|
copyContent: '复制内容',
|
|
contentCopied: '内容已复制到剪贴板',
|
|
copyFailed: '复制失败,请重试'
|
|
},
|
|
|
|
// 文件详情模态框
|
|
fileDetail: {
|
|
title: '文件详情',
|
|
content: '文件内容',
|
|
previewContent: '预览内容',
|
|
download: '点击下载',
|
|
qrCode: '取件二维码',
|
|
scanQrCode: '扫描二维码快速取件'
|
|
},
|
|
|
|
// 内容预览
|
|
contentPreview: {
|
|
title: '内容预览'
|
|
},
|
|
|
|
// 侧边抽屉
|
|
drawer: {
|
|
noRecords: '暂无记录'
|
|
},
|
|
|
|
// 文件大小单位
|
|
fileSize: {
|
|
bytes: 'Bytes',
|
|
kb: 'KB',
|
|
mb: 'MB',
|
|
gb: 'GB',
|
|
tb: 'TB'
|
|
},
|
|
|
|
// 管理页面
|
|
manage: {
|
|
settings: {
|
|
title: '系统设置',
|
|
basicSettings: '基本设置',
|
|
siteName: '网站名称',
|
|
adminPassword: '管理员密码',
|
|
passwordPlaceholder: '留空则不修改密码',
|
|
passwordNote: '留空则不修改',
|
|
keywords: '关键词',
|
|
themeSelection: '主题选择',
|
|
robotsFile: 'Robots.txt',
|
|
notificationSettings: '通知设置',
|
|
notificationTitle: '通知标题',
|
|
notificationContent: '通知内容',
|
|
storageSettings: '存储设置',
|
|
storagePath: '存储路径',
|
|
storagePathPlaceholder: '留空则使用默认路径,可不填写',
|
|
storageMethod: '存储方式',
|
|
localStorage: '本地存储',
|
|
s3Storage: 'S3 存储',
|
|
webdavStorage: 'Webdav 存储',
|
|
chunkUploadNote: '开启切片上传(实验性功能,可能会出现未知问题)',
|
|
uploadLimits: '上传限制',
|
|
uploadPerMinute: '每分钟上传限制',
|
|
uploadCountLimit: '上传数量限制',
|
|
fileSizeLimit: '文件大小限制',
|
|
expiration: {
|
|
day: '按天',
|
|
hour: '按小时',
|
|
minute: '按分钟',
|
|
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',
|
|
s3v2: 'S3v2',
|
|
s3v4: 'S3v4',
|
|
autoPlaceholder: 'auto',
|
|
enableProxy: '启用代理',
|
|
webdavUrlPlaceholder: '请输入 Webdav URL',
|
|
webdavUsernamePlaceholder: '请输入 Webdav Username',
|
|
webdavPasswordPlaceholder: '请输入 Webdav Password',
|
|
fileSizeUnits: {
|
|
kb: 'KB',
|
|
mb: 'MB',
|
|
gb: 'GB'
|
|
},
|
|
expirationType: '过期类型',
|
|
guestUpload: '游客上传',
|
|
errorLimits: '错误限制',
|
|
errorPerMinute: '每分钟错误限制',
|
|
errorCountLimit: '错误次数限制',
|
|
saveChanges: '保存更改'
|
|
},
|
|
dashboard: {
|
|
title: '仪表盘',
|
|
totalFiles: '总文件数',
|
|
storageSpace: '存储空间',
|
|
activeUsers: '活跃用户',
|
|
systemStatus: '系统状态',
|
|
yesterday: '昨天:',
|
|
today: '今天:',
|
|
weeklyChange: '↓ 5% 较上周',
|
|
normal: '正常',
|
|
serverUptime: '服务器运行时间:',
|
|
version: '版本 v2.2.1 更新时间:2025-09-04'
|
|
},
|
|
fileManage: {
|
|
title: '文件管理',
|
|
searchPlaceholder: '搜索文件名称、描述...',
|
|
allFiles: '所有文件',
|
|
editFileInfo: '编辑文件信息',
|
|
saveChanges: '保存更改',
|
|
headers: {
|
|
code: '取件码',
|
|
name: '名称',
|
|
size: '大小',
|
|
description: '描述',
|
|
expiration: '过期时间',
|
|
actions: '操作'
|
|
},
|
|
form: {
|
|
code: '取件码',
|
|
codePlaceholder: '输入取件码',
|
|
filename: '文件名称',
|
|
filenamePlaceholder: '输入文件名称',
|
|
suffix: '文件后缀',
|
|
suffixPlaceholder: '输入文件后缀',
|
|
downloadLimit: '下载次数限制',
|
|
downloadLimitPlaceholder: '输入下载次数限制'
|
|
},
|
|
updateFailed: '更新失败',
|
|
deleteFailed: '删除失败',
|
|
loadFileListFailed: '加载文件列表失败'
|
|
},
|
|
systemSettings: {
|
|
title: '系统设置',
|
|
basicSettings: '基本设置',
|
|
websiteInfo: '网站基本信息',
|
|
websiteName: '网站名称',
|
|
websiteDescription: '网站描述',
|
|
adminPassword: '管理员密码',
|
|
passwordPlaceholder: '留空则不修改密码',
|
|
passwordNote: '留空则不修改',
|
|
keywords: '关键词',
|
|
themeSelection: '主题选择',
|
|
notificationSettings: '通知设置',
|
|
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: '每分钟上传限制',
|
|
minute: '分钟',
|
|
uploadCountLimit: '上传数量限制',
|
|
files: '个文件',
|
|
fileSizeLimit: '文件大小限制',
|
|
expirationMethod: '过期方式',
|
|
expirationMethods: {
|
|
day: '按天',
|
|
hour: '按小时',
|
|
minute: '按分钟',
|
|
forever: '永久',
|
|
count: '按次数'
|
|
},
|
|
expiration: {
|
|
day: '按天',
|
|
hour: '按小时',
|
|
minute: '按分钟',
|
|
forever: '永久',
|
|
count: '按次数'
|
|
},
|
|
maxSaveTime: '最长保存时间',
|
|
timeUnits: {
|
|
second: '秒',
|
|
minute: '分',
|
|
hour: '时',
|
|
day: '天'
|
|
},
|
|
guestUpload: '游客上传',
|
|
errorLimits: '错误限制',
|
|
errorRateLimit: '每分钟错误限制',
|
|
errorCountLimit: '错误次数限制',
|
|
times: '次',
|
|
saveSettings: '保存设置',
|
|
saveSuccess: '保存成功',
|
|
saveFailed: '保存失败',
|
|
getConfigFailed: '获取配置失败'
|
|
},
|
|
login: {
|
|
title: '登录',
|
|
password: '密码',
|
|
passwordPlaceholder: '密码',
|
|
loginButton: '登录',
|
|
loggingIn: '登录中...',
|
|
invalidPassword: '无效的密码',
|
|
passwordTooShort: '密码长度至少为6位',
|
|
loginFailed: '登录失败',
|
|
noValidToken: '登录失败:未获取到有效令牌'
|
|
}
|
|
},
|
|
|
|
// 工具函数相关
|
|
utils: {
|
|
common: {
|
|
formatTime: '格式化时间戳为可读格式',
|
|
formatFileSize: '格式化文件大小',
|
|
formatDuration: '格式化持续时间',
|
|
time: {
|
|
forever: '永久',
|
|
day: '天',
|
|
hour: '小时',
|
|
minute: '分钟',
|
|
second: '秒'
|
|
},
|
|
copyToClipboard: '复制文本到剪贴板',
|
|
copyFailed: '复制失败:',
|
|
debounce: '防抖函数',
|
|
throttle: '节流函数',
|
|
validateEmail: '验证邮箱格式',
|
|
validateUrl: '验证URL格式',
|
|
generateRandomString: '生成随机字符串',
|
|
deepClone: '深度克隆对象',
|
|
getFileExtension: '获取文件扩展名',
|
|
isMobileDevice: '检查是否为移动设备',
|
|
formatNumber: '格式化数字,添加千分位分隔符'
|
|
},
|
|
clipboard: {
|
|
title: '剪贴板工具函数',
|
|
copyText: '复制文本到剪贴板',
|
|
copySuccess: '复制成功',
|
|
copyFailed: '复制失败,请手动复制'
|
|
}
|
|
},
|
|
|
|
// 组件相关
|
|
components: {
|
|
pagination: {
|
|
showing: '显示第',
|
|
to: '到',
|
|
of: '条,共',
|
|
total: '条',
|
|
previous: '上一页',
|
|
next: '下一页'
|
|
},
|
|
languageSwitcher: {
|
|
clickOutsideToClose: '点击外部关闭下拉菜单'
|
|
},
|
|
borderProgressBar: {
|
|
borderWidth: '边框宽度',
|
|
cornerRadius: '拐角半径',
|
|
createGradient: '创建渐变',
|
|
drawBackground: '绘制背景',
|
|
calculateProgress: '计算进度',
|
|
drawProgress: '绘制进度'
|
|
}
|
|
},
|
|
|
|
// 其他通用文本
|
|
misc: {
|
|
emptyFileError: '无法读取空文件',
|
|
fileAddedFromClipboard: '已从剪贴板添加文件:',
|
|
fileProcessFailed: '文件处理失败',
|
|
chunkSize: '保持 2MB 的切片大小用于计算哈希',
|
|
secureContext: '如果不是安全上下文(HTTP),则返回一个基于文件信息的替代哈希',
|
|
cryptoFallback: '如果 crypto.subtle.digest 失败,使用替代方案',
|
|
generateAlternativeHash: '生成替代哈希的函数',
|
|
fileInfoHash: '使用文件名、大小和最后修改时间生成一个简单的哈希',
|
|
convertToHex: '转换为16进制字符串并填充到64位',
|
|
defaultChunkSize: '默认切片大小为5MB',
|
|
initChunkUpload: '1. 初始化切片上传',
|
|
uploadChunk: '2. 上传切片',
|
|
completeUpload: '3. 完成上传',
|
|
chunkUploadFailed: '切片上传失败:',
|
|
uploadProgressListener: '添加上传进度监听',
|
|
noLimitCheck: '如果没有限制,直接返回true',
|
|
expirationValidation: '添加过期时间验证',
|
|
chunkUploadReplacement: '使用切片上传替代原来的直接上传',
|
|
textUploadUnchanged: '文本上传保持不变',
|
|
addSendRecord: '添加新的发送记录',
|
|
permanent: '永久',
|
|
sendSuccessMessage: '显示发送成功消息',
|
|
resetForm: '重置表单 - 只重置文件和文本内容,保留过期信息',
|
|
showDetails: '显示详情',
|
|
autoCopyLink: '自动复制取件码链接',
|
|
delayedLoading: '使用 onMounted 钩子延迟加载一些非关键资源或初始化',
|
|
nonCriticalInit: '这里可以放置一些非立即需要的初始化代码'
|
|
}
|
|
} |