vue中的js文件如何使用i18n 国际化

发布于 2022-09-11 14:59:29 字数 532 浏览 11 评论 0

我vue项目中 static/js/country_region.js 这个文件是导入在某个.vue 文件用作下拉列表

但是我的网站的多语言的,所有引入了i18n,但是 $t() 这个语法只能用在.vue中,请问我在这个js文件中怎么用啊

import Vue from 'vue';
import store from '../../src/vuex/store'
export default [
  {value: '0',label: Vue.$t('passport.authing')},
  {value: 'London',label: 'London'},
  {value: 'Sydney',label: 'Sydney'},
  {value: 'Ottawa',label: 'Ottawa'},
  {value: 'Paris',label: 'Paris'},
  {value: 'Canberra',label: 'Canberra'}
]

我这样写会报错

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

星軌x 2022-09-18 14:59:29

确实可以的!

韶华倾负 2022-09-18 14:59:29

import i18n from 'i18n'
i18n.t('...')
这个方式试试

蓝海似她心 2022-09-18 14:59:29

你这样写不在vue中,需要包起来,直接在main.js的new Vue 赋给一个变量,然后再从变量中获取就可以了
如 main.js中
window.vm= new Vue({
// 单独js 中,
{value: '0',label: window.vm.$i18n.t('passport.authing')}
import Vue from 'vue' 这段都不需要了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文