是否可以使用vue,vue-i18n仅使用javascript(作为对象),而不是在模板中?
我想在window.confirm之类的东西中使用它,这可能吗?
感谢。
答案 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
文档:
答案 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'),