首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Vue文件中导入i18n

如何在Vue文件中导入i18n
EN

Stack Overflow用户
提问于 2020-11-26 17:12:51
回答 2查看 6.3K关注 0票数 2

我正在使用i18n库在Vue.js中进行语言翻译。我想在其中导入我的脚本并在数据中存储一个值,但是我在导入它时遇到了困难。我该怎么进口呢?我试过使用import $t from "./i18n";,但这只会返回以下错误:Module not found: Error: Can't resolve './i18n'

这是我的代码:

代码语言:javascript
运行
复制
script>
import Header from "../components/Header";
import $ from "jquery";
import $t from "./i18n";

export default {
  name: "GroupPermissions",
  components: {
    Header
  },
  data() {
    return {
      showAddGroupDialog: false,
      updatePermissionDialog: false,
      itemsToBeDeleted: [],
      permissions: $t("groupPermissions.table.permissions")
    };

我的main.js:

代码语言:javascript
运行
复制
import Vue from "vue";
import App from "./App.vue";
import router from "./router";

import "bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";

import VueMaterial from "vue-material";
import "vue-material/dist/vue-material.min.css";
import "vue-material/dist/theme/default.css";
import "vue-multiselect/dist/vue-multiselect.min.css";
import $ from "jquery";
import Multiselect from "vue-multiselect";
import i18n from "./i18n";
import "@/plugins/echarts";
import Sticky from 'vue-sticky-directive'

Vue.component("multiselect", Multiselect);
Vue.use(VueMaterial);
Vue.use(Sticky);

Vue.config.productionTip = false;

new Vue({
  router,
  $,
  i18n,
  render: h => h(App)
}).$mount("#app");
EN

Stack Overflow用户

发布于 2020-12-02 14:53:40

Imre展示了如何在全球范围内安装vue-i18n。我要补充的是,您还可以导入i18n的一个实例,并在任何javascript文件中使用它,而不仅仅是在Vue组件中。

如果您像这样导出i18n

代码语言:javascript
运行
复制
import VueI18n from 'vue-i18n';

export const i18n = new VueI18n({
    locale: 'en',
    messages: { 'en': { title: 'Title' }},
});

然后,您可以在Vue组件中使用它,尽管using this.$t()更好。

代码语言:javascript
运行
复制
<script>
import Header from "../components/Header";
import $ from "jquery";
import { i18n } from "./i18n";

export default {
  name: "GroupPermissions",
  components: {
    Header
  },
  data() {
    return {
      showAddGroupDialog: false,
      updatePermissionDialog: false,
      itemsToBeDeleted: [],
      permissions: i18n.t("groupPermissions.table.permissions")
    };
</script>

但更重要的是,你可以在其他任何地方使用这个。

代码语言:javascript
运行
复制
//some-function.js
import { i18n } from "./i18n";

function someFunction() {
  console.log(i18n.t(...));
}
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65026546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档