更新国际化支持:为过滤媒体和资源组件添加多语言文本,提升用户体验

This commit is contained in:
jxxghp
2025-04-29 11:51:45 +08:00
parent 2a6abded08
commit 893df36c9d
6 changed files with 254 additions and 152 deletions

View File

@@ -40,13 +40,6 @@ async function loadMediaCategories() {
} }
} }
// 根据选中的媒体类型,获取对应的媒体类别
const getCategories = computed(() => {
const default_value = [{ title: t('common.all'), value: '' }]
if (!mediaCategories.value || !mediaCategories.value[props.data.type ?? '']) return default_value
return default_value.concat(mediaCategories.value[props.data.type ?? ''])
})
onMounted(() => { onMounted(() => {
loadMediaCategories() loadMediaCategories()
}) })

View File

@@ -250,7 +250,6 @@ export default {
channel: 'Notification Channel', channel: 'Notification Channel',
name: 'Name', name: 'Name',
type: 'Type', type: 'Type',
typeHint: 'Select the types of notifications to receive',
enabled: 'Enabled', enabled: 'Enabled',
config: 'Configuration', config: 'Configuration',
wechat: { wechat: {
@@ -393,11 +392,18 @@ export default {
downloader: 'Downloader', downloader: 'Downloader',
category: 'Category', category: 'Category',
savePath: 'Save Path', savePath: 'Save Path',
onlyLack: 'Only Download Missing', sequential: 'Sequential',
forceResume: 'Force Resume',
firstLastPiece: 'First Last Piece',
onlyLack: 'Only Download Lack Resource'
}, },
addSubscribe: { addSubscribe: {
title: 'Add Subscribe', title: 'Add Subscribe',
subtitle: 'Add resource to subscription', subtitle: 'Add resource to subscription',
type: 'Type',
name: 'Name',
season: 'Season',
episode: 'Episode',
}, },
fetchMedias: { fetchMedias: {
title: 'Fetch Media Data', title: 'Fetch Media Data',
@@ -407,6 +413,10 @@ export default {
type: 'Type', type: 'Type',
name: 'Name', name: 'Name',
year: 'Year', year: 'Year',
ranking: 'Ranking',
api: 'Plugin API',
apiPath: 'API Path',
selectRanking: 'Select Ranking',
tmdbTrending: 'TMDB Trending', tmdbTrending: 'TMDB Trending',
doubanShowing: 'Now Showing', doubanShowing: 'Now Showing',
bangumiCalendar: 'Bangumi Daily', bangumiCalendar: 'Bangumi Daily',
@@ -425,44 +435,10 @@ export default {
title: 'Filter Media Data', title: 'Filter Media Data',
subtitle: 'Filter media data list', subtitle: 'Filter media data list',
type: 'Type', type: 'Type',
name: 'Name',
year: 'Year', year: 'Year',
vote: 'Vote', vote: 'Vote',
}, },
filterTorrents: {
title: 'Filter Resources',
subtitle: 'Filter resource list',
quality: 'Quality',
qualityOptions: {
all: 'All',
blurayOriginal: 'Blu-ray Original',
remux: 'Remux',
bluray: 'BluRay',
uhd: 'UHD',
webdl: 'WEB-DL',
hdtv: 'HDTV',
h265: 'H265',
h264: 'H264',
},
resolution: 'Resolution',
resolutionOptions: {
all: 'All',
'4k': '4K',
'1080p': '1080p',
'720p': '720p',
},
effect: 'Effect',
effectOptions: {
all: 'All',
dolbyVision: 'Dolby Vision',
dolbyAtmos: 'Dolby Atmos',
hdr: 'HDR',
sdr: 'SDR',
},
size: 'Size Range',
include: 'Include (Keywords, Regex)',
exclude: 'Exclude (Keywords, Regex)',
ruleGroups: 'Filter Rule Groups',
},
scrapeFile: { scrapeFile: {
title: 'Scrape File', title: 'Scrape File',
subtitle: 'Scrape media info and images', subtitle: 'Scrape media info and images',
@@ -516,6 +492,41 @@ export default {
downloads: 'Downloads', downloads: 'Downloads',
}, },
}, },
filterTorrents: {
title: 'Filter Resources',
subtitle: 'Filter resource list',
quality: 'Quality',
qualityOptions: {
all: 'All',
blurayOriginal: 'Blu-ray Original',
remux: 'Remux',
bluray: 'BluRay',
uhd: 'UHD',
webdl: 'WEB-DL',
hdtv: 'HDTV',
h265: 'H265',
h264: 'H264',
},
resolution: 'Resolution',
resolutionOptions: {
all: 'All',
'4k': '4K',
'1080p': '1080p',
'720p': '720p',
},
effect: 'Effect',
effectOptions: {
all: 'All',
dolbyVision: 'Dolby Vision',
dolbyAtmos: 'Dolby Atmos',
hdr: 'HDR',
sdr: 'SDR',
},
size: 'Size Range',
include: 'Include (Keywords, Regex)',
exclude: 'Exclude (Keywords, Regex)',
ruleGroups: 'Filter Rule Groups',
},
title: 'Workflow', title: 'Workflow',
noWorkflow: 'No Workflow', noWorkflow: 'No Workflow',
noWorkflowDescription: 'Click the add button to create a workflow task.', noWorkflowDescription: 'Click the add button to create a workflow task.',
@@ -1144,7 +1155,6 @@ export default {
downloadUser: 'Remote Search Auto Download User List', downloadUser: 'Remote Search Auto Download User List',
downloadUserHint: downloadUserHint:
'Whether to automatically download when searching with Telegram, WeChat, etc., comma separated, set to all to represent all users auto-download', 'Whether to automatically download when searching with Telegram, WeChat, etc., comma separated, set to all to represent all users auto-download',
downloadUserPlaceholder: 'UserID1,UserID2',
multipleNameSearch: 'Multiple Name Resource Search', multipleNameSearch: 'Multiple Name Resource Search',
multipleNameSearchHint: multipleNameSearchHint:
'Search site resources using multiple names (Chinese, English, etc.) and merge search results, will increase site access frequency', 'Search site resources using multiple names (Chinese, English, etc.) and merge search results, will increase site access frequency',
@@ -1153,6 +1163,7 @@ export default {
mediaSource: 'Media Search Data Source', mediaSource: 'Media Search Data Source',
mediaSourceHint: 'Data sources and sorting used when searching for media information', mediaSourceHint: 'Data sources and sorting used when searching for media information',
filterRuleGroupHint: 'Filter results by selected filter rule groups when searching for media information', filterRuleGroupHint: 'Filter results by selected filter rule groups when searching for media information',
downloadUserPlaceholder: 'UserID1,UserID2',
downloadLabelPlaceholder: 'MOVIEPILOT', downloadLabelPlaceholder: 'MOVIEPILOT',
}, },
directory: { directory: {
@@ -1835,6 +1846,19 @@ export default {
installing: 'Installing {name} v{version} ...', installing: 'Installing {name} v{version} ...',
installSuccess: 'Plugin {name} installed successfully!', installSuccess: 'Plugin {name} installed successfully!',
installFailed: 'Plugin {name} installation failed: {message}', installFailed: 'Plugin {name} installation failed: {message}',
filterPlugins: 'Filter Plugins',
name: 'Name',
hasNewVersion: 'Has New Version',
author: 'Author',
label: 'Label',
repository: 'Repository',
sortTitle: 'Sort',
filter: 'Filter: {name}',
noMatchingContent: 'No matching content found',
pleaseInstallFromMarket: 'Please install plugins from the plugin market',
allPluginsInstalled: 'All plugins are installed',
searchPlugins: 'Search Plugins',
searchPlaceholder: 'Search by plugin name or description',
uninstalling: 'Uninstalling {name} ...', uninstalling: 'Uninstalling {name} ...',
uninstallSuccess: 'Plugin {name} uninstalled successfully!', uninstallSuccess: 'Plugin {name} uninstalled successfully!',
uninstallFailed: 'Plugin {name} uninstallation failed: {message}', uninstallFailed: 'Plugin {name} uninstallation failed: {message}',

View File

@@ -87,7 +87,6 @@ export default {
subscribeMovie: '电影订阅', subscribeMovie: '电影订阅',
subscribeTv: '电视剧订阅', subscribeTv: '电视剧订阅',
settings: '设置', settings: '设置',
language: '语言设置',
selectLanguage: '选择语言', selectLanguage: '选择语言',
logout: '退出登录', logout: '退出登录',
restarting: '正在重启...', restarting: '正在重启...',
@@ -390,9 +389,11 @@ export default {
subtitle: '添加资源到下载器', subtitle: '添加资源到下载器',
downloader: '下载器', downloader: '下载器',
category: '分类', category: '分类',
savePath: '保存路径',
sequential: '顺序下载', sequential: '顺序下载',
forceResume: '强制继续', forceResume: '强制继续',
firstLastPiece: '优先首尾文件', firstLastPiece: '优先首尾文件',
onlyLack: '仅下载缺失资源',
}, },
addSubscribe: { addSubscribe: {
title: '添加订阅', title: '添加订阅',
@@ -405,10 +406,28 @@ export default {
fetchMedias: { fetchMedias: {
title: '获取媒体', title: '获取媒体',
subtitle: '从媒体服务器获取媒体信息', subtitle: '从媒体服务器获取媒体信息',
server: '媒体服务器', source: '数据源',
searchType: '搜索类型',
type: '类型', type: '类型',
name: '名称', name: '名称',
year: '年份', 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: { filterMedias: {
title: '过滤媒体', title: '过滤媒体',
@@ -416,39 +435,45 @@ export default {
type: '类型', type: '类型',
name: '名称', name: '名称',
year: '年份', year: '年份',
season: '', vote: '评分',
episode: '集',
}, },
scrapeFile: { scrapeFile: {
title: '刮削文件', title: '刮削文件',
subtitle: '刮削文件元数据', subtitle: '刮削文件元数据',
storage: '存储',
directory: '目录',
}, },
sendEvent: { sendEvent: {
title: '发送事件', title: '发送事件',
subtitle: '发送系统事件', subtitle: '发送系统事件',
event: '事件',
data: '数据',
}, },
fetchDownloads: { fetchDownloads: {
title: '获取下载', title: '获取下载',
subtitle: '获取下载器任务', subtitle: '获取下载器任务',
downloader: '下载器', loop: '循环执行',
status: '状态', loopInterval: '循环间隔',
}, },
fetchRss: { fetchRss: {
title: '获取RSS', title: '获取RSS',
subtitle: '获取RSS订阅', subtitle: '获取RSS订阅',
url: 'URL', url: 'URL',
interval: '间隔', userAgent: 'User-Agent',
timeout: '超时时间',
matchMedia: '匹配媒体数据',
useProxy: '使用代理',
}, },
fetchTorrents: { fetchTorrents: {
title: '获取种子', title: '获取站点资源',
subtitle: '获取种子列表', subtitle: '获取站点种子列表',
site: '站点', searchType: '搜索类型',
keyword: '关键词', searchOptions: {
category: '分类', name: '名称',
mediaList: '媒体列表',
},
name: '名称',
year: '年份',
type: '类型',
season: '季',
sites: '站点',
matchMedia: '匹配媒体数据',
}, },
sendMessage: { sendMessage: {
title: '发送消息', title: '发送消息',
@@ -460,8 +485,10 @@ export default {
title: '传输文件', title: '传输文件',
subtitle: '传输文件到目标目录', subtitle: '传输文件到目标目录',
source: '源目录', source: '源目录',
target: '目标目录', sourceOptions: {
storage: '存储', fileList: '文件列表',
downloads: '下载列表',
},
}, },
filterTorrents: { filterTorrents: {
title: '过滤资源', title: '过滤资源',
@@ -1109,6 +1136,7 @@ export default {
tvCategory: '电视剧', tvCategory: '电视剧',
animeCategory: '动漫', animeCategory: '动漫',
downloadUser: '远程搜索自动下载用户', downloadUser: '远程搜索自动下载用户',
downloadUserHint: '使用Telegram、微信等搜索时是否自动下载使用逗号分割设置为 all 代表所有用户自动择优下载',
multipleNameSearch: '多名称资源搜索', multipleNameSearch: '多名称资源搜索',
multipleNameSearchHint: '使用多个名称(中文、英文等)搜索站点资源并合并搜索结果,会增加站点访问频率', multipleNameSearchHint: '使用多个名称(中文、英文等)搜索站点资源并合并搜索结果,会增加站点访问频率',
downloadSubtitle: '下载站点字幕', downloadSubtitle: '下载站点字幕',
@@ -1117,13 +1145,13 @@ export default {
mediaSourceHint: '搜索媒体信息时使用的数据源以及排序', mediaSourceHint: '搜索媒体信息时使用的数据源以及排序',
filterRuleGroupHint: '搜索媒体信息时按选定的过滤规则组对结果进行过滤', filterRuleGroupHint: '搜索媒体信息时按选定的过滤规则组对结果进行过滤',
downloadUserPlaceholder: '用户ID1,用户ID2', downloadUserPlaceholder: '用户ID1,用户ID2',
downloadUserHint: '使用Telegram、微信等搜索时是否自动下载使用逗号分割设置为 all 代表所有用户自动择优下载',
downloadLabelPlaceholder: 'MOVIEPILOT', downloadLabelPlaceholder: 'MOVIEPILOT',
}, },
directory: { directory: {
storage: '存储', storage: '存储',
storageDesc: '设置本地或网盘存储。', storageDesc: '设置本地或网盘存储。',
directory: '目录', directory: '目录',
mediaType: '媒体类型',
directoryDesc: '设置媒体文件整理目录结构,按先后顺序依次匹配。', directoryDesc: '设置媒体文件整理目录结构,按先后顺序依次匹配。',
organizeAndScrap: '整理 & 刮削', organizeAndScrap: '整理 & 刮削',
organizeAndScrapDesc: '设置重命名格式、刮削选项等。', organizeAndScrapDesc: '设置重命名格式、刮削选项等。',
@@ -1182,8 +1210,8 @@ export default {
importHasId: '导入失败发现有规则存在相同ID可能属于自定义规则', importHasId: '导入失败发现有规则存在相同ID可能属于自定义规则',
}, },
scheduler: { scheduler: {
scheduledTasks: '定时作业', title: '定时作业',
scheduledTasksDesc: '包含系统内置服务以及插件提供的服务,手动执行不会影响作业正常的时间表。', subtitle: '包含系统内置服务以及插件提供的服务,手动执行不会影响作业正常的时间表。',
provider: '提供者', provider: '提供者',
taskName: '任务名称', taskName: '任务名称',
taskStatus: '任务状态', taskStatus: '任务状态',
@@ -1235,6 +1263,23 @@ export default {
progress: { progress: {
processing: '处理中', processing: '处理中',
}, },
subscribeSeason: {
title: '订阅 - {title}',
selectGroup: '选择剧集组',
defaultGroup: '默认',
seasonCount: '{count} 季',
episodeCount: '{count} 集',
seasonNumber: '第 {number} 季',
airDate: '首播于 {date}',
voteAverage: '{score}',
status: {
exists: '已入库',
partial: '部分缺失',
missing: '缺失',
},
submit: '提交订阅',
selectSeasons: '请选择订阅季',
},
userAddEdit: { userAddEdit: {
add: '添加用户', add: '添加用户',
edit: '编辑用户', edit: '编辑用户',
@@ -1253,11 +1298,11 @@ export default {
resetDefaultAvatar: '重置默认头像', resetDefaultAvatar: '重置默认头像',
restoreCurrentAvatar: '还原当前头像', restoreCurrentAvatar: '还原当前头像',
notifications: '通知', notifications: '通知',
wechat: '微信UserID', wechat: '微信ID',
telegram: 'Telegram UserID', telegram: 'Telegram ID',
slack: 'Slack UserID', slack: 'Slack ID',
vocechat: 'VoceChat UserID', vocechat: 'VoceChat ID',
synologyChat: 'SynologyChat UserID', synologyChat: 'SynologyChat ID',
webPush: 'WebPush', webPush: 'WebPush',
creatingUser: '正在创建【{name}】用户,请稍后', creatingUser: '正在创建【{name}】用户,请稍后',
updatingUser: '正在更新【{name}】用户,请稍后', updatingUser: '正在更新【{name}】用户,请稍后',
@@ -1653,23 +1698,6 @@ export default {
season: '第 {season} 季', season: '第 {season} 季',
noData: '没有已完成的订阅', noData: '没有已完成的订阅',
}, },
subscribeSeason: {
title: '订阅 - {title}',
selectGroup: '选择剧集组',
defaultGroup: '默认',
seasonCount: '{count} 季',
episodeCount: '{count} 集',
seasonNumber: '第 {number} 季',
airDate: '首播于 {date}',
voteAverage: '{score}',
status: {
exists: '已入库',
partial: '部分缺失',
missing: '缺失',
},
submit: '提交订阅',
selectSeasons: '请选择订阅季',
},
siteUserData: { siteUserData: {
title: '站点用户数据', title: '站点用户数据',
updateTime: '更新时间', updateTime: '更新时间',
@@ -1701,7 +1729,6 @@ export default {
resourceCategory: '资源分类', resourceCategory: '资源分类',
search: '搜索', search: '搜索',
itemsPerPage: '每页条数', itemsPerPage: '每页条数',
pageText: '{0}-{1} 共 {2} 条',
noData: '没有数据', noData: '没有数据',
loading: '加载中...', loading: '加载中...',
titleColumn: '标题', titleColumn: '标题',
@@ -1770,6 +1797,7 @@ export default {
renamingAll: '正在重命名 {path} 及目录内所有文件...', renamingAll: '正在重命名 {path} 及目录内所有文件...',
close: '关闭', close: '关闭',
loadingDirectoryStructure: '加载目录结构...', loadingDirectoryStructure: '加载目录结构...',
reorganize: '重新整理',
}, },
person: { person: {
alias: '别名:', alias: '别名:',
@@ -1796,6 +1824,19 @@ export default {
installing: '正在安装 {name} v{version} ...', installing: '正在安装 {name} v{version} ...',
installSuccess: '插件 {name} 安装成功!', installSuccess: '插件 {name} 安装成功!',
installFailed: '插件 {name} 安装失败:{message}', installFailed: '插件 {name} 安装失败:{message}',
filterPlugins: '过滤插件',
name: '名称',
hasNewVersion: '有新版本',
author: '作者',
label: '标签',
repository: '仓库',
sortTitle: '排序',
filter: '过滤:{name}',
noMatchingContent: '没有找到匹配的内容',
pleaseInstallFromMarket: '请从插件市场安装插件',
allPluginsInstalled: '所有插件已安装',
searchPlugins: '搜索插件',
searchPlaceholder: '按插件名称或描述搜索',
uninstalling: '正在卸载 {name} ...', uninstalling: '正在卸载 {name} ...',
uninstallSuccess: '插件 {name} 卸载成功!', uninstallSuccess: '插件 {name} 卸载成功!',
uninstallFailed: '插件 {name} 卸载失败:{message}', uninstallFailed: '插件 {name} 卸载失败:{message}',
@@ -1992,6 +2033,13 @@ export default {
shareFailed: '规则复制失败', shareFailed: '规则复制失败',
mediaType: '媒体类型', mediaType: '媒体类型',
category: '媒体类别', category: '媒体类别',
mediaTypeItems: {
movie: '电影',
tv: '电视剧',
anime: '动漫',
collection: '合集',
unknown: '未知',
},
}, },
mediaserver: { mediaserver: {
enableMediaServer: '启用媒体服务器', enableMediaServer: '启用媒体服务器',

View File

@@ -250,7 +250,6 @@ export default {
channel: '通知渠道', channel: '通知渠道',
name: '名稱', name: '名稱',
type: '類型', type: '類型',
typeHint: '選擇需要接收的通知類型',
enabled: '啟用', enabled: '啟用',
config: '配置', config: '配置',
wechat: { wechat: {
@@ -387,16 +386,23 @@ export default {
directory: '目錄', directory: '目錄',
}, },
addDownload: { addDownload: {
title: '添加下', title: '添加下',
subtitle: '添加源到下器', subtitle: '添加源到下器',
downloader: '下器', downloader: '下器',
category: '分', category: '分',
savePath: '保存路', savePath: '保存路',
onlyLack: '僅下載缺失的資源', sequential: '顺序下载',
forceResume: '强制继续',
firstLastPiece: '优先首尾文件',
onlyLack: '仅下载缺失资源',
}, },
addSubscribe: { addSubscribe: {
title: '添加訂閱', title: '添加订阅',
subtitle: '添加源到訂閱', subtitle: '添加源到订阅',
type: '类型',
name: '名称',
season: '季',
episode: '集',
}, },
fetchMedias: { fetchMedias: {
title: '獲取媒體數據', title: '獲取媒體數據',
@@ -406,6 +412,10 @@ export default {
type: '類型', type: '類型',
name: '名稱', name: '名稱',
year: '年份', year: '年份',
ranking: '榜单',
api: '插件API',
apiPath: 'API路径',
selectRanking: '选择榜单',
tmdbTrending: '流行趨勢', tmdbTrending: '流行趨勢',
doubanShowing: '正在熱映', doubanShowing: '正在熱映',
bangumiCalendar: 'Bangumi每日放送', bangumiCalendar: 'Bangumi每日放送',
@@ -424,44 +434,10 @@ export default {
title: '過濾媒體數據', title: '過濾媒體數據',
subtitle: '對媒體數據列表進行過濾', subtitle: '對媒體數據列表進行過濾',
type: '類型', type: '類型',
name: '名稱',
year: '年份', year: '年份',
vote: '評分', vote: '評分',
}, },
filterTorrents: {
title: '過濾資源',
subtitle: '對資源列表數據進行過濾',
quality: '質量',
qualityOptions: {
all: '全部',
blurayOriginal: '藍光原盤',
remux: 'Remux',
bluray: 'BluRay',
uhd: 'UHD',
webdl: 'WEB-DL',
hdtv: 'HDTV',
h265: 'H265',
h264: 'H264',
},
resolution: '分辨率',
resolutionOptions: {
all: '全部',
'4k': '4k',
'1080p': '1080p',
'720p': '720p',
},
effect: '特效',
effectOptions: {
all: '全部',
dolbyVision: '杜比視界',
dolbyAtmos: '杜比全景聲',
hdr: 'HDR',
sdr: 'SDR',
},
size: '大小範圍',
include: '包含(關鍵字、正則式)',
exclude: '排除(關鍵字、正則式)',
ruleGroups: '過濾規則組',
},
scrapeFile: { scrapeFile: {
title: '刮削文件', title: '刮削文件',
subtitle: '刮削媒體信息和圖片', subtitle: '刮削媒體信息和圖片',
@@ -503,8 +479,8 @@ export default {
sendMessage: { sendMessage: {
title: '發送消息', title: '發送消息',
subtitle: '發送任務執行消息', subtitle: '發送任務執行消息',
channel: '消息渠道', type: '類型',
userId: '用戶ID', content: '內容',
}, },
transferFile: { transferFile: {
title: '整理文件', title: '整理文件',
@@ -515,6 +491,41 @@ export default {
downloads: '下載任務', downloads: '下載任務',
}, },
}, },
filterTorrents: {
title: '過濾資源',
subtitle: '對資源列表數據進行過濾',
quality: '質量',
qualityOptions: {
all: '全部',
blurayOriginal: '藍光原盤',
remux: 'Remux',
bluray: 'BluRay',
uhd: 'UHD',
webdl: 'WEB-DL',
hdtv: 'HDTV',
h265: 'H265',
h264: 'H264',
},
resolution: '分辨率',
resolutionOptions: {
all: '全部',
'4k': '4k',
'1080p': '1080p',
'720p': '720p',
},
effect: '特效',
effectOptions: {
all: '全部',
dolbyVision: '杜比視界',
dolbyAtmos: '杜比全景聲',
hdr: 'HDR',
sdr: 'SDR',
},
size: '大小範圍',
include: '包含(關鍵字、正則式)',
exclude: '排除(關鍵字、正則式)',
ruleGroups: '過濾規則組',
},
title: '工作流', title: '工作流',
noWorkflow: '沒有工作流', noWorkflow: '沒有工作流',
noWorkflowDescription: '點擊添加按鈕創建工作流任務。', noWorkflowDescription: '點擊添加按鈕創建工作流任務。',
@@ -689,19 +700,23 @@ export default {
backButton: '返回', backButton: '返回',
}, },
torrent: { torrent: {
filterSite: '站點', selectAll: '全選',
filterSeason: '季集', clear: '清除',
filterFreeState: '促銷狀態', clearFilters: '清除篩選',
filterVideoCode: '視頻編碼', confirm: '確定',
filterEdition: '質量', resources: '個資源',
filterResolution: '分辨率', noResults: '沒有找到匹配的資源',
filterReleaseGroup: '製作組',
sortDefault: '默認', sortDefault: '默認',
sortSite: '站點', sortSite: '站點',
sortSize: '大小', sortSize: '大小',
sortSeeder: '做種數', sortSeeder: '做種數',
resources: '個資源', filterSite: '站點',
noResults: '暫無符合條件的資源', filterSeason: '季',
filterFreeState: '促銷狀態',
filterVideoCode: '視頻編碼',
filterEdition: '质量',
filterResolution: '分辨率',
filterReleaseGroup: '製作組',
}, },
calendar: { calendar: {
episode: '第{number}集', episode: '第{number}集',
@@ -1806,13 +1821,26 @@ export default {
repository: '插件倉庫', repository: '插件倉庫',
latest: '最新發布', latest: '最新發布',
}, },
installingPlugin: '正在安插件...', installingPlugin: '正在安插件...',
installing: '正在安 {name} v{version} ...', installing: '正在安 {name} v{version} ...',
installSuccess: '插件 {name} 安成功!', installSuccess: '插件 {name} 安成功!',
installFailed: '插件 {name} 安裝失敗{message}', installFailed: '插件 {name} 安装失败{message}',
filterPlugins: '過濾插件',
name: '名稱',
hasNewVersion: '有新版本',
author: '作者',
label: '標籤',
repository: '倉庫',
sortTitle: '排序',
filter: '過濾:{name}',
noMatchingContent: '沒有找到匹配的內容',
pleaseInstallFromMarket: '請從插件市場安裝插件',
allPluginsInstalled: '所有插件已安裝',
searchPlugins: '搜索插件',
searchPlaceholder: '按插件名稱或描述搜索',
uninstalling: '正在卸載 {name} ...', uninstalling: '正在卸載 {name} ...',
uninstallSuccess: '插件 {name} 已卸載', uninstallSuccess: '插件 {name} 卸载成功!',
uninstallFailed: '插件 {name} 卸載失敗{message}', uninstallFailed: '插件 {name} 卸载失败{message}',
updating: '正在更新 {name} ...', updating: '正在更新 {name} ...',
updateSuccess: '插件 {name} 更新成功!', updateSuccess: '插件 {name} 更新成功!',
updateFailed: '插件 {name} 更新失敗:{message}', updateFailed: '插件 {name} 更新失敗:{message}',
@@ -2004,6 +2032,15 @@ export default {
importFailed: '規則導入失敗', importFailed: '規則導入失敗',
shareSuccess: '規則已複製到剪貼板', shareSuccess: '規則已複製到剪貼板',
shareFailed: '規則複製失敗', shareFailed: '規則複製失敗',
mediaType: '媒體類型',
category: '媒體類別',
mediaTypeItems: {
movie: '電影',
tv: '電視劇',
anime: '動漫',
collection: '合集',
unknown: '未知',
},
}, },
mediaserver: { mediaserver: {
enableMediaServer: '啟用媒體伺服器', enableMediaServer: '啟用媒體伺服器',

View File

@@ -589,7 +589,7 @@ useDynamicButton({
v-model="activeSort" v-model="activeSort"
:items="sortOptions" :items="sortOptions"
density="comfortable" density="comfortable"
:label="t('plugin.sort')" :label="t('plugin.sortTitle')"
/> />
</VCol> </VCol>
</VRow> </VRow>

View File

@@ -660,7 +660,7 @@ onMounted(fetchData)
<div class="w-auto"> <div class="w-auto">
<VSelect v-model="itemsPerPage" :items="pageRange" density="compact" flat /> <VSelect v-model="itemsPerPage" :items="pageRange" density="compact" flat />
</div> </div>
<div class="w-auto text-sm">{{ t('transferHistory.pageInfo', pageTip) }}</div> <div class="w-auto text-sm">{{ t('transferHistory.pageInfo', pageTip) }} {{ totalItems }}</div>
<VPagination <VPagination
v-model="currentPage" v-model="currentPage"
show-first-last-page show-first-last-page