国际化
语言文件位于:
text
src/locales/langs/
├── en-US/common.json
├── ja-JP/common.json
└── zh-CN/common.jsonsrc/locales/index.ts 使用 import.meta.glob 扫描 JSON,并按 语言/命名空间 懒加载。当前语言保存在 localStorage 的 lang 键中,默认值为 zh-CN。
新增语言
- 创建
src/locales/langs/<locale>/common.json。 - 保持各语言的键结构一致。
- 将 locale 加入
SUPPORTED_LOCALES。 - 调用
setLang('<locale>')切换语言。
ts
import { setLang } from "@/locales";
await setLang("en-US");切换后,模块会设置 Vue I18n locale、持久化选择,并同步更新页面正文、底部导航、路由标题、document.title 与 <html lang>。
页面路由标题保存的是翻译键,例如 common.routes.home。Tabs 和示例列表必须使用 computed,不要在 setup 时把 t() 的结果写入普通数组,否则切换语言后不会更新。