首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vue-i18n中的动态定位

vue-i18n中的动态定位
EN

Stack Overflow用户
提问于 2017-08-27 19:58:12
回答 1查看 3.8K关注 0票数 2

我想动态更新vue-i18n中的本地化消息。

我正在建立一个网络商店,在那里每个项目都有更多的语言描述。因此,我想要实现的是,当我从REST中获得webshop项目时,我希望将它们的名称、描述等放在vue-i18n中的messages对象中,以便它能够与它们一起工作。vue-i18nAPI有什么可以处理的吗?另外,我正在从服务器获得数据(我得到了一个承诺),所以当我最终得到响应并将数据添加到本地化时,如何确保它在浏览器视图中得到更新?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-07 08:24:13

我所做的就是编写一个混合器,并在需要动态本地化的任何地方使用它:

代码语言:javascript
复制
export default {
  methods: {
    $t: function (translate) {
      if (typeof translate === 'string') {
        return this.$i18n.t(translate)
      } else if (translate === void 0) {
        return this.$i18n.t('loading')
      }
      return translate[this.$i18n.locale]
    }
  }
}

这样,当我的文本看起来如下所示时,我可以调用$t(text) (当然不是 $t('text') ):

代码语言:javascript
复制
data: function () {
   return {text: {en:'Book', de:'Buch', hu:'Könyv'}}
}

因此,在您的组件中,您必须导入它并将其添加为一个混合器:

代码语言:javascript
复制
import dynamicLocalization from '@/components/mixins/dynamic-localization'

export default {
   ...
   mixins:[dynamicLocalization]
   ...
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45908797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档