Vue.js Vue-i18n';无法读取属性'_t';在Proxy.Vue.$t';

Vue.js Vue-i18n';无法读取属性'_t';在Proxy.Vue.$t';,vue.js,vuejs2,vue-i18n,Vue.js,Vuejs2,Vue I18n,在将vue-i18n整合到我的应用程序中时出现问题。用作灵感 <b-navbar-nav class="ml-auto" > <b-nav-item-dropdown :text="display_name" right> <b-dropdown-item disabled>{{ $t('username') }}: {{ username }}</b-dropdown-item> <b-dropdown-

在将vue-i18n整合到我的应用程序中时出现问题。用作灵感

  <b-navbar-nav class="ml-auto" >
    <b-nav-item-dropdown :text="display_name" right>
      <b-dropdown-item disabled>{{ $t('username') }}: {{ username }}</b-dropdown-item>
      <b-dropdown-item disabled>Organisation: {{ organisation }}</b-dropdown-item>
    </b-nav-item-dropdown>
  </b-navbar-nav>
我正在使用vue-cli-3网页包配置,并从npm安装了vue-i18n,并将其用作插件

i18n.js(在src/plugins目录中):

main.js:

import Vue from 'vue/dist/vue.js'
import VueRouter from 'vue-router'
import BootstrapVue from 'bootstrap-vue'
import VueSpinners from 'vue-spinners'

import i18n from './plugins/i18n'
...
new Vue({
  router,
  i18n,
  data() {
    return store;
  },
  render: h => h(App)
}).$mount('#app')
package.json中的依赖项:

"dependencies": {
  "axios": "^0.18.0",
  "bootstrap-vue": "^2.0.0-rc.11",
  "npm": "^6.5.0",
  "ol": "^5.3.0",
  "proj4": "^2.5.0",
  "qs": "^6.6.0",
  "vue": "^2.5.17",
  "vue-i18n": "^8.8.1",
  "vue-router": "^3.0.2",
  "vue-spinners": "^1.0.2"
},

我需要做什么?

啊,令人尴尬的简单,我改变了

从“./plugins/i18n”导入i18n

从“/plugins/i18n”导入{i18n}


现在一切都正常了。

如果有人带着同样的问题来到这里,但使用的是
导出默认值
,我在main.js中有这个:

import translations from './translations';

new Vue({
    translations,
    ...
}).$mount('#app');
其中translations/index.js加载了插件,一切正常。显然,您必须将导入命名为“i18n”,才能使其正常工作:

import i18n from './translations';

new Vue({
    i18n,
    ...
}).$mount('#app');
src/i18n/index.js

main.js

Vue.prototype.\u i18n=i18n必须位于行App.mpType='App'

App.mpType='App'
Vue.prototype._i18n=i18n

我也报告了此错误,但我没有使用上述方法解决它。最后,我发现我们不应该引入模态。请删除以下代码以解决此问题:

import Modal from XXX

export default {
  components: {
    Modal
}

请查看并在两天后返回,如果您的声誉超过15,请按回答检查。您可以随意命名导入,但如果命名为
i18n
import i18n from './translations';

new Vue({
    i18n,
    ...
}).$mount('#app');
import Vue from 'vue'
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)


// 注册i18n实例并引入语言文件
const i18n = new VueI18n({
  locale: 'zh_cn',
  messages: {
    'zh_cn': require('@/assets/languages/zh_cn.json'),
    'en_us': require('@/assets/languages/en_us.json'),
    'es_ve': require('@/assets/languages/es-ve.json')
  }
})

export default i18n
import i18n from '@/i18n'

new Vue({
  i18n,
  router,
  render: h => h(App)
}).$mount('#app')
import Modal from XXX

export default {
  components: {
    Modal
}