jxxghp
2025-06-17 19:59:23 +08:00
parent df4c3c7676
commit 201ae2c237
4 changed files with 125 additions and 3 deletions

View File

@@ -1044,6 +1044,8 @@ export default {
scrapOriginalImageHint: 'Scrap original language image from themoviedb, otherwise scrap metadata language image',
fanartEnable: 'Fanart Image Data Source',
fanartEnableHint: 'Use image data from fanart.tv',
fanartLang: 'Fanart Language',
fanartLangHint: 'Set language preference for Fanart images, ordered by priority when multiple selected',
githubProxy: 'Github Acceleration Proxy',
githubProxyPlaceholder: 'Leave empty for no proxy',
githubProxyHint: 'Use proxy to accelerate Github access speed',
@@ -1086,6 +1088,18 @@ export default {
zhTW: 'Traditional Chinese',
en: 'English',
},
fanartLanguage: {
zh: 'Chinese',
en: 'English',
ja: 'Japanese',
ko: 'Korean',
de: 'German',
fr: 'French',
es: 'Spanish',
it: 'Italian',
pt: 'Portuguese',
ru: 'Russian',
},
logLevelItems: {
debug: 'DEBUG',
info: 'INFO',

View File

@@ -1038,6 +1038,8 @@ export default {
scrapOriginalImageHint: '刮削原语种图片,否则刮削元数据语种图片',
fanartEnable: 'Fanart图片数据源',
fanartEnableHint: '使用 fanart.tv 的图片数据',
fanartLang: 'Fanart语言',
fanartLangHint: '设置Fanart图片的语言偏好多选时按优先级顺序排列',
githubProxy: 'Github加速代理',
githubProxyPlaceholder: '留空表示不使用代理',
githubProxyHint: '使用代理加速Github访问速度',
@@ -1077,6 +1079,18 @@ export default {
zhTW: '繁体中文',
en: '英文',
},
fanartLanguage: {
zh: '中文',
en: '英文',
ja: '日文',
ko: '韩文',
de: '德文',
fr: '法文',
es: '西班牙文',
it: '意大利文',
pt: '葡萄牙文',
ru: '俄文',
},
logLevelItems: {
debug: 'DEBUG - 调试',
info: 'INFO - 信息',

View File

@@ -1037,6 +1037,8 @@ export default {
scrapOriginalImageHint: '刮削原語种圖片,否则數據元数据語种圖片',
fanartEnable: 'Fanart圖片數據源',
fanartEnableHint: '使用 fanart.tv 的圖片數據',
fanartLang: 'Fanart語言',
fanartLangHint: '設定Fanart圖片的語言偏好多選時按優先級順序排列',
githubProxy: 'Github加速代理',
githubProxyPlaceholder: '留空表示不使用代理',
githubProxyHint: '使用代理加速Github訪問速度',
@@ -1076,6 +1078,18 @@ export default {
zhTW: '繁體中文',
en: '英文',
},
fanartLanguage: {
zh: '中文',
en: '英文',
ja: '日文',
ko: '韓文',
de: '德文',
fr: '法文',
es: '西班牙文',
it: '意大利文',
pt: '葡萄牙文',
ru: '俄文',
},
logLevelItems: {
debug: 'DEBUG - 調試',
info: 'INFO - 信息',

View File

@@ -49,6 +49,7 @@ const SystemSettings = ref<any>({
META_CACHE_EXPIRE: 0,
SCRAP_FOLLOW_TMDB: true,
FANART_ENABLE: false,
FANART_LANG: 'zh,en',
TMDB_SCRAP_ORIGINAL_IMAGE: null,
// 网络
PROXY_HOST: null,
@@ -120,6 +121,20 @@ const tmdbLanguageItems = [
{ title: t('setting.system.tmdbLanguage.en'), value: 'en' },
]
// Fanart语言选项
const fanartLanguageItems = [
{ title: t('setting.system.fanartLanguage.zh'), value: 'zh' },
{ title: t('setting.system.fanartLanguage.en'), value: 'en' },
{ title: t('setting.system.fanartLanguage.ja'), value: 'ja' },
{ title: t('setting.system.fanartLanguage.ko'), value: 'ko' },
{ title: t('setting.system.fanartLanguage.de'), value: 'de' },
{ title: t('setting.system.fanartLanguage.fr'), value: 'fr' },
{ title: t('setting.system.fanartLanguage.es'), value: 'es' },
{ title: t('setting.system.fanartLanguage.it'), value: 'it' },
{ title: t('setting.system.fanartLanguage.pt'), value: 'pt' },
{ title: t('setting.system.fanartLanguage.ru'), value: 'ru' },
]
// 日志等级
const logLevelItems = [
{ title: t('setting.system.logLevelItems.debug'), value: 'DEBUG' },
@@ -406,6 +421,19 @@ const moviePilotAutoUpdate = computed({
},
})
// Fanart语言多选处理
const fanartLanguageSelection = computed({
get: () => {
if (!SystemSettings.value.Advanced.FANART_LANG) return []
return SystemSettings.value.Advanced.FANART_LANG.split(',')
.filter(Boolean)
.map((lang: any) => lang.trim())
},
set: (val: string[]) => {
SystemSettings.value.Advanced.FANART_LANG = val.join(',')
},
})
// 加载刮削开关设置
async function loadScrapingSwitchs() {
try {
@@ -745,42 +773,64 @@ onDeactivated(() => {
<VSwitch
v-model="SystemSettings.Advanced.AUXILIARY_AUTH_ENABLE"
:label="t('setting.system.auxAuthEnable')"
:hint="t('setting.system.auxAuthEnableHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch
v-model="SystemSettings.Advanced.GLOBAL_IMAGE_CACHE"
:label="t('setting.system.globalImageCache')"
:hint="t('setting.system.globalImageCacheHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch
v-model="SystemSettings.Advanced.SUBSCRIBE_STATISTIC_SHARE"
:label="t('setting.system.subscribeStatisticShare')"
:hint="t('setting.system.subscribeStatisticShareHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch
v-model="SystemSettings.Advanced.PLUGIN_STATISTIC_SHARE"
:label="t('setting.system.pluginStatisticShare')"
:hint="t('setting.system.pluginStatisticShareHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch
v-model="SystemSettings.Advanced.BIG_MEMORY_MODE"
:label="t('setting.system.bigMemoryMode')"
:hint="t('setting.system.bigMemoryModeHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch v-model="SystemSettings.Advanced.DB_WAL_ENABLE" :label="t('setting.system.dbWalEnable')" />
<VSwitch
v-model="SystemSettings.Advanced.DB_WAL_ENABLE"
:label="t('setting.system.dbWalEnable')"
:hint="t('setting.system.dbWalEnableHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch v-model="moviePilotAutoUpdate" :label="t('setting.system.moviePilotAutoUpdate')" />
<VSwitch
v-model="moviePilotAutoUpdate"
:label="t('setting.system.moviePilotAutoUpdate')"
:hint="t('setting.system.moviePilotAutoUpdateHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch
v-model="SystemSettings.Advanced.AUTO_UPDATE_RESOURCE"
:label="t('setting.system.autoUpdateResource')"
:hint="t('setting.system.autoUpdateResourceHint')"
persistent-hint
/>
</VCol>
</VRow>
@@ -793,6 +843,8 @@ onDeactivated(() => {
<VCombobox
v-model="SystemSettings.Advanced.TMDB_API_DOMAIN"
:label="t('setting.system.tmdbApiDomain')"
:hint="t('setting.system.tmdbApiDomainHint')"
persistent-hint
:placeholder="t('setting.system.tmdbApiDomainPlaceholder')"
:items="['api.themoviedb.org', 'api.tmdb.org']"
:rules="[(v: string) => !!v || t('setting.system.tmdbApiDomainRequired')]"
@@ -803,6 +855,8 @@ onDeactivated(() => {
<VCombobox
v-model="SystemSettings.Advanced.TMDB_IMAGE_DOMAIN"
:label="t('setting.system.tmdbImageDomain')"
:hint="t('setting.system.tmdbImageDomainHint')"
persistent-hint
:placeholder="t('setting.system.tmdbImageDomainPlaceholder')"
:items="['image.tmdb.org', 'static-mdb.v.geilijiasu.com']"
:rules="[(v: string) => !!v || t('setting.system.tmdbImageDomainRequired')]"
@@ -813,6 +867,8 @@ onDeactivated(() => {
<VSelect
v-model="SystemSettings.Advanced.TMDB_LOCALE"
:label="t('setting.system.tmdbLocale')"
:hint="t('setting.system.tmdbLocaleHint')"
persistent-hint
:placeholder="t('setting.system.tmdbLocalePlaceholder')"
:items="tmdbLanguageItems"
prepend-inner-icon="mdi-translate"
@@ -822,6 +878,8 @@ onDeactivated(() => {
<VTextField
v-model="SystemSettings.Advanced.META_CACHE_EXPIRE"
:label="t('setting.system.metaCacheExpire')"
:hint="t('setting.system.metaCacheExpireHint')"
persistent-hint
min="0"
type="number"
:suffix="t('setting.system.hour')"
@@ -838,16 +896,38 @@ onDeactivated(() => {
<VSwitch
v-model="SystemSettings.Advanced.SCRAP_FOLLOW_TMDB"
:label="t('setting.system.scrapFollowTmdb')"
:hint="t('setting.system.scrapFollowTmdbHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch
v-model="SystemSettings.Advanced.TMDB_SCRAP_ORIGINAL_IMAGE"
:label="t('setting.system.scrapOriginalImage')"
:hint="t('setting.system.scrapOriginalImageHint')"
persistent-hint
/>
</VCol>
<VCol cols="12" md="6">
<VSwitch v-model="SystemSettings.Advanced.FANART_ENABLE" :label="t('setting.system.fanartEnable')" />
<VSwitch
v-model="SystemSettings.Advanced.FANART_ENABLE"
:label="t('setting.system.fanartEnable')"
:hint="t('setting.system.fanartEnableHint')"
persistent-hint
/>
</VCol>
<VCol v-if="SystemSettings.Advanced.FANART_ENABLE" cols="12" md="6">
<VSelect
v-model="fanartLanguageSelection"
:label="t('setting.system.fanartLang')"
:hint="t('setting.system.fanartLangHint')"
persistent-hint
:items="fanartLanguageItems"
multiple
chips
closable-chips
prepend-inner-icon="mdi-translate"
/>
</VCol>
</VRow>