vue i18n - 使用它作为javascript对象(不在模板内)?

时间:2017-04-17 08:42:25

标签: vue.js vuejs2

是否可以使用vue,vue-i18n仅使用javascript(作为对象),而不是在模板中?

我想在window.confirm之类的东西中使用它,这可能吗?

感谢。

3 个答案:

答案 0 :(得分:4)

是的,可能,我从未使用过这个插件,但看起来非常简单:

首先创建实例:

// Ready translated locale messages
const messages = {
  en: {
    message: {
      greeting: 'hi {name}'
    }
  },
  es: {
    message: {
      greeting: 'hola {name}'
    }
  }
}

// Create VueI18n instance with options
const i18n = new VueI18n({
  locale: 'es', // set locale
  messages, // set locale messages
})

(请注意' const'是es6)

然后你可以在任何存在i18n var的js中使用它:

i18n.t('greeting', { name: 'kazupon' }) // -> hola kazupon

文档:

http://kazupon.github.io/vue-i18n/en/started.html

http://kazupon.github.io/vue-i18n/en/migrations.html

答案 1 :(得分:2)

在版本 6.x 或更高版本

中使用组件内部
mounted() {
    this.$i18n.t('path', 'en', { foo: 'bar' })
}

mounted() {
    this.$t('path', 'en', { foo: 'bar' })
}

对于版本 5.x

mounted() {
    Vue.t('path', 'en', { foo: 'bar' })
}

来源:https://github.com/kazupon/vue-i18n/issues/149#issuecomment-300096155

答案 2 :(得分:0)

是的, 将i18n.js配置文件导入需要获取18n值的位置(已使用Vue.js项目配置i18n的位置)

import i18n from '@/plugins/i18n'

使用@从根目录获取路径。

然后

附加值
i18n.t('salesOrder'),