vue 多语言 外挂 JSON文件?

作者站长头像
站长
· 阅读数 20

需求: 需要将多语言JSON文件外挂, 翻译人员将翻译好的多语言文件替换对应文件 前端不需要在打包更新 即可看到效果

之前的处理方案, 之前多语言文件是 JS 格式 定义了一个全局变量 vue 多语言 外挂 JSON文件? 如 ZHJSON 然后在 index.html 中引入 vue 多语言 外挂 JSON文件? 然后i18n注册词条用的是全局变量 vue 多语言 外挂 JSON文件?。按照这种方案可以实现 替换掉public/lang 下的语言包即可实现 刷新页面看到词条变化 无需打包更新

现在多语言文件需要是 JSON 文件 求问 index.html 里怎么引入对应多语言JSON文件 既可实现需求??

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