Vue i18n 热加载

  使用i18n遇到点问题,切换语言或者页面初始化的时候多语言可以生效,但是当,$t里面传的是一个变量,在页面做完某个操作,导致 这个值变化以后,由于vue是双向绑定的,页面的显示会变化,但是翻译不会变,这就不太友好了。

  项目里国际化的使用参见这里:页面 | Vue Antd Admin (gitee.io)  (我们使用的是Antd)

  静态的多语言是没问题的,如果想要动态,那么我们就需要单写一个方法做转换了,

  原调用$t(变量名),修改为Convert(变量名),Convert方法如下:

Convert(val){
    var i18n=require('./i18n');
    return i18n.messages[当前多语言的key][val];
}

  当前多语言的key在Antd项目中是个全局变量,自己去找一下命名即可。上面是伪代码。

  这样每次变量的值修改以后,Convert都会对其进行转换,然后在页面呈现。Antd项目可以这么做,其他使用了vue i18n的也可以,毕竟原理都是相通的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章