vue 多语言 外挂 JSON文件?
需求: 需要将多语言JSON文件外挂, 翻译人员将翻译好的多语言文件替换对应文件 前端不需要在打包更新 即可看到效果
之前的处理方案, 之前多语言文件是 JS 格式 定义了一个全局变量 如 ZHJSON 然后在 index.html 中引入
然后i18n注册词条用的是全局变量
。按照这种方案可以实现 替换掉public/lang 下的语言包即可实现 刷新页面看到词条变化 无需打包更新
现在多语言文件需要是 JSON 文件 求问 index.html 里怎么引入对应多语言JSON文件 既可实现需求??
回复
1个回答

test
2024-06-28
可以尝试使用 Vue I18n
的 延迟加载翻译
功能,将 json
文件放在 public
目录下然后动态 import()
即可。
const messages = await import("/public/locales/zh.json");
或者可以通过网络请求获取 json
文件
const response = await fetch("/public/locales/zh.json");
const messages = await response.json();
- Vue I18n 9.x Lazy loading
- Vue I18n 8.x 延迟加载翻译
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容