mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-04 23:18:44 +08:00
4604 lines
185 KiB
TypeScript
4604 lines
185 KiB
TypeScript
export default {
|
||
common: {
|
||
confirm: '确认',
|
||
cancel: '取消',
|
||
save: '保存',
|
||
close: '关闭',
|
||
version: '版本',
|
||
author: '作者',
|
||
delete: '删除',
|
||
edit: '编辑',
|
||
add: '添加',
|
||
search: '搜索',
|
||
loading: '加载中',
|
||
success: '成功',
|
||
error: '错误',
|
||
openInNewWindow: '在新窗口中打开',
|
||
download: '下载',
|
||
inputMessage: '输入消息或命令',
|
||
send: '发送',
|
||
noData: '暂无数据',
|
||
noContent: '没有找到相关内容',
|
||
all: '全部',
|
||
active: '激活',
|
||
inactive: '未激活',
|
||
filter: '筛选',
|
||
noMatchingData: '没有符合条件的数据',
|
||
tryChangingFilters: '请尝试更改筛选条件',
|
||
default: '默认',
|
||
name: '名称',
|
||
create: '新建',
|
||
saving: '保存中',
|
||
reset: '重置',
|
||
theme: '主题',
|
||
uiMode: '界面布局',
|
||
language: '语言',
|
||
pleaseWait: '请稍候...',
|
||
viewDetails: '查看详情',
|
||
user: '用户',
|
||
config: '配置',
|
||
pause: '暂停',
|
||
enable: '启用',
|
||
confirmAction: '确认{action}',
|
||
details: '详情',
|
||
files: '文件',
|
||
share: '分享',
|
||
subscribe: '订阅',
|
||
unsubscribe: '取消订阅',
|
||
media: '媒体',
|
||
unknown: '未知',
|
||
notFetched: '未获取',
|
||
notice: '注意',
|
||
itemsPerPage: '每页条数',
|
||
pageText: '{0}-{1} 共 {2} 条',
|
||
noDataText: '没有数据',
|
||
next: '下一步',
|
||
previous: '上一步',
|
||
skip: '跳过',
|
||
loadingText: '加载中...',
|
||
networkRequired: '此功能需要网络连接',
|
||
networkDisconnected: '网络连接已断开',
|
||
featuresLimited: '部分功能可能受限',
|
||
serverConnectionFailed: '服务器连接失败',
|
||
networkConnectionFailed: '网络连接失败',
|
||
requestTimeout: '请求超时',
|
||
invalidApiResponse: '服务器返回了无效响应',
|
||
apiRequestFailed: '请求失败',
|
||
troubleshooting: '疑难解答',
|
||
checking: '检查中',
|
||
retry: '重试',
|
||
networkOnline: '网络在线',
|
||
networkOffline: '网络离线',
|
||
serviceAvailable: '服务可用',
|
||
serviceUnavailable: '服务不可用',
|
||
status: '状态',
|
||
preset: '预设',
|
||
refresh: '刷新',
|
||
swUpdateReady: '新版本已就绪,请刷新页面以获取最新功能',
|
||
ascending: '升序',
|
||
descending: '降序',
|
||
versionMismatch: '浏览器缓存版本与服务端版本不一致,请尝试清除缓存',
|
||
clearCache: '清除缓存',
|
||
sortMode: '排序模式',
|
||
sortModeHint: '已进入拖拽排序模式',
|
||
exit: '退出',
|
||
},
|
||
systemUpdate: {
|
||
availableTitle: '发现 MoviePilot 新版本',
|
||
availableDescription: '更新包将在后台下载,下载完成前不会影响当前任务。',
|
||
readyTitle: '更新包已准备完成',
|
||
readyDescription: '重启后将安装新版本,当前正在执行的任务会安全停止。',
|
||
downloading: '正在下载更新包',
|
||
installing: '正在重启并安装更新...',
|
||
updateNow: '升级',
|
||
later: '稍后',
|
||
moreActions: '更多更新选项',
|
||
ignoreVersion: '忽略此版本',
|
||
restartNow: '立即重启',
|
||
restartLater: '稍后重启',
|
||
restartTitle: '确认重启安装更新?',
|
||
restartDescription: '系统将停止当前任务并重启,重启完成后正式切换到新版本。',
|
||
downloadFailed: '更新包下载失败',
|
||
installFailed: '无法启动更新安装',
|
||
},
|
||
mediaType: {
|
||
movie: '电影',
|
||
tv: '电视剧',
|
||
music: '音乐',
|
||
anime: '动漫',
|
||
collection: '合集',
|
||
unknown: '未知',
|
||
},
|
||
notificationSwitch: {
|
||
resourceDownload: '资源下载',
|
||
organize: '整理入库',
|
||
subscribe: '订阅',
|
||
site: '站点',
|
||
mediaServer: '媒体服务器',
|
||
manual: '手动处理',
|
||
plugin: '插件',
|
||
agent: '智能体',
|
||
other: '其它',
|
||
},
|
||
actionStep: {
|
||
addDownload: '添加下载',
|
||
addSubscribe: '添加订阅',
|
||
fetchDownloads: '获取下载任务',
|
||
fetchMedias: '获取媒体',
|
||
fetchRss: '获取RSS资源',
|
||
fetchTorrents: '获取站点资源',
|
||
filterMedias: '过滤媒体',
|
||
filterTorrents: '过滤资源',
|
||
scanFile: '扫描目录',
|
||
scrapeFile: '刮削文件',
|
||
sendEvent: '发送事件',
|
||
sendMessage: '发送消息',
|
||
transferFile: '整理文件',
|
||
invokePlugin: '调用插件',
|
||
note: '备注',
|
||
},
|
||
qualityOptions: {
|
||
all: '全部',
|
||
blurayOriginal: '蓝光原盘',
|
||
remux: 'Remux',
|
||
bluray: 'BluRay',
|
||
uhd: 'UHD',
|
||
webdl: 'WEB-DL',
|
||
hdtv: 'HDTV',
|
||
h265: 'H265',
|
||
h264: 'H264',
|
||
},
|
||
audioQualityOptions: {
|
||
all: '全部音质',
|
||
hires: 'Hi-Res 高解析无损',
|
||
lossless: '无损(含 Hi-Res)',
|
||
lossy: '有损',
|
||
},
|
||
audioFormatOptions: {
|
||
all: '全部格式',
|
||
lossless: '全部无损格式',
|
||
},
|
||
resolutionOptions: {
|
||
all: '全部',
|
||
'4k': '4k',
|
||
'1080p': '1080p',
|
||
'720p': '720p',
|
||
},
|
||
effectOptions: {
|
||
all: '全部',
|
||
dolbyVision: '杜比视界',
|
||
dolbyAtmos: '杜比全景声',
|
||
hdr: 'HDR',
|
||
sdr: 'SDR',
|
||
},
|
||
theme: {
|
||
light: '浅色',
|
||
dark: '深色',
|
||
auto: '跟随系统',
|
||
autoUI: '自动',
|
||
transparent: '透明',
|
||
glass: '玻璃',
|
||
glassSettings: '玻璃设置',
|
||
glassAppearance: '材质',
|
||
glassAppearanceClear: '透明',
|
||
glassAppearanceTinted: '色调',
|
||
glassAppearanceFrosted: '磨砂',
|
||
glassAppearanceHint: '透明突出壁纸纹理,色调增加颜色覆盖,磨砂通过模糊扩散呈现更厚的玻璃质感。',
|
||
glassQuality: '质量',
|
||
glassQualityCss: '标准',
|
||
glassQualityBalanced: '均衡',
|
||
glassQualityHigh: '高质量',
|
||
glassQualityCssHint: '静态 CSS 材质,资源占用最低,保留通透、透射与反射,不启用实时流动。',
|
||
glassQualityBalancedHint: '共享实时折射,优先平衡流动反馈与 GPU 占用。',
|
||
glassQualityHighHint: '完整时序流场、扩散细节与内容保护,GPU 占用更高。',
|
||
glassQualityMobileHint: '保留所选档位的材质精度;移动端不启用实时流动。',
|
||
glassPreset: '方案',
|
||
glassPresetNatural: '自然',
|
||
glassPresetGlide: '滑移',
|
||
glassPresetLiquid: '液态',
|
||
glassPresetHint: '自然均衡克制,滑移强调顺畅移动,液态增强形变与惯性。',
|
||
glassDynamicsMode: '动态效果',
|
||
glassDynamicsModeFluid: '流体',
|
||
glassDynamicsModeRipple: '水漾',
|
||
glassDynamicsModeOff: '关闭',
|
||
glassDynamicsModeFluidHint: '跟随指针形成连续的流动与折射反馈。',
|
||
glassDynamicsModeRippleHint: '指针经过玻璃时产生向相邻表面扩散的水纹。',
|
||
glassDynamicsModeOffHint: '保留静态材质,不响应指针动态。',
|
||
glassMaterialTuning: '材质参数',
|
||
glassDynamicTuning: '动态参数',
|
||
glassTranslationStrength: '采样平移',
|
||
glassDeformationStrength: '形变强度',
|
||
glassFlowStrength: '流动强度',
|
||
glassReflectionStrength: '反射亮度',
|
||
glassTransmissionStrength: '透射亮度',
|
||
glassTransparencyStrength: '通透度',
|
||
glassMaterialStrengthHint:
|
||
'通透度控制壁纸纹理的可见程度,透射亮度控制玻璃内的背景明暗,反射亮度控制表面反射与高光强度。',
|
||
glassOpticalStrengthHint: '采样平移控制整体滑移,形变强度控制局部弯曲,流动强度控制轨迹范围与惯性。',
|
||
purple: '幻紫',
|
||
custom: '附加样式',
|
||
transparency: '透明度',
|
||
transparencyAdjust: '透明度调整',
|
||
transparencyOpacity: '透明度',
|
||
transparencyBlur: '模糊度',
|
||
backgroundPosterOpacity: '背景透明度',
|
||
backgroundBlur: '背景磨砂效果',
|
||
transparencyGlassQuality: '玻璃效果质量',
|
||
transparencyGlassQualityLightweight: '轻量',
|
||
transparencyGlassQualityRealtime: '实时',
|
||
transparencyGlassQualityLightweightHint: '保持接近实时毛玻璃的透明观感,减少密集页面的背景实时采样。',
|
||
transparencyGlassQualityRealtimeHint: '使用完整实时毛玻璃路径,视觉质量更高,但可能增加 GPU 占用。',
|
||
transparencyReset: '重置',
|
||
transparencyLow: '低透明度',
|
||
transparencyMedium: '中等透明度',
|
||
transparencyHigh: '高透明度',
|
||
customCssSaveSuccess: '自定义CSS保存成功,请刷新页面生效!',
|
||
customCssSaveFailed: '保存自定义CSS到服务端失败',
|
||
deviceNotSupport: '当前设备不支持监听系统主题变化',
|
||
customizer: {
|
||
title: '主题定制',
|
||
subtitle: '实时自定义与预览',
|
||
theming: '主题',
|
||
primaryColor: '色调',
|
||
usePrimaryColor: '使用 {color} 色调',
|
||
chooseCustomColor: '选择自定义色调',
|
||
skins: '边框',
|
||
skinDefault: '无边框',
|
||
skinBordered: '有边框',
|
||
radius: '圆角',
|
||
radiusNone: '无圆角',
|
||
radiusSmall: '小圆角',
|
||
radiusDefault: '默认',
|
||
radiusLarge: '大圆角',
|
||
radiusExtra: '更大圆角',
|
||
shadow: '阴影',
|
||
shadowLevel: '层级 {level}',
|
||
semiDarkMenu: '半暗菜单',
|
||
layout: '布局',
|
||
layoutVertical: '垂直',
|
||
layoutCollapsed: '折叠',
|
||
layoutHorizontal: '水平',
|
||
reset: '重置主题定制',
|
||
appModeLayoutLocked: 'App 模式固定使用移动端导航,请切换到桌面界面后再调整布局。',
|
||
},
|
||
},
|
||
app: {
|
||
moviepilot: 'MoviePilot',
|
||
slogan: '智能影视媒体库管理工具',
|
||
recommend: '推荐',
|
||
subscribeMovie: '电影订阅',
|
||
subscribeTv: '电视剧订阅',
|
||
settings: '设置',
|
||
selectLanguage: '选择语言',
|
||
logout: '退出登录',
|
||
restarting: '正在重启...',
|
||
confirmRestart: '确认重启系统吗?',
|
||
restartTip: '重启后,您将被注销并需要重新登录。',
|
||
restartTimeout: '重启超时,系统可能需要更长时间恢复,请稍后手动刷新页面',
|
||
restartFailed: '重启失败,请检查系统状态',
|
||
offline: '应用已离线',
|
||
offlineMessage: '网络连接已断开,部分功能可能受限',
|
||
connectionChecking: '正在重新连接 MoviePilot',
|
||
connectionCheckingMessage: '正在确认服务状态,当前页面仍可继续浏览。',
|
||
serviceUnavailable: '暂时无法连接 MoviePilot',
|
||
serviceUnavailableMessage: '服务可能正在启动,或反向代理暂时不可用。',
|
||
serviceTimeoutMessage: 'MoviePilot 服务响应超时,稍后将自动重试。',
|
||
browserOfflineMessage: '浏览器报告网络不可用,正在尝试直接连接 MoviePilot。',
|
||
continueBrowsing: '继续浏览',
|
||
online: '应用在线',
|
||
onlineMessage: '网络连接已恢复',
|
||
freeThreadedExperimentalHint: '实验性 free-threaded 运行时',
|
||
freeThreadedGilFallbackWarning: 'free-threaded 运行时已退化为 GIL 模式,请检查后端日志中的原生扩展兼容告警',
|
||
},
|
||
pwa: {
|
||
installApp: '安装 MoviePilot 应用',
|
||
installDescription: '获得更好的离线体验和性能',
|
||
install: '安装',
|
||
installSuccess: '应用安装成功!',
|
||
installGuide: '安装指南',
|
||
installInstructions: '在 {platform} 上安装 MoviePilot:',
|
||
installNote: '安装后,您可以从主屏幕快速访问 MoviePilot,并享受离线功能。',
|
||
gotIt: '知道了',
|
||
// 平台特定的说明
|
||
platforms: {
|
||
ios: 'iOS',
|
||
android: 'Android',
|
||
chrome: 'Chrome',
|
||
edge: 'Edge',
|
||
firefox: 'Firefox',
|
||
safari: 'Safari',
|
||
desktop: '桌面设备',
|
||
mobile: '移动设备',
|
||
other: '其他浏览器',
|
||
},
|
||
// 安装步骤
|
||
installSteps: {
|
||
ios: {
|
||
0: '点击浏览器底部的分享按钮',
|
||
1: '选择"添加到主屏幕"',
|
||
2: '点击"添加"确认安装',
|
||
},
|
||
android: {
|
||
0: '点击浏览器菜单(三个点)',
|
||
1: '选择"添加到主屏幕"或"安装应用"',
|
||
2: '点击"安装"确认',
|
||
},
|
||
chrome: {
|
||
0: '点击地址栏右侧的安装图标',
|
||
1: '或者点击浏览器菜单中的"安装 MoviePilot"',
|
||
2: '点击"安装"确认',
|
||
},
|
||
edge: {
|
||
0: '点击地址栏右侧的"应用可用"图标',
|
||
1: '在弹出的面板中点击"安装"按钮',
|
||
2: '在确认对话框中点击"安装"',
|
||
},
|
||
firefox: {
|
||
0: '点击地址栏右侧的安装图标',
|
||
1: '选择"安装"',
|
||
2: '确认安装到桌面',
|
||
},
|
||
safari: {
|
||
0: '点击分享按钮',
|
||
1: '选择"添加到主屏幕"',
|
||
2: '点击"添加"确认',
|
||
},
|
||
desktop: {
|
||
0: '点击地址栏右侧的安装图标',
|
||
1: '选择"安装应用"',
|
||
2: '按照提示完成安装',
|
||
},
|
||
mobile: {
|
||
0: '点击浏览器菜单',
|
||
1: '选择"添加到主屏幕"',
|
||
2: '确认安装',
|
||
},
|
||
other: {
|
||
0: '查找浏览器中的"安装"选项',
|
||
1: '通常在地址栏或菜单中',
|
||
2: '按照提示完成安装',
|
||
},
|
||
},
|
||
},
|
||
login: {
|
||
wallpapers: '壁纸',
|
||
tagline: '你的智能影视媒体库',
|
||
welcomeBack: '欢迎回来',
|
||
copyright: '© {year} MoviePilot',
|
||
username: '用户名',
|
||
password: '密码',
|
||
showPassword: '显示密码',
|
||
hidePassword: '隐藏密码',
|
||
otpCode: '验证码',
|
||
stayLoggedIn: '保持登录',
|
||
login: '登录',
|
||
networkError: '登录失败,请检查网络连接!',
|
||
authFailure: '登录失败,请检查用户名、密码或验证码',
|
||
permissionDenied: '登录失败,您没有权限访问!',
|
||
noPermission: '登录失败,您没有任何功能权限,请联系管理员!',
|
||
serverError: '登录失败,服务器错误!',
|
||
loginFailed: '登录失败',
|
||
secondaryVerification: '二次验证',
|
||
orDivider: '或',
|
||
loginWithPasskey: '使用通行密钥登录',
|
||
loginWithOtp: '验证并登录',
|
||
otpPlaceholder: '请输入6位验证码',
|
||
passkeyLoginStartFailed: '启动通行密钥认证失败',
|
||
passkeyNotSelected: '未选择通行密钥',
|
||
passkeyLoginFailed: '通行密钥登录失败',
|
||
passkeyAuthCanceled: '通行密钥认证被取消',
|
||
passkeyNotSupported: '当前浏览器不支持通行密钥',
|
||
passkeySecureContextRequired: '通行密钥需要 HTTPS 安全连接',
|
||
mfa: {
|
||
back: '返回登录',
|
||
methodsUnavailable: '无法获取验证方式,请重新登录',
|
||
otpPrompt: '输入身份验证器生成的 6 位验证码',
|
||
verificationFailed: '验证失败,请检查验证码后重试',
|
||
},
|
||
},
|
||
menu: {
|
||
start: '开始',
|
||
discovery: '发现',
|
||
subscribe: '订阅',
|
||
organize: '整理',
|
||
system: '系统',
|
||
},
|
||
navItems: {
|
||
dashboard: '仪表盘',
|
||
mediaInfo: '媒体库',
|
||
recommend: '推荐',
|
||
site: '站点',
|
||
search: '搜索',
|
||
searchResult: '搜索结果',
|
||
download: '下载',
|
||
movieSubscribe: '电影订阅',
|
||
tvSubscribe: '电视剧订阅',
|
||
musicSubscribe: '音乐订阅',
|
||
history: '历史记录',
|
||
transfer: '整理',
|
||
rename: '重命名',
|
||
statistic: '统计',
|
||
setting: '设置',
|
||
plugin: '插件',
|
||
user: '用户',
|
||
about: '关于',
|
||
explore: '探索',
|
||
movie: '电影',
|
||
tv: '电视剧',
|
||
music: '音乐',
|
||
workflow: '工作流',
|
||
calendar: '日历',
|
||
downloadManager: '下载管理',
|
||
mediaOrganize: '媒体整理',
|
||
fileManager: '文件管理',
|
||
pluginManager: '插件',
|
||
siteManager: '站点管理',
|
||
userManager: '用户管理',
|
||
settings: '设定',
|
||
},
|
||
music: {
|
||
title: '音乐搜索',
|
||
searchFromGlobal: '在顶部全局搜索中输入歌曲、专辑或艺术家进入音乐搜索',
|
||
searchDescription: '歌曲、专辑或艺术家',
|
||
noResults: '没有找到匹配的音乐',
|
||
searchResources: '搜索资源',
|
||
subscribe: '订阅',
|
||
unsubscribe: '取消订阅',
|
||
album: '专辑',
|
||
albumArtist: '专辑艺术家',
|
||
albumType: '专辑类型',
|
||
albumTracks: '专辑内的音乐',
|
||
albumNotFound: '没有找到该专辑',
|
||
albums: '专辑',
|
||
eps: 'EP',
|
||
singles: '单曲',
|
||
tracks: '曲目',
|
||
track: '音轨',
|
||
trackTotal: '曲目数',
|
||
trackNumber: '第 {number} 首',
|
||
trackCount: '{count} 首',
|
||
discNumber: '碟 {number}',
|
||
releases: '发行版本',
|
||
releaseDate: '发行日期',
|
||
duration: '时长',
|
||
ratingVotes: '评分人数',
|
||
listenCount: '收听次数',
|
||
listenCountValue: '收听 {count} 次',
|
||
relatedArtists: '关联艺术家',
|
||
relatedAlbums: '相关推荐',
|
||
artistAlbums: '艺术家的专辑',
|
||
artistType: '艺术家类型',
|
||
artistNotFound: '没有找到该艺术家',
|
||
entityRecording: '单曲',
|
||
entityAlbum: '专辑',
|
||
entityArtist: '艺术家',
|
||
audioQualityHires: 'Hi-Res',
|
||
audioQualityLossless: '无损',
|
||
audioQualityLossy: '有损',
|
||
audioFormatLossless: '无损格式',
|
||
gender: '性别',
|
||
area: '地区',
|
||
lifeSpan: '活跃时间',
|
||
aliases: '别名',
|
||
filter: {
|
||
mode: '模式',
|
||
modeChart: '热门榜单',
|
||
modeFresh: '新发行',
|
||
entity: '榜单',
|
||
entityRecording: '热门单曲',
|
||
entityAlbum: '热门专辑',
|
||
period: '周期',
|
||
sort: '排序',
|
||
cover: '封面',
|
||
scope: '范围',
|
||
days: '时间窗口',
|
||
daysValue: '近 {days} 天',
|
||
thisWeek: '本周',
|
||
thisMonth: '本月',
|
||
thisYear: '今年',
|
||
lastWeek: '过去一周',
|
||
lastMonth: '过去一月',
|
||
lastQuarter: '过去一季',
|
||
lastHalfYear: '过去半年',
|
||
lastYear: '过去一年',
|
||
allTime: '全部时间',
|
||
mostListened: '收听最多',
|
||
leastListened: '收听最少',
|
||
sortReleaseDate: '发行日期',
|
||
sortArtist: '艺术家',
|
||
sortReleaseName: '专辑名称',
|
||
released: '已发行',
|
||
upcoming: '即将发行',
|
||
all: '全部',
|
||
withCover: '仅有封面',
|
||
country: '国家/地区',
|
||
countryUs: '美国',
|
||
countryGb: '英国',
|
||
countryCn: '中国',
|
||
countryJp: '日本',
|
||
countryKr: '韩国',
|
||
},
|
||
},
|
||
settingTabs: {
|
||
system: {
|
||
title: '系统',
|
||
description:
|
||
'基础设置、下载器(Qbittorrent、Transmission)、媒体服务器(Emby、极影视、Jellyfin、Plex、飞牛影视、绿联影视)',
|
||
},
|
||
directory: {
|
||
title: '存储 & 目录',
|
||
description: '下载目录、媒体库目录、整理、刮削',
|
||
},
|
||
site: {
|
||
title: '站点',
|
||
description: '站点同步、站点数据刷新、站点重置',
|
||
},
|
||
rule: {
|
||
title: '规则',
|
||
description: '自定义规则、优先级规则组、下载规则',
|
||
},
|
||
search: {
|
||
title: '搜索 & 下载',
|
||
description: '搜索数据源(TheMovieDb、豆瓣、Bangumi)、下载任务标签、搜索站点',
|
||
},
|
||
subscribe: {
|
||
title: '订阅',
|
||
description: '订阅站点、订阅模式、订阅规则、洗版规则',
|
||
},
|
||
scheduler: {
|
||
title: '服务',
|
||
description: '定时作业',
|
||
},
|
||
cache: {
|
||
title: '缓存',
|
||
description: '种子缓存、图片文件缓存管理',
|
||
},
|
||
notification: {
|
||
title: '通知',
|
||
description:
|
||
'通知渠道(企业微信、微信 ClawBot、Telegram、Slack、钉钉、SynologyChat、VoceChat、WebPush)、消息发送范围',
|
||
},
|
||
about: {
|
||
title: '关于',
|
||
description: '软件版本',
|
||
},
|
||
},
|
||
subscribeTabs: {
|
||
movie: {
|
||
mysub: '我的订阅',
|
||
popular: '热门订阅',
|
||
},
|
||
tv: {
|
||
mysub: '我的订阅',
|
||
popular: '热门订阅',
|
||
share: '订阅分享',
|
||
},
|
||
music: {
|
||
mysub: '我的订阅',
|
||
},
|
||
},
|
||
workflowTabs: {
|
||
list: '我的工作流',
|
||
share: '工作流分享',
|
||
},
|
||
pluginTabs: {
|
||
installed: '我的插件',
|
||
market: '插件市场',
|
||
},
|
||
discoverTabs: {
|
||
themoviedb: 'TheMovieDb',
|
||
douban: '豆瓣',
|
||
bangumi: 'Bangumi',
|
||
anilist: 'AniList',
|
||
music: 'MusicBrainz',
|
||
},
|
||
user: {
|
||
admin: '管理员',
|
||
normal: '普通用户',
|
||
active: '激活',
|
||
inactive: '已停用',
|
||
noEmail: '未设置邮箱',
|
||
movieSubscriptions: '电影订阅',
|
||
tvSubscriptions: '剧集订阅',
|
||
cannotDeleteCurrentUser: '不能删除当前登录用户!',
|
||
confirmDeleteUser: '删除用户 {username} 的所有数据,是否确认?',
|
||
deleteSuccess: '用户删除成功',
|
||
deleteFailed: '用户删除失败!',
|
||
profile: '个人信息',
|
||
systemSettings: '系统设定',
|
||
wizardSettings: '设置向导',
|
||
siteAuth: '用户认证',
|
||
helpDocs: '帮助文档',
|
||
about: '关于',
|
||
restart: '重启',
|
||
management: '用户管理',
|
||
noUsers: '没有用户',
|
||
clickToAddUser: '点击添加用户卡片添加用户',
|
||
addUser: '添加用户',
|
||
editUser: '编辑用户',
|
||
username: '用户名',
|
||
usernameHint: '用于登录系统的用户名',
|
||
password: '密码',
|
||
passwordHint: '请输入登录密码',
|
||
confirmPassword: '确认密码',
|
||
confirmPasswordHint: '请再次输入密码以确认',
|
||
role: '角色',
|
||
email: '邮箱',
|
||
enabled: '启用',
|
||
disabled: '禁用',
|
||
status: '状态',
|
||
operations: '操作',
|
||
},
|
||
nav: {
|
||
more: '更多',
|
||
},
|
||
notification: {
|
||
center: '通知中心',
|
||
markRead: '设为已读',
|
||
clear: '清理通知',
|
||
clearConfirm: '是否确认清理通知中心内的全部历史消息?',
|
||
clearAllMessages: '清理全部消息',
|
||
clearSystemMessages: '清理系统消息',
|
||
clearMediaMessages: '清理媒体消息',
|
||
clearAllConfirm: '是否确认清理通知中心内的全部历史消息?',
|
||
clearSystemConfirm: '是否确认清理通知中心内的系统类历史消息?',
|
||
clearMediaConfirm: '是否确认清理通知中心内的媒体历史消息?',
|
||
clearSuccess: '通知已清理',
|
||
clearAllSuccess: '全部通知已清理',
|
||
clearSystemSuccess: '系统消息已清理',
|
||
clearMediaSuccess: '媒体消息已清理',
|
||
clearFailed: '通知清理失败',
|
||
empty: '暂无通知',
|
||
systemMessages: '系统类消息',
|
||
mediaMessages: '媒体消息',
|
||
channel: '通知渠道',
|
||
name: '名称',
|
||
nameHint: '通知渠道名称',
|
||
type: '类型',
|
||
typeHint: '通知渠道类型',
|
||
customTypeHint: '自定义通知类型,用于插件实现场景',
|
||
customTypePlaceholder: 'custom',
|
||
nameRequired: '请输入名称',
|
||
enabled: '启用',
|
||
config: '配置',
|
||
wechat: {
|
||
name: '企业微信',
|
||
useBotMode: '使用智能机器人',
|
||
useBotModeHint: '开启后使用智能机器人长连接,固定 dmPolicy=open、groupPolicy=disabled',
|
||
corpId: '企业ID',
|
||
corpIdHint: '企业微信后台企业信息中的企业ID',
|
||
corpIdRequired: '企业ID不能为空',
|
||
appId: '应用 AgentId',
|
||
appIdHint: '企业微信自建应用的AgentId',
|
||
appIdRequired: '应用AgentId不能为空',
|
||
appSecret: '应用 Secret',
|
||
appSecretHint: '企业微信自建应用的Secret',
|
||
appSecretRequired: '应用Secret不能为空',
|
||
proxy: '代理地址',
|
||
proxyHint: '微信消息的转发代理地址,2022年6月20日后创建的自建应用才需要,不使用代理时需要保留默认值',
|
||
token: 'Token',
|
||
tokenHint: '微信企业自建应用->API接收消息配置中的Token',
|
||
encodingAesKey: 'EncodingAESKey',
|
||
encodingAesKeyHint: '微信企业自建应用->API接收消息配置中的EncodingAESKey',
|
||
botId: '机器人 BotID',
|
||
botIdHint: '企业微信智能机器人的 BotID',
|
||
botSecret: '机器人 Secret',
|
||
botSecretHint: '企业微信智能机器人长连接专用 Secret',
|
||
botChatId: '默认通知目标',
|
||
botChatIdHint: '可填写用户 userid;如需主动发群消息可填写 group:群聊chatid,不填则默认发给已互动用户',
|
||
botChatIdPlaceholder: 'userid 或 group:chatid',
|
||
botWsUrl: '长连接地址',
|
||
botWsUrlHint: '企业微信智能机器人 WebSocket 地址,通常使用默认值',
|
||
admins: '管理员白名单',
|
||
adminsHint: '可使用管理菜单及命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
},
|
||
wechatclawbot: {
|
||
name: '微信 ClawBot',
|
||
baseUrl: 'iLink 地址',
|
||
baseUrlHint: '微信 ClawBot iLink 服务地址,通常使用默认值',
|
||
defaultTarget: '默认通知目标',
|
||
defaultTargetHint: '可填写用户 userid;不填则默认发给已互动用户',
|
||
defaultTargetPlaceholder: '用户 userid(可选)',
|
||
admins: '管理员白名单',
|
||
adminsHint: '允许执行斜杠命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
pollTimeout: '轮询超时(秒)',
|
||
pollTimeoutHint: '长轮询请求超时时间,建议 20-30 秒',
|
||
loginStatus: '登录状态',
|
||
connected: '已连接',
|
||
waiting: '等待扫码',
|
||
scanned: '已扫码,待确认',
|
||
confirmed: '已确认,正在建立连接',
|
||
expired: '二维码已过期',
|
||
refreshQrcode: '刷新二维码',
|
||
logout: '退出登录',
|
||
noQrcode: '暂无二维码,请先刷新或保存配置后重试',
|
||
scanHint: '使用微信扫码绑定后,状态会自动刷新。首次使用请先保存并启用该通知渠道。',
|
||
accountId: '账号ID',
|
||
qrcodeUpdatedAt: '二维码更新时间',
|
||
knownTargets: '最近互动用户',
|
||
noKnownTargets: '暂无互动用户记录',
|
||
statusLoadFailed: '获取微信 ClawBot 状态失败',
|
||
qrcodeRefreshSuccess: '微信 ClawBot 二维码已刷新',
|
||
qrcodeRefreshFailed: '刷新微信 ClawBot 二维码失败',
|
||
logoutSuccess: '微信 ClawBot 已退出登录',
|
||
logoutFailed: '微信 ClawBot 退出登录失败',
|
||
},
|
||
feishu: {
|
||
name: '飞书',
|
||
appId: 'App ID',
|
||
appIdHint: '飞书开放平台应用的 App ID',
|
||
appIdRequired: 'App ID 不能为空',
|
||
appSecret: 'App Secret',
|
||
appSecretHint: '飞书开放平台应用的 App Secret',
|
||
appSecretRequired: 'App Secret 不能为空',
|
||
openId: '默认用户 Open ID',
|
||
openIdHint: '默认通知接收用户的 Open ID,留空则优先使用互动用户',
|
||
openIdPlaceholder: 'ou_xxx',
|
||
chatId: '默认群聊 Chat ID',
|
||
chatIdHint: '默认通知接收群聊的 Chat ID,和 Open ID 二选一即可',
|
||
chatIdPlaceholder: 'oc_xxx',
|
||
admins: '管理员白名单',
|
||
adminsHint: '允许执行命令和管理操作的 Open ID 列表,多个使用 , 分隔',
|
||
adminsPlaceholder: 'Open ID 列表,多个使用 , 分隔',
|
||
verificationToken: 'Verification Token',
|
||
verificationTokenHint: '飞书事件订阅的 Verification Token,启用事件校验时填写',
|
||
encryptKey: 'Encrypt Key',
|
||
encryptKeyHint: '飞书事件订阅的 Encrypt Key,启用消息加密时填写',
|
||
},
|
||
telegram: {
|
||
name: 'Telegram',
|
||
token: 'Bot Token',
|
||
tokenHint: 'Telegram机器人token,格式:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11',
|
||
tokenRequired: 'Bot Token不能为空',
|
||
chatId: 'Chat ID',
|
||
chatIdHint: '接受消息通知的用户、群组或频道Chat ID',
|
||
chatIdRequired: 'Chat ID不能为空',
|
||
users: '用户白名单',
|
||
usersHint: '可使用Telegram机器人的用户ID清单,多个用户用,分隔,不填写则所有用户都能使用',
|
||
admins: '管理员白名单',
|
||
adminsHint: '可使用管理菜单及命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
usersPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
apiUrl: '代理API地址',
|
||
apiUrlHint: '自定义代理API地址,格式:https://api.telegram.org',
|
||
apiUrlPlaceholder: 'https://api.telegram.org',
|
||
},
|
||
slack: {
|
||
name: 'Slack',
|
||
oauthToken: 'Slack Bot User OAuth Token',
|
||
oauthTokenHint: 'Slack应用`OAuth & Permissions`页面中的`Bot User OAuth Token`',
|
||
oauthTokenRequired: 'OAuth Token不能为空',
|
||
appToken: 'Slack App-Level Token',
|
||
appTokenHint: 'Slack应用`OAuth & Permissions`页面中的`App-Level Token`',
|
||
channel: '频道名称',
|
||
channelHint: '消息发送频道,默认`全体`',
|
||
channelRequired: '频道名称不能为空',
|
||
admins: '管理员白名单',
|
||
adminsHint: '可使用管理菜单及命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
},
|
||
discord: {
|
||
name: 'Discord',
|
||
botToken: 'Bot Token',
|
||
botTokenHint: 'Discord Bot Token(需在开发者后台开启 Message Content Intent)',
|
||
botTokenRequired: 'Bot Token不能为空',
|
||
guildId: '服务器 ID',
|
||
guildIdHint: '可选,限制使用的服务器;为空则使用已加入的任意服务器',
|
||
guildIdPlaceholder: '123456789012345678',
|
||
channelId: '频道 ID',
|
||
channelIdHint: '可选,默认广播频道;为空则自动选择可发送消息的频道',
|
||
channelIdPlaceholder: '123456789012345678',
|
||
admins: '管理员白名单',
|
||
adminsHint: '可使用管理菜单及命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
},
|
||
dingtalk: {
|
||
name: '钉钉',
|
||
webhook: '自定义机器人 Webhook',
|
||
webhookHint: '钉钉群自定义机器人的完整 Webhook 地址',
|
||
webhookRequired: 'Webhook 地址不能为空',
|
||
secret: '加签密钥',
|
||
secretHint: '机器人安全设置启用“加签”时填写,以 SEC 开头;使用关键词或 IP 白名单时可留空',
|
||
},
|
||
synologychat: {
|
||
name: 'Synology Chat',
|
||
webhook: '机器人传入URL',
|
||
webhookHint: 'Synology Chat机器人传入URL',
|
||
webhookRequired: 'Webhook URL不能为空',
|
||
token: '令牌',
|
||
tokenHint: 'Synology Chat机器人令牌',
|
||
admins: '管理员白名单',
|
||
adminsHint: '可使用管理菜单及命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
},
|
||
vocechat: {
|
||
name: 'VoceChat',
|
||
host: '地址',
|
||
hostHint: 'VoceChat服务端地址,格式:http(s)://ip:port',
|
||
hostRequired: '地址不能为空',
|
||
apiKey: '机器人密钥',
|
||
apiKeyHint: 'VoceChat机器人密钥',
|
||
apiKeyRequired: 'API密钥不能为空',
|
||
channelId: '频道ID',
|
||
channelIdHint: 'VoceChat的频道ID,不包含#号',
|
||
admins: '管理员白名单',
|
||
adminsHint: '可使用管理菜单及命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
},
|
||
webpush: {
|
||
name: 'WebPush',
|
||
username: '登录用户名',
|
||
usernameHint: '只有对应的用户登录后才会推送消息',
|
||
usernameRequired: '用户名不能为空',
|
||
},
|
||
qqbot: {
|
||
name: 'QQ',
|
||
appId: 'AppID',
|
||
appIdHint: 'QQ 开放平台机器人 AppID',
|
||
appIdRequired: 'AppID 不能为空',
|
||
appSecret: 'AppSecret',
|
||
appSecretHint: 'QQ 开放平台机器人 AppSecret',
|
||
appSecretRequired: 'AppSecret 不能为空',
|
||
openId: '用户 OpenID',
|
||
openIdHint: '默认接收者 openid(单聊),用户需曾与机器人交互过',
|
||
openIdPlaceholder: '32位十六进制',
|
||
groupOpenId: '群组 OpenID',
|
||
groupOpenIdHint: '默认群组 openid(群聊),与用户 OpenID 二选一',
|
||
groupOpenIdPlaceholder: '群组 openid',
|
||
admins: '管理员白名单',
|
||
adminsHint: '可使用管理菜单及命令的用户ID列表,多个ID使用,分隔',
|
||
adminsPlaceholder: '用户ID列表,多个ID使用,分隔',
|
||
},
|
||
},
|
||
shortcut: {
|
||
title: '捷径',
|
||
recognition: {
|
||
title: '识别',
|
||
subtitle: '名称识别测试',
|
||
},
|
||
rule: {
|
||
title: '规则',
|
||
subtitle: '规则测试',
|
||
},
|
||
log: {
|
||
title: '日志',
|
||
subtitle: '实时日志',
|
||
},
|
||
network: {
|
||
title: '网络',
|
||
subtitle: '网速连通性测试',
|
||
},
|
||
system: {
|
||
title: '系统',
|
||
subtitle: '健康检查',
|
||
},
|
||
words: {
|
||
title: '词表',
|
||
subtitle: '词表设置',
|
||
},
|
||
cache: {
|
||
title: '缓存',
|
||
subtitle: '管理缓存',
|
||
},
|
||
scheduler: {
|
||
title: '服务',
|
||
subtitle: '定时服务',
|
||
},
|
||
},
|
||
agentAssistant: {
|
||
title: '智能助手',
|
||
assistant: '助手',
|
||
ready: '随时待命',
|
||
thinking: '思考中',
|
||
newChat: '新会话',
|
||
enterFullscreen: '全屏显示',
|
||
exitFullscreen: '退出全屏',
|
||
history: '历史会话',
|
||
historyLoading: '正在加载历史会话...',
|
||
historyLoadFailed: '历史会话加载失败',
|
||
noHistory: '暂无历史会话',
|
||
deleteHistory: '删除历史会话',
|
||
unknownChannel: '未知渠道',
|
||
webAgentChannel: '网页助手',
|
||
untitledSession: '未命名会话',
|
||
emptyTitle: '今天想处理什么?',
|
||
emptySubtitle: '站点、订阅、下载、整理任务,都可以直接问我。',
|
||
placeholder: '询问 MoviePilot,输入 / 使用命令',
|
||
processingPlaceholder: '处理中...',
|
||
commandLoading: '正在加载命令...',
|
||
commandLoadFailed: '命令列表加载失败',
|
||
stop: '停止生成',
|
||
download: '下载',
|
||
attachFile: '选择图片或文件',
|
||
recordVoice: '录制语音',
|
||
stopRecording: '停止录音({time})',
|
||
attachmentMessage: '附件消息',
|
||
removeAttachment: '移除附件',
|
||
uploadFailed: '附件上传失败',
|
||
recordUnsupported: '当前浏览器不支持录音',
|
||
recordPermissionDenied: '无法访问麦克风,请检查浏览器权限',
|
||
recordFailed: '录音失败,请重试',
|
||
choiceSelected: '已选择:{option}',
|
||
choiceExpired: '该选择已失效,请重新发起选择',
|
||
error: '智能助手响应失败',
|
||
noStream: '当前浏览器无法读取流式响应',
|
||
recoveryFailed: '后台回复恢复失败,请稍后重试',
|
||
},
|
||
workflow: {
|
||
components: '动作组件',
|
||
clickToAdd: '点击添加',
|
||
dragToCanvas: '拖动到画布',
|
||
tapComponentHint: '点击组件添加到画布',
|
||
dragComponentHint: '拖动组件到画布',
|
||
task: {
|
||
edit: '编辑任务',
|
||
editFlow: '编辑流程',
|
||
share: '分享',
|
||
moreActions: '更多操作',
|
||
continue: '继续执行',
|
||
restart: '重新执行',
|
||
run: '立即执行',
|
||
reset: '重置任务',
|
||
delete: '删除任务',
|
||
confirmDelete: '是否确认删除任务 {name} ?',
|
||
confirmReset: '是否确认重置任务 {name} ?',
|
||
deleteSuccess: '删除任务成功!',
|
||
deleteFailed: '删除任务失败:{message}',
|
||
enableSuccess: '启用任务成功!',
|
||
enableFailed: '启用任务失败:{message}',
|
||
pauseSuccess: '停用任务成功!',
|
||
pauseFailed: '停用任务失败:{message}',
|
||
runSuccess: '任务执行完成!',
|
||
runFailed: '任务执行失败:{message}',
|
||
resetSuccess: '重置任务成功!',
|
||
resetFailed: '重置任务失败:{message}',
|
||
status: {
|
||
success: '成功',
|
||
running: '运行中',
|
||
failed: '失败',
|
||
paused: '暂停',
|
||
waiting: '待执行',
|
||
},
|
||
info: {
|
||
trigger: '触发方式',
|
||
timer: '定时',
|
||
status: '状态',
|
||
actionCount: '动作数',
|
||
runCount: '已执行 {count} 次',
|
||
progress: '进度',
|
||
error: '错误信息',
|
||
manualTrigger: '手动',
|
||
lastExecuted: '上次执行 {time}',
|
||
neverExecuted: '从未执行',
|
||
executionIncomplete: '上次执行尚未完成',
|
||
executingAction: '正在执行 {name}',
|
||
noActions: '暂无动作',
|
||
},
|
||
},
|
||
scanFile: {
|
||
title: '扫描目录',
|
||
subtitle: '扫描目录文件到队列',
|
||
storage: '存储',
|
||
directory: '目录',
|
||
},
|
||
addDownload: {
|
||
title: '添加下载',
|
||
subtitle: '添加资源到下载器',
|
||
downloader: '下载器',
|
||
category: '分类',
|
||
savePath: '保存路径',
|
||
sequential: '顺序下载',
|
||
forceResume: '强制继续',
|
||
firstLastPiece: '优先首尾文件',
|
||
onlyLack: '仅下载缺失资源',
|
||
categoryPlaceholder: '多个使用,分隔',
|
||
savePathPlaceholder: '留空自动',
|
||
},
|
||
addSubscribe: {
|
||
title: '添加订阅',
|
||
subtitle: '添加资源到订阅',
|
||
type: '类型',
|
||
name: '名称',
|
||
season: '季',
|
||
episode: '集',
|
||
},
|
||
fetchMedias: {
|
||
title: '获取媒体',
|
||
subtitle: '从媒体服务器获取媒体信息',
|
||
source: '数据源',
|
||
searchType: '搜索类型',
|
||
type: '类型',
|
||
name: '名称',
|
||
year: '年份',
|
||
ranking: '榜单',
|
||
api: '插件API',
|
||
apiPath: 'API路径',
|
||
selectRanking: '选择榜单',
|
||
tmdbTrending: 'TMDB 流行趋势',
|
||
doubanShowing: '豆瓣正在热映',
|
||
bangumiCalendar: 'Bangumi 每日放送',
|
||
tmdbMovies: 'TMDB 热门电影',
|
||
tmdbTvs: 'TMDB 热门电视剧',
|
||
doubanMovieHot: '豆瓣热门电影',
|
||
doubanTvHot: '豆瓣热门电视剧',
|
||
doubanTvAnimation: '豆瓣热门动漫',
|
||
doubanMovies: '豆瓣最新电影',
|
||
doubanTvs: '豆瓣最新电视剧',
|
||
doubanMovieTop250: '豆瓣电影TOP250',
|
||
doubanTvWeeklyChinese: '豆瓣国产剧集榜',
|
||
doubanTvWeeklyGlobal: '豆瓣全球剧集榜',
|
||
},
|
||
filterMedias: {
|
||
title: '过滤媒体',
|
||
subtitle: '根据条件过滤媒体',
|
||
type: '类型',
|
||
name: '名称',
|
||
year: '年份',
|
||
vote: '评分',
|
||
},
|
||
scrapeFile: {
|
||
title: '刮削文件',
|
||
subtitle: '刮削文件元数据',
|
||
},
|
||
sendEvent: {
|
||
title: '发送事件',
|
||
subtitle: '发送系统事件',
|
||
},
|
||
fetchDownloads: {
|
||
title: '获取下载',
|
||
subtitle: '获取下载器任务',
|
||
loop: '循环执行',
|
||
loopInterval: '循环间隔',
|
||
},
|
||
fetchRss: {
|
||
title: '获取RSS',
|
||
subtitle: '获取RSS订阅',
|
||
url: 'URL',
|
||
userAgent: 'User-Agent',
|
||
timeout: '超时时间',
|
||
matchMedia: '匹配媒体数据',
|
||
useProxy: '使用代理',
|
||
},
|
||
fetchTorrents: {
|
||
title: '获取站点资源',
|
||
subtitle: '获取站点种子列表',
|
||
searchType: '搜索类型',
|
||
searchOptions: {
|
||
name: '名称',
|
||
mediaList: '媒体列表',
|
||
},
|
||
name: '名称',
|
||
year: '年份',
|
||
type: '类型',
|
||
season: '季',
|
||
sites: '站点',
|
||
matchMedia: '匹配媒体数据',
|
||
},
|
||
sendMessage: {
|
||
title: '发送消息',
|
||
subtitle: '发送系统消息',
|
||
channel: '渠道',
|
||
userId: '用户ID',
|
||
},
|
||
transferFile: {
|
||
title: '传输文件',
|
||
subtitle: '传输文件到目标目录',
|
||
source: '源目录',
|
||
sourceOptions: {
|
||
fileList: '文件列表',
|
||
downloads: '下载列表',
|
||
},
|
||
},
|
||
filterTorrents: {
|
||
title: '过滤资源',
|
||
subtitle: '对资源列表数据进行过滤',
|
||
quality: '质量',
|
||
resolution: '分辨率',
|
||
effect: '特效',
|
||
size: '大小范围',
|
||
include: '包含(关键字、正则式)',
|
||
exclude: '排除(关键字、正则式)',
|
||
ruleGroups: '过滤规则组',
|
||
},
|
||
invokePlugin: {
|
||
title: '调用插件',
|
||
subtitle: '调用插件执行特定操作',
|
||
plugin: '插件',
|
||
actionid: '动作ID',
|
||
actionParams: '动作参数',
|
||
loadPluginSettingFailed: '加载插件设置失败',
|
||
},
|
||
note: {
|
||
title: '备注',
|
||
subtitle: '添加流程说明注释',
|
||
content: '备注内容',
|
||
placeholder: '请输入备注内容...',
|
||
},
|
||
title: '工作流',
|
||
share: '工作流分享',
|
||
searchShares: '搜索工作流分享',
|
||
noShareData: '暂无分享的工作流',
|
||
sharer: '分享人',
|
||
trigger: '触发方式',
|
||
timer: '定时器',
|
||
manualTrigger: '手动触发',
|
||
actionCount: '动作数量',
|
||
preview: {
|
||
title: '流程概览',
|
||
actionCount: '{count} 个动作',
|
||
flowCount: '{count} 条连接',
|
||
moreActions: '另有 {count} 个',
|
||
hasBranches: '含分支',
|
||
unknownAction: '未知动作',
|
||
},
|
||
normalFork: '复用工作流',
|
||
cancelShare: '取消分享',
|
||
cancelSuccess: '取消分享成功',
|
||
cancelFailed: '取消分享失败:{message}',
|
||
usageCount: '复用 {count} 次',
|
||
addSuccess: '复用 {name} 成功!',
|
||
addFailed: '复用 {name} 失败:{message}',
|
||
noWorkflow: '没有工作流',
|
||
noWorkflowDescription: '点击添加按钮创建工作流任务。',
|
||
},
|
||
dashboard: {
|
||
storage: '存储空间',
|
||
storageSummary: '可用 {available} / 总容量 {total}',
|
||
mediaStatistic: '媒体统计',
|
||
recommendedMedia: '推荐媒体',
|
||
selectRecommendSource: '选择推荐媒体来源',
|
||
previousRecommend: '上一项推荐',
|
||
nextRecommend: '下一项推荐',
|
||
showRecommend: '查看第 {index} 项推荐',
|
||
noRecommendations: '当前来源暂无推荐媒体',
|
||
recommendLoadFailed: '推荐媒体加载失败',
|
||
weeklyOverview: '入库统计',
|
||
realTimeSpeed: '实时速率',
|
||
scheduler: '后台任务',
|
||
cpu: 'CPU',
|
||
cpuUsage: 'CPU 使用率',
|
||
memory: '内存',
|
||
memoryUsage: '内存使用',
|
||
memoryUsed: '已使用',
|
||
memoryCached: '已缓存',
|
||
memoryAvailable: '可用',
|
||
averageUsage: '平均使用',
|
||
network: '网络流量',
|
||
upload: '上行',
|
||
download: '下行',
|
||
uploadSpeed: '上传速度',
|
||
downloadSpeed: '下载速度',
|
||
library: '我的媒体库',
|
||
playing: '继续观看',
|
||
latest: '最新入库',
|
||
noLatest: '暂无最近入库记录',
|
||
noPlaying: '暂无继续观看记录',
|
||
noLibrary: '暂无媒体库数据',
|
||
mediaServerLoadFailed: '媒体服务器数据加载失败',
|
||
staleData: '刷新失败,当前显示上次数据',
|
||
recentImports: '近期整理',
|
||
viewAll: '查看全部',
|
||
settings: '设置仪表板',
|
||
chooseContent: '选择您想在页面显示的内容',
|
||
editLayout: '编辑布局',
|
||
exitEditMode: '完成编辑',
|
||
resetLayout: '恢复默认布局',
|
||
dragHandle: '拖动组件',
|
||
current: '当前',
|
||
episodes: '剧集',
|
||
users: '用户',
|
||
activeUsers: '活跃用户',
|
||
noSchedulers: '没有后台服务',
|
||
transferQueue: '整理队列',
|
||
transferProgress: '{completed} / {total} 个文件',
|
||
taskRunning: '进行中',
|
||
taskWaiting: '等待中',
|
||
noRecentImports: '暂无近期整理记录',
|
||
monthlyAddition: '+{count} 本月新增',
|
||
quickActions: {
|
||
title: '快捷操作',
|
||
downloadManager: '下载管理',
|
||
globalSearch: '全局搜索',
|
||
fileManager: '文件管理',
|
||
systemSettings: '系统设置',
|
||
cacheManager: '缓存管理',
|
||
pluginCenter: '插件中心',
|
||
},
|
||
systemInfo: {
|
||
title: '系统信息',
|
||
hostname: '主机名称',
|
||
operatingSystem: '操作系统',
|
||
runtime: '运行时间',
|
||
runtimeValue: '{days}天 {hours}小时 {minutes}分',
|
||
version: '版本',
|
||
checkUpdate: '检查更新',
|
||
},
|
||
weeklyOverviewDescription: '最近一周入库了 {count} 部影片',
|
||
speed: {
|
||
totalUpload: '总上传量',
|
||
totalDownload: '总下载量',
|
||
freeSpace: '磁盘剩余空间',
|
||
},
|
||
processes: {
|
||
title: '系统进程',
|
||
pid: '进程ID',
|
||
name: '进程名称',
|
||
runtime: '运行时间',
|
||
memory: '内存占用',
|
||
},
|
||
errors: {
|
||
loadMediaServer: '加载媒体服务器设置失败:',
|
||
loadLatest: '加载媒体服务器 "{server}" 的最近入库失败:',
|
||
},
|
||
},
|
||
media: {
|
||
status: {
|
||
inLibrary: '已入库',
|
||
missing: '缺失',
|
||
partiallyMissing: '部分缺失',
|
||
subscribed: '已订阅',
|
||
seasonsSubscribed: '已订阅 {count} 季',
|
||
allSeasonsSubscribed: '已全部订阅',
|
||
},
|
||
minutes: '分钟',
|
||
overview: '简介',
|
||
seasons: '季',
|
||
specials: '特别篇',
|
||
seasonNumber: '第 {number} 季',
|
||
episodeCount: '{count}集',
|
||
episodeGroups: {
|
||
select: '选择剧集组',
|
||
default: '默认',
|
||
summary: '{seasons} 季 · {episodes} 集',
|
||
current: '当前:{name} · {seasons} 季 · {episodes} 集',
|
||
previous: '查看上一组剧集组',
|
||
next: '查看更多剧集组',
|
||
},
|
||
actions: {
|
||
searchResource: '搜索资源',
|
||
searchSubtitle: '搜索字幕',
|
||
subscribe: '订阅',
|
||
playOnline: '在线播放',
|
||
playInApp: 'APP播放',
|
||
playInWeb: '网页播放',
|
||
},
|
||
search: {
|
||
byTitle: '标题',
|
||
byImdb: 'IMDB链接',
|
||
},
|
||
info: {
|
||
originalTitle: '原始标题',
|
||
status: '状态',
|
||
releaseDate: '上映日期',
|
||
digitalRelease: '数字发行',
|
||
physicalRelease: '实体发行',
|
||
originalLanguage: '原始语言',
|
||
productionCountries: '出品国家',
|
||
productionCompanies: '制作公司',
|
||
doubanId: '豆瓣ID',
|
||
},
|
||
subscribe: {
|
||
normal: '订阅',
|
||
bestVersion: '洗版订阅',
|
||
addFailed: '添加订阅失败:{reason}!',
|
||
canceled: '已取消订阅!',
|
||
cancelFailed: '取消订阅失败:{reason}!',
|
||
},
|
||
castAndCrew: '演员阵容',
|
||
recommendations: '推荐',
|
||
similar: '类似',
|
||
error: {
|
||
title: '出错啦!',
|
||
noMediaInfo: '未识别到媒体信息。',
|
||
},
|
||
server: {
|
||
plex: 'Plex',
|
||
jellyfin: 'Jellyfin',
|
||
emby: 'Emby',
|
||
zspace: '极影视',
|
||
appLaunchFailed: 'APP启动失败,正在跳转到网页版',
|
||
appNotInstalled: '未检测到APP,正在跳转到网页版',
|
||
downloadApp: '下载APP',
|
||
},
|
||
},
|
||
subscribe: {
|
||
normalSub: '订阅',
|
||
versionSub: '洗版订阅',
|
||
addSuccess: '添加{name}成功!',
|
||
addFailed: '添加{name}失败:{message}!',
|
||
modeUpdateSuccess: '已更新为{mode}!',
|
||
cancelSuccess: '已取消订阅!',
|
||
cancelFailed: '取消订阅失败:{message}!',
|
||
notFound: '订阅不存在!',
|
||
requestFailed: '请求失败,请稍后重试',
|
||
native: {
|
||
invalidMedia: '无法打开原生订阅:媒体信息格式无效。',
|
||
missingId: '无法打开原生订阅:请提供有效的媒体数据源 ID。',
|
||
missingTitle: '无法打开原生订阅:请提供媒体标题。',
|
||
unsupportedType: '无法打开原生订阅:媒体类型必须是电影或电视剧。',
|
||
permissionDenied: '当前用户没有订阅权限。',
|
||
},
|
||
filterSubscriptions: '筛选订阅',
|
||
name: '名称',
|
||
searchShares: '搜索订阅分享',
|
||
keyword: '关键词',
|
||
noShareData: '未获取到分享订阅数据,未开启数据分享或服务器无法连接。',
|
||
noPopularData: '未获取到热门订阅数据,未开启数据分享或服务器无法连接。',
|
||
noFilterData: '没有筛选到相关内容,请更换筛选条件。',
|
||
noSubscribeData: '请通过搜索添加电影、电视剧订阅。',
|
||
sharer: '分享人',
|
||
follow: '关注',
|
||
unfollow: '取消关注',
|
||
recognitionWords: '识别词',
|
||
cancelShare: '取消分享',
|
||
usageCount: '共 {count} 次复用',
|
||
confirmToggle: '是否{action}订阅 {name}?',
|
||
toggleSuccess: '{name} 已{action}!',
|
||
toggleFailed: '{action}失败:{message}',
|
||
resetConfirm: '重置后 {name} 将恢复初始状态,已下载记录将被清除,未入库的内容将会重新下载,是否确认?',
|
||
resetSuccess: '{name} 重置成功!',
|
||
resetFailed: '{name} 重置失败:{message}',
|
||
shareStatistics: '分享统计',
|
||
shareCount: '个分享',
|
||
totalReuseCount: '次复用',
|
||
ranking: '排名',
|
||
noStatisticsData: '暂无分享统计数据',
|
||
bestVersion: '洗版中',
|
||
bestVersionEpisodeShort: '分集',
|
||
bestVersionWholeShort: '全集',
|
||
bestVersionEpisodeProgressTooltip: '已洗版 {completed} · 已下载 {downloaded} · 共 {total} 集',
|
||
subscribeProgressTooltip: '已下载 {downloaded} · 共 {total} 集',
|
||
completed: '订阅完成',
|
||
subscribing: '订阅中',
|
||
notStarted: '未开始',
|
||
pending: '待定',
|
||
paused: '暂停',
|
||
cardStatePaused: '已暂停',
|
||
cardStatePending: '待定中',
|
||
mediaDetail: '媒体详情',
|
||
fileStatistics: '文件统计',
|
||
sortTitle: '排序',
|
||
sort: {
|
||
custom: '自定义',
|
||
lastUpdate: '最后更新时间',
|
||
addTime: '添加时间',
|
||
lackEpisode: '缺失集数',
|
||
},
|
||
selectedCount: '已选择 {count}/{total} 项',
|
||
noSelectedItems: '请先选择要操作的订阅',
|
||
batchSelectAll: '选择全部订阅',
|
||
batchDeselectAll: '取消全选订阅',
|
||
exitBatchMode: '退出批量操作',
|
||
batchEnable: '批量启用',
|
||
batchPause: '批量暂停',
|
||
batchDelete: '批量删除',
|
||
batchEnableConfirm: '确定要启用选中的 {count} 个订阅吗?',
|
||
batchPauseConfirm: '确定要暂停选中的 {count} 个订阅吗?',
|
||
batchDeleteConfirm: '确定要删除选中的 {count} 个订阅吗?此操作不可恢复!',
|
||
batchEnableSuccess: '成功启用 {count} 个订阅',
|
||
batchPauseSuccess: '成功暂停 {count} 个订阅',
|
||
batchDeleteSuccess: '成功删除 {count} 个订阅',
|
||
batchEnableFailed: '启用失败 {count} 个订阅',
|
||
batchPauseFailed: '暂停失败 {count} 个订阅',
|
||
batchDeleteFailed: '删除失败 {count} 个订阅',
|
||
batchEnableError: '批量启用操作失败',
|
||
batchPauseError: '批量暂停操作失败',
|
||
batchDeleteError: '批量删除操作失败',
|
||
minSubscribers: '最小订阅人数',
|
||
},
|
||
recommend: {
|
||
all: '全部',
|
||
categoryMovie: '电影',
|
||
categoryTV: '电视剧',
|
||
categoryAnime: '动漫',
|
||
categoryMusic: '音乐',
|
||
categoryRankings: '榜单',
|
||
trendingNow: '流行趋势',
|
||
nowShowing: '正在热映',
|
||
bangumiDaily: 'Bangumi每日放送',
|
||
anilistTrendingNow: 'AniList 当前趋势',
|
||
anilistPopularThisSeason: 'AniList 本季热门',
|
||
listenBrainzWeekly: '本周热门音乐',
|
||
doubanMusic: '豆瓣音乐推荐',
|
||
tmdbHotMovies: 'TMDB热门电影',
|
||
tmdbHotTVShows: 'TMDB热门电视剧',
|
||
doubanHotMovies: '豆瓣热门电影',
|
||
doubanHotTVShows: '豆瓣热门电视剧',
|
||
doubanHotAnime: '豆瓣热门动漫',
|
||
doubanNewMovies: '豆瓣最新电影',
|
||
doubanNewTVShows: '豆瓣最新电视剧',
|
||
doubanTop250: '豆瓣电影TOP250',
|
||
doubanChineseTVRankings: '豆瓣国产剧集榜',
|
||
doubanGlobalTVRankings: '豆瓣全球剧集榜',
|
||
noCategoryContent: '当前分类下没有可显示的内容',
|
||
configureContent: '设置显示内容',
|
||
customizeContent: '自定义推荐',
|
||
selectContentToDisplay: '选择您想在页面显示的内容',
|
||
selectAll: '全选',
|
||
selectNone: '全不选',
|
||
},
|
||
discover: {
|
||
customizeTabs: '自定义探索标签',
|
||
configureTabsHint: '拖动调整标签顺序,并选择要显示的标签',
|
||
selectAll: '全选',
|
||
selectNone: '全不选',
|
||
saveSettingsFailed: '探索标签设置保存失败,请稍后重试',
|
||
},
|
||
downloading: {
|
||
noDownloader: '没有下载器',
|
||
configureDownloader: '请先在设置中正确配置并启用下载器。',
|
||
title: '下载',
|
||
noTask: '没有任务',
|
||
noTaskDescription: '正在下载的任务将会显示在这里。',
|
||
},
|
||
resource: {
|
||
searchResults: '资源搜索结果',
|
||
subtitleSearchResults: '字幕搜索结果',
|
||
keyword: '关键词',
|
||
title: '标题',
|
||
year: '年份',
|
||
season: '季',
|
||
switchingView: '切换视图',
|
||
backToHome: '返回首页',
|
||
searching: '正在搜索,请稍候...',
|
||
noData: '没有数据',
|
||
noResourceFound: '未搜索到任何资源',
|
||
filteredNoResults: '找到 {count} 个资源,但均不符合过滤规则',
|
||
searchStreamTimeout: '搜索连接长时间无响应,请稍后重试',
|
||
searchStreamDisconnected: '搜索连接已中断,请稍后重试',
|
||
aiRecommend: '智能推荐',
|
||
reRecommend: '重新生成推荐',
|
||
aiRecommendError: '智能推荐失败',
|
||
refreshSearch: '重新搜索',
|
||
},
|
||
browse: {
|
||
actor: '演员',
|
||
},
|
||
appcenter: {
|
||
others: '其他',
|
||
},
|
||
notFound: {
|
||
title: '⚠️ 页面不存在',
|
||
description: '您想要访问的页面不存在,请检查地址是否正确。',
|
||
backButton: '返回',
|
||
},
|
||
torrent: {
|
||
selectAll: '全选',
|
||
clear: '清除',
|
||
clearFilters: '清除筛选',
|
||
confirm: '确定',
|
||
resources: '个资源',
|
||
noResults: '没有找到匹配的资源',
|
||
sortDefault: '默认',
|
||
sortSite: '站点',
|
||
sortSize: '大小',
|
||
sortSeeder: '做种数',
|
||
sortPublishTime: '发布时间',
|
||
filterSite: '站点',
|
||
filterSeason: '季',
|
||
filterFreeState: '促销状态',
|
||
filterVideoCode: '视频编码',
|
||
filterEdition: '质量',
|
||
filterResolution: '分辨率',
|
||
filterReleaseGroup: '制作组',
|
||
noMatchingResults: '没有数据',
|
||
allFilters: '综合筛选',
|
||
clearAll: '清除全部',
|
||
},
|
||
calendar: {
|
||
episode: '第{number}集',
|
||
libraryProgress: '已入库 {completed}/{total}',
|
||
currentEpisodeInLibrary: '本集已入库',
|
||
currentEpisodePartiallyInLibrary: '本集部分入库',
|
||
currentEpisodeNotInLibrary: '本集未入库',
|
||
libraryStateComplete: '已入库',
|
||
libraryStatePartial: '部分入库',
|
||
libraryStateNone: '未入库',
|
||
compactLibraryProgress: '{state} ({completed}/{total})',
|
||
libraryUpdatedAt: '最近更新 {time}',
|
||
libraryUpdatedAtShort: '{time}',
|
||
expandDayEvents: '展开当天剩余 {count} 个条目',
|
||
mobileFilterTitle: '订阅日历',
|
||
itemCount: '{count} 项',
|
||
hideExpired: '隐藏过期',
|
||
showExpired: '显示过期',
|
||
today: '今天',
|
||
todayUpdated: '今天更新',
|
||
upcoming: '即将播出',
|
||
expired: '已播出',
|
||
episodeCount: '{count} 集',
|
||
mobileEpisodeTitle: '第 {number} 集',
|
||
runtimeMinutes: '{minutes} 分钟',
|
||
movie: '电影',
|
||
imageLoadFailed: '加载失败',
|
||
noMatchingEvents: '暂无符合筛选条件的日历内容',
|
||
mediaTypeFilterTitle: '媒体类型筛选',
|
||
filterAll: '全部',
|
||
filterMovie: '电影',
|
||
filterTv: '电视剧',
|
||
},
|
||
storage: {
|
||
name: '名称',
|
||
type: '类型',
|
||
customTypeHint: '自定义存储类型,用于插件等场景',
|
||
usedPercent: '已使用 {percent}%',
|
||
noConfigNeeded: '此存储类型无需配置参数,请直接配置目录!',
|
||
notConfigured: '未配置',
|
||
local: '本地',
|
||
alipan: '阿里云盘',
|
||
u115: '115网盘',
|
||
rclone: 'RClone',
|
||
alist: 'OpenList',
|
||
alistgo: 'AList',
|
||
smb: 'SMB网络共享',
|
||
custom: '自定义',
|
||
},
|
||
filterRules: {
|
||
specSub: '特效字幕',
|
||
cnSub: '中文字幕',
|
||
cnVoi: '国语配音',
|
||
gz: '官种',
|
||
notCnVoi: '排除: 国语配音',
|
||
hkVoi: '粤语配音',
|
||
notHkVoi: '排除: 粤语配音',
|
||
free: '促销: 免费',
|
||
audioHires: '音质: Hi-Res',
|
||
audioLossless: '音质: 无损',
|
||
audioFlac: '音频格式: FLAC',
|
||
audioAlac: '音频格式: ALAC',
|
||
audioApe: '音频格式: APE',
|
||
audioWav: '音频格式: WAV',
|
||
audioDsd: '音频格式: DSD',
|
||
audioMp3: '音频格式: MP3',
|
||
audioAac: '音频格式: AAC',
|
||
audioOpus: '音频格式: OPUS',
|
||
bitrate320: '最低码率: 320 kbps',
|
||
bitrate256: '最低码率: 256 kbps',
|
||
bitrate192: '最低码率: 192 kbps',
|
||
resolution4k: '分辨率: 4K',
|
||
resolution1080p: '分辨率: 1080P',
|
||
resolution720p: '分辨率: 720P',
|
||
not720p: '排除: 720P',
|
||
qualityBlu: '质量: 蓝光原盘',
|
||
notBlu: '排除: 蓝光原盘',
|
||
qualityBluray: '质量: BLURAY',
|
||
notBluray: '排除: BLURAY',
|
||
qualityUhd: '质量: UHD',
|
||
notUhd: '排除: UHD',
|
||
qualityRemux: '质量: REMUX',
|
||
notRemux: '排除: REMUX',
|
||
qualityWebdl: '质量: WEB-DL',
|
||
notWebdl: '排除: WEB-DL',
|
||
quality60fps: '质量: 60fps',
|
||
not60fps: '排除: 60fps',
|
||
codecH265: '编码: H265',
|
||
notH265: '排除: H265',
|
||
codecH264: '编码: H264',
|
||
notH264: '排除: H264',
|
||
effectDolby: '效果: 杜比视界',
|
||
notDolby: '排除: 杜比视界',
|
||
effectAtmos: '效果: 杜比全景声',
|
||
notAtmos: '排除: 杜比全景声',
|
||
effectHdr: '效果: HDR',
|
||
notHdr: '排除: HDR',
|
||
effectSdr: '效果: SDR',
|
||
notSdr: '排除: SDR',
|
||
effect3d: '效果: 3D',
|
||
not3d: '排除: 3D',
|
||
},
|
||
transferType: {
|
||
copy: '复制',
|
||
move: '移动',
|
||
link: '硬链接',
|
||
softlink: '软链接',
|
||
},
|
||
site: {
|
||
noSites: '没有站点',
|
||
sitesWillBeShownHere: '已添加并支持的站点将会在这里显示。',
|
||
noFilterData: '没有符合条件的站点',
|
||
title: '站点',
|
||
status: {
|
||
enabled: '启用',
|
||
disabled: '停用',
|
||
},
|
||
fields: {
|
||
url: '站点地址',
|
||
priority: '优先级',
|
||
status: '状态',
|
||
rss: 'RSS地址',
|
||
timeout: '超时时间(秒)',
|
||
downloader: '下载器',
|
||
cookie: '站点Cookie',
|
||
userAgent: '站点User-Agent',
|
||
authorization: '请求头(Authorization)',
|
||
apiKey: '令牌(API Key)',
|
||
limitAccess: '限制站点访问频率',
|
||
limitInterval: '单位周期(秒)',
|
||
limitCount: '周期内访问次数',
|
||
limitSeconds: '访问间隔(秒)',
|
||
useProxy: '使用代理访问',
|
||
browserSimulation: '浏览器仿真',
|
||
selectFile: '选择文件',
|
||
},
|
||
hints: {
|
||
url: '格式:http://www.example.com/',
|
||
priority: '优先级越小越优先',
|
||
status: '站点启用/停用',
|
||
rss: '订阅模式为`站点RSS`时使用的订阅链接,如未自动获取需手动补充',
|
||
timeout: '站点请求超时时间,为0时不限制',
|
||
downloader: '此站点使用的下载器',
|
||
cookie: '站点请求头中的Cookie信息',
|
||
userAgent: '获取Cookie的浏览器对应的User-Agent',
|
||
authorization: '站点请求头中的Authorization信息,特殊站点需要',
|
||
apiKey: '站点的访问API Key,特殊站点需要',
|
||
limitInterval: '限流控制的单位周期时长',
|
||
limitCount: '单位周期内允许的访问次数',
|
||
limitSeconds: '每次访问需要间隔的最小时间',
|
||
useProxy: '使用代理服务器访问该站点',
|
||
browserSimulation: '使用浏览器模拟真实访问该站点',
|
||
import: '批量导入站点数据,支持JSON格式文件',
|
||
selectFile: '选择JSON文件',
|
||
dragDropFile: '拖拽文件到此处或点击选择文件',
|
||
supportedFormat: '支持JSON格式的站点配置文件',
|
||
},
|
||
actions: {
|
||
add: '新增站点',
|
||
edit: '编辑站点',
|
||
import: '导入',
|
||
export: '导出',
|
||
startImport: '开始导入',
|
||
},
|
||
messages: {
|
||
addSuccess: '新增站点成功',
|
||
addFailed: '新增站点失败',
|
||
updateSuccess: '更新成功',
|
||
updateFailed: '更新失败',
|
||
exportSuccess: '站点导出成功',
|
||
exportFailed: '站点导出失败',
|
||
importSuccess: '成功导入 {count} 个站点',
|
||
importFailed: '站点导入失败',
|
||
importPartialFailed: '导入完成,成功 {success} 个,失败 {failed} 个',
|
||
importAllFailed: '导入失败,{count} 个站点全部导入失败',
|
||
noDataToImport: '没有数据可导入',
|
||
noValidData: '没有有效的数据',
|
||
someInvalidData: '部分数据无效,有效数据 {valid}/{total} 个',
|
||
invalidFileType: '不支持的文件类型,请选择JSON文件',
|
||
invalidFileFormat: '文件格式无效,请检查文件内容',
|
||
parseFileError: '文件解析失败,请检查文件格式',
|
||
previewData: '预览数据 ({count} 个站点)',
|
||
importing: '正在导入... ({progress}%)',
|
||
importErrors: '导入过程中出现 {count} 个错误',
|
||
},
|
||
errors: {
|
||
loadDownloader: '加载下载器设置失败',
|
||
title: '导入错误详情',
|
||
failed: '导入失败',
|
||
details: '错误详情',
|
||
},
|
||
results: {
|
||
successTitle: '成功导入的站点',
|
||
success: '导入成功',
|
||
},
|
||
testConnectivity: '测试连通性',
|
||
testing: '测试中 ...',
|
||
testSuccess: '{name} 连通性测试成功,可正常使用!',
|
||
testFailed: '{name} 连通性测试失败:{message}',
|
||
connectionNormal: '连接正常',
|
||
connectionSlow: '连接缓慢',
|
||
connectionFailed: '连接失败',
|
||
connectionUnknown: '连接未知',
|
||
deleteConfirm: '是否确认删除站点?',
|
||
deleteSuccess: '{name} 删除成功!',
|
||
deleteFailed: '{name} 删除失败:{message}',
|
||
browseResources: '浏览资源',
|
||
deleteSite: '删除站点',
|
||
updateCookie: '更新Cookie',
|
||
viewUserData: '查看用户数据',
|
||
statistics: '统计信息',
|
||
totalSites: '总站点数',
|
||
normalSites: '正常站点',
|
||
slowSites: '缓慢站点',
|
||
failedSites: '失败站点',
|
||
averageTime: '平均耗时',
|
||
successRate: '成功率',
|
||
successCount: '成功次数',
|
||
failCount: '失败次数',
|
||
lastAccess: '最后访问',
|
||
timeRecords: '耗时记录',
|
||
recentTimeRecords: '最近耗时记录',
|
||
accessTime: '访问时间',
|
||
responseTime: '响应时间',
|
||
noTimeRecords: '暂无耗时记录',
|
||
preview: {
|
||
title: '预览站点',
|
||
showing: '显示 {count}/{total}',
|
||
unnamed: '未命名站点',
|
||
noUrl: '无站点地址',
|
||
invalid: '数据无效',
|
||
},
|
||
},
|
||
message: {
|
||
loadMore: '加载更多',
|
||
noMoreData: '没有更多数据',
|
||
},
|
||
logging: {
|
||
level: '级别',
|
||
time: '时间',
|
||
program: '程序',
|
||
content: '内容',
|
||
refreshing: '正在刷新',
|
||
initializing: '正在初始化',
|
||
searchPlaceholder: '搜索日志内容',
|
||
allLevels: '全部级别',
|
||
followTail: '跟随最新日志',
|
||
wrapLines: '自动换行',
|
||
pauseStream: '暂停日志流',
|
||
resumeStream: '恢复日志流',
|
||
waitingForLogs: '等待日志输出...',
|
||
paused: '已暂停',
|
||
connected: '实时更新中',
|
||
lineCount: '显示 {visible}/{total} 行',
|
||
jumpToLatest: '查看最新 ({count})',
|
||
},
|
||
moduleTest: {
|
||
normal: '正常',
|
||
disabled: '未启用',
|
||
error: '错误',
|
||
checking: '正在检查...',
|
||
complete: '检查完成',
|
||
preparing: '准备检查...',
|
||
totalModules: '总模块数',
|
||
recheck: '重新检查',
|
||
requestFailed: '网络请求失败',
|
||
},
|
||
nameTest: {
|
||
recognize: '识别',
|
||
recognizing: '识别中...',
|
||
recognizeAgain: '重新识别',
|
||
title: '标题',
|
||
titleHint: '输入种子名、发布标题或文件名,音频文件名将按音乐识别',
|
||
subtitle: '副标题',
|
||
subtitleHint: '可选,补充种子描述、别名或发布信息以提高识别准确度',
|
||
source: '识别数据源',
|
||
sourceHint: '默认使用后台识别设置,可为本次测试单独切换',
|
||
customWords: '识别词',
|
||
customWordsPlaceholder: '每行输入一组识别规则,可直接用于本次识别测试',
|
||
customWordsHint: '格式与"识别词管理"一致:屏蔽词 / 被替换词 => 替换词 / 前定位词 <> 后定位词 >> 集偏移量',
|
||
saveWords: '保存识别词',
|
||
saveWordsSuccess: '识别词已保存到识别词表末尾',
|
||
saveWordsNoChange: '识别词已存在,无需重复保存',
|
||
saveWordsFailed: '识别词保存失败',
|
||
requestFailed: '识别请求失败',
|
||
unrecognized: '未识别到媒体',
|
||
waitingResult: '等待识别结果',
|
||
analysisTitle: '解析链路',
|
||
analysisSubtitle: '标题预处理、元信息和媒体匹配结果',
|
||
summary: {
|
||
year: '年份',
|
||
episode: '季集',
|
||
type: '类型',
|
||
source: '数据源',
|
||
},
|
||
steps: {
|
||
original: {
|
||
title: '原始标题',
|
||
caption: '进入识别流程的原始字符串',
|
||
},
|
||
words: {
|
||
title: '识别词',
|
||
caption: '自定义识别词应用情况',
|
||
value: '命中 {count} 条',
|
||
none: '未应用识别词',
|
||
},
|
||
meta: {
|
||
title: '元信息',
|
||
caption: '解析出的名称、季集和资源信息',
|
||
},
|
||
classification: {
|
||
title: '媒体分类',
|
||
},
|
||
source: {
|
||
title: '识别数据源',
|
||
caption: '本次识别匹配到的媒体数据源',
|
||
},
|
||
media: {
|
||
title: '媒体 ID',
|
||
caption: '最终匹配到的媒体数据源原生 ID',
|
||
},
|
||
},
|
||
},
|
||
netTest: {
|
||
notTested: '未测试',
|
||
testing: '测试中...',
|
||
normal: '正常',
|
||
},
|
||
ruleTest: {
|
||
test: '测试',
|
||
testing: '正在测试...',
|
||
testAgain: '重新测试',
|
||
title: '标题',
|
||
titleHint: '输入用于模拟搜索或下载结果的发布标题',
|
||
subtitle: '副标题',
|
||
subtitleHint: '可选,补充发布描述、标签或站点副标题以参与识别和过滤',
|
||
ruleGroup: '规则组',
|
||
ruleGroupHint: '选择要验证的过滤规则组',
|
||
ruleGroupPlaceholder: '请选择',
|
||
priority: '优先级:{value}',
|
||
noPriorityRule: '未命中任何优先级规则!',
|
||
requestFailed: '规则测试请求失败',
|
||
waitingResult: '等待规则测试结果',
|
||
matched: '命中过滤规则',
|
||
priorityLabel: '优先级',
|
||
analysisTitle: '过滤链路',
|
||
analysisSubtitle: '规则组、媒体识别、过滤命中和优先级排序',
|
||
ruleCount: '{count} 条',
|
||
summary: {
|
||
priority: '优先级',
|
||
ruleGroup: '规则组',
|
||
ruleCount: '规则数',
|
||
media: '媒体',
|
||
},
|
||
steps: {
|
||
group: {
|
||
title: '规则组',
|
||
caption: '当前规则组包含 {count} 条优先级规则',
|
||
empty: '规则组暂无规则',
|
||
},
|
||
media: {
|
||
title: '媒体识别',
|
||
caption: '过滤前先识别媒体上下文',
|
||
none: '未识别到媒体',
|
||
},
|
||
filter: {
|
||
title: '过滤命中',
|
||
matched: '资源符合过滤规则',
|
||
pending: '未得到命中结果',
|
||
},
|
||
priority: {
|
||
title: '排序结果',
|
||
caption: '命中资源换算后的优先级',
|
||
empty: '未生成优先级',
|
||
},
|
||
},
|
||
},
|
||
setting: {
|
||
about: {
|
||
title: '关于 MoviePilot',
|
||
softwareVersion: '软件版本',
|
||
frontendVersion: '前端版本',
|
||
systemUptime: '系统已运行',
|
||
browserVersion: '浏览器缓存版本',
|
||
authVersion: '认证资源版本',
|
||
indexerVersion: '站点资源版本',
|
||
configDir: '配置目录',
|
||
dataDir: '数据目录',
|
||
timezone: '时区',
|
||
latest: '最新',
|
||
supportingSites: '支持站点',
|
||
support: '支持',
|
||
documentation: '文档',
|
||
feedback: '问题反馈',
|
||
channel: '发布频道',
|
||
versions: '软件版本',
|
||
latestVersion: '最新软件版本',
|
||
currentVersion: '当前版本',
|
||
viewChangelog: '查看变更日志',
|
||
changelog: '变更日志',
|
||
dataDirectory: '/moviepilot',
|
||
expand: '展开',
|
||
collapse: '收起',
|
||
clearCache: '清除缓存',
|
||
versionStatistic: '版本统计',
|
||
versionStatisticTitle: '安装版本统计',
|
||
totalInstallUsers: '安装用户',
|
||
activeToday: '今日活跃',
|
||
active7Days: '7日活跃',
|
||
active30Days: '30日活跃',
|
||
backendVersionStatistic: '后端版本',
|
||
frontendVersionStatistic: '前端版本',
|
||
version: '版本',
|
||
users: '用户数',
|
||
lastUpdated: '更新时间',
|
||
noVersionStatisticData: '暂无统计数据',
|
||
uptimeUnits: {
|
||
day: '{count}天',
|
||
days: '{count}天',
|
||
hour: '{count}小时',
|
||
hours: '{count}小时',
|
||
minute: '{count}分钟',
|
||
minutes: '{count}分钟',
|
||
second: '{count}秒',
|
||
seconds: '{count}秒',
|
||
},
|
||
},
|
||
system: {
|
||
custom: '自定义',
|
||
basicSettings: '基础设置',
|
||
basicSettingsDesc: '设置服务器的全局功能',
|
||
appDomain: '访问域名',
|
||
appDomainHint: 'MoviePilot 的访问地址,用于通知快捷跳转和通行密钥校验',
|
||
wallpaper: '背景壁纸',
|
||
wallpaperHint: '选择登陆页面背景来源',
|
||
recognizeSource: '识别数据源',
|
||
recognizeSourceHint: '设置默认媒体信息识别数据源',
|
||
apiToken: 'API令牌',
|
||
apiTokenHint: '设置外部请求MoviePilot API时使用的token值',
|
||
apiTokenMinChars: '不能小于16位字符',
|
||
apiTokenRequired: '必填项;请输入API Token',
|
||
apiTokenLength: 'API Token不得低于16位',
|
||
githubToken: 'Github Token',
|
||
githubTokenFormat: 'ghp_**** 或 github_pat_****',
|
||
githubTokenHint: '用于提高插件等访问Github API时的限流阈值,建议配置,否则插件可能无法正常使用',
|
||
ocrHost: '验证码识别服务器',
|
||
ocrHostHint: '用于站点签到、更新站点Cookie等识别验证码',
|
||
aiAgent: '启用智能助手',
|
||
aiAgentEnable: '启用智能助手',
|
||
aiAgentEnableHint: '启用后可使用智能助手功能,需要配置LLM相关参数',
|
||
aiAgentSectionTitle: '智能助手配置',
|
||
aiAgentSectionDesc: '启用后可在消息会话中使用 Agent 能力,也可开启失败整理接管和智能推荐。',
|
||
llmProvider: 'LLM提供商',
|
||
llmProviderHint: '选择使用的LLM服务提供商',
|
||
llmModel: 'LLM模型名称',
|
||
llmModelHint: '指定使用的LLM模型,如deepseek-v4-flash、gpt-5.4等',
|
||
llmModelPlaceholder: '请输入或选择LLM模型名称',
|
||
llmModelResolvedHint: '已根据模型目录自动回填最大上下文为 {context}K,来源:{source}',
|
||
llmThinking: '思考模式 / 深度',
|
||
llmThinkingHint:
|
||
'思考深度:off/auto/minimal/low/medium/high/max/xhigh;不支持的级别会按 provider 能力自动映射到最近值',
|
||
llmThinkingLevelOff: '关闭 (off)',
|
||
llmThinkingLevelAuto: '自动 (auto)',
|
||
llmThinkingLevelMinimal: '最小 (minimal)',
|
||
llmThinkingLevelLow: '低 (low)',
|
||
llmThinkingLevelMedium: '中 (medium)',
|
||
llmThinkingLevelHigh: '高 (high)',
|
||
llmThinkingLevelMax: '极高 (max)',
|
||
llmThinkingLevelXhigh: '超高 (xhigh)',
|
||
llmSupportImageInput: '模型支持图片输入',
|
||
llmSupportImageInputHint:
|
||
'启用后,消息中的图片会按多模态图片发送给 LLM;关闭后图片会作为附件保存到本地,并将文件路径提供给智能助手处理',
|
||
llmSupportAudioInput: '支持音频输入',
|
||
llmSupportAudioInputHint: '启用后,智能助手会将用户发送的音频消息转写为文字再处理',
|
||
llmSupportAudioOutput: '支持音频输出',
|
||
llmSupportAudioOutputHint: '启用后,智能助手可以在支持的渠道上发送语音回复',
|
||
llmMaxContextTokens: 'LLM 最大上下文 Token 数量 (K)',
|
||
llmMaxContextTokensHint:
|
||
'设定 LLM 记录会话历史的最大 Token 数量上限(千),超出后将自动修整历史记录以节省 Token 消耗及防止超出 LLM 限制',
|
||
llmApiKey: 'LLM API密钥',
|
||
llmApiKeyHint: 'LLM服务提供商的API密钥,用于身份验证',
|
||
llmApiKeyPlaceholder: '请输入API密钥',
|
||
llmBaseUrl: 'LLM基础URL',
|
||
llmBaseUrlHint: 'LLM API的基础URL地址,用于自定义API端点',
|
||
llmBaseUrlPlaceholder: '请输入LLM API基础URL',
|
||
llmUseProxy: '使用系统代理',
|
||
llmUseProxyHint: '启用后,Agent 连接当前 LLM 提供商时会应用高级设置中的系统代理',
|
||
llmUserAgent: 'User-Agent',
|
||
llmUserAgentHint: 'OpenAI 兼容接口请求使用的 User-Agent,留空则使用 SDK 默认值',
|
||
llmUserAgentPlaceholder: '留空则使用SDK默认User-Agent',
|
||
llmApiProtocol: 'API 协议',
|
||
llmApiProtocolHint: 'OpenAI 兼容接口的请求协议:自动按模型能力选择,或强制使用 Chat Completions / Responses',
|
||
llmApiProtocolAuto: '自动 (auto)',
|
||
llmApiProtocolChatCompletions: 'Chat Completions',
|
||
llmApiProtocolResponses: 'Responses',
|
||
llmWebSearchMode: '联网搜索',
|
||
llmWebSearchModeHint:
|
||
'选择 MoviePilot 本地搜索、模型服务端搜索、自动回退或完全关闭;服务端搜索仅在当前模型声明支持时可用',
|
||
llmWebSearchModeBuiltinSupportedHint:
|
||
'当前模型支持官方托管搜索;选择“模型服务端”或“自动”时会按所需协议调用,无需额外搜索密钥',
|
||
llmWebSearchModeLocal: 'MoviePilot 本地搜索',
|
||
llmWebSearchModeBuiltin: '模型服务端搜索',
|
||
llmWebSearchModeAuto: '自动(服务端优先)',
|
||
llmWebSearchModeDisabled: '关闭联网搜索',
|
||
llmTemperature: '温度参数',
|
||
llmTemperatureHint: '控制回复随机性,数值越低越稳定,越高越发散;后端默认 0.3,通常建议 0-2',
|
||
llmProviderAuth: '提供商授权',
|
||
llmProviderAuthHint: '支持账号登录授权的提供商,可以直接在这里完成登录并复用授权状态。',
|
||
llmProviderConnectedAs: '当前已连接:{label}',
|
||
llmProviderDisconnect: '断开授权',
|
||
llmProviderDisconnected: '已断开提供商授权',
|
||
llmProviderAuthDialogTitle: '提供商授权',
|
||
llmProviderPopupBlocked: '浏览器拦截了授权窗口,请手动点击下方按钮继续。',
|
||
llmProviderDeviceCode: '设备码',
|
||
llmProviderOpenAuthPage: '打开授权页面',
|
||
llmProviderCheckAuthStatus: '检查授权状态',
|
||
audioInputProvider: '音频输入提供商',
|
||
audioInputProviderHint:
|
||
'用于识别用户音频消息的服务,支持 OpenAI 音频接口、Chat Audio 兼容接口、Xiaomi MiMo 和 MiniMax',
|
||
audioProviderOpenAiAudio: 'OpenAI Audio 兼容',
|
||
audioProviderChatAudio: 'Chat Audio 兼容',
|
||
audioProviderMimo: '小米 MiMo',
|
||
audioProviderMinimax: 'MiniMax',
|
||
audioInputApiKey: '音频输入 API密钥',
|
||
audioInputApiKeyHint: '音频输入转写使用的 API 密钥',
|
||
audioInputBaseUrl: '音频输入基础URL',
|
||
audioInputBaseUrlHint:
|
||
'音频输入接口基础URL,Chat Audio 类服务可填写对应兼容地址,MiMo 默认 https://api.xiaomimimo.com/v1,MiniMax 默认 https://api.minimaxi.com/v1',
|
||
audioInputModel: '音频输入模型',
|
||
audioInputModelHint: '用于将音频内容转换为文字的模型名称',
|
||
audioInputLanguage: '识别语言',
|
||
audioInputLanguageHint: '音频转写默认语言,例如 zh、en,留空时按后端默认处理',
|
||
audioOutputProvider: '音频输出提供商',
|
||
audioOutputProviderHint:
|
||
'用于生成语音回复的服务,支持 OpenAI 音频接口、Chat Audio 兼容接口、Xiaomi MiMo 和 MiniMax',
|
||
audioOutputApiKey: '音频输出 API密钥',
|
||
audioOutputApiKeyHint: '文字转语音使用的 API 密钥',
|
||
audioOutputBaseUrl: '音频输出基础URL',
|
||
audioOutputBaseUrlHint:
|
||
'音频输出接口基础URL,Chat Audio 类服务可填写对应兼容地址,MiMo 默认 https://api.xiaomimimo.com/v1,MiniMax 默认 https://api.minimaxi.com/v1',
|
||
audioOutputModel: '音频输出模型',
|
||
audioOutputModelHint: '用于将文字内容转换为语音的模型名称',
|
||
audioOutputVoice: '语音音色',
|
||
audioOutputVoiceHint: '语音合成使用的发音人或音色标识',
|
||
audioOutputIncludeText: '语音回复附带文字',
|
||
audioOutputIncludeTextHint: '发送语音回复时,同时附带一份文字内容',
|
||
llmTestAction: '测试调用',
|
||
llmTestSuccessToast: 'LLM 调用测试成功',
|
||
llmTestFailedToast: 'LLM 调用测试失败',
|
||
llmTestFailedToastWithMessage: 'LLM 调用测试失败:{message}',
|
||
aiAgentGlobal: '全局智能助手',
|
||
aiAgentGlobalHint:
|
||
'启用全局智能助手:默认使用智能体交互,使用 /noai 临时使用传统交互;关闭全局智能助手:默认使用传统交互,使用 /ai 临时使用智能体交互',
|
||
aiAgentJobInterval: '定时唤醒',
|
||
aiAgentJobIntervalHint: '设置定时唤醒的检查间隔,选择"不启用"则不执行定时任务',
|
||
aiAgentVerbose: '啰嗦模式',
|
||
aiAgentVerboseHint: '开启后会在智能体回复时显示工具调用过程',
|
||
aiAgentHideEntry: '隐藏全局入口',
|
||
aiAgentHideEntryHint: '仅隐藏页面右下角的智能助手浮动入口,不影响消息渠道和后台智能助手功能',
|
||
aiAgentJobIntervalDisabled: '不启用',
|
||
aiAgentJobInterval1h: '1小时',
|
||
aiAgentJobInterval3h: '3小时',
|
||
aiAgentJobInterval6h: '6小时',
|
||
aiAgentJobInterval12h: '12小时',
|
||
aiAgentJobInterval24h: '24小时',
|
||
aiAgentJobInterval1w: '1周',
|
||
aiAgentJobInterval1M: '1个月',
|
||
aiAgentMcpTitle: '外部 MCP 工具',
|
||
aiAgentMcpSummary: '已配置 {total} 个 MCP 服务器,启用 {enabled} 个。',
|
||
aiAgentMcpSettings: '设置 MCP',
|
||
aiAgentMcpDialogTitle: 'Agent MCP 设置',
|
||
aiAgentMcpDialogDesc: '配置外部 MCP 服务器,并测试可提供给智能助手的工具。',
|
||
aiAgentMcpAddServer: '添加服务器',
|
||
aiAgentMcpEmpty: '尚未配置 MCP 服务器。',
|
||
aiAgentMcpNewServer: '新的 MCP 服务器',
|
||
aiAgentMcpUnnamedServer: '未命名服务器',
|
||
aiAgentMcpName: '服务器名称',
|
||
aiAgentMcpTransport: '传输协议',
|
||
aiAgentMcpTransportStdio: 'stdio',
|
||
aiAgentMcpTransportSse: 'SSE',
|
||
aiAgentMcpTransportHttp: 'HTTP',
|
||
aiAgentMcpEnabled: '启用服务器',
|
||
aiAgentMcpEnabledHint: '启用后,智能助手会在运行时加载该服务器提供的工具',
|
||
aiAgentMcpRequireAdmin: '仅管理员可调用',
|
||
aiAgentMcpRequireAdminHint: '建议保持开启,避免普通用户调用高权限外部工具',
|
||
aiAgentMcpTimeout: '超时时间(秒)',
|
||
aiAgentMcpToolPrefix: '工具名前缀',
|
||
aiAgentMcpToolPrefixHint: '留空时会根据服务器名称自动生成,避免不同服务器工具名冲突',
|
||
aiAgentMcpDescription: '说明',
|
||
aiAgentMcpCommand: '启动命令',
|
||
aiAgentMcpArgs: '启动参数',
|
||
aiAgentMcpArgsHint: '每行一个参数,例如 -y 或 server-filesystem',
|
||
aiAgentMcpEnv: '环境变量',
|
||
aiAgentMcpKeyValueHint: '每行一个 KEY=VALUE',
|
||
aiAgentMcpUrl: '服务地址',
|
||
aiAgentMcpHeaders: '请求头',
|
||
aiAgentMcpTest: '测试连接',
|
||
aiAgentMcpSaveSuccess: 'MCP 配置已保存',
|
||
aiAgentMcpSaveFailed: 'MCP 配置保存失败',
|
||
advancedSettings: '高级设置',
|
||
advancedSettingsDesc: '系统进阶设置,特殊情况下才需要调整',
|
||
downloaders: '下载器',
|
||
downloadersDesc: '只有默认下载器才会被默认使用。',
|
||
aiAgentRetryTransfer: '文件整理失败智能接管',
|
||
aiAgentRetryTransferHint:
|
||
'启用后,当文件整理失败时,智能助手将自动接管并尝试重新整理,利用AI能力解决识别和匹配问题',
|
||
aiRecommendEnabled: '搜索结果智能推荐',
|
||
aiRecommendEnabledHint:
|
||
'启用搜索结果智能推荐功能,开启后将在搜索结果页面显示智能推荐按钮,可根据用户偏好智能推荐资源',
|
||
aiRecommendUserPreference: '用户偏好',
|
||
aiRecommendUserPreferenceHint: '设置智能推荐时的用户偏好,例如:4K WEB-DL Dolby Vision',
|
||
aiRecommendMaxItems: '智能推荐分析条目上限',
|
||
aiRecommendMaxItemsHint:
|
||
'限制发送给智能助手进行分析的搜索结果数量,数量越多分析越慢且消耗 Token 越多,建议先手动筛选,筛选出大致范围后再进行智能推荐',
|
||
mediaServers: '媒体服务器',
|
||
mediaServersDesc: '所有启用的媒体服务器都会被使用。',
|
||
trimeMedia: '飞牛影视',
|
||
system: '系统',
|
||
media: '媒体',
|
||
network: '网络',
|
||
log: '日志',
|
||
data: '数据',
|
||
lab: '实验室',
|
||
downloaderSaveSuccess: '下载器设置保存成功',
|
||
downloaderSaveFailed: '下载器设置保存失败!',
|
||
defaultDownloaderNotice: '未设置默认下载器,已将【{name}】作为默认下载器',
|
||
mediaServerSaveSuccess: '媒体服务器设置保存成功',
|
||
mediaServerSaveFailed: '媒体服务器设置保存失败!',
|
||
saveFailed: '设置保存失败:{message}!',
|
||
basicSaveSuccess: '基础设置保存成功',
|
||
advancedSaveSuccess: '高级设置保存成功',
|
||
copySuccess: '已复制到剪贴板!',
|
||
copyFailed: '复制失败:可能是浏览器不支持或被用户阻止!',
|
||
copyError: '复制失败!',
|
||
reloading: '正在应用配置...',
|
||
qbittorrent: 'Qbittorrent',
|
||
transmission: 'Transmission',
|
||
rtorrent: 'rTorrent',
|
||
emby: 'Emby',
|
||
zspace: '极影视',
|
||
jellyfin: 'Jellyfin',
|
||
plex: 'Plex',
|
||
ugreen: '绿联影视',
|
||
navidrome: 'Navidrome 音乐服务器',
|
||
reloadSuccess: '系统配置已生效',
|
||
reloadFailed: '重载系统失败!',
|
||
auxAuthEnable: '用户辅助认证',
|
||
auxAuthEnableHint: '允许外部服务进行登录认证以及自动创建用户',
|
||
globalImageCache: '全局图片缓存',
|
||
globalImageCacheHint: '将媒体图片缓存到本地,提升图片加载速度',
|
||
subscribeStatisticShare: '分享订阅数据',
|
||
subscribeStatisticShareHint: '分享订阅统计数据到热门订阅,供其他MPer参考',
|
||
pluginStatisticShare: '上报插件安装数据',
|
||
pluginStatisticShareHint: '上报插件安装数据给服务器,用于统计展示插件安装情况',
|
||
usageStatisticShare: '上报安装版本统计',
|
||
usageStatisticShareHint: '上报匿名安装ID和当前前后端版本,用于统计各版本安装用户数',
|
||
workflowStatisticShare: '分享工作流数据',
|
||
workflowStatisticShareHint: '分享工作流统计数据到热门工作流,供其他MPer参考',
|
||
bigMemoryMode: '大内存模式',
|
||
bigMemoryModeHint: '使用更大的内存缓存数据,提升系统性能',
|
||
dbWalEnable: '数据库WAL模式',
|
||
dbWalEnableHint: '可提升读写并发性能,但可能在异常情况下增加数据丢失风险,更改后需重启生效',
|
||
tmdbApiDomain: 'TMDB API服务地址',
|
||
tmdbApiDomainPlaceholder: 'api.themoviedb.org',
|
||
tmdbApiDomainHint: '自定义 TheMovieDb API域名或代理地址',
|
||
tmdbApiDomainRequired: '请输入TMDB API域名',
|
||
tmdbApiKey: 'TMDB API Key',
|
||
tmdbApiKeyPlaceholder: '请输入 TMDB API Key',
|
||
tmdbApiKeyHint: '设置 TheMovieDb API Key',
|
||
tmdbApiKeyRequired: '请输入TMDB API Key',
|
||
acoustIdApiKey: 'AcoustID API Key',
|
||
acoustIdApiKeyPlaceholder: '请输入 AcoustID API Key',
|
||
acoustIdApiKeyHint: '用于通过音频指纹识别 MusicBrainz 录音 ID',
|
||
acoustIdApiKeyRequired: '请输入 AcoustID API Key',
|
||
musicMetadataToSimplified: '音乐媒体信息转简体中文',
|
||
musicMetadataToSimplifiedHint: '将识别结果中的曲名、艺术家、专辑和分类等音乐信息强制转换为简体中文',
|
||
tmdbImageDomain: 'TMDB 图片服务地址',
|
||
tmdbImageDomainPlaceholder: 'image.tmdb.org',
|
||
tmdbImageDomainHint: '自定义 TheMovieDb 图片服务域名或代理地址',
|
||
tmdbImageDomainRequired: '请输入图片服务域名',
|
||
musicCoverProxy: '音乐封面代理地址',
|
||
musicCoverProxyPlaceholder: 'https://your-proxy.example.com',
|
||
musicCoverProxyHint:
|
||
'自定义音乐封面代理地址,用于解决 coverartarchive.org 无法访问导致的封面不显示问题,留空则使用官方地址',
|
||
tmdbLocale: 'TMDB 元数据语言',
|
||
tmdbLocalePlaceholder: 'zh',
|
||
tmdbLocaleHint: '自定义 TheMovieDb 元数据语言',
|
||
metaCacheExpire: '单条媒体元数据缓存有效期',
|
||
metaCacheExpireHint: '每条识别元数据的独立有效期,为 0 时使用内置默认值',
|
||
metaCacheExpireRequired: '请输入元数据缓存时间',
|
||
metaCacheExpireMin: '元数据缓存时间必须大于等于0',
|
||
scrapFollowTmdb: '跟随TMDB识别整理',
|
||
scrapFollowTmdbHint: '关闭时以整理历史记录为准(如有),避免TMDB数据在订阅中途修改',
|
||
scrapOriginalImage: 'TMDB 刮削原语种图片',
|
||
scrapOriginalImageHint: '刮削原语种图片,否则刮削元数据语种图片',
|
||
fanartEnable: 'Fanart图片数据源',
|
||
fanartEnableHint: '使用 fanart.tv 的图片数据',
|
||
fanartLang: 'Fanart语言',
|
||
fanartLangHint: '设置Fanart图片的语言偏好,多选时按优先级顺序排列',
|
||
recognizePluginFirst: '优先使用插件识别',
|
||
recognizePluginFirstHint: '优先调用插件识别媒体信息,若插件命中则不再调用原生识别',
|
||
mediaRecognizeShare: '共享使用媒体识别数据',
|
||
mediaRecognizeShareHint: '识别成功后上报关键字与媒体ID,识别失败时优先回查共享识别结果',
|
||
githubProxy: 'Github加速代理',
|
||
githubProxyPlaceholder: '留空表示不使用代理',
|
||
githubProxyHint: '使用代理加速Github访问速度',
|
||
pipProxy: 'PIP加速代理',
|
||
pipProxyPlaceholder: '留空表示不使用代理',
|
||
pipProxyHint: '使用代理加速插件等pip库安装速度',
|
||
dohEnable: 'DNS Over HTTPS',
|
||
dohEnableHint: '使用DOH对特定域名进行解析,以防止DNS污染',
|
||
dohResolvers: 'DOH 服务器',
|
||
dohResolversPlaceholder: 'https://dns.google/dns-query,1.1.1.1',
|
||
dohResolversHint: 'DNS解析服务器地址,多个地址使用逗号分隔',
|
||
dohDomains: 'DOH 域名',
|
||
dohDomainsPlaceholder: 'example.com,example2.com',
|
||
dohDomainsHint: '使用DOH解析的域名,多个域名使用逗号分隔',
|
||
debug: '调试模式',
|
||
debugHint: '启用调试模式后,日志将以DEBUG级别记录,以便排查问题',
|
||
logLevel: '日志等级',
|
||
logLevelHint: '设置日志记录的级别,用于控制日志输出量',
|
||
logMaxFileSize: '日志文件最大容量(MB)',
|
||
logMaxFileSizeHint: '限制单个日志文件的最大容量,超出后将自动分割日志',
|
||
logMaxFileSizeRequired: '日志文件最大大小',
|
||
logMaxFileSizeMin: '日志文件最大容量必须大于等于1',
|
||
logBackupCount: '日志文件最大备份数量',
|
||
logBackupCountHint: '设置每个模块日志文件的最大备份数量,超过后将覆盖旧日志',
|
||
logBackupCountRequired: '请输入日志文件最大备份数量',
|
||
logBackupCountMin: '日志文件最大备份数量必须大于等于1',
|
||
logFileFormat: '日志文件格式',
|
||
logFileFormatHint: '设置日志文件的输出格式,用于自定义日志的显示内容',
|
||
dbBackupEnable: '启用数据备份',
|
||
dbBackupEnableHint: '按计划自动创建数据库备份',
|
||
dbBackupCron: '备份周期',
|
||
dbBackupCronHint: 'Cron 表达式,留空不启用定时备份',
|
||
dbBackupCronInvalid: '备份周期必须留空或使用有效的 Cron 表达式',
|
||
dbBackupPath: '备份目录',
|
||
dbBackupPathPlaceholder: '/config/database_backup',
|
||
dbBackupPathHint: '留空使用配置目录下的 database_backup,支持本地存储路径',
|
||
dbBackupRetentionDays: '备份过期天数',
|
||
dbBackupRetentionDaysHint: '单位:天,0 表示不限制',
|
||
dbBackupRetentionDaysInvalid: '备份过期天数必须是大于等于 0 的整数',
|
||
dbBackupMaxCount: '最大保留份数',
|
||
dbBackupMaxCountHint: '0 表示不限制',
|
||
dbBackupMaxCountInvalid: '最大保留份数必须是大于等于 0 的整数',
|
||
dbBackupOnUpgrade: '升级前自动备份',
|
||
dbBackupOnUpgradeHint: '检测到数据库结构需要升级时,自动创建备份',
|
||
dbBackupManagement: '数据库备份',
|
||
dbBackupManagementHint: '还原备份前必须停止 MoviePilot。',
|
||
dbBackupRestoreGuide: '查看还原命令',
|
||
dbBackupRefresh: '刷新备份列表',
|
||
dbBackupCreate: '立即备份',
|
||
dbBackupCreateSuccess: '数据库备份已创建',
|
||
dbBackupCreateFailed: '数据库备份创建失败,请查看日志',
|
||
dbBackupLoadFailed: '备份列表加载失败',
|
||
dbBackupName: '备份名称',
|
||
dbBackupType: '类型',
|
||
dbBackupCreatedAt: '创建时间',
|
||
dbBackupSize: '大小',
|
||
dbBackupActions: '操作',
|
||
dbBackupActionsName: '管理备份 {name}',
|
||
dbBackupVerify: '校验',
|
||
dbBackupVerifySuccess: '数据库备份校验通过',
|
||
dbBackupVerifyInvalid: '数据库备份校验未通过',
|
||
dbBackupVerifyFailed: '数据库备份校验失败,请查看日志',
|
||
dbBackupDelete: '删除',
|
||
dbBackupDeleteTitle: '删除数据库备份',
|
||
dbBackupDeleteConfirm: '确定删除 {name} 吗?删除后无法恢复。',
|
||
dbBackupDeleteSuccess: '数据库备份已删除',
|
||
dbBackupDeleteFailed: '数据库备份删除失败,请查看日志',
|
||
dbBackupEmpty: '暂无数据库备份',
|
||
dataCleanupEnable: '启用数据清理',
|
||
dataCleanupEnableHint: '自动清理超过保留期限的数据',
|
||
dataCleanupDaysRequired: '请输入清理周期',
|
||
dataCleanupDaysMin: '清理周期必须大于等于0',
|
||
dataCleanupMessageDays: '消息表保留天数',
|
||
dataCleanupMessageDaysHint: '单位:天,0 表示不清理消息表数据',
|
||
dataCleanupDownloadHistoryDays: '下载历史表保留天数',
|
||
dataCleanupDownloadHistoryDaysHint: '0 表示保留全部下载历史',
|
||
dataCleanupSiteUserDataDays: '站点数据表保留天数',
|
||
dataCleanupSiteUserDataDaysHint: '单位:天,0 表示不清理站点用户数据表',
|
||
dataCleanupTransferHistoryDays: '整理历史表保留天数',
|
||
dataCleanupTransferHistoryDaysHint: '单位:天,0 表示不清理整理历史表',
|
||
downloadFilesCleanupNotice: '下载文件表没有独立时间字段,会跟随下载历史表的保留周期清理其孤儿记录。',
|
||
pluginAutoReload: '插件热加载',
|
||
pluginAutoReloadHint: '修改插件文件后自动重新加载,开发插件时使用',
|
||
pluginLocalRepoPaths: '本地插件仓库路径',
|
||
pluginLocalRepoPathsHint: '本地插件仓库目录,多个目录用英文逗号分隔,支持相对路径和绝对路径',
|
||
encodingDetectionPerformanceMode: '编码探测性能模式',
|
||
encodingDetectionPerformanceModeHint: '优先提升探测效率,但可能降低编码探测的准确性',
|
||
rustAccel: 'Rust 加速',
|
||
rustAccelHint: '启用后使用后端 Rust 扩展加速过滤、RSS、索引器和媒体识别等热路径',
|
||
rustAccelRequiredHint: '当前 free-threaded 运行时固定使用 Rust 加速',
|
||
rustAccelUnavailableHint: '当前后端未安装或未加载 Rust 加速扩展,无法启用',
|
||
transferThreads: '文件整理线程数',
|
||
transferThreadsHint: '多线程整理文件可以提高速度,但可能增加系统资源占用',
|
||
tokenizedSearch: '分词搜索',
|
||
tokenizedSearchHint: '提升整理历史记录搜索精度,但可能增加性能开销和意外结果',
|
||
monitorNetworkFastMode: '网络存储快速监控',
|
||
monitorNetworkFastModeHint:
|
||
'允许网络/FUSE 挂载目录使用内核通知的快速监控模式,仅当确认挂载能正常下发文件变更通知时开启,否则新文件将无法被监控发现,保存后将自动重建监控并即时生效',
|
||
transferMaxFailedRetries: '整理失败重试次数',
|
||
transferMaxFailedRetriesHint:
|
||
'自动整理失败后允许重试的最大次数,避免一次网络或识别抖动让文件永久漏整理;次数用尽后需手动整理或删除整理记录。取值 1-10,整理成功或删除记录时计数清零,保存后即时生效',
|
||
transferFailureNotificationAggregation: '按媒体聚合整理失败通知',
|
||
transferFailureNotificationAggregationHint:
|
||
'开启后,同一媒体同一季在短时间内产生的整理失败会合并发送,并展示失败数量、原因统计和批量处理入口;关闭时逐条发送',
|
||
fsProxyEnabled: '本地文件操作隔离',
|
||
fsProxyEnabledHint:
|
||
'在独立子进程中执行本地文件的读取、复制、移动与删除。CloudDrive2 等 FUSE 挂载失去响应时,这类操作会永久卡住且无法中断,进而拖死整理队列与目录监控;隔离后可在超时后强制回收并转为普通错误,由既有的重试机制接管。关闭后退回直接调用,行为与旧版一致',
|
||
fsProxyTimeout: '文件操作超时(秒)',
|
||
fsProxyTimeoutHint:
|
||
'读取属性、列目录、删除、重命名等快速操作的等待上限,超时即判定挂载无响应并回收子进程。仅在开启「本地文件操作隔离」时生效,保存后即时生效',
|
||
fsProxyStallTimeout: '文件复制停滞超时(秒)',
|
||
fsProxyStallTimeoutHint:
|
||
'复制文件时允许「完全没有进度」的最长时间。判断依据是进度是否推进而不是总耗时,因此复制数小时的大文件不会被误判,只有传输彻底卡死才会中断。仅在开启「本地文件操作隔离」时生效,保存后即时生效',
|
||
tmdbLanguage: {
|
||
zhCN: '简体中文',
|
||
zhTW: '繁体中文',
|
||
en: '英文',
|
||
},
|
||
fanartLanguage: {
|
||
zh: '中文',
|
||
en: '英文',
|
||
ja: '日文',
|
||
ko: '韩文',
|
||
de: '德文',
|
||
fr: '法文',
|
||
es: '西班牙文',
|
||
it: '意大利文',
|
||
pt: '葡萄牙文',
|
||
ru: '俄文',
|
||
},
|
||
logLevelItems: {
|
||
debug: 'DEBUG - 调试',
|
||
info: 'INFO - 信息',
|
||
warning: 'WARNING - 警告',
|
||
error: 'ERROR - 错误',
|
||
critical: 'CRITICAL - 严重',
|
||
},
|
||
wallpaperItems: {
|
||
tmdb: 'TMDB电影海报',
|
||
bing: 'Bing每日壁纸',
|
||
mediaserver: '媒体服务器',
|
||
none: '无壁纸',
|
||
customize: '自定义',
|
||
},
|
||
mb: 'MB',
|
||
hour: '小时',
|
||
day: '天',
|
||
customizeWallpaperApi: '自定义壁纸API地址',
|
||
customizeWallpaperApiHint: '会获取API返回内容中所有允许的安全域名地址的图片,需要同步设置安全域名地址',
|
||
customizeWallpaperApiRequired: '必填项;请输入自定义壁纸API',
|
||
securityImageDomains: '安全图片域名',
|
||
securityImageDomainsHint: '允许缓存的图片域名白名单,用于控制可信任的图片来源',
|
||
noSecurityImageDomains: '暂无安全域名',
|
||
securityImageDomainAdd: '添加域名,如:image.tmdb.org',
|
||
imageProxyAllowedPrivateRanges: '图片代理允许非公网网段',
|
||
imageProxyAllowedPrivateRangesHint:
|
||
'仅对已命中安全图片域名的地址生效,用于 TUN 映射、内网 CDN 等特殊场景;配置过宽会降低 SSRF 防护强度',
|
||
noImageProxyAllowedPrivateRanges: '暂无允许网段',
|
||
imageProxyAllowedPrivateRangeAdd: '添加 CIDR,如:198.18.0.0/15',
|
||
proxyHost: '代理服务器',
|
||
proxyHostHint: '设置代理服务器地址,支持:http(s)、socks5、socks5h 等协议',
|
||
moviePilotDevUpdate: '跟踪 Dev 开发版',
|
||
moviePilotDevUpdateHint: '每次重启时更新到当前 v3 开发分支的最新代码',
|
||
autoUpdateResource: '自动更新站点资源',
|
||
autoUpdateResourceHint: '重启时自动检测和更新站点资源包',
|
||
// 刮削开关设置
|
||
scrapingSwitchSettings: '刮削开关设置',
|
||
scrapingSwitchSettingsDesc: '控制各类媒体文件的刮削功能开关',
|
||
movie: '电影',
|
||
tv: '电视剧',
|
||
season: '季',
|
||
episode: '集',
|
||
movieNfo: 'NFO',
|
||
moviePoster: '海报',
|
||
movieBackdrop: '背景图',
|
||
movieLogo: 'Logo',
|
||
movieDisc: '光盘图',
|
||
movieBanner: '横幅图',
|
||
movieThumb: '缩略图',
|
||
tvNfo: 'NFO',
|
||
seasonNfo: 'NFO',
|
||
tvPoster: '海报',
|
||
tvBackdrop: '背景图',
|
||
tvBanner: '横幅图',
|
||
tvLogo: 'Logo',
|
||
tvThumb: '缩略图',
|
||
seasonPoster: '海报',
|
||
seasonBanner: '横幅图',
|
||
seasonThumb: '缩略图',
|
||
episodeNfo: 'NFO',
|
||
episodeThumb: '缩略图',
|
||
music: '音乐',
|
||
musicNfo: '音乐标签',
|
||
musicPoster: '封面',
|
||
musicLyrics: '歌词',
|
||
scrapingSwitchSaveFailed: '刮削开关设置保存失败:{message}',
|
||
scrapingSwitchSaveError: '刮削开关设置保存失败',
|
||
policy: {
|
||
skipDesc: '跳过刮削,不生成该文件',
|
||
missingOnlyDesc: '仅在缺失时刮削,已存在则保持不变',
|
||
overwriteDesc: '始终刮削,已存在则覆盖',
|
||
},
|
||
},
|
||
site: {
|
||
siteSync: '站点同步',
|
||
siteSyncDesc: '从CookieCloud快速同步站点数据',
|
||
enableLocalCookieCloud: '启用本地CookieCloud服务器',
|
||
enableLocalCookieCloudHint: '使用内建CookieCloud服务同步站点数据,服务地址为:http://localhost:3000/cookiecloud',
|
||
serviceAddress: '服务地址',
|
||
serviceAddressPlaceholder: 'https://movie-pilot.org/cookiecloud',
|
||
serviceAddressHint: '远端CookieCloud服务地址,格式:https://movie-pilot.org/cookiecloud',
|
||
userKey: '用户KEY',
|
||
userKeyHint: 'CookieCloud浏览器插件生成的用户KEY',
|
||
e2ePassword: '端对端加密密码',
|
||
e2ePasswordHint: 'CookieCloud浏览器插件生成的端对端加密密码',
|
||
cookieCloudAuthHeader: '上传认证 Header',
|
||
cookieCloudAuthHeaderHint: '留空表示关闭上传认证,启用后上传端或反向代理需要发送 X-CookieCloud-Auth',
|
||
autoSyncInterval: '自动同步间隔',
|
||
autoSyncIntervalHint: '从CookieCloud服务器自动同步站点Cookie到MoviePilot的时间间隔',
|
||
syncBlacklist: '同步域名黑名单',
|
||
syncBlacklistPlaceholder: '多个域名,分割',
|
||
syncBlacklistHint: 'CookieCloud同步域名黑名单,多个域名,分割',
|
||
userAgent: '浏览器User-Agent',
|
||
userAgentHint: 'CookieCloud插件所在的浏览器的User-Agent',
|
||
siteDataRefresh: '站点数据刷新',
|
||
siteOptions: '站点选项',
|
||
browserEmulation: '浏览器仿真',
|
||
browserEmulationHint: '站点访问仿真方式,支持 CloakBrowser 或 FlareSolverr',
|
||
ocrHost: '验证码识别服务器',
|
||
ocrHostHint: '用于站点签到、更新站点Cookie等识别验证码',
|
||
flaresolverrUrl: 'FlareSolverr 服务地址',
|
||
flaresolverrUrlHint: '当仿真方式为 FlareSolverr 时生效,例如:http://127.0.0.1:8191',
|
||
siteDataRefreshInterval: '站点数据刷新间隔',
|
||
siteDataRefreshIntervalHint: '刷新站点用户上传下载等数据的时间间隔',
|
||
searchResourcePages: '搜索资源获取页数',
|
||
searchResourcePagesHint: '站点资源搜索时从当前页开始连续获取的页数,默认 1 页',
|
||
readSiteMessage: '阅读站点消息',
|
||
readSiteMessageHint: '刷新数据时读取站点消息并发送通知',
|
||
siteReset: '站点重置',
|
||
confirmReset: '确认删除所有站点数据并重新同步。',
|
||
confirmResetHint: '删除所有站点数据并重新从CookieCloud同步,操作请先清空涉及站点的相关设置。',
|
||
resetSites: '重置站点数据',
|
||
resettingSites: '正在重置...',
|
||
syncInterval: {
|
||
hourly: '每小时',
|
||
every6Hours: '每6小时',
|
||
every12Hours: '每12小时',
|
||
daily: '每天',
|
||
weekly: '每周',
|
||
monthly: '每月',
|
||
never: '永不',
|
||
},
|
||
saveSuccess: '保存站点设置成功',
|
||
saveFailed: '站点设置保存失败!',
|
||
resetSuccess: '站点重置成功,请等待CookieCloud同步完成!',
|
||
resetFailed: '站点重置失败!',
|
||
},
|
||
notification: {
|
||
channels: '通知渠道',
|
||
channelsDesc: '设置消息发送渠道参数',
|
||
organizeSuccess: '资源入库',
|
||
downloadAdded: '资源下载',
|
||
subscribeAdded: '添加订阅',
|
||
subscribeComplete: '订阅完成',
|
||
templateConfigTitle: '通知模板',
|
||
templateConfigDesc: '设置通知模板,支持Jinja2语法。',
|
||
templateSaveFailed: '模板保存失败!',
|
||
templateSaveSuccess: '模板保存成功',
|
||
templateLoadFailed: '模板加载失败!',
|
||
scope: '通知发送范围',
|
||
scopeDesc: '对应消息类型只会发送给设定的用户。',
|
||
messageType: '消息类型',
|
||
scopeRange: '范围',
|
||
operationUserOnly: '仅操作用户',
|
||
adminOnly: '仅管理员',
|
||
userAndAdmin: '操作用户和管理员',
|
||
allUsers: '所有用户',
|
||
sendTime: '通知发送时间',
|
||
sendTimeDesc: '设定消息发送的时间范围。',
|
||
startTime: '开始时间',
|
||
endTime: '结束时间',
|
||
saveSuccess: '通知设置保存成功',
|
||
saveFailed: '通知设置保存失败!',
|
||
switchSaveSuccess: '消息类型开关保存成功',
|
||
switchSaveFailed: '消息类型开关保存失败!',
|
||
timeSaveSuccess: '通知发送时间保存成功',
|
||
timeSaveFailed: '通知发送时间保存失败!',
|
||
channel: '通知',
|
||
wechat: '企业微信',
|
||
wechatClawBot: '微信 ClawBot',
|
||
feishu: '飞书',
|
||
resourceDownload: '资源下载',
|
||
mediaImport: '整理入库',
|
||
subscription: '订阅',
|
||
site: '站点',
|
||
mediaServer: '媒体服务器',
|
||
manualProcess: '手动处理',
|
||
plugin: '插件',
|
||
other: '其它',
|
||
telegram: 'Telegram',
|
||
slack: 'Slack',
|
||
dingTalk: '钉钉',
|
||
synologyChat: 'SynologyChat',
|
||
voceChat: 'VoceChat',
|
||
webPush: 'WebPush',
|
||
qq: 'QQ',
|
||
custom: '自定义通知',
|
||
},
|
||
words: {
|
||
summary: '共 {sections} 类词表 · {entries} 条配置',
|
||
sectionListLabel: '词表分类',
|
||
switchHint: '点击左侧项目切换编辑',
|
||
entryCount: '{count} 条',
|
||
ruleCount: '共 {count} 条规则',
|
||
listLabel: '词表内容(每行一个规则)',
|
||
lineNumbers: '行号',
|
||
syntaxHighlighting: '语法高亮',
|
||
saved: '已保存',
|
||
unsaved: '有未保存修改',
|
||
saveChanges: '保存更改',
|
||
guideTitle: '语法提示',
|
||
dragToSort: '拖动调整顺序',
|
||
noRules: '暂无集数定位规则',
|
||
identifiersShort: '识别词',
|
||
releaseGroupsShort: '制作组',
|
||
customizationShort: '占位符',
|
||
excludeWordsShort: '屏蔽词',
|
||
episodeFormatRuleShort: '集数规则',
|
||
customIdentifiers: '自定义识别词',
|
||
identifiersDesc: '添加规则对种子名或者文件名进行预处理以校正识别',
|
||
identifiersPlaceholder: '每行输入一组识别规则',
|
||
identifiersHint: '支持正则表达式,特殊字符需要\\转义,一行为一组',
|
||
formatTitle: '支持的配置格式(注意空格):',
|
||
formatContent:
|
||
'屏蔽词\n' +
|
||
'被替换词 => 替换词\n' +
|
||
'前定位词 <> 后定位词 >> 集偏移量(EP)\n' +
|
||
'被替换词 => 替换词 && 前定位词 <> 后定位词 >> 集偏移量(EP)\n' +
|
||
'其中替换词支持格式:{[tmdbid/doubanid/bangumiid/anilistid=xxx;type=movie/tv;g=xxx;s=xxx;e=xxx]} 直接指定媒体数据源ID识别,其中g为剧集组编号,s、e为季数和集数(均可选)',
|
||
identifierSaveSuccess: '自定义识别词保存成功',
|
||
identifierSaveFailed: '自定义识别词保存失败!',
|
||
|
||
customReleaseGroups: '自定义制作组/字幕组',
|
||
releaseGroupsDesc: '添加无法识别的制作组/字幕组。',
|
||
releaseGroupsPlaceholder: '每行输入一个制作组/字幕组',
|
||
releaseGroupsHint: '支持正则表达式,特殊字符需要\\转义,一行代表一个制作组/字幕组',
|
||
releaseGroupSaveSuccess: '自定义制作组/字幕组保存成功',
|
||
releaseGroupSaveFailed: '自定义制作组/字幕组保存失败!',
|
||
|
||
customization: '自定义占位符',
|
||
customizationDesc: '添加自定义占位符识别正则,重命名格式中添加{customization}使用。',
|
||
customizationPlaceholder: '每行输入一个占位符识别正则',
|
||
customizationHint: '支持正则表达式,特殊字符需要\\转义,多个匹配对象请换行分隔',
|
||
customizationSaveSuccess: '自定义占位符保存成功',
|
||
customizationSaveFailed: '自定义占位符保存失败!',
|
||
|
||
transferExcludeWords: '文件整理屏蔽词',
|
||
excludeWordsDesc: '目录名或文件名中包含屏蔽词时不进行整理。',
|
||
excludeWordsPlaceholder: '每行输入一个屏蔽词',
|
||
excludeWordsHint: '支持正则表达式,特殊字符需要\\转义,一行代表一个屏蔽词',
|
||
excludeWordsSaveSuccess: '文件整理屏蔽词保存成功',
|
||
excludeWordsSaveFailed: '文件整理屏蔽词保存失败!',
|
||
|
||
episodeFormatRule: '手动整理集数定位规则',
|
||
episodeFormatRuleDesc: '用于匹配媒体文件名,命中后自动生成对应的集数定位正则。',
|
||
episodeFormatRuleName: '规则名称',
|
||
episodeFormatRuleNameHint: '输入规则的名称',
|
||
episodeFormatRulePattern: '正则表达式',
|
||
episodeFormatRulePatternHint: '必须包含 (?<ep>...) 命名组',
|
||
episodeFormatRuleMinSize: '最小大小(MB)',
|
||
episodeFormatRuleMinSizeHint: '小于此大小的文件将不参与匹配',
|
||
episodeFormatRuleGuideTitle: '提示',
|
||
episodeFormatRuleGuideContent:
|
||
'从上到下依次匹配,第一个匹配的则使用该规则。\n' +
|
||
'按文件名实际结构编写匹配规则:\n' +
|
||
'固定文本直接匹配,集数必须使用命名分组 (?<ep>...) 标记;\n' +
|
||
'其余不固定但需要保留位置的内容,可使用 (?<a>...)、(?<b>...) 等命名分组承接。\n' +
|
||
'如需按字面量匹配 [](). 等特殊字符,请进行转义;\n' +
|
||
'建议使用 ^ 和 $ 完整约束整条文件名,其中 $ 尤其重要,可避免只匹配前半段就被误判为命中。',
|
||
episodeFormatRuleAdd: '新增规则',
|
||
episodeFormatRuleEdit: '编辑规则',
|
||
episodeFormatRuleDeleteConfirm: '确定要删除该规则吗?',
|
||
episodeFormatRuleEmptyError: '名称和正则表达式不能为空',
|
||
episodeFormatRuleSaveSuccess: '集数定位规则保存成功',
|
||
episodeFormatRuleSaveFailed: '集数定位规则保存失败!',
|
||
},
|
||
search: {
|
||
basicSettings: '基础设置',
|
||
basicSettingsDesc: '设定数据源、规则组等基础信息',
|
||
recognizeSource: '识别数据源',
|
||
recognizeSourceDesc: '默认使用TMDB。豆瓣识别中文作品通常更友好,但有些国外作品信息不完整。',
|
||
themoviedb: 'TheMovieDb',
|
||
douban: '豆瓣',
|
||
filterRuleGroup: '过滤规则组',
|
||
filterRuleGroupDesc: '设置下载过程中使用的过滤规则组。',
|
||
downloadLabel: '下载任务标签',
|
||
downloadLabelDesc: '下载器中的下载标签,用于过滤查询。',
|
||
downloadLabelHint: '支持增加多个标签,英文逗号分隔',
|
||
downloadSite: '搜索站点',
|
||
downloadSiteDesc: '设置指定分类搜索的站点范围。',
|
||
movieSites: '电影站点',
|
||
tvSites: '电视剧站点',
|
||
animeSites: '动漫站点',
|
||
saveSites: '保存站点',
|
||
saveSuccess: '保存搜索设置成功',
|
||
saveFailed: '搜索设置保存失败!',
|
||
saveRuleFailed: '规则保存失败!',
|
||
movieCategory: '电影',
|
||
tvCategory: '电视剧',
|
||
animeCategory: '动漫',
|
||
downloadUser: '远程搜索自动下载用户',
|
||
downloadUserHint: '使用Telegram、企业微信等搜索时是否自动下载,使用逗号分割,设置为 all 代表所有用户自动择优下载',
|
||
multipleNameSearch: '多名称资源搜索',
|
||
multipleNameSearchHint: '使用多个名称(中文、英文等)搜索站点资源并合并搜索结果,会增加站点访问频率',
|
||
downloadSubtitle: '下载站点字幕',
|
||
downloadSubtitleHint: '检查站点资源是否有单独的字幕文件并自动下载',
|
||
mediaSource: '媒体搜索数据源',
|
||
mediaSourceHint: '搜索媒体信息时使用的数据源以及排序',
|
||
filterRuleGroupHint: '搜索媒体信息时按选定的过滤规则组对结果进行过滤',
|
||
downloadUserPlaceholder: '用户ID1,用户ID2',
|
||
downloadLabelPlaceholder: 'MOVIEPILOT',
|
||
},
|
||
directory: {
|
||
storage: '存储',
|
||
storageDesc: '设置本地或网盘存储',
|
||
directory: '目录',
|
||
mediaType: '媒体类型',
|
||
directoryDesc: '设置媒体文件整理目录结构,按先后顺序依次匹配。',
|
||
organizeAndScrap: '整理 & 刮削',
|
||
organizeAndScrapDesc: '设置重命名格式、刮削选项等。',
|
||
scrapSource: '刮削数据源',
|
||
scrapSourceHint: '刮削时的元数据来源',
|
||
mountedLocalDiskDeleteEmptyDirs: '挂载盘删除空目录',
|
||
mountedLocalDiskDeleteEmptyDirsHint: '关闭后,移动整理不会清理网络或 FUSE 挂载的本地源目录。',
|
||
movieRenameFormat: '电影重命名格式',
|
||
movieRenameFormatHint: '使用Jinja2语法,格式参考:https://jinja.palletsprojects.com/en/3.0.x/templates',
|
||
tvRenameFormat: '电视剧重命名格式',
|
||
tvRenameFormatHint: '使用Jinja2语法,格式参考:https://jinja.palletsprojects.com/en/3.0.x/templates',
|
||
musicRenameFormat: '音乐重命名格式',
|
||
musicRenameFormatHint: '使用Jinja2语法,可使用 artist、album、track、disc 等音乐字段',
|
||
saveSuccess: '存储设置保存成功',
|
||
saveFailed: '存储设置保存失败!',
|
||
directorySaveSuccess: '目录设置保存成功',
|
||
directorySaveFailed: '目录设置保存失败!',
|
||
organizeSaveSuccess: '整理选项设置保存成功',
|
||
organizeSaveFailed: '整理选项设置保存失败!',
|
||
duplicateDirectoryName: '存在重复目录名称!无法保存,请修改!',
|
||
defaultDirName: '目录',
|
||
storageSaveSuccess: '存储设置保存成功',
|
||
storageSaveFailed: '存储设置保存失败!',
|
||
},
|
||
category: {
|
||
title: '分类策略',
|
||
subtitle: '配置媒体自动分类规则,按类型、语言、地区等条件自动归类',
|
||
movie: '电影 (Movie)',
|
||
tv: '电视剧 (TV)',
|
||
name: '分类名称 (目录名)',
|
||
genre: '内容类型 (Genre)',
|
||
language: '语种 (Language)',
|
||
languagePlaceholder: '如: zh,cn,en (使用逗号分隔)',
|
||
country: '国家/地区 (Country)',
|
||
countryPlaceholder: '如: US,CN,JP',
|
||
year: '年份 (Year)',
|
||
yearPlaceholder: '如: 2023, 2020-2024',
|
||
addMovie: '添加电影分类',
|
||
addTv: '添加电视剧分类',
|
||
saveSuccess: '分类策略保存成功',
|
||
loadFailed: '加载分类配置失败',
|
||
saveFailed: '保存失败: {message}',
|
||
},
|
||
rule: {
|
||
customRules: '自定义规则',
|
||
customRulesDesc: '自定义优先级规则项',
|
||
priorityRuleGroups: '优先级规则组',
|
||
priorityRuleGroupsDesc: '预设优先级规则组,以便在搜索和订阅中使用。',
|
||
downloadRules: '下载规则',
|
||
downloadRulesDesc: '同时命中多个资源时择优下载。',
|
||
resourcePriority: '资源优先级',
|
||
sitePriority: '站点优先级',
|
||
siteUpload: '站点上传量',
|
||
resourceSeeder: '资源做种数',
|
||
emptyIdError: '存在空ID的规则,无法保存,请修改!',
|
||
emptyNameError: '存在空名字的规则,无法保存,请修改!',
|
||
duplicateIdError: '存在重复规则ID!无法保存,请修改!',
|
||
duplicateNameError: '存在重复规则名称!无法保存,请修改!',
|
||
customRuleSaveSuccess: '自定义规则保存成功',
|
||
customRuleSaveFailed: '自定义规则保存失败!',
|
||
emptyGroupNameError: '存在空名字的规则组!无法保存,请修改!',
|
||
duplicateGroupNameError: '存在重复规则组名称!无法保存,请修改!',
|
||
ruleGroupSaveSuccess: '优先级规则组保存成功',
|
||
ruleGroupSaveFailed: '优先级规则组保存失败!',
|
||
customRuleCopySuccess: '自定义规则已复制到剪贴板!',
|
||
customRuleCopyFailed: '自定义规则复制失败:可能是浏览器不支持或被用户阻止!',
|
||
customRuleCopyError: '自定义规则复制失败!',
|
||
ruleGroupCopySuccess: '优先级规则组已复制到剪贴板!',
|
||
ruleGroupCopyFailed: '优先级规则组复制失败:可能是浏览器不支持或被用户阻止!',
|
||
ruleGroupCopyError: '优先级规则组复制失败!',
|
||
currentPriorityRules: '当前使用下载优先规则',
|
||
currentPriorityRulesHint: '排在前面的优先级越高,未选择的项不纳入排序',
|
||
importCustomRules: '导入自定义规则',
|
||
importRuleGroups: '导入优先级规则组',
|
||
importFailed: '导入规则失败!无法解析输入的数据!',
|
||
importUnknownType: '导入规则失败!未知的数据类型!',
|
||
duplicateValue: '存在重名值',
|
||
importNoId: '导入失败!发现有规则不存在ID,可能属于优先级规则组!',
|
||
importHasId: '导入失败!发现有规则存在相同ID,可能属于自定义规则!',
|
||
},
|
||
scheduler: {
|
||
title: '定时作业',
|
||
subtitle: '包含系统内置服务以及插件提供的服务',
|
||
provider: '提供者',
|
||
taskName: '任务名称',
|
||
taskStatus: '任务状态',
|
||
nextRunTime: '下一次执行时间',
|
||
execute: '执行',
|
||
noService: '没有后台服务',
|
||
running: '正在运行',
|
||
stopped: '已停止',
|
||
waiting: '等待',
|
||
executeSuccess: '定时作业执行请求提交成功!',
|
||
mobileWaitingAfter: '{time}之后',
|
||
mobileNoNextRun: '暂无排期',
|
||
},
|
||
subscribe: {
|
||
basicSettings: '基础设置',
|
||
basicSettingsDesc: '设定订阅模式、周期等基础设置',
|
||
subscribeSites: '订阅站点',
|
||
subscribeSitesDesc: '只有选中的站点才会在订阅中使用。',
|
||
mode: '订阅模式',
|
||
modeHint: '自动:自动爬取站点首页,站点RSS:通过站点RSS链接订阅',
|
||
rssInterval: '站点RSS周期',
|
||
rssIntervalHint: '设置站点RSS运行周期,在订阅模式为`站点RSS`时生效',
|
||
filterRuleGroup: '订阅优先级规则组',
|
||
filterRuleGroupHint: '按选定的过滤规则组对订阅进行过滤',
|
||
bestVersionRuleGroup: '洗版优先级规则组',
|
||
bestVersionRuleGroupHint: '按选定的过滤规则组对洗版订阅进行过滤',
|
||
timedSearch: '订阅定时搜索',
|
||
timedSearchHint: '每隔指定时间全站搜索,以补全订阅可能漏掉的资源',
|
||
searchInterval: '订阅搜索时间间隔',
|
||
searchIntervalHint: '设置订阅搜索的时间间隔,仅在开启订阅定时搜索时生效',
|
||
checkLocalMedia: '检查文件系统资源',
|
||
checkLocalMediaHint: '扫描存储目录中是否已存在相应资源文件,以避免重复下载;不管是否开启都会检查媒体服务器',
|
||
modes: {
|
||
auto: '自动',
|
||
rss: '站点RSS',
|
||
},
|
||
intervals: {
|
||
min5: '5分钟',
|
||
min10: '10分钟',
|
||
min20: '20分钟',
|
||
min30: '半小时',
|
||
hour1: '1小时',
|
||
hour12: '12小时',
|
||
day1: '1天',
|
||
day3: '3天',
|
||
week1: '一周',
|
||
},
|
||
saveSuccess: '订阅站点保存成功',
|
||
saveFailed: '订阅站点保存失败!',
|
||
settingsSaveSuccess: '订阅基础设置保存成功',
|
||
settingsSaveFailed: '订阅基础设置保存失败!',
|
||
},
|
||
cache: {
|
||
title: '缓存管理',
|
||
subtitle: '管理多类系统缓存',
|
||
cacheType: '缓存类型',
|
||
torrentCache: '资源缓存',
|
||
recognitionCache: '识别缓存',
|
||
recognitionType: '类型',
|
||
recognitionTypeOptions: {
|
||
all: '全部',
|
||
media: '电影/电视剧',
|
||
music: '音乐',
|
||
},
|
||
totalCount: '总条数',
|
||
siteCount: '站点数',
|
||
recognized: '已识别',
|
||
sharedRecognized: '共享识别',
|
||
recognizedOnly: '仅已识别',
|
||
unrecognizedOnly: '仅未识别',
|
||
allStatuses: '全部状态',
|
||
filterByTitle: '按标题筛选',
|
||
filterBySite: '按站点筛选',
|
||
filterRecognitionCache: '搜索缓存键、标题或 {source} ID',
|
||
filterAllRecognitionCache: '搜索缓存键、标题、艺术家或识别 ID',
|
||
selectSite: '选择站点',
|
||
loadingMore: '加载中...',
|
||
refresh: '刷新缓存',
|
||
refreshList: '刷新列表',
|
||
listRefreshSuccess: '缓存列表已刷新',
|
||
deleteSelected: '删除选中',
|
||
clearAll: '清空缓存',
|
||
refreshSuccess: '缓存刷新完成',
|
||
refreshFailed: '刷新缓存失败',
|
||
clearSuccess: '缓存清理完成',
|
||
clearFailed: '清理缓存失败',
|
||
deleteSuccess: '缓存项删除成功',
|
||
deleteFailed: '删除缓存项失败',
|
||
deleteSelectedSuccess: '成功删除 {count} 个缓存项',
|
||
deleteSelectedFailed: '删除缓存项失败',
|
||
loadFailed: '加载缓存数据失败',
|
||
selectDeleteWarning: '请选择要删除的缓存项',
|
||
reidentify: '重新识别',
|
||
reidentifySuccess: '重新识别完成',
|
||
reidentifyFailed: '重新识别失败',
|
||
poster: '海报',
|
||
cacheKey: '识别请求',
|
||
tmdbId: 'TMDB ID',
|
||
musicbrainzId: 'MusicBrainz ID',
|
||
doubanId: '豆瓣 ID',
|
||
torrentTitle: '标题',
|
||
site: '站点',
|
||
size: '大小',
|
||
publishTime: '发布时间',
|
||
recognitionResult: '识别结果',
|
||
recognitionStatus: '识别状态',
|
||
actions: '操作',
|
||
unrecognized: '未识别',
|
||
noData: '暂无缓存数据',
|
||
noDataHint: '点击"刷新缓存"按钮获取最新的种子缓存',
|
||
noRecognitionCache: '暂无 {source} 识别缓存',
|
||
noRecognitionCacheHint: '完成媒体识别后,缓存记录会显示在这里',
|
||
reidentifyDialog: {
|
||
title: '重新识别',
|
||
torrentInfo: '种子信息',
|
||
tmdbId: 'TMDB ID',
|
||
tmdbIdHint: '可选,手动指定TMDB ID进行识别',
|
||
doubanId: '豆瓣 ID',
|
||
doubanIdHint: '可选,手动指定豆瓣ID进行识别',
|
||
bangumiId: 'Bangumi ID',
|
||
anilistId: 'AniList ID',
|
||
mediaSource: '识别数据源',
|
||
mediaSourceHint: '仅用于本次重新识别,不修改系统默认数据源',
|
||
mediaId: '媒体 ID',
|
||
mediaIdHint: '可选,填写所选数据源中的原生媒体 ID;留空时按标题识别',
|
||
autoHint: '如果不指定ID,将自动重新识别该种子',
|
||
cancel: '取消',
|
||
confirm: '重新识别',
|
||
},
|
||
mediaType: {
|
||
movie: '电影',
|
||
tv: '电视剧',
|
||
music: '音乐',
|
||
unknown: '未知',
|
||
},
|
||
musicType: {
|
||
recording: '单曲',
|
||
album: '专辑',
|
||
artist: '艺术家',
|
||
},
|
||
clearConfirm: '确认清空所有缓存吗?',
|
||
recognitionClearConfirm: '确认清空全部 {source} 识别缓存吗?',
|
||
recognitionClearAllConfirm: '确认清空全部识别缓存(影视与音乐)吗?',
|
||
tmdbClearConfirm: '确认清空全部 TheMovieDb 识别缓存吗?',
|
||
recognitionSource: {
|
||
themoviedb: 'TheMovieDb',
|
||
douban: '豆瓣',
|
||
bangumi: 'Bangumi',
|
||
anilist: 'AniList',
|
||
musicbrainz: 'MusicBrainz',
|
||
theaudiodb: 'TheAudioDB',
|
||
doubanmusic: '豆瓣音乐',
|
||
},
|
||
},
|
||
},
|
||
dialog: {
|
||
progress: {
|
||
processing: '处理中',
|
||
},
|
||
subscribeSeason: {
|
||
title: '订阅 - {title}',
|
||
selectMode: '选择订阅方式',
|
||
selectGroup: '选择剧集组',
|
||
defaultGroup: '默认',
|
||
seasonCount: '{count} 季',
|
||
episodeCount: '{count} 集',
|
||
seasonNumber: '第 {number} 季',
|
||
airDate: '首播于 {date}',
|
||
voteAverage: '{score}',
|
||
status: {
|
||
exists: '已入库',
|
||
partial: '部分缺失',
|
||
missing: '缺失',
|
||
},
|
||
submit: '提交订阅',
|
||
selectSeasons: '请选择订阅季',
|
||
},
|
||
userAddEdit: {
|
||
add: '添加用户',
|
||
edit: '编辑用户',
|
||
username: '用户名',
|
||
usernameRequired: '用户名不能为空',
|
||
password: '密码',
|
||
passwordMinLength: '密码长度不能少于6位',
|
||
confirmPassword: '确认密码',
|
||
confirmPasswordRequired: '请确认密码',
|
||
passwordMismatch: '两次输入的密码不一致',
|
||
email: '邮箱',
|
||
nickname: '昵称',
|
||
status: '状态',
|
||
active: '激活',
|
||
inactive: '已停用',
|
||
superUser: '超级用户',
|
||
otp: '启用二次验证',
|
||
avatar: '头像',
|
||
uploadAvatar: '上传头像',
|
||
resetDefaultAvatar: '重置默认头像',
|
||
restoreCurrentAvatar: '还原当前头像',
|
||
notifications: '通知',
|
||
wechat: '企业微信ID',
|
||
wechatClawBot: '微信 ClawBot ID',
|
||
telegram: 'Telegram ID',
|
||
slack: 'Slack ID',
|
||
discord: 'Discord ID',
|
||
vocechat: 'VoceChat ID',
|
||
synologyChat: 'SynologyChat ID',
|
||
webPush: 'WebPush',
|
||
creatingUser: '正在创建【{name}】用户,请稍后',
|
||
updatingUser: '正在更新【{name}】用户,请稍后',
|
||
usernameExists: '用户名已存在',
|
||
userCreated: '用户【{name}】创建成功',
|
||
userCreateFailed: '创建用户失败:{message}',
|
||
userUpdateSuccess: '用户【{name}】更新成功',
|
||
userUpdateFailed: '更新用户失败:{message}',
|
||
userDeleteSuccess: '用户【{name}】删除成功',
|
||
userDeleteFailed: '删除用户失败:{message}',
|
||
invalidFile: '上传的文件不符合要求,请重新选择头像',
|
||
fileSizeLimit: '文件大小不得大于800KB',
|
||
avatarUploadSuccess: '新头像上传成功,待保存后生效!',
|
||
resetAvatarSuccess: '已重置为默认头像,待保存后生效!',
|
||
restoreAvatarSuccess: '已还原当前使用头像!',
|
||
deleteConfirm: '确认删除用户【{name}】吗?',
|
||
saveUserInfo: '保存用户信息',
|
||
cannotDeleteCurrentUser: '不能删除当前登录用户',
|
||
deleteUser: '删除用户',
|
||
permissions: {
|
||
title: '权限设置',
|
||
presetNormal: '普通用户',
|
||
presetAdmin: '管理员',
|
||
discovery: '发现',
|
||
discoveryDesc: '访问推荐和探索功能',
|
||
search: '搜索',
|
||
searchDesc: '搜索站点资源和添加下载',
|
||
subscribe: '订阅',
|
||
subscribeDesc: '管理电影和电视剧订阅',
|
||
manage: '管理',
|
||
manageDesc: '访问下载管理和站点管理等功能',
|
||
categoryTitle: '权限分类',
|
||
categoryHint: '先启用权限分类,再选择该分类下允许访问的具体功能',
|
||
summary: '已启用 {categories} 类 / {features} 项功能',
|
||
featureTitleSuffix: '功能',
|
||
featureHint: '取消勾选后,该功能会从导航、应用中心和路由访问中隐藏',
|
||
disabledCategoryHint: '当前分类未启用,功能项将随分类一起不可访问',
|
||
selectAll: '全选',
|
||
clear: '清空',
|
||
default: '默认',
|
||
featureScope: '功能范围',
|
||
features: {
|
||
recommend: '推荐',
|
||
explore: '探索',
|
||
resourceSearch: '资源搜索',
|
||
movieSubscribe: '电影订阅',
|
||
tvSubscribe: '电视剧订阅',
|
||
musicSubscribe: '音乐订阅',
|
||
calendar: '订阅日历',
|
||
subscribeShare: '订阅分享',
|
||
workflow: '工作流',
|
||
downloading: '下载管理',
|
||
history: '媒体整理',
|
||
fileManager: '文件管理',
|
||
site: '站点管理',
|
||
},
|
||
featureDescriptions: {
|
||
recommend: '推荐页与榜单内容入口',
|
||
explore: '探索页、媒体发现与详情浏览',
|
||
resourceSearch: '站点资源搜索与资源结果页',
|
||
movieSubscribe: '电影订阅列表和热门电影',
|
||
tvSubscribe: '电视剧订阅列表、热门剧集和分享标签',
|
||
musicSubscribe: '音乐订阅列表与自动资源搜索',
|
||
calendar: '订阅排期与日历视图',
|
||
subscribeShare: '订阅分享列表访问',
|
||
workflow: '工作流列表与分享入口',
|
||
downloading: '当前下载任务管理',
|
||
history: '整理历史与入库记录',
|
||
fileManager: '文件浏览和文件管理',
|
||
site: '站点列表、站点状态和站点维护',
|
||
},
|
||
},
|
||
},
|
||
searchBar: {
|
||
search: '搜索',
|
||
searchPlaceholder: '搜索电影、剧集以及更多...',
|
||
recentSearches: '最近搜索',
|
||
noRecentSearches: '没有最近搜索记录',
|
||
functions: '功能',
|
||
noFunctionsFound: '没有匹配的功能',
|
||
plugins: '插件',
|
||
noPluginsFound: '没有匹配的插件',
|
||
subscriptions: '订阅',
|
||
noSubscriptionsFound: '没有匹配的订阅',
|
||
searchSites: '搜索站点',
|
||
selectSites: '选择站点',
|
||
collections: '系列合集',
|
||
collectionSearch: '相关的系列作品',
|
||
actorSearch: '相关的演员、导演等',
|
||
historySearch: '相关的历史记录',
|
||
subscribeShareSearch: '相关的订阅分享',
|
||
siteResources: '站点资源',
|
||
searchInSites: '在站点中搜索种子资源',
|
||
searchMusicInSites: '在站点中搜索音乐资源',
|
||
searchSubtitlesInSites: '在站点中搜索字幕资源',
|
||
relatedResources: '相关资源',
|
||
relatedMusicResources: '相关音乐资源',
|
||
relatedSubtitles: '相关字幕',
|
||
searchTip: '可搜索电影、电视剧、演员、资源等',
|
||
emptySearchHint: '输入关键字开始搜索',
|
||
escClose: '关闭',
|
||
openSearch: '打开搜索',
|
||
mediaSourceFor: '{type}搜索数据源',
|
||
searchWithSource: '使用 {source} 搜索',
|
||
},
|
||
searchSite: {
|
||
selectSites: '选择站点',
|
||
siteSearch: '站点搜索',
|
||
searchAllSites: '已选择 {selected}/{total} 个站点',
|
||
selectAll: '选择全部',
|
||
deselectAll: '取消全选',
|
||
confirm: '确认',
|
||
cancel: '取消',
|
||
},
|
||
importCode: {
|
||
import: '导入',
|
||
title: '导入代码',
|
||
},
|
||
addDownload: {
|
||
confirmDownload: '确认下载',
|
||
downloader: '下载器(默认)',
|
||
saveDirectory: '保存目录(自动)',
|
||
defaultPlaceholder: '留空默认',
|
||
autoPlaceholder: '留空自动匹配',
|
||
downloading: '下载中...',
|
||
startDownload: '开始下载',
|
||
downloadSuccess: '{site} {title} 下载成功!',
|
||
downloadFailed: '{site} {title} 下载失败:{message}!',
|
||
unrecognizedTitle: '无法识别媒体信息',
|
||
unrecognizedContent: '无法识别此资源的媒体信息,是否仍要下载?',
|
||
continueDownload: '继续下载',
|
||
showAdvancedOptions: '显示高级选项',
|
||
hideAdvancedOptions: '隐藏高级选项',
|
||
},
|
||
addSubtitleDownload: {
|
||
confirmDownload: '确认下载字幕',
|
||
saveDirectory: '保存目录(自动)',
|
||
autoPlaceholder: '留空自动匹配',
|
||
downloading: '下载中...',
|
||
startDownload: '下载字幕',
|
||
downloaded: '已下载',
|
||
downloadSuccess: '{site} {title} 字幕下载成功!',
|
||
downloadFailed: '{site} {title} 字幕下载失败:{message}!',
|
||
},
|
||
subscribeShare: {
|
||
shareSubscription: '分享订阅',
|
||
season: '第 {number} 季',
|
||
title: '标题',
|
||
description: '说明',
|
||
descriptionHint: '填写关于该订阅的说明,订阅中的搜索词、识别词等将会默认包含在分享中',
|
||
shareUser: '分享用户',
|
||
shareUserHint: '分享人的昵称',
|
||
confirmShare: '确认分享',
|
||
shareSuccess: '{name} 分享成功!',
|
||
shareFailed: '{name} 分享失败:{message}!',
|
||
},
|
||
workflowShare: {
|
||
shareWorkflow: '分享工作流',
|
||
title: '标题',
|
||
description: '说明',
|
||
descriptionHint: '填写关于该工作流的说明,工作流的动作和流程将会默认包含在分享中',
|
||
shareUser: '分享用户',
|
||
shareUserHint: '分享人的昵称',
|
||
confirmShare: '确认分享',
|
||
shareSuccess: '{name} 分享成功!',
|
||
shareFailed: '{name} 分享失败:{message}!',
|
||
securityWarning: '安全提醒',
|
||
securityWarningMessage: '分享前请确保工作流没有敏感信息,比如RSS链接中的PassKey等,避免产生信息泄露。',
|
||
},
|
||
u115Auth: {
|
||
loginTitle: '115网盘授权',
|
||
openAuthWindow: '打开授权窗口',
|
||
authorizing: '请在新窗口中完成授权...',
|
||
authSuccess: '授权成功!',
|
||
authFailed: '授权失败或已过期',
|
||
authCanceled: '授权已取消,请重试',
|
||
urlEmpty: '授权URL为空',
|
||
urlFetchFailed: '获取授权URL失败',
|
||
popupBlocked: '无法打开授权窗口,请检查浏览器弹窗设置',
|
||
complete: '完成',
|
||
reset: '重置',
|
||
},
|
||
aliyunAuth: {
|
||
loginTitle: '阿里云盘登录',
|
||
scanQrCode: '请用阿里云盘 App 扫码',
|
||
scanned: '已扫码',
|
||
complete: '完成',
|
||
reset: '重置',
|
||
},
|
||
rcloneConfig: {
|
||
title: 'RClone配置',
|
||
filePath: 'rclone配置文件路径',
|
||
fileContent: 'rclone配置文件内容',
|
||
defaultContent: '# 请在此处填写rclone配置文件内容 \n# 请参考 https://rclone.org/docs/ \n# 存储节点名必须为:MP',
|
||
complete: '完成',
|
||
reset: '重置',
|
||
},
|
||
alistConfig: {
|
||
title: 'OpenList配置',
|
||
serverUrl: 'OpenList服务地址',
|
||
username: '用户名',
|
||
password: '密码',
|
||
tokenUrl: '获取Token地址',
|
||
loginType: '登录方式',
|
||
loginTypeOptions: {
|
||
guest: '访客',
|
||
username: '用户名密码',
|
||
token: '令牌',
|
||
},
|
||
complete: '完成',
|
||
reset: '重置',
|
||
},
|
||
alistgoConfig: {
|
||
title: 'AList配置',
|
||
serverUrl: 'AList服务地址',
|
||
},
|
||
smbConfig: {
|
||
title: 'SMB网络共享配置',
|
||
host: 'SMB服务器地址',
|
||
hostHint: 'SMB服务器的IP地址或主机名',
|
||
share: '共享名称',
|
||
shareHint: '要连接的共享文件夹名称',
|
||
username: '用户名',
|
||
usernameHint: 'SMB登录用户名',
|
||
password: '密码',
|
||
passwordHint: 'SMB登录密码',
|
||
domain: '域名',
|
||
domainHint: 'SMB域名,如WORKGROUP或域控制器名称',
|
||
complete: '完成',
|
||
reset: '重置',
|
||
},
|
||
workflowAddEdit: {
|
||
addTitle: '添加工作流',
|
||
editTitle: '编辑工作流',
|
||
name: '名称',
|
||
namePlaceholder: '工作流名称',
|
||
desc: '描述',
|
||
descPlaceholder: '工作流描述',
|
||
maxWorkers: '最大并行数',
|
||
enabled: '启用',
|
||
triggerType: '触发类型',
|
||
triggerTypeTimer: '定时触发',
|
||
triggerTypeEvent: '事件触发',
|
||
triggerTypeManual: '手动触发',
|
||
schedule: '定时执行',
|
||
cronExpr: 'Cron表达式',
|
||
cronExprDesc: '工作流定时执行的cron表达式',
|
||
eventType: '事件类型',
|
||
eventTypePlaceholder: '请选择事件类型',
|
||
nameRequired: '请填写完整信息!',
|
||
triggerRequired: '请选择触发类型!',
|
||
timerRequired: '请填写定时表达式!',
|
||
eventTypeRequired: '请选择事件类型!',
|
||
addSuccess: '创建任务成功,请编辑流程!',
|
||
addFailed: '创建任务失败:{message}',
|
||
editSuccess: '修改任务成功!',
|
||
editFailed: '修改任务失败:{message}',
|
||
cancel: '取消',
|
||
confirm: '确认',
|
||
},
|
||
workflowActions: {
|
||
title: '编辑流程',
|
||
noActionsMessage: '工作流没有动作,请添加动作',
|
||
addAction: '添加动作',
|
||
editAction: '编辑动作',
|
||
deleteAction: '删除动作',
|
||
moveUp: '上移',
|
||
moveDown: '下移',
|
||
nameLabel: '动作名称',
|
||
nameRequired: '动作名称不能为空',
|
||
typeLabel: '动作类型',
|
||
typeRequired: '动作类型不能为空',
|
||
paramsLabel: '动作参数',
|
||
outputLabel: '动作输出',
|
||
saveAction: '保存动作',
|
||
cancelAction: '取消',
|
||
confirmDeleteTitle: '确认删除动作',
|
||
confirmDeleteMessage: '确定要删除此动作吗?此操作无法撤销。',
|
||
yesDelete: '是的,删除',
|
||
noCancel: '取消',
|
||
invalidConnection: '非法连接:不能连接自身或同类型端口!',
|
||
componentNotFound: '组件 {component} 未找到',
|
||
componentAdded: '已添加组件到画布',
|
||
saveSuccess: '保存任务流程成功!',
|
||
saveFailed: '保存任务流程失败:{message}',
|
||
importTitle: '导入任务流程',
|
||
importSuccess: '导入成功!',
|
||
importFailed: '导入失败!',
|
||
codeCopied: '任务流程代码已复制到剪贴板!',
|
||
edgeSettingsTitle: '流程条件',
|
||
edgeConditionLabel: '流转条件',
|
||
conditionAlways: '无条件流转',
|
||
conditionHasOutput: '有{field}输出',
|
||
conditionNoOutput: '没有{field}输出',
|
||
conditionHasValue: '{field}有值',
|
||
conditionCustom: '自定义条件(保留现有)',
|
||
edgeNoConditionFields: '上一节点没有可用于条件判断的输出',
|
||
edgeConditionalLabel: '条件',
|
||
edgeSave: '保存',
|
||
edgeCancel: '取消',
|
||
edgeSaveSuccess: '流程条件已保存',
|
||
},
|
||
siteCookieUpdate: {
|
||
title: '更新站点Cookie & UA',
|
||
processing: '请稍候...',
|
||
updating: '正在更新 {site} Cookie & UA...',
|
||
success: '{site} 更新Cookie & UA成功!',
|
||
failed: '{site} 更新失败:{message}',
|
||
requestFailed: '请求失败,请稍后重试',
|
||
updateButton: '开始更新',
|
||
},
|
||
siteAddEdit: {
|
||
addTitle: '添加站点',
|
||
editTitle: '编辑站点',
|
||
nameLabel: '站点名称',
|
||
urlLabel: '站点URL',
|
||
iconLabel: '站点图标',
|
||
uploadIcon: '上传图标',
|
||
cookie: 'Cookie',
|
||
rssUrl: 'RSS链接',
|
||
enableLabel: '启用',
|
||
pubEnableLabel: '资源公开',
|
||
priorityLabel: '优先级',
|
||
signInLabel: '签到',
|
||
proxies: '代理',
|
||
userInfo: '用户信息',
|
||
cancel: '取消',
|
||
confirm: '保存',
|
||
},
|
||
pluginConfig: {
|
||
title: '插件配置',
|
||
save: '保存',
|
||
close: '关闭',
|
||
viewData: '查看数据',
|
||
saving: '正在保存 {name} 配置...',
|
||
saveSuccess: '插件 {name} 配置已保存',
|
||
saveFailed: '插件 {name} 配置保存失败:{message}',
|
||
},
|
||
pluginData: {
|
||
title: '插件数据',
|
||
save: '保存',
|
||
close: '关闭',
|
||
},
|
||
pluginMarketSetting: {
|
||
title: '插件市场设置',
|
||
repoUrl: '插件仓库地址',
|
||
repoPlaceholder: '格式:https://github.com/jxxghp/MoviePilot-Plugins/,https://github.com/xxxx/xxxxxx/',
|
||
repoHint: '多个地址可使用换行或英文逗号分隔',
|
||
urlPlaceholder: '输入插件仓库地址',
|
||
textPlaceholder: 'https://github.com/jxxghp/MoviePilot-Plugins/\nhttps://github.com/xxxx/xxxxxx/',
|
||
repoCountHint: '当前已维护 {count} 个插件仓库地址',
|
||
listMode: '列表维护',
|
||
textMode: '文本维护',
|
||
textHint: '直接粘贴仓库地址串,一行一个或使用英文逗号分隔。',
|
||
addRepo: '添加仓库',
|
||
noRepos: '暂无插件仓库地址',
|
||
invalidUrl: '请输入有效的URL地址',
|
||
duplicateUrl: '该地址已存在',
|
||
invalidText: '文本中有 {count} 个无效地址,请修正后保存。',
|
||
invalidTextIgnored: '已忽略 {count} 个无效地址',
|
||
duplicateTextIgnored: '重复地址会在保存时自动去重。',
|
||
syncSources: '同步插件源',
|
||
syncSuccess: '已同步插件源,新增 {added} 个,共 {total} 个',
|
||
syncFailed: '同步插件源失败:{message}!',
|
||
close: '关闭',
|
||
save: '保存',
|
||
saveSuccess: '插件仓库保存成功',
|
||
saveFailed: '插件仓库保存失败:{message}!',
|
||
},
|
||
userAuth: {
|
||
title: '用户认证',
|
||
codeLabel: '认证码',
|
||
codePlaceholder: '请输入认证码',
|
||
authBtn: '开始认证',
|
||
closeBtn: '关闭',
|
||
selectSite: '选择认证站点',
|
||
selectSiteRequired: '请选择认证站点!',
|
||
siteConfigNotExist: '站点配置不存在!',
|
||
fieldRequired: '请输入{name}!',
|
||
authSuccess: '用户认证成功,请重新登录!',
|
||
authFailed: '认证失败:{message}',
|
||
},
|
||
transferQueue: {
|
||
title: '整理队列',
|
||
queueSummary: '{media} 部媒体 · {tasks} 个文件',
|
||
mediaList: '媒体队列',
|
||
mediaProgressCount: '{completed} / {total} 个文件',
|
||
overallCount: '{completed} / {total} 个文件',
|
||
mediaFileSummary: '{count} 个文件 · 共 {size}',
|
||
fileName: '文件名',
|
||
operation: '操作',
|
||
cancelTask: '取消任务',
|
||
name: '名称',
|
||
type: '类型',
|
||
state: '状态',
|
||
progress: '进度',
|
||
startTime: '开始时间',
|
||
speedTitle: '速度',
|
||
pathTitle: '路径',
|
||
sizeTitle: '大小',
|
||
waitingState: '等待中',
|
||
runningState: '正在整理',
|
||
finishedState: '完成',
|
||
failedState: '失败',
|
||
cancelledState: '已取消',
|
||
noTasks: '没有正在整理的任务',
|
||
noTasksHint: '开始整理后,这里会显示任务进度和状态。',
|
||
processing: '请稍候 ...',
|
||
stopAll: '全部停止',
|
||
startAll: '全部开始',
|
||
refresh: '刷新',
|
||
close: '关闭',
|
||
processingFile: '正在整理',
|
||
overallProgress: '整体进度',
|
||
currentFileProgress: '当前文件进度',
|
||
processingStatus: '整理中',
|
||
},
|
||
reorganize: {
|
||
title: '整理',
|
||
sourceTitle: '源文件',
|
||
targetTitle: '目标文件',
|
||
processingTitle: '处理中',
|
||
confirmTitle: '确认',
|
||
selectFile: '选择文件',
|
||
selectTarget: '选择目标',
|
||
selectMediaType: '选择媒体类型',
|
||
movie: '电影',
|
||
tv: '电视剧',
|
||
selectTmdbId: '选择TMDB ID',
|
||
selectMediaInfo: '选择媒体信息',
|
||
selectTargetPath: '选择目标路径',
|
||
selectTargetDir: '选择目标目录',
|
||
selectFileName: '选择文件名',
|
||
confirmMoving: '请确认移动!',
|
||
sourceLabel: '源文件:',
|
||
targetLabel: '目标目录:',
|
||
filenameLabel: '文件名:',
|
||
close: '关闭',
|
||
next: '下一步',
|
||
previous: '上一步',
|
||
confirm: '确认',
|
||
manualTitle: '手动整理',
|
||
multipleItemsTitle: '共 {count} 项',
|
||
singleItemTitle: '{path}',
|
||
targetStorage: '目的存储',
|
||
targetStorageHint: '整理目的存储,选择自动时由后端匹配',
|
||
transferType: '整理方式',
|
||
transferTypeHint: '文件操作整理方式,选择自动时使用后端匹配结果或默认规则',
|
||
targetPath: '目的路径',
|
||
targetPathHint: '整理目的路径,选择自动将由后端按源路径匹配',
|
||
targetPathPlaceholder: '选择自动或输入路径',
|
||
mediaType: '类型',
|
||
mediaTypeHint: '文件的媒体类型',
|
||
musicEntity: '音乐实体',
|
||
mediaSource: '数据源',
|
||
mediaSourceHint: '默认使用后台识别设置,可为本次整理与刮削单独切换',
|
||
tmdbId: 'TheMovieDb编号',
|
||
doubanId: '豆瓣编号',
|
||
bangumiId: 'Bangumi编号',
|
||
anilistId: 'AniList编号',
|
||
mediaId: '媒体 ID',
|
||
mediaIdHint: '按名称查询媒体编号,留空自动识别',
|
||
mediaIdPlaceholder: '留空自动识别',
|
||
mediaIdInvalid: '媒体ID格式无效',
|
||
mediaSearchInput: '搜索媒体',
|
||
mediaSearchPlaceholder: '输入媒体名称',
|
||
episodeGroup: '剧集组',
|
||
episodeGroupHint: '输入 TMDB 编号后自动查询剧集组,也可手动填写剧集组编号',
|
||
episodeGroupPlaceholder: '先输入 TMDB 编号',
|
||
defaultEpisodeGroup: '不指定剧集组',
|
||
defaultEpisodeGroupHint: '使用 TMDB 默认季集排序',
|
||
seasonCount: '{count} 季',
|
||
episodeCount: '{count} 集',
|
||
season: '季',
|
||
seasonHint: '第几季',
|
||
episodeDetail: '集',
|
||
episodeDetailHint: '集数或范围,如1或1,2',
|
||
episodeDetailPlaceholder: '起始集,终止集',
|
||
episodeFormat: '集数定位',
|
||
episodeFormatHint: '使用{ep}定位文件名中的集数部分以辅助识别',
|
||
episodeFormatPlaceholder: '使用{ep}定位集数',
|
||
episodeFormatRecommendAction: '智能生成',
|
||
episodeFormatRecommendLoading: '生成中...',
|
||
episodeFormatRecommendSelectFile: '请先选择单个文件、单个目录,或多个文件',
|
||
episodeFormatRecommendInvalidSelection: '当前选择不满足智能生成条件',
|
||
episodeFormatRecommendNeedWords: '手动整理集数定位规则为空,请先前往词表填写',
|
||
episodeFormatRecommendSuccess: '已生成集数定位模板',
|
||
episodeFormatRecommendOverwriteSuccess: '已用智能生成结果覆盖当前集数定位',
|
||
episodeFormatRecommendFailed: '集数定位生成失败,请稍后重试',
|
||
episodeFormatRecommendRule: '命中规则:{rule}',
|
||
episodeFormatRecommendSample: '样本文件:{file}',
|
||
episodeFormatRuleDetails: '手动整理集数定位规则',
|
||
episodeFormatFinal: '最终集数定位:{format}',
|
||
episodeFormatManualInput: '手动输入集数定位',
|
||
episodeFormatRulePattern: '规则正则:{pattern}',
|
||
episodeOffset: '集数偏移',
|
||
episodeOffsetHint: '集数偏移运算,如-10或EP*2',
|
||
episodeOffsetPlaceholder: '如-10',
|
||
episodePart: '指定Part',
|
||
episodePartHint: '指定Part,如part1',
|
||
episodePartPlaceholder: '如part1',
|
||
minFileSize: '最小文件大小(MB)',
|
||
minFileSizeHint: '只整理大于最小文件大小的文件',
|
||
typeFolderOption: '按类型分类',
|
||
typeFolderHint: '整理时目的路径下按媒体类型添加子目录',
|
||
categoryFolderOption: '按类别分类',
|
||
categoryFolderHint: '整理时在目的路径下按媒体类别添加子目录',
|
||
scrapeOption: '刮削元数据',
|
||
scrapeHint: '整理完成后自动刮削元数据',
|
||
fromHistoryOption: '复用历史识别信息',
|
||
fromHistoryHint: '使用历史整理记录中已识别的媒体信息',
|
||
previewTitle: '整理结果预览',
|
||
previewSubtitle: '点击“预览”后可查看本次整理的预计入库结果,不会实际改动文件',
|
||
previewResult: '预览',
|
||
previewLoading: '正在生成预览结果...',
|
||
previewRequestFailed: '预览请求失败',
|
||
transferRequestFailed: '整理请求失败',
|
||
previewTotal: '总数 {count}',
|
||
previewSuccess: '成功 {count}',
|
||
previewFailed: '失败 {count}',
|
||
previewMediaInfo: '媒体信息',
|
||
previewMediaName: '名称',
|
||
previewMediaType: '类型',
|
||
previewSeasonInfo: '季信息',
|
||
previewSeasonLabel: '季',
|
||
previewEpisodeCount: '总集数',
|
||
customWordsApplied: '识别词应用详情',
|
||
customWordsSameRules: '{count} 个文件应用相同识别词',
|
||
previewAfterColumn: '整理后',
|
||
previewBeforeColumn: '整理前',
|
||
previewFileNameColumn: '文件名',
|
||
previewEmptyTitle: '尚未生成预览',
|
||
previewEmptyDescription: '点击“预览”按钮后,在这里查看整理结果预览。',
|
||
noPreviewData: '暂无预览结果',
|
||
noFailedPreviewData: '当前没有失败项',
|
||
copySuccess: '路径已复制',
|
||
copyFailed: '复制失败',
|
||
addToQueue: '加入整理队列',
|
||
reorganizeNow: '立即整理',
|
||
reorganizeAgain: '重新整理',
|
||
historyFound: '检测到 {count} 条成功整理记录。重新整理会清理旧目标和历史记录;移动模式会保留当前源文件。',
|
||
auto: '自动',
|
||
processing: '正在处理 ...',
|
||
successMessage: '文件 {name} 已加入整理队列!',
|
||
},
|
||
subscribeMode: {
|
||
title: '选择订阅方式',
|
||
normal: '普通订阅',
|
||
bestVersion: '洗版',
|
||
bestVersionEpisode: '分集洗版',
|
||
bestVersionFull: '全集洗版',
|
||
},
|
||
subscribeEdit: {
|
||
titleDefault: '默认订阅规则',
|
||
titleEdit: '编辑订阅',
|
||
seasonFormat: '第 {number} 季',
|
||
tabs: {
|
||
basic: '基础',
|
||
advance: '进阶',
|
||
},
|
||
searchKeyword: '搜索关键词',
|
||
searchKeywordHint: '指定搜索站点时使用的关键词',
|
||
totalEpisode: '总集数',
|
||
totalEpisodeHint: '剧集总集数',
|
||
startEpisode: '开始集数',
|
||
startEpisodeHint: '开始订阅集数',
|
||
quality: '质量',
|
||
qualityHint: '订阅资源质量',
|
||
resolution: '分辨率',
|
||
resolutionHint: '订阅资源分辨率',
|
||
effect: '特效',
|
||
effectHint: '订阅资源特效',
|
||
audioQuality: '音质等级',
|
||
audioQualityHint: '按 Hi-Res、无损或有损等级筛选',
|
||
audioFormat: '音频格式',
|
||
audioFormatHint: '按 FLAC、ALAC、DSD、MP3 等格式筛选',
|
||
minBitrate: '最低码率',
|
||
minBitrateHint: '资源标题必须声明不低于该码率',
|
||
minBitDepth: '最低位深',
|
||
minBitDepthHint: '资源标题必须声明不低于该位深',
|
||
minSampleRate: '最低采样率',
|
||
minSampleRateHint: '资源标题必须声明不低于该采样率',
|
||
subscribeSites: '订阅站点',
|
||
subscribeSitesHint: '订阅的站点范围,不选使用系统设置',
|
||
downloader: '下载器',
|
||
downloaderHint: '指定该订阅使用的下载器',
|
||
savePath: '保存路径',
|
||
savePathHint: '指定该订阅的下载保存路径,留空自动使用设定的下载目录',
|
||
bestVersion: '洗版',
|
||
bestVersionHint: '根据洗版优先级进行洗版订阅',
|
||
musicBestVersionHint: '持续下载音质分数更高的版本,达到顶级 Hi-Res 后完成',
|
||
bestVersionFull: '全集洗版',
|
||
bestVersionFullHint: '只下载覆盖全集的整包资源,不按单集拆包下载',
|
||
searchImdbid: '使用 ImdbID 搜索',
|
||
searchImdbidHint: '开启后使用 ImdbID 精确搜索资源',
|
||
showEditDialog: '订阅时编辑更多规则',
|
||
showEditDialogHint: '添加订阅时显示此编辑订阅对话框',
|
||
include: '包含(关键字、正则式)',
|
||
includeHint: '包含规则,支持正则表达式',
|
||
exclude: '排除(关键字、正则式)',
|
||
excludeHint: '排除规则,支持正则表达式',
|
||
filterGroups: '优先级规则组',
|
||
filterGroupsHint: '按选定的过滤规则组对订阅进行过滤',
|
||
episodeGroup: '指定剧集组',
|
||
episodeGroupHint: '按特定剧集组识别和刮削',
|
||
season: '指定季',
|
||
seasonHint: '指定任意季订阅',
|
||
mediaCategory: '自定义类别',
|
||
mediaCategoryHint: '指定类别名称,留空自动识别',
|
||
customWords: '自定义识别词',
|
||
customWordsHint: '只对该订阅使用的识别词',
|
||
customWordsPlaceholder:
|
||
'屏蔽词\n被替换词 => 替换词\n前定位词 <> 后定位词 >> 集偏移量(EP)\n被替换词 => 替换词 && 前定位词 <> 后定位词 >> 集偏移量(EP)\n其中替换词支持格式:{[tmdbid/doubanid/bangumiid/anilistid=xxx;type=movie/tv;g=xxx;s=xxx;e=xxx]} 直接指定媒体数据源ID识别,其中g为剧集组编号,s、e为季数和集数(均可选)',
|
||
cancelSubscribe: '取消订阅',
|
||
save: '保存',
|
||
cancelSubscribeConfirm: '是否确认取消订阅?',
|
||
updateSuccess: '{name} 更新成功!',
|
||
updateFailed: '{name} 更新失败:{message}!',
|
||
defaultSaveSuccess: '{type}订阅默认规则保存成功',
|
||
defaultSaveFailed: '{type}订阅默认规则保存失败:{message}!',
|
||
},
|
||
subscribeFiles: {
|
||
title: '订阅文件',
|
||
noFilesMessage: '暂无文件',
|
||
close: '关闭',
|
||
downloadTab: '下载文件',
|
||
libraryTab: '媒体库文件',
|
||
episodeColumn: '集',
|
||
torrentColumn: '种子',
|
||
fileColumn: '文件',
|
||
itemsPerPage: '每页条数',
|
||
pageText: '{0}-{1} 共 {2} 条',
|
||
loadingText: '加载中...',
|
||
noData: '没有数据',
|
||
season: '第 {number} 季',
|
||
movieEpisode: '电影',
|
||
totalEpisodes: '总集数',
|
||
downloadedCount: '下载',
|
||
libraryCount: '入库',
|
||
missingCount: '缺失 {count}',
|
||
episodeList: '集数',
|
||
episodeTotal: '{count} 集',
|
||
filePath: '文件路径',
|
||
copyPath: '复制路径',
|
||
copySuccess: '路径已复制',
|
||
copyFailed: '复制失败',
|
||
noPath: '暂无路径',
|
||
noOverview: '暂无简介',
|
||
noTabFiles: '暂无{tab}',
|
||
statusInLibrary: '已入库',
|
||
statusDownloaded: '已下载',
|
||
statusMissing: '待入库',
|
||
subscribeRunning: '订阅中',
|
||
subscribePending: '待处理',
|
||
subscribePaused: '已暂停',
|
||
subscribeNew: '新订阅',
|
||
unknownTorrent: '未知种子',
|
||
downloader: '下载器',
|
||
},
|
||
subscribeHistory: {
|
||
title: '{type}订阅历史',
|
||
resubscribe: '重新订阅',
|
||
resubscribeMovie: '正在重新订阅 {name}...',
|
||
resubscribeTv: '正在重新订阅 {name} 第 {season} 季...',
|
||
resubscribeMusic: '正在重新订阅 {name}...',
|
||
season: '第 {season} 季',
|
||
noData: '没有已完成的订阅',
|
||
noDataHint: '完成的订阅会显示在这里',
|
||
},
|
||
downloadHistory: {
|
||
title: '下载历史',
|
||
actions: '下载历史操作',
|
||
unknownTitle: '未知媒体',
|
||
noData: '没有下载历史',
|
||
noDataHint: '已添加的下载任务会显示在这里',
|
||
loadFailed: '下载历史加载失败',
|
||
deleteFailed: '下载历史删除失败',
|
||
},
|
||
siteUserData: {
|
||
title: '站点用户数据',
|
||
updateTime: '更新时间',
|
||
username: '用户名',
|
||
uploadTitle: '上传量',
|
||
uploadTotal: '总上传量',
|
||
downloadTitle: '下载量',
|
||
downloadTotal: '总下载量',
|
||
seedingTitle: '做种数',
|
||
seedingCount: '总做种数',
|
||
seedingSize: '总做种体积',
|
||
userLevel: '用户等级',
|
||
msgCount: '未读消息',
|
||
inviteCount: '邀请数',
|
||
bonus: '积分',
|
||
ratio: '分享率',
|
||
joinTime: '加入时间',
|
||
trafficHistory: '历史流量',
|
||
seedingDistribution: '做种分布',
|
||
volumeTitle: '体积',
|
||
countTitle: '数量:',
|
||
noData: '无',
|
||
refreshing: '正在刷新站点数据...',
|
||
loadFailed: '加载站点数据失败',
|
||
refreshFailed: '刷新站点数据失败',
|
||
close: '关闭',
|
||
},
|
||
siteResource: {
|
||
browseTitle: '浏览 - {name}',
|
||
searchKeyword: '搜索关键字',
|
||
resourceCategory: '资源分类',
|
||
noCategory: '该站点未配置资源分类',
|
||
search: '搜索',
|
||
itemsPerPage: '每页条数',
|
||
noData: '没有数据',
|
||
loading: '加载中...',
|
||
loadFailed: '资源加载失败,请重试',
|
||
titleColumn: '标题',
|
||
timeColumn: '时间',
|
||
sizeColumn: '大小',
|
||
seedersColumn: '做种',
|
||
peersColumn: '下载',
|
||
viewDetails: '查看详情',
|
||
downloadTorrent: '下载种子文件',
|
||
pageText: '{0}-{1} 共 {2} 条',
|
||
},
|
||
forkSubscribe: {
|
||
title: '复制订阅',
|
||
selectSubscriber: '选择复制目标',
|
||
overwriteExisting: '覆盖现有订阅',
|
||
overwriteExistingHint: '目标用户已存在该订阅时,是否覆盖',
|
||
confirm: '确认',
|
||
cancel: '取消',
|
||
},
|
||
},
|
||
file: {
|
||
newFolder: '新建文件夹',
|
||
autoRecognizeName: '自动识别名称',
|
||
createFolder: '创建文件夹',
|
||
fileName: '文件名',
|
||
fileSize: '文件大小',
|
||
fileType: '文件类型',
|
||
lastModified: '修改时间',
|
||
actions: '操作',
|
||
rename: '重命名',
|
||
delete: '删除',
|
||
confirmFileDelete: '确认删除',
|
||
upload: '上传',
|
||
download: '下载',
|
||
preview: '预览',
|
||
selectAll: '全选',
|
||
deselectAll: '取消全选',
|
||
moveUp: '返回上一级',
|
||
sortByName: '按名称排序',
|
||
sortByTime: '按时间排序',
|
||
currentName: '当前名称',
|
||
newName: '新名称',
|
||
includeSubfolders: '自动重命名目录内所有媒体文件',
|
||
emptyFolder: '空文件夹',
|
||
noFilesInFolder: '该文件夹内没有文件',
|
||
autoRecognize: '自动识别名称',
|
||
directoryTree: '目录树',
|
||
rootDirectory: '根目录',
|
||
noDirectories: '没有可用的目录',
|
||
directory: '目录',
|
||
file: '文件',
|
||
size: '大小',
|
||
modifyTime: '修改时间',
|
||
noFiles: '没有目录或文件',
|
||
emptyDirectory: '空目录',
|
||
confirmDelete: '是否确认删除{type} {name}?',
|
||
confirmBatchDelete: '是否确认删除选中的 {count} 个项目?',
|
||
deleting: '正在删除 {name}...',
|
||
recognize: '识别',
|
||
recognizing: '正在识别 {path}...',
|
||
recognizeFailed: '{path} 识别失败!',
|
||
scrape: '刮削',
|
||
manualScrape: '手动刮削',
|
||
scraping: '正在刮削 {path}...',
|
||
scrapeCompleted: '{path} 削刮完成!',
|
||
confirmScrape: '是否确认刮削 {path}?',
|
||
confirmBatchScrape: '是否确认刮削选中的 {count} 项?',
|
||
renaming: '正在重命名 {name}...',
|
||
renamingAll: '正在重命名 {path} 及目录内所有文件...',
|
||
close: '关闭',
|
||
loadingDirectoryStructure: '加载目录结构...',
|
||
reorganize: '整理',
|
||
filterPlaceholder: '搜索(支持 * ? 通配符)',
|
||
},
|
||
person: {
|
||
alias: '别名:',
|
||
credits: '参演作品',
|
||
biography: '个人简介',
|
||
birthday: '出生日期',
|
||
placeOfBirth: '出生地',
|
||
},
|
||
error: {
|
||
title: '出错啦!',
|
||
networkError: '无法获取到媒体信息,请检查网络连接。',
|
||
serverError: '服务器错误,请稍后重试。',
|
||
notFound: '找不到请求的资源。',
|
||
},
|
||
plugin: {
|
||
sort: {
|
||
popular: '热门',
|
||
rating: '评分',
|
||
name: '插件名称',
|
||
author: '作者',
|
||
repository: '插件仓库',
|
||
latest: '最新发布',
|
||
},
|
||
installingPlugin: '正在安装插件...',
|
||
installing: '正在安装 {name} v{version} ...',
|
||
installSuccess: '插件 {name} 安装成功!',
|
||
sourceRestoring: '正在恢复插件文件',
|
||
dependencyInstalling: '正在安装插件依赖',
|
||
runtimeLoading: '正在加载插件',
|
||
sourceMissing: '插件文件缺失',
|
||
dependencyPending: '插件依赖未就绪',
|
||
runtimeReady: '插件等待加载',
|
||
blockedByPolicy: '未通过用户认证,请查看日志',
|
||
runtimeLoadFailed: '插件加载失败,请查看日志',
|
||
installFailed: '插件 {name} 安装失败:{message}',
|
||
filterPlugins: '过滤插件',
|
||
name: '名称',
|
||
hasNewVersion: '有新版本',
|
||
running: '运行中',
|
||
author: '作者',
|
||
label: '标签',
|
||
repository: '仓库',
|
||
sortTitle: '排序',
|
||
filter: '过滤:{name}',
|
||
noMatchingContent: '没有找到匹配的内容',
|
||
pleaseInstallFromMarket: '请从插件市场安装插件',
|
||
allPluginsInstalled: '所有插件已安装',
|
||
searchPlugins: '搜索插件',
|
||
searchPlaceholder: '按插件名称或描述搜索',
|
||
uninstalling: '正在卸载 {name} ...',
|
||
uninstallSuccess: '插件 {name} 卸载成功!',
|
||
uninstallFailed: '插件 {name} 卸载失败:{message}',
|
||
updating: '正在更新 {name} ...',
|
||
updateSuccess: '插件 {name} 更新成功!',
|
||
updateFailed: '插件 {name} 更新失败:{message}',
|
||
noPlugins: '没有安装插件',
|
||
installed: '已安装',
|
||
notInstalled: '未安装',
|
||
hasUpdate: '有更新',
|
||
configuring: '配置',
|
||
enable: '启用',
|
||
disable: '禁用',
|
||
settings: '设置',
|
||
about: '关于',
|
||
projectHome: '项目主页',
|
||
updateHistory: '更新说明',
|
||
versionHistory: '版本历史',
|
||
releaseVersionsLoadFailed: 'Release 版本加载失败',
|
||
latestVersion: '最新',
|
||
currentVersion: '当前',
|
||
installReleaseVersion: '安装',
|
||
confirmInstallOldRelease:
|
||
'是否确认安装 {name} v{version}?该版本缺少主程序兼容元数据,安装后可能无法加载或运行异常。',
|
||
local: '本地',
|
||
systemVersion: '系统版本',
|
||
incompatibleSystemVersion: '当前 MoviePilot 版本不满足插件要求,无法安装',
|
||
installToLocal: '安装到本地',
|
||
totalDownloads: '共 {count} 次下载',
|
||
rating: '插件评分',
|
||
ratingSummary: '{rating} 分,共 {count} 人评分',
|
||
yourRating: '我的评分',
|
||
submitRating: '提交评分',
|
||
ratingSuccess: '已提交对插件 {name} 的评分',
|
||
ratingFailed: '评分提交失败:{message}',
|
||
viewData: '查看数据',
|
||
update: '更新',
|
||
reset: '重置',
|
||
uninstall: '卸载',
|
||
viewLogs: '查看日志',
|
||
authorHome: '作者主页',
|
||
confirmUninstall: '是否确认卸载插件 {name}?',
|
||
confirmReset: '此操作将恢复插件 {name} 的默认设置,并清除所有相关数据,确定要继续吗?',
|
||
resetSuccess: '插件 {name} 数据已重置',
|
||
resetFailed: '插件 {name} 重置失败:{message}',
|
||
updateHistoryTitle: '{name} 版本历史',
|
||
updateHistoryEmpty: '暂未获取到更新说明',
|
||
updateHistoryLoadFailed: '读取更新说明失败,请稍后重试',
|
||
updateToLatest: '更新到最新版本',
|
||
updatingTo: '更新 {name} 到 {version} 版本...',
|
||
folderNameEmpty: '文件夹名称不能为空',
|
||
folderExists: '文件夹已存在',
|
||
folderCreateSuccess: '文件夹创建成功',
|
||
folderRenameSuccess: '文件夹重命名成功',
|
||
folderRenameFailed: '重命名文件夹失败',
|
||
folderDeleteSuccess: '文件夹删除成功',
|
||
folderDeleteFailed: '删除文件夹失败',
|
||
removeFromFolderSuccess: '插件已移出文件夹',
|
||
operationFailed: '操作失败',
|
||
saveFolderConfigFailed: '保存文件夹配置失败',
|
||
newFolder: '新建文件夹',
|
||
folderName: '文件夹名称',
|
||
cancel: '取消',
|
||
create: '创建',
|
||
clone: '分身',
|
||
cloneTitle: '创建插件分身',
|
||
cloneSubtitle: '为 {name} 创建独立的分身实例',
|
||
cloneFeature: '插件分身功能',
|
||
cloneDescription: '创建插件的独立副本,拥有独立的配置和数据,适用于多账号、测试环境等场景',
|
||
suffix: '分身后缀',
|
||
suffixPlaceholder: '例如:Test、Backup、Site1',
|
||
suffixHint: '用于区分分身的唯一标识,只能包含英文字母和数字',
|
||
suffixRequired: '分身后缀不能为空',
|
||
suffixFormatError: '只能包含英文字母和数字',
|
||
suffixLengthError: '长度不能超过20个字符',
|
||
cloneName: '分身名称',
|
||
cloneNamePlaceholder: '例如:自动备份 测试版',
|
||
cloneNameHint: '分身插件的显示名称(可选)',
|
||
cloneDefaultName: '{name} 分身',
|
||
cloneDescriptionLabel: '分身描述',
|
||
cloneDescriptionPlaceholder: '描述这个分身的用途和特点...',
|
||
cloneDescriptionHint: '详细描述分身插件的用途(可选)',
|
||
cloneDefaultDescription: '{description} (分身版本)',
|
||
cloneVersion: '版本号',
|
||
cloneVersionPlaceholder: '例如:1.0、2.1.0',
|
||
cloneVersionHint: '自定义分身插件的版本号(可选)',
|
||
cloneIcon: '图标URL',
|
||
cloneIconPlaceholder: 'https://example.com/icon.png',
|
||
cloneIconHint: '自定义分身插件的图标(可选)',
|
||
cloneNotice: '分身插件创建后默认为禁用状态,需要手动配置启用。分身后缀一旦确定无法修改。',
|
||
createClone: '创建分身',
|
||
cloning: '正在创建 {name} 的分身...',
|
||
cloneSuccess: '插件分身 {name} 创建成功!',
|
||
cloneFailed: '插件分身创建失败:{message}',
|
||
cloneFailedGeneral: '插件分身创建失败',
|
||
logTitle: '插件日志',
|
||
quickAccess: '快速访问',
|
||
tapToOpen: '点击返回主界面',
|
||
noPluginsWithPage: '暂无可用插件',
|
||
recentlyUsed: '最近使用',
|
||
allPlugins: '所有插件',
|
||
noRecentPlugins: '无',
|
||
},
|
||
profile: {
|
||
personalInfo: '个人信息',
|
||
uploadNewAvatar: '上传新头像',
|
||
avatarFormatError: '上传的文件不符合要求,请重新选择头像',
|
||
avatarSizeError: '文件大小不得大于800KB',
|
||
avatarUploadSuccess: '新头像上传成功,待保存后生效!',
|
||
resetAvatarSuccess: '已重置为默认头像,待保存后生效!',
|
||
restoreAvatarSuccess: '已还原当前使用头像!',
|
||
savingInProgress: '正在保存中,请稍后...',
|
||
usernameRequired: '用户名不能为空',
|
||
passwordMismatch: '两次输入的密码不一致',
|
||
usernameChangeSuccess: '【{oldName}】更名【{newName}】,用户信息保存成功!',
|
||
saveSuccess: '用户信息保存成功!',
|
||
saveFailedWithNameChange: '【{oldName}】更名【{newName}】,信息保存失败:{message}!',
|
||
saveFailed: '用户信息保存失败:{message}!',
|
||
nickname: '昵称',
|
||
nicknamePlaceholder: '显示昵称,优先于用户名显示',
|
||
accountBinding: '账号绑定',
|
||
wechatUser: '企业微信用户',
|
||
wechatClawBotUser: '微信 ClawBot 用户',
|
||
feishuUser: '飞书用户',
|
||
telegramUser: 'Telegram用户',
|
||
slackUser: 'Slack用户',
|
||
discordUser: 'Discord用户',
|
||
vocechatUser: 'VoceChat用户',
|
||
synologychatUser: 'SynologyChat用户',
|
||
doubanUser: '豆瓣用户',
|
||
setupAuthenticator: '设置二次验证',
|
||
authenticatorManagement: '二次验证',
|
||
authenticatorEnabled: '二次验证已启用',
|
||
clearAuthenticatorTip: '关闭后可以重新设置身份验证器。',
|
||
clearAuthenticator: '关闭二次验证',
|
||
enableTwoFactor: '启用二次验证',
|
||
disableTwoFactor: '关闭二次验证',
|
||
accountSecurity: '账号安全',
|
||
otpSecondFactor: '密码登录需二次验证',
|
||
passkeyPasswordless: '无需密码直接登录',
|
||
enabled: '已启用',
|
||
keysCount: '{count} 个密钥',
|
||
passkeyManagement: '通行密钥管理',
|
||
registerNewPasskey: '注册新通行密钥',
|
||
passkeyDescription: '通行密钥可以让您无需密码即可快速安全地登录。',
|
||
passkeyAppDescription:
|
||
'通行密钥是一种更简单、更安全的登录方式,可以替代密码进行登录。您可以使用 iCloud 钥匙串、Bitwarden 等支持通行密钥的应用程序或硬件密钥完成验证。',
|
||
passkeyName: '通行密钥名称',
|
||
passkeyNamePlaceholder: '例如:iPhone、Windows Hello',
|
||
registerPasskey: '注册通行密钥',
|
||
createdAt: '创建于',
|
||
lastUsedAt: '最后使用时间',
|
||
noPasskeys: '您还没有注册任何通行密钥',
|
||
passkeyNameRequired: '请输入通行密钥名称',
|
||
passkeyRegisterSuccess: '通行密钥注册成功',
|
||
passkeyRegisterFailed: '注册失败',
|
||
passkeyRegisterCancelled: '注册被取消',
|
||
passkeyDeleteSuccess: '通行密钥已删除',
|
||
passkeyDeleteFailed: '删除失败',
|
||
deletePasskey: '删除通行密钥',
|
||
passkeyDomainWarning:
|
||
'通行密钥(PassKey)的可用性与 {domain} 紧密相关。在公网环境下,请务必在“基础设置”中配置正确的访问域名。域名变更或配置错误将导致通行密钥无法使用。',
|
||
accessDomain: '访问域名',
|
||
otpGenerateFailed: '获取身份验证器设置失败:{message}',
|
||
otpDisableSuccess: '二次验证已关闭',
|
||
otpDisableFailed: '关闭二次验证失败:{message}',
|
||
otpCodeRequired: '请填写6位验证码',
|
||
otpEnableSuccess: '二次验证已启用',
|
||
otpEnableFailed: '启用二次验证失败:{message}',
|
||
confirmToDisableOtp: '关闭二次验证前需要验证登录密码。',
|
||
confirmToDeletePasskey: '为了安全起见,删除通行密钥需要验证您的登录密码。',
|
||
authenticatorAppDescription:
|
||
'使用 Google Authenticator、Microsoft Authenticator、Authy 或 1Password 等验证器应用扫描二维码,获取 6 位验证码。',
|
||
secretKeyTip: '如果您在使用二维码时遇到困难,请在您的应用程序中选择手动输入以上代码。',
|
||
enterVerificationCode: '输入身份验证器生成的 6 位验证码',
|
||
avatarFormatTip: '允许 JPG、PNG、GIF、WEBP 格式, 最大尺寸 800KB。',
|
||
},
|
||
transferHistory: {
|
||
title: '转移历史',
|
||
searchPlaceholder: '搜索(支持 * ? 通配符)',
|
||
titleColumn: '标题',
|
||
pathColumn: '路径',
|
||
modeColumn: '转移方式',
|
||
sizeColumn: '大小',
|
||
dateColumn: '时间',
|
||
statusColumn: '状态',
|
||
actionsColumn: '操作',
|
||
seasonEpisode: '季集/类别',
|
||
transferQueue: '转移队列',
|
||
groupMode: '分组模式',
|
||
listMode: '列表模式',
|
||
deleteConfirm: '确认删除 {title} {seasons}{episodes} ?',
|
||
deleteConfirmBatch: '确认删除 {count} 条记录 ?',
|
||
deleteFailed: '删除失败:{message}',
|
||
deleteRequestFailed: '删除失败:请求异常',
|
||
batchDeleteFailed: '删除失败:{failed}/{total}',
|
||
deleting: '正在删除 {name}...',
|
||
deleteRecordOnly: '仅删除转移记录',
|
||
deleteSourceOnly: '删除转移记录和源文件',
|
||
deleteDestOnly: '删除转移记录和媒体库文件',
|
||
deleteAll: '删除转移记录、源文件和媒体库文件',
|
||
transferMode: {
|
||
copy: '复制',
|
||
move: '移动',
|
||
link: '硬链接',
|
||
softlink: '软链接',
|
||
rclone_copy: 'Rclone复制',
|
||
rclone_move: 'Rclone移动',
|
||
},
|
||
status: {
|
||
success: '成功',
|
||
failed: '失败',
|
||
unknown: '未知',
|
||
},
|
||
noData: '没有数据',
|
||
loading: '加载中...',
|
||
pageSize: '每页条数',
|
||
pageInfo: '{begin} - {end} / {total}',
|
||
selectedCount: '已选择 {count}/{total} 项',
|
||
aiRedoDisabled: '请先在系统设置中启用 AI 智能助手',
|
||
aiRedoQueued: '已提交智能助手整理任务:{title}',
|
||
aiRedoFailed: '提交智能助手整理任务失败',
|
||
actions: {
|
||
aiRedo: '智能助手整理',
|
||
aiRedoPending: '智能助手整理中...',
|
||
batchAiRedo: '智能助手批量整理',
|
||
batchSelect: '批量选择',
|
||
exitBatchSelect: '退出批量选择',
|
||
exitBatchMode: '退出批量操作',
|
||
selectAll: '全部选中',
|
||
deselectAll: '取消全选',
|
||
redo: '重新整理',
|
||
delete: '删除',
|
||
batchRedo: '批量重新整理',
|
||
batchDelete: '批量删除',
|
||
},
|
||
batchOperationTitle: '批量操作',
|
||
progress: {
|
||
processing: '处理中',
|
||
pleaseWait: '请稍候...',
|
||
},
|
||
table: {
|
||
emptyTitle: '操作',
|
||
},
|
||
},
|
||
customRule: {
|
||
error: {
|
||
emptyIdName: '规则ID和规则名称不能为空',
|
||
idOccupied: '当前规则ID已被内置规则占用',
|
||
nameOccupied: '当前规则名称已被内置规则占用',
|
||
idExists: '规则ID【{id}】已存在',
|
||
nameExists: '规则名称【{name}】已存在',
|
||
},
|
||
title: '{id} - 配置',
|
||
field: {
|
||
ruleId: '规则ID',
|
||
ruleName: '规则名称',
|
||
include: '包含',
|
||
exclude: '排除',
|
||
sizeRange: '资源体积(MB)',
|
||
seeders: '做种人数',
|
||
publishTime: '发布时间(分钟)',
|
||
},
|
||
placeholder: {
|
||
ruleId: '必填;不可与其他规则ID重名',
|
||
ruleName: '必填;不可与其他规则名称重名',
|
||
include: '关键字/正则表达式',
|
||
exclude: '关键字/正则表达式',
|
||
sizeRange: '0/1-10',
|
||
seeders: '0/1-10',
|
||
publishTime: '0/1-10',
|
||
},
|
||
hint: {
|
||
ruleId: '字符与数字组合,不能含空格',
|
||
ruleName: '使用别名便于区分规则',
|
||
include: '必须包含的关键字或正则表达式,多个值使用|分隔',
|
||
exclude: '不能包含的关键字或正则表达式,多个值使用|分隔',
|
||
sizeRange: '最小资源文件体积或体积范围(剧集计算单集平均大小)',
|
||
seeders: '最小做种人数或做种人数范围',
|
||
publishTime: '距离资源发布的最小时间间隔或时间区间',
|
||
},
|
||
action: {
|
||
confirm: '确定',
|
||
},
|
||
},
|
||
downloader: {
|
||
title: '下载器',
|
||
name: '名称',
|
||
type: '类型',
|
||
enabled: '启用',
|
||
customTypeHint: '自定义下载器类型,用于插件等场景',
|
||
rtorrentHostHint: 'HTTP: http://ip:port/RPC2 或 SCGI: scgi://ip:port',
|
||
default: '默认',
|
||
host: '地址',
|
||
apiKey: 'API Key',
|
||
username: '用户名',
|
||
password: '密码',
|
||
qbittorrentApiKeyHint: 'qBittorrent 5.2+ 可直接使用 WebUI API Key;填写后将优先使用 API Key 登录。',
|
||
category: '自动分类管理',
|
||
sequentail: '顺序下载',
|
||
force_resume: '强制继续',
|
||
first_last_piece: '优先首尾文件',
|
||
incomplete_files_ext: '未完成文件后缀',
|
||
incomplete_files_extHint: '下载未完成时追加 .!qB 后缀,完成后自动移除',
|
||
rename_partial_files: '未完成文件后缀',
|
||
rename_partial_filesHint: '下载未完成时追加 .part 后缀,完成后自动移除',
|
||
saveSuccess: '下载器设置保存成功',
|
||
saveFailed: '下载器设置保存失败',
|
||
nameRequired: '不能为空,且不能重名',
|
||
nameDuplicate: '名称已存在',
|
||
defaultChanged: '存在默认下载器,已替换',
|
||
hostRequired: '地址不能为空',
|
||
usernameRequired: '用户名不能为空',
|
||
passwordRequired: '密码不能为空',
|
||
pathMapping: '路径映射',
|
||
pathMappingRequired: '路径不能为空',
|
||
pathMappingError: '必须以 / 开头',
|
||
storagePath: '存储路径',
|
||
downloadPath: '下载路径',
|
||
},
|
||
filterRule: {
|
||
title: '过滤规则',
|
||
groupName: '规则组名称',
|
||
priority: '优先级',
|
||
rules: '规则',
|
||
add: '添加规则',
|
||
import: '导入规则',
|
||
share: '分享规则',
|
||
save: '保存规则',
|
||
nameRequired: '规则组名称不能为空',
|
||
nameDuplicate: '规则组名称已存在',
|
||
importSuccess: '规则导入成功',
|
||
importFailed: '规则导入失败',
|
||
shareSuccess: '规则已复制到剪贴板',
|
||
shareFailed: '规则复制失败',
|
||
mediaType: '媒体类型',
|
||
category: '媒体类别',
|
||
mediaTypeItems: {
|
||
movie: '电影',
|
||
tv: '电视剧',
|
||
anime: '动漫',
|
||
collection: '合集',
|
||
unknown: '未知',
|
||
},
|
||
},
|
||
mediaserver: {
|
||
type: '类型',
|
||
customTypeHint: '自定义媒体服务器类型,用于插件等场景',
|
||
enableMediaServer: '启用媒体服务器',
|
||
syncInterval: '自动同步间隔',
|
||
syncIntervalHint: '留空时使用旧版全局默认值({interval} 小时),设置为 0 时关闭此服务器的自动同步',
|
||
nameRequired: '必填,不可重名',
|
||
serverAlias: '媒体服务器的别名',
|
||
host: '地址',
|
||
hostPlaceholder: 'http(s)://ip:port',
|
||
hostHint: '服务端地址,格式:http(s)://ip:port',
|
||
playHost: '外网播放地址',
|
||
playHostPlaceholder: 'http(s)://domain:port',
|
||
playHostHint: '跳转播放页面使用的地址,格式:http(s)://domain:port',
|
||
apiKey: 'API密钥',
|
||
embyApiKeyHint: 'Emby设置->高级->API密钥中生成的密钥',
|
||
jellyfinApiKeyHint: 'Jellyfin设置->高级->API密钥中生成的密钥',
|
||
plexToken: 'X-Plex-Token',
|
||
plexTokenHint: '浏览器F12->网络,从Plex请求URL中获取的X-Plex-Token',
|
||
username: '用户名',
|
||
usernameHint: '登录用户名',
|
||
password: '密码',
|
||
passwordHint: '登录密码',
|
||
accessCode: '访问码',
|
||
accessCodeHint: '飞牛系统设置->安全性->访问设置中开启的访问码,未开启请留空',
|
||
syncLibraries: '同步媒体库',
|
||
syncLibrariesHint: '只有选中的媒体库才会被同步',
|
||
scanMode: '扫描模式',
|
||
scanModeHint: '用于全库刷新和按库刷新:新添加和修改 / 补充缺失 / 覆盖扫描',
|
||
verifySsl: '校验 SSL 证书',
|
||
verifySslHint: '开启后会校验 HTTPS 证书;如使用自签名证书可关闭',
|
||
scanModeOptions: {
|
||
newAndModified: '新添加和修改',
|
||
supplementMissing: '补充缺失',
|
||
fullOverride: '覆盖扫描',
|
||
},
|
||
nameExists: '【{name}】已存在,请替换为其他名称',
|
||
hostRequired: '地址不能为空',
|
||
apiKeyRequired: 'API密钥不能为空',
|
||
tokenRequired: 'Token不能为空',
|
||
usernameRequired: '用户名不能为空',
|
||
passwordRequired: '密码不能为空',
|
||
},
|
||
bangumi: {
|
||
category: '类别',
|
||
sort: '排序',
|
||
year: '年份',
|
||
cat: {
|
||
other: '其他',
|
||
tv: 'TV',
|
||
ova: 'OVA',
|
||
movie: 'Movie',
|
||
web: 'WEB',
|
||
},
|
||
sortType: {
|
||
rank: '排名',
|
||
date: '日期',
|
||
},
|
||
},
|
||
anilist: {
|
||
sort: '排序',
|
||
genre: '风格',
|
||
format: '形式',
|
||
season: '季度',
|
||
year: '年份',
|
||
status: '状态',
|
||
country: '地区',
|
||
sortType: {
|
||
popularity: '热门优先',
|
||
trending: '趋势优先',
|
||
score: '评分优先',
|
||
newest: '最新开播',
|
||
},
|
||
formatType: {
|
||
tv: 'TV',
|
||
tv_short: '短篇 TV',
|
||
movie: '剧场版',
|
||
ova: 'OVA',
|
||
ona: 'ONA',
|
||
special: '特别篇',
|
||
music: '音乐',
|
||
},
|
||
seasonType: {
|
||
winter: '冬季',
|
||
spring: '春季',
|
||
summer: '夏季',
|
||
fall: '秋季',
|
||
},
|
||
statusType: {
|
||
releasing: '连载中',
|
||
finished: '已完结',
|
||
not_yet_released: '未播出',
|
||
},
|
||
countryType: {
|
||
jp: '日本',
|
||
cn: '中国大陆',
|
||
kr: '韩国',
|
||
tw: '中国台湾',
|
||
},
|
||
genreType: {
|
||
action: '动作',
|
||
adventure: '冒险',
|
||
comedy: '喜剧',
|
||
drama: '剧情',
|
||
fantasy: '奇幻',
|
||
horror: '恐怖',
|
||
mahoushoujo: '魔法少女',
|
||
mecha: '机甲',
|
||
music: '音乐',
|
||
mystery: '悬疑',
|
||
psychological: '心理',
|
||
romance: '爱情',
|
||
scifi: '科幻',
|
||
sliceoflife: '日常',
|
||
sports: '运动',
|
||
supernatural: '超自然',
|
||
thriller: '惊悚',
|
||
},
|
||
},
|
||
tmdb: {
|
||
type: '类型',
|
||
sort: '排序',
|
||
genre: '风格',
|
||
language: '语言',
|
||
rating: '评分',
|
||
sortType: {
|
||
popularityDesc: '热度降序',
|
||
popularityAsc: '热度升序',
|
||
releaseDateDesc: '上映日期降序',
|
||
releaseDateAsc: '上映日期升序',
|
||
firstAirDateDesc: '首播日期降序',
|
||
firstAirDateAsc: '首播日期升序',
|
||
voteAverageDesc: '评分降序',
|
||
voteAverageAsc: '评分升序',
|
||
time: '最新',
|
||
count: '热门',
|
||
rating: '评分',
|
||
},
|
||
genreType: {
|
||
action: '动作',
|
||
adventure: '冒险',
|
||
animation: '动画',
|
||
comedy: '喜剧',
|
||
crime: '犯罪',
|
||
documentary: '纪录片',
|
||
drama: '剧情',
|
||
family: '家庭',
|
||
fantasy: '奇幻',
|
||
history: '历史',
|
||
horror: '恐怖',
|
||
music: '音乐',
|
||
mystery: '悬疑',
|
||
romance: '爱情',
|
||
scienceFiction: '科幻',
|
||
tvMovie: '电视电影',
|
||
thriller: '惊悚',
|
||
war: '战争',
|
||
western: '西部',
|
||
actionAdventure: '动作冒险',
|
||
kids: '儿童',
|
||
news: '新闻',
|
||
reality: '真人秀',
|
||
sciFiFantasy: '科幻奇幻',
|
||
soap: '肥皂剧',
|
||
talk: '戏剧',
|
||
warPolitics: '战争政治',
|
||
},
|
||
languageType: {
|
||
zh: '中文',
|
||
en: '英语',
|
||
ja: '日语',
|
||
ko: '韩语',
|
||
fr: '法语',
|
||
de: '德语',
|
||
es: '西班牙语',
|
||
it: '意大利语',
|
||
ru: '俄语',
|
||
pt: '葡萄牙语',
|
||
ar: '阿拉伯语',
|
||
hi: '印地语',
|
||
th: '泰语',
|
||
},
|
||
},
|
||
douban: {
|
||
type: '类型',
|
||
sort: '排序',
|
||
genre: '风格',
|
||
zone: '地区',
|
||
year: '年代',
|
||
music: {
|
||
genre: {
|
||
pop: '流行',
|
||
rock: '摇滚',
|
||
folk: '民谣',
|
||
electronic: '电子',
|
||
jazz: '爵士',
|
||
classical: '古典',
|
||
soundtrack: '原声',
|
||
indie: '独立音乐',
|
||
instrumental: '纯音乐',
|
||
},
|
||
region: { mainland: '内地', hongKong: '香港', taiwan: '台湾', cantonese: '粤语' },
|
||
sort: { comprehensive: '综合排序', rating: '评分排序', date: '日期排序', markCount: '标注次数' },
|
||
},
|
||
sortType: {
|
||
comprehensive: '综合排序',
|
||
releaseDate: '首播时间',
|
||
recentHot: '近期热度',
|
||
highScore: '高分优先',
|
||
},
|
||
genreType: {
|
||
comedy: '喜剧',
|
||
romance: '爱情',
|
||
action: '动作',
|
||
scienceFiction: '科幻',
|
||
animation: '动画',
|
||
mystery: '悬疑',
|
||
crime: '犯罪',
|
||
thriller: '惊悚',
|
||
adventure: '冒险',
|
||
music: '音乐',
|
||
history: '历史',
|
||
fantasy: '奇幻',
|
||
horror: '恐怖',
|
||
war: '战争',
|
||
biography: '传记',
|
||
musical: '歌舞',
|
||
martialArts: '武侠',
|
||
erotic: '情色',
|
||
disaster: '灾难',
|
||
western: '西部',
|
||
documentary: '纪录片',
|
||
shortFilm: '短片',
|
||
},
|
||
zoneType: {
|
||
chinese: '华语',
|
||
europeanAmerican: '欧美',
|
||
korean: '韩国',
|
||
japanese: '日本',
|
||
mainlandChina: '中国大陆',
|
||
usa: '美国',
|
||
hongKong: '中国香港',
|
||
taiwan: '中国台湾',
|
||
uk: '英国',
|
||
france: '法国',
|
||
germany: '德国',
|
||
italy: '意大利',
|
||
spain: '西班牙',
|
||
india: '印度',
|
||
thailand: '泰国',
|
||
russia: '俄罗斯',
|
||
canada: '加拿大',
|
||
australia: '澳大利亚',
|
||
ireland: '爱尔兰',
|
||
sweden: '瑞典',
|
||
brazil: '巴西',
|
||
denmark: '丹麦',
|
||
},
|
||
yearType: {
|
||
'2020s': '2020年代',
|
||
'2010s': '2010年代',
|
||
'2000s': '2000年代',
|
||
'1990s': '90年代',
|
||
'1980s': '80年代',
|
||
'1970s': '70年代',
|
||
'1960s': '60年代',
|
||
},
|
||
},
|
||
directory: {
|
||
alias: '目录别名',
|
||
mediaType: '媒体类型',
|
||
mediaCategory: '媒体类别',
|
||
resourceStorage: '资源存储',
|
||
resourceDirectory: '资源目录',
|
||
sortByType: '按类型分类',
|
||
sortByCategory: '按类别分类',
|
||
autoTransfer: '自动整理',
|
||
monitorMode: '监控模式',
|
||
libraryStorage: '媒体库存储',
|
||
libraryDirectory: '媒体库目录',
|
||
transferType: '整理方式',
|
||
transferTypeHint: '文件操作整理方式,硬链接节省空间,复制更安全',
|
||
overwriteMode: '覆盖模式',
|
||
overwriteModeHint: '当目标文件已存在时的处理方式',
|
||
smartRename: '智能重命名',
|
||
scrapingMetadata: '刮削元数据',
|
||
sendNotification: '发送通知',
|
||
noTransfer: '不整理',
|
||
downloaderMonitor: '下载器监控',
|
||
directoryMonitor: '目录监控',
|
||
manualTransfer: '手动整理',
|
||
performanceMode: '性能模式',
|
||
compatibilityMode: '兼容模式',
|
||
pleaseSelectStorage: '请选择存储',
|
||
pleaseSelectLibraryStorage: '请选择媒体库存储',
|
||
pleaseSelectDownloadStorage: '请选择下载存储',
|
||
noSupportedTransferType: '没有支持的整理方式',
|
||
never: '从不',
|
||
always: '总是',
|
||
byFileSize: '按文件大小',
|
||
keepLatestOnly: '仅保留最新',
|
||
},
|
||
validators: {
|
||
required: '此项为必填项',
|
||
number: '请输入数字',
|
||
},
|
||
folder: {
|
||
settingAppearance: '设置外观',
|
||
rename: '重命名',
|
||
deleteFolder: '删除文件夹',
|
||
folderNameCannotBeEmpty: '文件夹名称不能为空',
|
||
confirmDeleteFolder: '确定要删除文件夹 "{folderName}" 吗?文件夹中的插件将移回主列表。',
|
||
folderSettingsSaved: '文件夹设置已保存',
|
||
renameFolder: '重命名文件夹',
|
||
folderName: '文件夹名称',
|
||
folderAppearanceSettings: '文件夹外观设置',
|
||
showFolderIcon: '显示文件夹图标',
|
||
icon: '图标',
|
||
iconColor: '图标颜色',
|
||
backgroundGradient: '背景渐变',
|
||
customBackgroundImageURL: '自定义背景图片URL(可选)',
|
||
customBackgroundImageHint: '支持网络图片URL,留空则使用渐变背景',
|
||
pluginCount: '{count} 个插件',
|
||
},
|
||
setupWizard: {
|
||
title: '欢迎使用 MoviePilot !',
|
||
subtitle: '按向导完成配置,即刻开始使用。',
|
||
completed: '配置向导完成!',
|
||
failed: '配置向导失败,请重试',
|
||
complete: '完成配置',
|
||
loading: '正在加载配置数据...',
|
||
testing: '正在测试',
|
||
connectivityTestSuccess: '连通性测试通过',
|
||
connectivityTestFailed: '连通性测试失败',
|
||
testingStorage: '正在测试存储目录',
|
||
checkingStorage: '检查存储目录连通性',
|
||
storageTestFailed: '存储目录测试失败',
|
||
testingDownloader: '正在测试下载器',
|
||
checkingDownloader: '检查下载器连通性',
|
||
downloaderTestFailed: '下载器测试失败',
|
||
downloaderNotSelected: '未选择下载器',
|
||
unsupportedDownloaderType: '不支持的下载器类型: {type}',
|
||
testingMediaServer: '正在测试媒体服务器',
|
||
checkingMediaServer: '检查媒体服务器连通性',
|
||
mediaServerTestFailed: '媒体服务器测试失败',
|
||
mediaServerNotSelected: '未选择媒体服务器',
|
||
unsupportedMediaServerType: '不支持的媒体服务器类型: {type}',
|
||
testingNotification: '正在测试消息通知',
|
||
checkingNotification: '检查消息通知连通性',
|
||
notificationTestFailed: '消息通知测试失败',
|
||
notificationNotSelected: '未选择通知类型',
|
||
unsupportedNotificationType: '不支持的通知类型: {type}',
|
||
testFailedHint: '请检查配置是否正确,修改后可以重新测试',
|
||
saveStepFailed: '保存步骤设置失败',
|
||
basicSettingsSaved: '基础设置保存成功',
|
||
saveBasicSettingsFailed: '保存基础设置失败',
|
||
storageSettingsSaved: '存储设置保存成功',
|
||
saveStorageSettingsFailed: '保存存储设置失败',
|
||
downloaderSettingsSaved: '下载器设置保存成功',
|
||
saveDownloaderSettingsFailed: '保存下载器设置失败',
|
||
mediaServerSettingsSaved: '媒体服务器设置保存成功',
|
||
saveMediaServerSettingsFailed: '保存媒体服务器设置失败',
|
||
notificationSettingsSaved: '通知设置保存成功',
|
||
saveNotificationSettingsFailed: '保存通知设置失败',
|
||
saveSiteAuthSettingsFailed: '保存用户站点认证设置失败:{message}',
|
||
saveAgentSettingsFailed: '保存智能助手设置失败',
|
||
preferenceSettingsSaved: '偏好设置保存成功',
|
||
savePreferenceSettingsFailed: '保存偏好设置失败',
|
||
passwordUpdateSuccess: '密码更新成功',
|
||
passwordUpdateFailed: '密码更新失败',
|
||
userCreateSuccess: '用户创建成功',
|
||
basic: {
|
||
title: '基础设置',
|
||
description: '设置访问域名、用户名密码和网络配置',
|
||
appDomain: '访问域名',
|
||
appDomainHint: 'MoviePilot 的访问地址,用于通知快捷跳转和通行密钥校验',
|
||
wallpaper: '背景壁纸',
|
||
wallpaperHint: '选择登录页面背景来源',
|
||
recognizeSource: '识别数据源',
|
||
recognizeSourceHint: '设置默认媒体信息识别数据源',
|
||
apiToken: 'API 令牌',
|
||
apiTokenHint: '访问MoviePilot API 需要的访问令牌,请记录下来以便后续使用',
|
||
currentUserHint: '当前用户,不可修改',
|
||
passwordOptionalHint: '留空表示不修改密码',
|
||
confirmPasswordHint: '确认新密码',
|
||
apiTokenRequired: 'API Token不能为空',
|
||
},
|
||
siteAuth: {
|
||
title: '用户认证',
|
||
description: '配置用户站点认证与辅助认证',
|
||
info: '用户站点认证说明',
|
||
infoDesc: '完成站点认证后可解锁站点能力与部分插件权限。此步骤可选,后续也可在个人菜单中继续配置。',
|
||
selectSiteHint: '选择一个支持认证的站点,并填写该站点要求的认证参数',
|
||
submitHint: '点击下一步时将立即向认证站点发起校验,认证成功后会保存当前参数。',
|
||
siteConfigNotExist: '认证站点配置不存在',
|
||
fieldRequired: '请输入{name}',
|
||
},
|
||
storage: {
|
||
title: '存储',
|
||
description: '配置下载目录和媒体库目录',
|
||
info: '存储配置说明',
|
||
infoDesc: '配置本地存储目录,用于下载和媒体库管理',
|
||
downloadPath: '下载目录',
|
||
downloadPathHint: '设置下载文件的存储路径',
|
||
libraryPath: '媒体库目录',
|
||
libraryPathHint: '设置媒体文件的存储路径',
|
||
downloadPathRequired: '下载目录不能为空',
|
||
libraryPathRequired: '媒体库目录不能为空',
|
||
},
|
||
downloader: {
|
||
title: '下载器',
|
||
description: '配置下载器',
|
||
info: '下载器配置说明',
|
||
infoDesc: '配置下载器用于下载资源,可选择qBittorrent或Transmission',
|
||
type: '下载器类型',
|
||
typeHint: '选择要使用的下载器类型',
|
||
name: '下载器名称',
|
||
nameHint: '为下载器设置一个名称',
|
||
qbittorrentConfig: 'qBittorrent 配置',
|
||
transmissionConfig: 'Transmission 配置',
|
||
host: '服务器地址',
|
||
username: '用户名',
|
||
password: '密码',
|
||
downloadPath: '下载路径',
|
||
},
|
||
mediaServer: {
|
||
title: '媒体服务器',
|
||
description: '配置媒体服务器',
|
||
info: '媒体服务器配置说明',
|
||
infoDesc: '配置媒体服务器用于媒体库管理,可选择Emby、极影视、Jellyfin、Plex、飞牛影视或绿联影视',
|
||
type: '媒体服务器类型',
|
||
typeHint: '选择要使用的媒体服务器类型',
|
||
name: '服务器名称',
|
||
nameHint: '为媒体服务器设置一个名称',
|
||
embyConfig: 'Emby 配置',
|
||
zspaceConfig: '极影视 配置',
|
||
jellyfinConfig: 'Jellyfin 配置',
|
||
plexConfig: 'Plex 配置',
|
||
host: '服务器地址',
|
||
apiKey: 'API 密钥',
|
||
token: '访问令牌',
|
||
},
|
||
notification: {
|
||
title: '通知',
|
||
description: '配置通知渠道',
|
||
info: '通知配置说明',
|
||
infoDesc: '配置通知渠道用于接收系统消息(可选)',
|
||
type: '通知类型',
|
||
typeHint: '选择要使用的通知渠道类型',
|
||
name: '通知名称',
|
||
nameHint: '为通知渠道设置一个名称',
|
||
feishuConfig: '飞书配置',
|
||
telegramConfig: 'Telegram 配置',
|
||
emailConfig: '邮件配置',
|
||
botToken: '机器人令牌',
|
||
chatId: '聊天ID',
|
||
smtpServer: 'SMTP 服务器',
|
||
smtpPort: 'SMTP 端口',
|
||
senderEmail: '发送邮箱',
|
||
senderPassword: '发送密码',
|
||
receiverEmail: '接收邮箱',
|
||
},
|
||
agent: {
|
||
title: '智能助手',
|
||
description: '配置 Agent 助手与 LLM 参数',
|
||
info: '智能助手配置说明',
|
||
infoDesc: '启用后可在消息会话中使用 Agent 能力,也可开启失败整理接管和智能推荐。',
|
||
providerRequired: 'LLM 提供商不能为空',
|
||
apiKeyRequired: 'LLM API 密钥不能为空',
|
||
authOrApiKeyRequired: '请填写 LLM API 密钥或先完成提供商授权',
|
||
modelRequired: 'LLM 模型名称不能为空',
|
||
maxContextTokensRequired: 'LLM 最大上下文 Token 数量必须大于 0',
|
||
recommendMaxItemsRequired: '智能推荐分析条目上限必须大于 0',
|
||
},
|
||
preferences: {
|
||
title: '资源偏好',
|
||
description: '设置资源下载偏好',
|
||
info: '资源偏好说明',
|
||
infoDesc: '设置资源下载的偏好,系统将根据这些偏好自动选择最佳资源',
|
||
quality: '质量偏好',
|
||
qualityHint: '选择偏好的视频质量',
|
||
subtitle: '字幕偏好',
|
||
subtitleHint: '选择偏好的字幕类型',
|
||
resolution: '分辨率偏好',
|
||
resolutionHint: '选择偏好的视频分辨率',
|
||
presetRules: '预设规则',
|
||
detailedConfig: '详细配置',
|
||
quickPresets: '快速预设',
|
||
quickPresetsDesc: '选择预设配置,系统将自动应用对应的规则',
|
||
personalizationOptions: '个性化选项',
|
||
personalizationOptionsDesc: '根据您的需求调整规则',
|
||
excludeDolbyVision: '排除杜比视界',
|
||
excludeDolbyVisionHint: '选中后规则中将排除杜比视界资源',
|
||
excludeBluray: '排除蓝光原盘',
|
||
excludeBlurayHint: '选中后规则中将排除蓝光原盘资源',
|
||
presets: {
|
||
'4k-enthusiast': {
|
||
name: '4K发烧友',
|
||
description: '追求最高画质,优先4K',
|
||
},
|
||
'balanced': {
|
||
name: '平衡模式',
|
||
description: '画质与存储空间的平衡选择',
|
||
},
|
||
'space-saver': {
|
||
name: '节省空间',
|
||
description: '优先较小文件,节省存储空间',
|
||
},
|
||
'free-priority': {
|
||
name: '免费优先',
|
||
description: '优先免费资源,其它的没有要求',
|
||
},
|
||
},
|
||
},
|
||
},
|
||
}
|