更新国际化支持:在多个组件中引入 vue-i18n

This commit is contained in:
jxxghp
2025-04-27 21:23:29 +08:00
parent 0396f180ae
commit a641e90031
10 changed files with 911 additions and 217 deletions

View File

@@ -244,6 +244,39 @@ export default {
recognitionWords: 'Recognition Words',
cancelShare: 'Cancel Share',
usageCount: 'Used {count} times',
basicSettings: 'Basic Settings',
basicSettingsDesc: 'Set subscription mode, cycle and other basic settings',
mode: 'Subscription Mode',
modeHint: 'Auto: automatically crawl site homepage, Site RSS: subscribe via site RSS link',
rssInterval: 'Site RSS Interval',
rssIntervalHint: 'Set the site RSS running cycle, effective when subscription mode is `Site RSS`',
filterRuleGroup: 'Subscription Priority Rule Group',
filterRuleGroupHint: 'Filter subscriptions based on selected filter rule groups',
bestVersionRuleGroup: 'Version Upgrade Priority Rule Group',
bestVersionRuleGroupHint: 'Filter version upgrade subscriptions based on selected filter rule groups',
timedSearch: 'Subscription Scheduled Search',
timedSearchHint: 'Search all sites every 24 hours to supplement resources that may be missed by subscription',
checkLocalMedia: 'Check Local Media Library',
checkLocalMediaHint: 'Check if resources exist on storage disk to avoid duplicate downloads',
subscribeSites: 'Subscription Sites',
subscribeSitesDesc: 'Only selected sites will be used in subscription.',
saveSuccess: 'Subscription sites saved successfully',
saveFailed: 'Failed to save subscription sites!',
settingsSaveSuccess: 'Subscription basic settings saved successfully',
settingsSaveFailed: 'Failed to save subscription basic settings!',
modes: {
auto: 'Auto',
rss: 'Site RSS',
},
intervals: {
min5: '5 minutes',
min10: '10 minutes',
min20: '20 minutes',
min30: '30 minutes',
hour1: '1 hour',
hour12: '12 hours',
day1: '1 day',
},
},
recommend: {
all: 'All',
@@ -328,6 +361,49 @@ export default {
site: {
noSites: 'No Sites',
sitesWillBeShownHere: 'Added and supported sites will be displayed here.',
siteSync: 'Site Synchronization',
siteSyncDesc: 'Quickly sync site data from CookieCloud.',
enableLocalCookieCloud: 'Enable Local CookieCloud Server',
enableLocalCookieCloudHint:
'Use built-in CookieCloud service to sync site data, service address: http://localhost:3000/cookiecloud',
serviceAddress: 'Service Address',
serviceAddressPlaceholder: 'https://movie-pilot.org/cookiecloud',
serviceAddressHint: 'Remote CookieCloud service address, format: https://movie-pilot.org/cookiecloud',
userKey: 'User KEY',
userKeyHint: 'User KEY generated by CookieCloud browser plugin',
e2ePassword: 'End-to-End Encryption Password',
e2ePasswordHint: 'End-to-end encryption password generated by CookieCloud browser plugin',
autoSyncInterval: 'Auto Sync Interval',
autoSyncIntervalHint: 'Time interval for automatically syncing site cookies from CookieCloud server to MoviePilot',
syncBlacklist: 'Sync Domain Blacklist',
syncBlacklistPlaceholder: 'Multiple domains, separated by commas',
syncBlacklistHint: 'CookieCloud sync domain blacklist, multiple domains separated by commas',
userAgent: 'Browser User-Agent',
userAgentHint: 'User-Agent of the browser with CookieCloud plugin',
siteDataRefresh: 'Site Data Refresh',
siteDataRefreshInterval: 'Site Data Refresh Interval',
siteDataRefreshIntervalHint: 'Time interval for refreshing site user upload/download data',
readSiteMessage: 'Read Site Messages',
readSiteMessageHint: 'Read site messages and send notifications when refreshing data',
siteReset: 'Site Reset',
confirmReset: 'Confirm to delete all site data and resync.',
confirmResetHint:
'Delete all site data and resync from CookieCloud. Please clear all related site settings before this operation.',
resetSites: 'Reset Site Data',
resettingSites: 'Resetting...',
syncInterval: {
hourly: 'Hourly',
every6Hours: 'Every 6 Hours',
every12Hours: 'Every 12 Hours',
daily: 'Daily',
weekly: 'Weekly',
monthly: 'Monthly',
never: 'Never',
},
saveSuccess: 'Site settings saved successfully',
saveFailed: 'Failed to save site settings!',
resetSuccess: 'Sites reset successfully, please wait for CookieCloud sync to complete!',
resetFailed: 'Failed to reset sites!',
},
message: {
loadMore: 'Load More',
@@ -367,4 +443,261 @@ export default {
priority: 'Priority: {value}',
noPriorityRule: 'No priority rule matched!',
},
setting: {
about: {
title: 'About MoviePilot',
softwareVersion: 'Software Version',
frontendVersion: 'Frontend Version',
authVersion: 'Auth Resource Version',
indexerVersion: 'Indexer Resource Version',
configDir: 'Config Directory',
dataDir: 'Data Directory',
timezone: 'Timezone',
latest: 'Latest',
support: 'Support',
documentation: 'Documentation',
feedback: 'Feedback',
channel: 'Release Channel',
versions: 'Software Versions',
latestVersion: 'Latest Version',
currentVersion: 'Current Version',
viewChangelog: 'View Changelog',
changelog: 'Changelog',
},
system: {
basicSettings: 'Basic Settings',
basicSettingsDesc: 'Configure server global functions.',
appDomain: 'Access Domain',
appDomainHint: 'Used to add quick jump links when sending notifications',
wallpaper: 'Background Wallpaper',
wallpaperHint: 'Choose the source of the login page background',
recognizeSource: 'Recognition Data Source',
recognizeSourceHint: 'Set the default media info recognition data source',
mediaServerSyncInterval: 'Media Server Sync Interval',
mediaServerSyncIntervalHint: 'Time interval for syncing media server data to local',
hours: 'hours',
required: 'Required field, please fill in',
numbersOnly: 'Only numbers are supported, please do not enter other characters',
minInterval: 'Interval cannot be less than 1 hour',
apiToken: 'API Token',
apiTokenHint: 'Set the token value used when external requests access MoviePilot API',
apiTokenMinChars: 'Cannot be less than 16 characters',
apiTokenRequired: 'Required field; please enter API Token',
apiTokenLength: 'API Token must be at least 16 characters',
githubToken: 'Github Token',
githubTokenFormat: 'ghp_**** or github_pat_****',
githubTokenHint: 'Used to increase the rate limit threshold when plugins access Github API',
ocrHost: 'OCR Server',
ocrHostHint: 'Used for site check-in, updating site cookies and other captcha recognition',
advancedSettings: 'Advanced Settings',
advancedSettingsDesc: 'System advanced settings, only need to be adjusted in special cases',
downloaders: 'Downloaders',
downloadersDesc: 'Only the default downloader will be used by default.',
mediaServers: 'Media Servers',
mediaServersDesc: 'All enabled media servers will be used.',
trimeMedia: 'TrimeMedia',
system: 'System',
media: 'Media',
network: 'Network',
log: 'Log',
lab: 'Lab',
reloadSuccess: 'System configuration has taken effect',
reloadFailed: 'Failed to reload system!',
downloaderSaveSuccess: 'Downloader settings saved successfully',
downloaderSaveFailed: 'Failed to save downloader settings!',
defaultDownloaderNotice: 'No default downloader set, [{name}] has been set as the default downloader',
mediaServerSaveSuccess: 'Media server settings saved successfully',
mediaServerSaveFailed: 'Failed to save media server settings!',
saveFailed: 'Failed to save settings: {message}!',
basicSaveSuccess: 'Basic settings saved successfully',
advancedSaveSuccess: 'Advanced settings saved successfully',
copySuccess: 'Copied to clipboard!',
copyFailed: 'Copy failed: browser may not support or user blocked!',
copyError: 'Copy failed!',
reloading: 'Applying configuration...',
},
notification: {
channels: 'Notification Channels',
channelsDesc: 'Set message sending channel parameters.',
scope: 'Notification Scope',
scopeDesc: 'Corresponding message types will only be sent to specified users.',
messageType: 'Message Type',
scopeRange: 'Scope',
operationUserOnly: 'Operation User Only',
adminOnly: 'Admin Only',
userAndAdmin: 'Operation User and Admin',
allUsers: 'All Users',
sendTime: 'Notification Send Time',
sendTimeDesc: 'Set the time range for sending messages.',
startTime: 'Start Time',
endTime: 'End Time',
saveSuccess: 'Notification settings saved successfully',
saveFailed: 'Failed to save notification settings!',
switchSaveSuccess: 'Message type switches saved successfully',
switchSaveFailed: 'Failed to save message type switches!',
timeSaveSuccess: 'Notification send time saved successfully',
timeSaveFailed: 'Failed to save notification send time!',
channel: 'Notification',
wechat: 'WeChat',
resourceDownload: 'Resource Download',
mediaImport: 'Media Import',
subscription: 'Subscription',
site: 'Site',
mediaServer: 'Media Server',
manualProcess: 'Manual Process',
plugin: 'Plugin',
other: 'Other',
},
words: {
customIdentifiers: 'Custom Identifiers',
identifiersDesc: 'Add rules to preprocess torrent names or file names to correct identification.',
identifiersPlaceholder: 'Support regular expressions, special characters need \\ escape, one line for each rule',
identifiersHint: 'Support regular expressions, special characters need \\ escape, one line for each rule',
formatTitle: 'Supported configuration formats (mind the spaces):',
formatContent:
'Block words\n' +
'Word to replace => Replacement\n' +
'Front word <> Back word >> Episode offset (EP)\n' +
'Word to replace => Replacement && Front word <> Back word >> Episode offset (EP)\n' +
'Replacement format supports: [[tmdbid/doubanid=xxx;type=movie/tv;s=xxx;e=xxx]] to directly specify TMDBID/Douban ID, where s and e are season and episode numbers (optional)',
identifierSaveSuccess: 'Custom identifiers saved successfully',
identifierSaveFailed: 'Failed to save custom identifiers!',
customReleaseGroups: 'Custom Release/Subtitle Groups',
releaseGroupsDesc: 'Add release/subtitle groups that cannot be identified.',
releaseGroupsPlaceholder:
'Support regular expressions, special characters need \\ escape, one line for each group',
releaseGroupsHint: 'Support regular expressions, special characters need \\ escape, one line for each group',
releaseGroupSaveSuccess: 'Custom release/subtitle groups saved successfully',
releaseGroupSaveFailed: 'Failed to save custom release/subtitle groups!',
customization: 'Custom Placeholders',
customizationDesc: 'Add custom placeholder regex patterns, use {customization} in rename format.',
customizationPlaceholder:
'Support regular expressions, special characters need \\ escape, separate multiple matches with new lines',
customizationHint:
'Support regular expressions, special characters need \\ escape, separate multiple matches with new lines',
customizationSaveSuccess: 'Custom placeholders saved successfully',
customizationSaveFailed: 'Failed to save custom placeholders!',
transferExcludeWords: 'File Organization Block Words',
excludeWordsDesc: 'Files or directories containing block words will not be organized.',
excludeWordsPlaceholder:
'Support regular expressions, special characters need \\ escape, one line for each block word',
excludeWordsHint: 'Support regular expressions, special characters need \\ escape, one line for each block word',
excludeWordsSaveSuccess: 'File organization block words saved successfully',
excludeWordsSaveFailed: 'Failed to save file organization block words!',
},
search: {
basicSettings: 'Basic Settings',
basicSettingsDesc: 'Set data sources, rule groups and other basic information.',
recognizeSource: 'Recognition Data Source',
recognizeSourceDesc:
'Default is TMDB. Douban is usually more friendly for Chinese works, but some foreign works have incomplete information.',
themoviedb: 'TheMovieDb',
douban: 'Douban',
filterRuleGroup: 'Filter Rule Group',
filterRuleGroupDesc: 'Set filter rule groups used during download process.',
downloadLabel: 'Download Task Label',
downloadLabelDesc: 'Download labels in downloader, used for filtering queries.',
downloadLabelHint: 'Support multiple labels, separated by commas',
downloadSite: 'Search Sites',
downloadSiteDesc: 'Set site scope for specific category searches.',
movieSites: 'Movie Sites',
tvSites: 'TV Show Sites',
animeSites: 'Anime Sites',
saveSites: 'Save Sites',
saveSuccess: 'Search settings saved successfully',
saveFailed: 'Failed to save search settings!',
saveRuleFailed: 'Failed to save rules!',
movieCategory: 'Movies',
tvCategory: 'TV Shows',
animeCategory: 'Anime',
downloadUser: 'Remote Search Auto Download User List',
downloadUserHint:
'Whether to automatically download when searching with Telegram, WeChat, etc., comma separated, set to all to represent all users auto-download',
multipleNameSearch: 'Multiple Name Resource Search',
multipleNameSearchHint:
'Search site resources using multiple names (Chinese, English, etc.) and merge search results, will increase site access frequency',
downloadSubtitle: 'Download Site Subtitles',
downloadSubtitleHint: 'Check if site resources have separate subtitle files and download them automatically',
},
directory: {
storage: 'Storage',
storageDesc: 'Set up local or cloud storage.',
directory: 'Directory',
directoryDesc: 'Set up media file organization directory structure, matching in sequence.',
organizeAndScrap: 'Organization & Scraping',
organizeAndScrapDesc: 'Set rename format, scraping options, etc.',
scrapSource: 'Scraping Data Source',
scrapSourceHint: 'Metadata source for scraping',
movieRenameFormat: 'Movie Rename Format',
movieRenameFormatHint:
'Using Jinja2 syntax, format reference: https://jinja.palletsprojects.com/en/3.0.x/templates',
tvRenameFormat: 'TV Show Rename Format',
tvRenameFormatHint: 'Using Jinja2 syntax, format reference: https://jinja.palletsprojects.com/en/3.0.x/templates',
saveSuccess: 'Storage settings saved successfully',
saveFailed: 'Failed to save storage settings!',
directorySaveSuccess: 'Directory settings saved successfully',
directorySaveFailed: 'Failed to save directory settings!',
organizeSaveSuccess: 'Organization options saved successfully',
organizeSaveFailed: 'Failed to save organization options!',
duplicateDirectoryName: 'Duplicate directory names exist! Cannot save, please modify!',
},
},
rule: {
customRules: 'Custom Rules',
customRulesDesc: 'Custom priority rule items',
priorityRuleGroups: 'Priority Rule Groups',
priorityRuleGroupsDesc: 'Preset priority rule groups for use in search and subscription.',
downloadRules: 'Download Rules',
downloadRulesDesc: 'Prioritize downloads when multiple resources match.',
currentPriorityRules: 'Current Download Priority Rules',
currentPriorityRulesHint: 'Higher priority for items at the front, unselected items are not included in sorting',
saveSuccess: 'Custom rules saved successfully',
saveFailed: 'Failed to save custom rules!',
groupSaveSuccess: 'Priority rule groups saved successfully',
groupSaveFailed: 'Failed to save priority rule groups!',
prioritySaveSuccess: 'Priority rules saved successfully',
prioritySaveFailed: 'Failed to save priority rules!',
emptyRuleId: 'Rules with empty IDs exist! Cannot save, please modify!',
emptyRuleName: 'Rules with empty names exist! Cannot save, please modify!',
duplicateRuleId: 'Duplicate rule IDs exist! Cannot save, please modify!',
duplicateRuleName: 'Duplicate rule names exist! Cannot save, please modify!',
emptyGroupName: 'Rule groups with empty names exist! Cannot save, please modify!',
duplicateGroupName: 'Duplicate rule group names exist! Cannot save, please modify!',
copySuccess: 'Copied to clipboard!',
copyFailed: 'Copy failed: browser may not support or user blocked!',
copyError: 'Copy failed!',
importCustomRules: 'Import Custom Rules',
importRuleGroups: 'Import Priority Rule Groups',
importFailed: 'Failed to import rules! Cannot parse input data!',
importUnknownType: 'Failed to import rules! Unknown data type!',
duplicateValue: 'Duplicate values exist',
importNoId: 'Import failed! Found rules without IDs, may belong to priority rule groups!',
importHasId: 'Import failed! Found rules with IDs, may belong to custom rules!',
torrentPriority: {
torrent: 'Resource Priority',
site: 'Site Priority',
upload: 'Site Upload Amount',
seeder: 'Resource Seeders',
},
},
scheduler: {
scheduledTasks: 'Scheduled Tasks',
scheduledTasksDesc:
'Includes system built-in services and plugin-provided services. Manual execution will not affect the normal schedule of tasks.',
provider: 'Provider',
taskName: 'Task Name',
taskStatus: 'Task Status',
nextRunTime: 'Next Run Time',
execute: 'Execute',
noServices: 'No background services',
submitSuccess: 'Task execution request submitted successfully!',
status: {
running: 'Running',
stopped: 'Stopped',
waiting: 'Waiting',
},
},
}

View File

@@ -242,6 +242,39 @@ export default {
recognitionWords: '识别词',
cancelShare: '取消分享',
usageCount: '共 {count} 次复用',
basicSettings: '基础设置',
basicSettingsDesc: '设定订阅模式、周期等基础设置',
mode: '订阅模式',
modeHint: '自动自动爬取站点首页站点RSS通过站点RSS链接订阅',
rssInterval: '站点RSS周期',
rssIntervalHint: '设置站点RSS运行周期在订阅模式为`站点RSS`时生效',
filterRuleGroup: '订阅优先级规则组',
filterRuleGroupHint: '按选定的过滤规则组对订阅进行过滤',
bestVersionRuleGroup: '洗版优先级规则组',
bestVersionRuleGroupHint: '按选定的过滤规则组对洗版订阅进行过滤',
timedSearch: '订阅定时搜索',
timedSearchHint: '每隔24小时全站搜索以补全订阅可能漏掉的资源',
checkLocalMedia: '检查本地媒体库资源',
checkLocalMediaHint: '检查存储盘是否存在资源,以避免重复下载',
subscribeSites: '订阅站点',
subscribeSitesDesc: '只有选中的站点才会在订阅中使用。',
saveSuccess: '订阅站点保存成功',
saveFailed: '订阅站点保存失败!',
settingsSaveSuccess: '订阅基础设置保存成功',
settingsSaveFailed: '订阅基础设置保存失败!',
modes: {
auto: '自动',
rss: '站点RSS',
},
intervals: {
min5: '5分钟',
min10: '10分钟',
min20: '20分钟',
min30: '半小时',
hour1: '1小时',
hour12: '12小时',
day1: '1天',
},
},
recommend: {
all: '全部',
@@ -326,6 +359,79 @@ export default {
site: {
noSites: '没有站点',
sitesWillBeShownHere: '已添加并支持的站点将会在这里显示。',
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浏览器插件生成的端对端加密密码',
autoSyncInterval: '自动同步间隔',
autoSyncIntervalHint: '从CookieCloud服务器自动同步站点Cookie到MoviePilot的时间间隔',
syncBlacklist: '同步域名黑名单',
syncBlacklistPlaceholder: '多个域名,分割',
syncBlacklistHint: 'CookieCloud同步域名黑名单多个域名,分割',
userAgent: '浏览器User-Agent',
userAgentHint: 'CookieCloud插件所在的浏览器的User-Agent',
siteDataRefresh: '站点数据刷新',
siteDataRefreshInterval: '站点数据刷新间隔',
siteDataRefreshIntervalHint: '刷新站点用户上传下载等数据的时间间隔',
readSiteMessage: '阅读站点消息',
readSiteMessageHint: '刷新数据时读取站点消息并发送通知',
siteReset: '站点重置',
confirmReset: '确认删除所有站点数据并重新同步。',
confirmResetHint: '删除所有站点数据并重新从CookieCloud同步操作请先清空涉及站点的相关设置。',
resetSites: '重置站点数据',
resettingSites: '正在重置...',
syncInterval: {
hourly: '每小时',
every6Hours: '每6小时',
every12Hours: '每12小时',
daily: '每天',
weekly: '每周',
monthly: '每月',
never: '永不',
},
saveSuccess: '保存站点设置成功',
saveFailed: '站点设置保存失败!',
resetSuccess: '站点重置成功请等待CookieCloud同步完成',
resetFailed: '站点重置失败!',
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: '检查站点资源是否有单独的字幕文件并自动下载',
},
},
message: {
loadMore: '加载更多',
@@ -365,4 +471,221 @@ export default {
priority: '优先级:{value}',
noPriorityRule: '未命中任何优先级规则!',
},
setting: {
about: {
title: '关于 MoviePilot',
softwareVersion: '软件版本',
frontendVersion: '前端版本',
authVersion: '认证资源版本',
indexerVersion: '站点资源版本',
configDir: '配置目录',
dataDir: '数据目录',
timezone: '时区',
latest: '最新',
support: '支援',
documentation: '文档',
feedback: '问题反馈',
channel: '发布频道',
versions: '软件版本',
latestVersion: '最新软件版本',
currentVersion: '当前版本',
viewChangelog: '查看变更日志',
changelog: '变更日志',
},
system: {
basicSettings: '基础设置',
basicSettingsDesc: '设置服务器的全局功能。',
appDomain: '访问域名',
appDomainHint: '用于发送通知时,添加快捷跳转地址',
wallpaper: '背景壁纸',
wallpaperHint: '选择登陆页面背景来源',
recognizeSource: '识别数据源',
recognizeSourceHint: '设置默认媒体信息识别数据源',
mediaServerSyncInterval: '媒体服务器同步间隔',
mediaServerSyncIntervalHint: '定时同步媒体服务器数据到本地的时间间隔',
hours: '小时',
required: '必选项,请勿留空',
numbersOnly: '仅支持输入数字,请勿输入其他字符',
minInterval: '间隔不能小于1个小时',
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等识别验证码',
advancedSettings: '高级设置',
advancedSettingsDesc: '系统进阶设置,特殊情况下才需要调整',
downloaders: '下载器',
downloadersDesc: '只有默认下载器才会被默认使用。',
mediaServers: '媒体服务器',
mediaServersDesc: '所有启用的媒体服务器都会被使用。',
trimeMedia: '飞牛影视',
system: '系统',
media: '媒体',
network: '网络',
log: '日志',
lab: '实验室',
reloadSuccess: '系统配置已生效',
reloadFailed: '重载系统失败!',
downloaderSaveSuccess: '下载器设置保存成功',
downloaderSaveFailed: '下载器设置保存失败!',
defaultDownloaderNotice: '未设置默认下载器,已将【{name}】作为默认下载器',
mediaServerSaveSuccess: '媒体服务器设置保存成功',
mediaServerSaveFailed: '媒体服务器设置保存失败!',
saveFailed: '设置保存失败:{message}',
basicSaveSuccess: '基础设置保存成功',
advancedSaveSuccess: '高级设置保存成功',
copySuccess: '已复制到剪贴板!',
copyFailed: '复制失败:可能是浏览器不支持或被用户阻止!',
copyError: '复制失败!',
reloading: '正在应用配置...',
},
notification: {
channels: '通知渠道',
channelsDesc: '设置消息发送渠道参数。',
scope: '通知发送范围',
scopeDesc: '对应消息类型只会发送给设定的用户。',
messageType: '消息类型',
scopeRange: '范围',
operationUserOnly: '仅操作用户',
adminOnly: '仅管理员',
userAndAdmin: '操作用户和管理员',
allUsers: '所有用户',
sendTime: '通知发送时间',
sendTimeDesc: '设定消息发送的时间范围。',
startTime: '开始时间',
endTime: '结束时间',
saveSuccess: '通知设置保存成功',
saveFailed: '通知设置保存失败!',
switchSaveSuccess: '消息类型开关保存成功',
switchSaveFailed: '消息类型开关保存失败!',
timeSaveSuccess: '通知发送时间保存成功',
timeSaveFailed: '通知发送时间保存失败!',
channel: '通知',
wechat: '微信',
resourceDownload: '资源下载',
mediaImport: '整理入库',
subscription: '订阅',
site: '站点',
mediaServer: '媒体服务器',
manualProcess: '手动处理',
plugin: '插件',
other: '其它',
},
words: {
customIdentifiers: '自定义识别词',
identifiersDesc: '添加规则对种子名或者文件名进行预处理以校正识别。',
identifiersPlaceholder: '支持正则表达式,特殊字符需要\\转义,一行为一组',
identifiersHint: '支持正则表达式,特殊字符需要\\转义,一行为一组',
formatTitle: '支持的配置格式(注意空格):',
formatContent:
'屏蔽词\n' +
'被替换词 => 替换词\n' +
'前定位词 <> 后定位词 >> 集偏移量EP\n' +
'被替换词 => 替换词 && 前定位词 <> 后定位词 >> 集偏移量EP\n' +
'其中替换词支持格式:[[tmdbid/doubanid=xxx;type=movie/tv;s=xxx;e=xxx]] 直接指定TMDBID/豆瓣ID识别其中s、e为季数和集数可选',
identifierSaveSuccess: '自定义识别词保存成功',
identifierSaveFailed: '自定义识别词保存失败!',
customReleaseGroups: '自定义制作组/字幕组',
releaseGroupsDesc: '添加无法识别的制作组/字幕组。',
releaseGroupsPlaceholder: '支持正则表达式,特殊字符需要\\转义,一行代表一个制作组/字幕组',
releaseGroupsHint: '支持正则表达式,特殊字符需要\\转义,一行代表一个制作组/字幕组',
releaseGroupSaveSuccess: '自定义制作组/字幕组保存成功',
releaseGroupSaveFailed: '自定义制作组/字幕组保存失败!',
customization: '自定义占位符',
customizationDesc: '添加自定义占位符识别正则,重命名格式中添加{customization}使用。',
customizationPlaceholder: '支持正则表达式,特殊字符需要\\转义,多个匹配对象请换行分隔',
customizationHint: '支持正则表达式,特殊字符需要\\转义,多个匹配对象请换行分隔',
customizationSaveSuccess: '自定义占位符保存成功',
customizationSaveFailed: '自定义占位符保存失败!',
transferExcludeWords: '文件整理屏蔽词',
excludeWordsDesc: '目录名或文件名中包含屏蔽词时不进行整理。',
excludeWordsPlaceholder: '支持正则表达式,特殊字符需要\\转义,一行代表一个屏蔽词',
excludeWordsHint: '支持正则表达式,特殊字符需要\\转义,一行代表一个屏蔽词',
excludeWordsSaveSuccess: '文件整理屏蔽词保存成功',
excludeWordsSaveFailed: '文件整理屏蔽词保存失败!',
},
},
directory: {
storage: '存储',
storageDesc: '设置本地或网盘存储。',
directory: '目录',
directoryDesc: '设置媒体文件整理目录结构,按先后顺序依次匹配。',
organizeAndScrap: '整理 & 刮削',
organizeAndScrapDesc: '设置重命名格式、刮削选项等。',
scrapSource: '刮削数据源',
scrapSourceHint: '刮削时的元数据来源',
movieRenameFormat: '电影重命名格式',
movieRenameFormatHint: '使用Jinja2语法格式参考https://jinja.palletsprojects.com/en/3.0.x/templates',
tvRenameFormat: '电视剧重命名格式',
tvRenameFormatHint: '使用Jinja2语法格式参考https://jinja.palletsprojects.com/en/3.0.x/templates',
saveSuccess: '存储设置保存成功',
saveFailed: '存储设置保存失败!',
directorySaveSuccess: '目录设置保存成功',
directorySaveFailed: '目录设置保存失败!',
organizeSaveSuccess: '整理选项设置保存成功',
organizeSaveFailed: '整理选项设置保存失败!',
duplicateDirectoryName: '存在重复目录名称!无法保存,请修改!',
},
rule: {
customRules: '自定义规则',
customRulesDesc: '自定义优先级规则项',
priorityRuleGroups: '优先级规则组',
priorityRuleGroupsDesc: '预设优先级规则组,以便在搜索和订阅中使用。',
downloadRules: '下载规则',
downloadRulesDesc: '同时命中多个资源时择优下载。',
currentPriorityRules: '当前使用下载优先规则',
currentPriorityRulesHint: '排在前面的优先级越高,未选择的项不纳入排序',
saveSuccess: '自定义规则保存成功',
saveFailed: '自定义规则保存失败!',
groupSaveSuccess: '优先级规则组保存成功',
groupSaveFailed: '优先级规则组保存失败!',
prioritySaveSuccess: '优先规则保存成功',
prioritySaveFailed: '优先规则保存失败!',
emptyRuleId: '存在空ID的规则无法保存请修改',
emptyRuleName: '存在空名字的规则,无法保存,请修改!',
duplicateRuleId: '存在重复规则ID无法保存请修改',
duplicateRuleName: '存在重复规则名称!无法保存,请修改!',
emptyGroupName: '存在空名字的规则组!无法保存,请修改!',
duplicateGroupName: '存在重复规则组名称!无法保存,请修改!',
copySuccess: '已复制到剪贴板!',
copyFailed: '复制失败:可能是浏览器不支持或被用户阻止!',
copyError: '复制失败!',
importCustomRules: '导入自定义规则',
importRuleGroups: '导入优先级规则组',
importFailed: '导入规则失败!无法解析输入的数据!',
importUnknownType: '导入规则失败!未知的数据类型!',
duplicateValue: '存在重名值',
importNoId: '导入失败发现有规则不存在ID可能属于优先级规则组',
importHasId: '导入失败发现有规则存在相同ID可能属于自定义规则',
torrentPriority: {
torrent: '资源优先级',
site: '站点优先级',
upload: '站点上传量',
seeder: '资源做种数',
},
},
scheduler: {
scheduledTasks: '定时作业',
scheduledTasksDesc: '包含系统内置服务以及插件提供的服务,手动执行不会影响作业正常的时间表。',
provider: '提供者',
taskName: '任务名称',
taskStatus: '任务状态',
nextRunTime: '下一次执行时间',
execute: '执行',
noServices: '没有后台服务',
submitSuccess: '定时作业执行请求提交成功!',
status: {
running: '正在运行',
stopped: '已停止',
waiting: '等待',
},
},
}