Game Guide Hub
Game Guide Hub
Appearance
本站点通过一份统一语言配置支持 29 个语言/地区版本。
当前语言码:
zh, en, ru, es, pt-br, de, ko, ja, fr, pl, zh-tw, tr, th, es-419, uk, it, cs, hu, pt, sv, nl, vi, da, id, fi, ro, no, el, bg, ar。
地区规则:
zh 表示简体中文。zh-tw 表示繁体中文,同时覆盖台湾、香港、澳门。es 表示西班牙语(西班牙)。es-419 表示西班牙语(拉丁美洲)。pt 表示葡萄牙语(葡萄牙)。pt-br 表示葡萄牙语(巴西)。ar 是从右到左书写语言,运行时会设置 document.documentElement.dir = "rtl"。.vitepress/shared/locales.ts。.vitepress/theme/composables/useCurrentLanguage.ts。languageCodes 和 gameIds 自动生成,不需要手写每一种语言的 locale。localStorage,键名是 guide-site-language。/ 不跳转,会根据当前语言动态展示首页文案和游戏入口。/games/subnautica-2/{language}/guides/,切换语言时只替换路径中的语言段。匹配顺序是:先精确匹配,再按主语言回退。
pt-BR 匹配 pt-br,其他 pt-* 匹配 pt。es-419 匹配 es-419,其他 es-* 匹配 es。zh-TW、zh-HK、zh-MO、zh-Hant 匹配 zh-tw。zh-CN、zh-Hans、其他 zh-* 匹配 zh。nb、nn 匹配 no。en。在 .vitepress/shared/locales.ts 增加语言。
languages 里加一项。games['subnautica-2'].description 里加对应语言的游戏描述。aliases 里补浏览器可能上报的语言码。为每个游戏补内容目录。
games/subnautica-2/{lang}/index.mdgames/subnautica-2/{lang}/guides/index.mdgames/subnautica-2/{lang}/problems/index.md更新翻译工具。
tools/video-guide-generator/translate_guide.py 的 LANGUAGE_NAMES 里加入语言名。建议使用“缓存 + 分批 + 多语言并发”:
python tools\video-guide-generator\translate_guide.py 7641058917526654246-fa0221a286 `
--site-root sites\guide-site `
--game-id subnautica-2 `
--source-lang zh `
--targets en ru es pt-br de ko ja fr `
--step-batch-size 10 `
--jobs 4推荐发布节奏:
en, ru, es, pt-br, de, ko, ja, fr。参数建议:
.cache/translation 是翻译缓存,同一 prompt 命中缓存时不会重新调用模型。--step-batch-size 8-12 能减少长攻略的请求次数。--jobs 3-5 比较稳,太高可能触发 API 限流。构建站点:
npm run docs:build翻译脚本 dry-run:
python tools\video-guide-generator\translate_guide.py 7641058917526654246-fa0221a286 --target es --dry-run
python tools\video-guide-generator\translate_guide.py 7641058917526654246-fa0221a286 --targets en es pt-br --dry-run手动检查:
/ 首页语言按钮能显示全部 29 种语言。/games/subnautica-2/en/guides/ 切换到葡萄牙语(巴西)后进入 /games/subnautica-2/pt-br/guides/。es 和 es-419 不互相混淆。zh-TW、zh-HK 会匹配到 zh-tw。ar 页面方向是 RTL,导航和按钮不重叠。locales.ts 没有乱码。.vitepress/theme/Layout.vue 是否仍然渲染 LanguageSwitcher。index.md 是否渲染 <HomeLanguageContent />。languages 里是否有该语言,并确认内容索引页已经创建。languages 里的语言码完全一致。