mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-08-28 19:47:49 +08:00
更新国际化支持:调整多个组件中的文本引入,优化站点设置相关的翻译和文本结构,确保语言切换的准确性和一致性。
This commit is contained in:
+134
-129
@@ -244,39 +244,6 @@ export default {
|
|||||||
recognitionWords: 'Recognition Words',
|
recognitionWords: 'Recognition Words',
|
||||||
cancelShare: 'Cancel Share',
|
cancelShare: 'Cancel Share',
|
||||||
usageCount: 'Used {count} times',
|
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: {
|
recommend: {
|
||||||
all: 'All',
|
all: 'All',
|
||||||
@@ -361,49 +328,6 @@ export default {
|
|||||||
site: {
|
site: {
|
||||||
noSites: 'No Sites',
|
noSites: 'No Sites',
|
||||||
sitesWillBeShownHere: 'Added and supported sites will be displayed here.',
|
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: {
|
message: {
|
||||||
loadMore: 'Load More',
|
loadMore: 'Load More',
|
||||||
@@ -516,6 +440,52 @@ export default {
|
|||||||
copyError: 'Copy failed!',
|
copyError: 'Copy failed!',
|
||||||
reloading: 'Applying configuration...',
|
reloading: 'Applying configuration...',
|
||||||
},
|
},
|
||||||
|
site: {
|
||||||
|
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!',
|
||||||
|
},
|
||||||
notification: {
|
notification: {
|
||||||
channels: 'Notification Channels',
|
channels: 'Notification Channels',
|
||||||
channelsDesc: 'Set message sending channel parameters.',
|
channelsDesc: 'Set message sending channel parameters.',
|
||||||
@@ -644,60 +614,95 @@ export default {
|
|||||||
organizeSaveFailed: 'Failed to save organization options!',
|
organizeSaveFailed: 'Failed to save organization options!',
|
||||||
duplicateDirectoryName: 'Duplicate directory names exist! Cannot save, please modify!',
|
duplicateDirectoryName: 'Duplicate directory names exist! Cannot save, please modify!',
|
||||||
},
|
},
|
||||||
},
|
rule: {
|
||||||
rule: {
|
customRules: 'Custom Rules',
|
||||||
customRules: 'Custom Rules',
|
customRulesDesc: 'Custom priority rule items',
|
||||||
customRulesDesc: 'Custom priority rule items',
|
priorityRuleGroups: 'Priority Rule Groups',
|
||||||
priorityRuleGroups: 'Priority Rule Groups',
|
priorityRuleGroupsDesc: 'Preset priority rule groups for use in search and subscription.',
|
||||||
priorityRuleGroupsDesc: 'Preset priority rule groups for use in search and subscription.',
|
downloadRules: 'Download Rules',
|
||||||
downloadRules: 'Download Rules',
|
downloadRulesDesc: 'Prioritize downloads when multiple resources match.',
|
||||||
downloadRulesDesc: 'Prioritize downloads when multiple resources match.',
|
currentPriorityRules: 'Current Download Priority Rules',
|
||||||
currentPriorityRules: 'Current Download Priority Rules',
|
currentPriorityRulesHint: 'Higher priority for items at the front, unselected items are not included in sorting',
|
||||||
currentPriorityRulesHint: 'Higher priority for items at the front, unselected items are not included in sorting',
|
saveSuccess: 'Custom rules saved successfully',
|
||||||
saveSuccess: 'Custom rules saved successfully',
|
saveFailed: 'Failed to save custom rules!',
|
||||||
saveFailed: 'Failed to save custom rules!',
|
groupSaveSuccess: 'Priority rule groups saved successfully',
|
||||||
groupSaveSuccess: 'Priority rule groups saved successfully',
|
groupSaveFailed: 'Failed to save priority rule groups!',
|
||||||
groupSaveFailed: 'Failed to save priority rule groups!',
|
prioritySaveSuccess: 'Priority rules saved successfully',
|
||||||
prioritySaveSuccess: 'Priority rules saved successfully',
|
prioritySaveFailed: 'Failed to save priority rules!',
|
||||||
prioritySaveFailed: 'Failed to save priority rules!',
|
emptyRuleId: 'Rules with empty IDs exist! Cannot save, please modify!',
|
||||||
emptyRuleId: 'Rules with empty IDs exist! Cannot save, please modify!',
|
emptyRuleName: 'Rules with empty names exist! Cannot save, please modify!',
|
||||||
emptyRuleName: 'Rules with empty names exist! Cannot save, please modify!',
|
duplicateRuleId: 'Duplicate rule IDs exist! Cannot save, please modify!',
|
||||||
duplicateRuleId: 'Duplicate rule IDs exist! Cannot save, please modify!',
|
duplicateRuleName: 'Duplicate rule names 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!',
|
||||||
emptyGroupName: 'Rule groups with empty names exist! Cannot save, please modify!',
|
duplicateGroupName: 'Duplicate rule group names exist! Cannot save, please modify!',
|
||||||
duplicateGroupName: 'Duplicate rule group names exist! Cannot save, please modify!',
|
copySuccess: 'Copied to clipboard!',
|
||||||
copySuccess: 'Copied to clipboard!',
|
copyFailed: 'Copy failed: browser may not support or user blocked!',
|
||||||
copyFailed: 'Copy failed: browser may not support or user blocked!',
|
copyError: 'Copy failed!',
|
||||||
copyError: 'Copy failed!',
|
importCustomRules: 'Import Custom Rules',
|
||||||
importCustomRules: 'Import Custom Rules',
|
importRuleGroups: 'Import Priority Rule Groups',
|
||||||
importRuleGroups: 'Import Priority Rule Groups',
|
importFailed: 'Failed to import rules! Cannot parse input data!',
|
||||||
importFailed: 'Failed to import rules! Cannot parse input data!',
|
importUnknownType: 'Failed to import rules! Unknown data type!',
|
||||||
importUnknownType: 'Failed to import rules! Unknown data type!',
|
duplicateValue: 'Duplicate values exist',
|
||||||
duplicateValue: 'Duplicate values exist',
|
importNoId: 'Import failed! Found rules without IDs, may belong to priority rule groups!',
|
||||||
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!',
|
||||||
importHasId: 'Import failed! Found rules with IDs, may belong to custom rules!',
|
torrentPriority: {
|
||||||
torrentPriority: {
|
torrent: 'Resource Priority',
|
||||||
torrent: 'Resource Priority',
|
site: 'Site Priority',
|
||||||
site: 'Site Priority',
|
upload: 'Site Upload Amount',
|
||||||
upload: 'Site Upload Amount',
|
seeder: 'Resource Seeders',
|
||||||
seeder: 'Resource Seeders',
|
},
|
||||||
},
|
},
|
||||||
},
|
scheduler: {
|
||||||
scheduler: {
|
scheduledTasks: 'Scheduled Tasks',
|
||||||
scheduledTasks: 'Scheduled Tasks',
|
scheduledTasksDesc:
|
||||||
scheduledTasksDesc:
|
'Includes system built-in services and plugin-provided services. Manual execution will not affect the normal schedule of tasks.',
|
||||||
'Includes system built-in services and plugin-provided services. Manual execution will not affect the normal schedule of tasks.',
|
provider: 'Provider',
|
||||||
provider: 'Provider',
|
taskName: 'Task Name',
|
||||||
taskName: 'Task Name',
|
taskStatus: 'Task Status',
|
||||||
taskStatus: 'Task Status',
|
nextRunTime: 'Next Run Time',
|
||||||
nextRunTime: 'Next Run Time',
|
execute: 'Execute',
|
||||||
execute: 'Execute',
|
noServices: 'No background services',
|
||||||
noServices: 'No background services',
|
submitSuccess: 'Task execution request submitted successfully!',
|
||||||
submitSuccess: 'Task execution request submitted successfully!',
|
status: {
|
||||||
status: {
|
running: 'Running',
|
||||||
running: 'Running',
|
stopped: 'Stopped',
|
||||||
stopped: 'Stopped',
|
waiting: 'Waiting',
|
||||||
waiting: 'Waiting',
|
},
|
||||||
|
},
|
||||||
|
subscribe: {
|
||||||
|
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',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
+140
-138
@@ -242,39 +242,6 @@ export default {
|
|||||||
recognitionWords: '识别词',
|
recognitionWords: '识别词',
|
||||||
cancelShare: '取消分享',
|
cancelShare: '取消分享',
|
||||||
usageCount: '共 {count} 次复用',
|
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: {
|
recommend: {
|
||||||
all: '全部',
|
all: '全部',
|
||||||
@@ -400,38 +367,6 @@ export default {
|
|||||||
saveFailed: '站点设置保存失败!',
|
saveFailed: '站点设置保存失败!',
|
||||||
resetSuccess: '站点重置成功,请等待CookieCloud同步完成!',
|
resetSuccess: '站点重置成功,请等待CookieCloud同步完成!',
|
||||||
resetFailed: '站点重置失败!',
|
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: {
|
message: {
|
||||||
loadMore: '加载更多',
|
loadMore: '加载更多',
|
||||||
@@ -612,80 +547,147 @@ export default {
|
|||||||
excludeWordsSaveSuccess: '文件整理屏蔽词保存成功',
|
excludeWordsSaveSuccess: '文件整理屏蔽词保存成功',
|
||||||
excludeWordsSaveFailed: '文件整理屏蔽词保存失败!',
|
excludeWordsSaveFailed: '文件整理屏蔽词保存失败!',
|
||||||
},
|
},
|
||||||
},
|
search: {
|
||||||
directory: {
|
basicSettings: '基础设置',
|
||||||
storage: '存储',
|
basicSettingsDesc: '设定数据源、规则组等基础信息。',
|
||||||
storageDesc: '设置本地或网盘存储。',
|
recognizeSource: '识别数据源',
|
||||||
directory: '目录',
|
recognizeSourceDesc: '默认使用TMDB。豆瓣识别中文作品通常更友好,但有些国外作品信息不完整。',
|
||||||
directoryDesc: '设置媒体文件整理目录结构,按先后顺序依次匹配。',
|
themoviedb: 'TheMovieDb',
|
||||||
organizeAndScrap: '整理 & 刮削',
|
douban: '豆瓣',
|
||||||
organizeAndScrapDesc: '设置重命名格式、刮削选项等。',
|
filterRuleGroup: '过滤规则组',
|
||||||
scrapSource: '刮削数据源',
|
filterRuleGroupDesc: '设置下载过程中使用的过滤规则组。',
|
||||||
scrapSourceHint: '刮削时的元数据来源',
|
downloadLabel: '下载任务标签',
|
||||||
movieRenameFormat: '电影重命名格式',
|
downloadLabelDesc: '下载器中的下载标签,用于过滤查询。',
|
||||||
movieRenameFormatHint: '使用Jinja2语法,格式参考:https://jinja.palletsprojects.com/en/3.0.x/templates',
|
downloadLabelHint: '支持增加多个标签,英文逗号分隔',
|
||||||
tvRenameFormat: '电视剧重命名格式',
|
downloadSite: '搜索站点',
|
||||||
tvRenameFormatHint: '使用Jinja2语法,格式参考:https://jinja.palletsprojects.com/en/3.0.x/templates',
|
downloadSiteDesc: '设置指定分类搜索的站点范围。',
|
||||||
saveSuccess: '存储设置保存成功',
|
movieSites: '电影站点',
|
||||||
saveFailed: '存储设置保存失败!',
|
tvSites: '电视剧站点',
|
||||||
directorySaveSuccess: '目录设置保存成功',
|
animeSites: '动漫站点',
|
||||||
directorySaveFailed: '目录设置保存失败!',
|
saveSites: '保存站点',
|
||||||
organizeSaveSuccess: '整理选项设置保存成功',
|
saveSuccess: '保存搜索设置成功',
|
||||||
organizeSaveFailed: '整理选项设置保存失败!',
|
saveFailed: '搜索设置保存失败!',
|
||||||
duplicateDirectoryName: '存在重复目录名称!无法保存,请修改!',
|
saveRuleFailed: '规则保存失败!',
|
||||||
},
|
movieCategory: '电影',
|
||||||
rule: {
|
tvCategory: '电视剧',
|
||||||
customRules: '自定义规则',
|
animeCategory: '动漫',
|
||||||
customRulesDesc: '自定义优先级规则项',
|
downloadUser: '远程搜索自动下载用户',
|
||||||
priorityRuleGroups: '优先级规则组',
|
downloadUserHint:
|
||||||
priorityRuleGroupsDesc: '预设优先级规则组,以便在搜索和订阅中使用。',
|
'使用Telegram、微信等远程搜索时是否自动下载,多个用户使用英文逗号分隔,设置为all代表所有用户自动下载',
|
||||||
downloadRules: '下载规则',
|
multipleNameSearch: '多名称资源搜索',
|
||||||
downloadRulesDesc: '同时命中多个资源时择优下载。',
|
multipleNameSearchHint: '使用多个名称(中文、英文等)搜索站点资源并合并搜索结果,会增加站点访问频率',
|
||||||
currentPriorityRules: '当前使用下载优先规则',
|
downloadSubtitle: '下载站点字幕',
|
||||||
currentPriorityRulesHint: '排在前面的优先级越高,未选择的项不纳入排序',
|
downloadSubtitleHint: '检查站点资源是否有单独的字幕文件并自动下载',
|
||||||
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: '资源做种数',
|
|
||||||
},
|
},
|
||||||
},
|
directory: {
|
||||||
scheduler: {
|
storage: '存储',
|
||||||
scheduledTasks: '定时作业',
|
storageDesc: '设置本地或网盘存储。',
|
||||||
scheduledTasksDesc: '包含系统内置服务以及插件提供的服务,手动执行不会影响作业正常的时间表。',
|
directory: '目录',
|
||||||
provider: '提供者',
|
directoryDesc: '设置媒体文件整理目录结构,按先后顺序依次匹配。',
|
||||||
taskName: '任务名称',
|
organizeAndScrap: '整理 & 刮削',
|
||||||
taskStatus: '任务状态',
|
organizeAndScrapDesc: '设置重命名格式、刮削选项等。',
|
||||||
nextRunTime: '下一次执行时间',
|
scrapSource: '刮削数据源',
|
||||||
execute: '执行',
|
scrapSourceHint: '刮削时的元数据来源',
|
||||||
noServices: '没有后台服务',
|
movieRenameFormat: '电影重命名格式',
|
||||||
submitSuccess: '定时作业执行请求提交成功!',
|
movieRenameFormatHint: '使用Jinja2语法,格式参考:https://jinja.palletsprojects.com/en/3.0.x/templates',
|
||||||
status: {
|
tvRenameFormat: '电视剧重命名格式',
|
||||||
running: '正在运行',
|
tvRenameFormatHint: '使用Jinja2语法,格式参考:https://jinja.palletsprojects.com/en/3.0.x/templates',
|
||||||
stopped: '已停止',
|
saveSuccess: '存储设置保存成功',
|
||||||
waiting: '等待',
|
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: '等待',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
subscribe: {
|
||||||
|
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天',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const progressDialog = ref(false)
|
|||||||
const isConfirmResetSites = ref(false)
|
const isConfirmResetSites = ref(false)
|
||||||
|
|
||||||
// 站点重置按钮文本
|
// 站点重置按钮文本
|
||||||
const resetSitesText = ref(t('site.resetSites'))
|
const resetSitesText = ref(t('setting.site.resetSites'))
|
||||||
|
|
||||||
// 站点重置按钮可用状态
|
// 站点重置按钮可用状态
|
||||||
const resetSitesDisabled = ref(false)
|
const resetSitesDisabled = ref(false)
|
||||||
@@ -43,37 +43,37 @@ const siteSetting = ref<any>({
|
|||||||
|
|
||||||
// 同步间隔下拉框
|
// 同步间隔下拉框
|
||||||
const CookieCloudIntervalItems = [
|
const CookieCloudIntervalItems = [
|
||||||
{ title: t('site.syncInterval.hourly'), value: 60 },
|
{ title: t('setting.site.syncInterval.hourly'), value: 60 },
|
||||||
{ title: t('site.syncInterval.every6Hours'), value: 360 },
|
{ title: t('setting.site.syncInterval.every6Hours'), value: 360 },
|
||||||
{ title: t('site.syncInterval.every12Hours'), value: 720 },
|
{ title: t('setting.site.syncInterval.every12Hours'), value: 720 },
|
||||||
{ title: t('site.syncInterval.daily'), value: 1440 },
|
{ title: t('setting.site.syncInterval.daily'), value: 1440 },
|
||||||
{ title: t('site.syncInterval.weekly'), value: 10080 },
|
{ title: t('setting.site.syncInterval.weekly'), value: 10080 },
|
||||||
{ title: t('site.syncInterval.monthly'), value: 43200 },
|
{ title: t('setting.site.syncInterval.monthly'), value: 43200 },
|
||||||
{ title: t('site.syncInterval.never'), value: 0 },
|
{ title: t('setting.site.syncInterval.never'), value: 0 },
|
||||||
]
|
]
|
||||||
|
|
||||||
// 站点数据刷新间隔
|
// 站点数据刷新间隔
|
||||||
const SiteDataRefreshIntervalItems = [
|
const SiteDataRefreshIntervalItems = [
|
||||||
{ title: t('site.syncInterval.hourly'), value: 1 },
|
{ title: t('setting.site.syncInterval.hourly'), value: 1 },
|
||||||
{ title: t('site.syncInterval.every6Hours'), value: 6 },
|
{ title: t('setting.site.syncInterval.every6Hours'), value: 6 },
|
||||||
{ title: t('site.syncInterval.every12Hours'), value: 12 },
|
{ title: t('setting.site.syncInterval.every12Hours'), value: 12 },
|
||||||
{ title: t('site.syncInterval.daily'), value: 24 },
|
{ title: t('setting.site.syncInterval.daily'), value: 24 },
|
||||||
{ title: t('site.syncInterval.weekly'), value: 168 },
|
{ title: t('setting.site.syncInterval.weekly'), value: 168 },
|
||||||
{ title: t('site.syncInterval.never'), value: 0 },
|
{ title: t('setting.site.syncInterval.never'), value: 0 },
|
||||||
]
|
]
|
||||||
|
|
||||||
// 重置站点
|
// 重置站点
|
||||||
async function resetSites() {
|
async function resetSites() {
|
||||||
try {
|
try {
|
||||||
resetSitesDisabled.value = true
|
resetSitesDisabled.value = true
|
||||||
resetSitesText.value = t('site.resettingSites')
|
resetSitesText.value = t('setting.site.resettingSites')
|
||||||
|
|
||||||
const result: { [key: string]: any } = await api.get('site/reset')
|
const result: { [key: string]: any } = await api.get('site/reset')
|
||||||
if (result.success) $toast.success(t('site.resetSuccess'))
|
if (result.success) $toast.success(t('setting.site.resetSuccess'))
|
||||||
else $toast.error(t('site.resetFailed'))
|
else $toast.error(t('setting.site.resetFailed'))
|
||||||
|
|
||||||
resetSitesDisabled.value = false
|
resetSitesDisabled.value = false
|
||||||
resetSitesText.value = t('site.resetSites')
|
resetSitesText.value = t('setting.site.resetSites')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
}
|
}
|
||||||
@@ -115,10 +115,10 @@ async function saveSiteSetting(value: { [key: string]: any }) {
|
|||||||
try {
|
try {
|
||||||
const result: { [key: string]: any } = await api.post('system/env', value)
|
const result: { [key: string]: any } = await api.post('system/env', value)
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
$toast.success(t('site.saveSuccess'))
|
$toast.success(t('setting.site.saveSuccess'))
|
||||||
await reloadSystem()
|
await reloadSystem()
|
||||||
} else {
|
} else {
|
||||||
$toast.error(t('site.saveFailed'))
|
$toast.error(t('setting.site.saveFailed'))
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
@@ -137,8 +137,8 @@ onMounted(() => {
|
|||||||
<VCol cols="12">
|
<VCol cols="12">
|
||||||
<VCard>
|
<VCard>
|
||||||
<VCardItem>
|
<VCardItem>
|
||||||
<VCardTitle>{{ t('site.siteSync') }}</VCardTitle>
|
<VCardTitle>{{ t('setting.site.siteSync') }}</VCardTitle>
|
||||||
<VCardSubtitle>{{ t('site.siteSyncDesc') }}</VCardSubtitle>
|
<VCardSubtitle>{{ t('setting.site.siteSyncDesc') }}</VCardSubtitle>
|
||||||
</VCardItem>
|
</VCardItem>
|
||||||
<VCardText>
|
<VCardText>
|
||||||
<VForm>
|
<VForm>
|
||||||
@@ -146,8 +146,8 @@ onMounted(() => {
|
|||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VCheckbox
|
<VCheckbox
|
||||||
v-model="siteSetting.CookieCloud.COOKIECLOUD_ENABLE_LOCAL"
|
v-model="siteSetting.CookieCloud.COOKIECLOUD_ENABLE_LOCAL"
|
||||||
:label="t('site.enableLocalCookieCloud')"
|
:label="t('setting.site.enableLocalCookieCloud')"
|
||||||
:hint="t('site.enableLocalCookieCloudHint')"
|
:hint="t('setting.site.enableLocalCookieCloudHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
@@ -156,18 +156,18 @@ onMounted(() => {
|
|||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField
|
<VTextField
|
||||||
v-model="siteSetting.CookieCloud.COOKIECLOUD_HOST"
|
v-model="siteSetting.CookieCloud.COOKIECLOUD_HOST"
|
||||||
:label="t('site.serviceAddress')"
|
:label="t('setting.site.serviceAddress')"
|
||||||
:placeholder="t('site.serviceAddressPlaceholder')"
|
:placeholder="t('setting.site.serviceAddressPlaceholder')"
|
||||||
:disabled="siteSetting.CookieCloud.COOKIECLOUD_ENABLE_LOCAL"
|
:disabled="siteSetting.CookieCloud.COOKIECLOUD_ENABLE_LOCAL"
|
||||||
:hint="t('site.serviceAddressHint')"
|
:hint="t('setting.site.serviceAddressHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField
|
<VTextField
|
||||||
v-model="siteSetting.CookieCloud.COOKIECLOUD_KEY"
|
v-model="siteSetting.CookieCloud.COOKIECLOUD_KEY"
|
||||||
:label="t('site.userKey')"
|
:label="t('setting.site.userKey')"
|
||||||
:hint="t('site.userKeyHint')"
|
:hint="t('setting.site.userKeyHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
@@ -177,34 +177,34 @@ onMounted(() => {
|
|||||||
:type="isPasswordVisible ? 'text' : 'password'"
|
:type="isPasswordVisible ? 'text' : 'password'"
|
||||||
:append-inner-icon="isPasswordVisible ? 'mdi-eye-off-outline' : 'mdi-eye-outline'"
|
:append-inner-icon="isPasswordVisible ? 'mdi-eye-off-outline' : 'mdi-eye-outline'"
|
||||||
@click:append-inner="isPasswordVisible = !isPasswordVisible"
|
@click:append-inner="isPasswordVisible = !isPasswordVisible"
|
||||||
:label="t('site.e2ePassword')"
|
:label="t('setting.site.e2ePassword')"
|
||||||
:hint="t('site.e2ePasswordHint')"
|
:hint="t('setting.site.e2ePasswordHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VSelect
|
<VSelect
|
||||||
v-model="siteSetting.CookieCloud.COOKIECLOUD_INTERVAL"
|
v-model="siteSetting.CookieCloud.COOKIECLOUD_INTERVAL"
|
||||||
:label="t('site.autoSyncInterval')"
|
:label="t('setting.site.autoSyncInterval')"
|
||||||
:items="CookieCloudIntervalItems"
|
:items="CookieCloudIntervalItems"
|
||||||
:hint="t('site.autoSyncIntervalHint')"
|
:hint="t('setting.site.autoSyncIntervalHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField
|
<VTextField
|
||||||
v-model="siteSetting.CookieCloud.COOKIECLOUD_BLACKLIST"
|
v-model="siteSetting.CookieCloud.COOKIECLOUD_BLACKLIST"
|
||||||
:label="t('site.syncBlacklist')"
|
:label="t('setting.site.syncBlacklist')"
|
||||||
:placeholder="t('site.syncBlacklistPlaceholder')"
|
:placeholder="t('setting.site.syncBlacklistPlaceholder')"
|
||||||
:hint="t('site.syncBlacklistHint')"
|
:hint="t('setting.site.syncBlacklistHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField
|
<VTextField
|
||||||
v-model="siteSetting.CookieCloud.USER_AGENT"
|
v-model="siteSetting.CookieCloud.USER_AGENT"
|
||||||
:label="t('site.userAgent')"
|
:label="t('setting.site.userAgent')"
|
||||||
:hint="t('site.userAgentHint')"
|
:hint="t('setting.site.userAgentHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
@@ -223,16 +223,16 @@ onMounted(() => {
|
|||||||
</VRow>
|
</VRow>
|
||||||
<VRow>
|
<VRow>
|
||||||
<VCol cols="12">
|
<VCol cols="12">
|
||||||
<VCard :title="t('site.siteDataRefresh')">
|
<VCard :title="t('setting.site.siteDataRefresh')">
|
||||||
<VCardText>
|
<VCardText>
|
||||||
<VForm>
|
<VForm>
|
||||||
<VRow>
|
<VRow>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VSelect
|
<VSelect
|
||||||
v-model="siteSetting.Site.SITEDATA_REFRESH_INTERVAL"
|
v-model="siteSetting.Site.SITEDATA_REFRESH_INTERVAL"
|
||||||
:label="t('site.siteDataRefreshInterval')"
|
:label="t('setting.site.siteDataRefreshInterval')"
|
||||||
:items="SiteDataRefreshIntervalItems"
|
:items="SiteDataRefreshIntervalItems"
|
||||||
:hint="t('site.siteDataRefreshIntervalHint')"
|
:hint="t('setting.site.siteDataRefreshIntervalHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
@@ -241,8 +241,8 @@ onMounted(() => {
|
|||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VSwitch
|
<VSwitch
|
||||||
v-model="siteSetting.Site.SITE_MESSAGE"
|
v-model="siteSetting.Site.SITE_MESSAGE"
|
||||||
:label="t('site.readSiteMessage')"
|
:label="t('setting.site.readSiteMessage')"
|
||||||
:hint="t('site.readSiteMessageHint')"
|
:hint="t('setting.site.readSiteMessageHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
@@ -261,13 +261,13 @@ onMounted(() => {
|
|||||||
</VRow>
|
</VRow>
|
||||||
<VRow>
|
<VRow>
|
||||||
<VCol cols="12">
|
<VCol cols="12">
|
||||||
<VCard :title="t('site.siteReset')">
|
<VCard :title="t('setting.site.siteReset')">
|
||||||
<VCardText>
|
<VCardText>
|
||||||
<div>
|
<div>
|
||||||
<VCheckbox
|
<VCheckbox
|
||||||
v-model="isConfirmResetSites"
|
v-model="isConfirmResetSites"
|
||||||
:label="t('site.confirmReset')"
|
:label="t('setting.site.confirmReset')"
|
||||||
:hint="t('site.confirmResetHint')"
|
:hint="t('setting.site.confirmResetHint')"
|
||||||
persistent-hint
|
persistent-hint
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user