feat(metadata): overview falls back to Chinese variants only (MD-2)
- adapters: overviewLanguages() limits overview/tagline chain to Chinese variants (zh-CN→zh-SG→zh-TW→zh-HK); titles keep full chain; season supplement fetch skips languages useless for overview - setting metadata.overviewNonChineseFallback (default off) + UI switch - media detail shows "暂无简介" for empty entity/episode overview - scripts/overview-recompute.ts: recompute stored non-Chinese overviews from kv_cache only (no TMDB requests), dry-run by default, --apply - tests: chain unit tests, Heart Signal (103147) fixture, server recompute test, MP differential for episode overview - runbook + CHANGELOG Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
081db4651c
commit
f9901b514b
22 files changed
+887
-38
No files matched your search
@@ -246,6 +246,11 @@ export const MetadataSettings = z.object({
|
||||
.min(1)
|
||||
.max(8)
|
||||
.default(["zh-CN", "zh-SG", "zh-TW", "zh-HK", "en-US"]),
|
||||
/**
|
||||
* MD-2:简介 / 标语是否允许回退到非中文。缺省 false = 只按链里的中文变体(及排在第一个中文之前的语言)取,
|
||||
* 取不到留空;标题不受影响。链里没有中文时不起作用
|
||||
*/
|
||||
overviewNonChineseFallback: z.boolean().default(false),
|
||||
/**
|
||||
* DH-1 季 0(特别篇):true = full 刷新与元数据回刷在 TMDB 有季 0 时一并拉取每集信息并建集单元(对照 MP);
|
||||
* 季 0 不计入正片季总集数与订阅完成判定
|
||||
@@ -649,6 +654,7 @@ export const DEFAULT_SETTINGS: GlobalSettings = {
|
||||
tmdbApiKeySecretRef: null,
|
||||
tmdbBaseUrl: null,
|
||||
languages: ["zh-CN", "zh-SG", "zh-TW", "zh-HK", "en-US"],
|
||||
overviewNonChineseFallback: false,
|
||||
includeSpecials: true,
|
||||
},
|
||||
sites: {
|
||||
@@ -954,6 +960,7 @@ export const SETTINGS_SECTIONS: readonly SettingsSectionDef[] = [
|
||||
"metadata.tmdbApiKeySecretRef",
|
||||
"metadata.tmdbBaseUrl",
|
||||
"metadata.languages",
|
||||
"metadata.overviewNonChineseFallback",
|
||||
"metadata.includeSpecials",
|
||||
"cache.tmdbMaxSize",
|
||||
"identity.eagerTmdbLookup",
|
||||
|
||||
Reference in new issue
Block a user