vue-i18n是vue国际化的常用方案,但在实际项目运行中,我们发现有很多不方便使用的地方,
所以我们基于vue-i18n,实现架构上进行了调整,降低开发时,增重运行时。
一,VUE的标准实现方式
二,vue-i18n方式的缺点分析
这种方式,开发时的比重过大。
1,当词条发生变更时,还需要重新编译发布。
2,当词条数量较大时,基于文件的查找修改替换,操作不方便
3,当一个项目分组协作,语言包文件的维护极其不便
为此,我们对该结构进行了调整
三,最终采用的实现方式
1
1,我们通过词条管理UI(具备在线翻译功能),将数据持久化到数据库中
2,在运行平台启动一个监控程序,将数据库的数据,按关键应用抽取生成为js脚本。
3,运行平台在运行时,动态加载语言js脚本
4,页面上依然保持vue-i18n的使用方式不变
这样的好处:
当词条数量很多时,比如到达百万条的时候,维护操作更为简单
词条修改后自动生效,无需重新编译发布
多部门协作时,可以避免词条冲突或相互覆盖