我正在尝试在组件外部使用 i18n 我找到了这个解决方案 https://github.com/dkfbasel/vuex-i18n/issues/16 告诉我使用 Vue.i18n.translate(‘str’),但是当我调用此发生错误 Cannot read property ‘translate’ of undefined.
我正在使用以下配置
主程序
import i18n from './i18n/i18n';
new Vue({
router,
store,
i18n: i18n,
render: h => h(App)
}).$mount('#app')
国际化.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import i18nData from './i18nData'
Vue.use(VueI18n);
export default new VueI18n({
locale: 'en',
messages: i18nData,
});
i18nData.js
export default {
en: {
//my messages
}
}
然后我试着用这个
import Vue from 'vue';
Vue.i18n.translate('someMessage');
谁能帮我?
原文由 Alexandre Heinen 发布,翻译遵循 CC BY-SA 4.0 许可协议
要将
i18n
与 Vue 3 的组合 API 一起使用,但在组件的setup()
之外, 您可以访问 其翻译 API(例如t
global
)---
财产。例如在具有单元可测试组合函数的文件中: