zoukankan      html  css  js  c++  java
  • vue 国际化i18n 多语言切换

    安装

    npm install vue-i18n

    新建一个文件夹 i18n ,内新建 en.js zh.js index.js 三个文件

    准备翻译信息

    en.js

    export default {
      home: {
        helloworld: "hello workd !"
      }
    };

    zh.js

    export default {
      home: {
        helloworld: "你好世界"
      }
    };

    index.js

    创建Vue-i18n实例

    import Vue from "vue";
    import VueI18n from "vue-i18n";
    import enLocale from "./en";
    import zhLocale from "./zh";
    
    Vue.use(VueI18n);
    const i18n = new VueI18n({
      locale: localStorage.lang || "zh",
      messages: {
        en: {
          ...enLocale
        },
        zh: {
          ...zhLocale
        }
      }
    });
    export default i18n;

    i18n 挂载到 vue 根实例

    main.js

    import Vue from "vue";
    import App from "./App.vue";
    import router from "./router";
    import store from "./store";
    import i18n from "./assets/i18n/index";
    
    Vue.config.productionTip = false;
    
    Vue.prototype.$i18n = i18n;
    
    new Vue({
      router,
      store,
      i18n,
      render: h => h(App)
    }).$mount("#app");

    简单的使用

    about.vue

    <template>
      <div class="about">
        <h1>{{ $t("home.helloworld") }}</h1>
        <button @click="changeLang()">切换英文</button>
        <p>{{hi}}</p>
      </div>
    </template>
    
    <script>
    export default {
      data: function() {
        return {};
      },
      computed: {
        hi() {
          return this.$t("home.helloworld");
        }
      },
      methods: {
        changeLang() {
          this.$i18n.locale = "en";
        }
      }
    };
    </script>

    注意:

    比如说上面的hi 你要通过这种形式来写的时候,不能放在data 里面,因为当语言切换的时候 他是不会变的 ,要写在computed内

    此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处。

    如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。

  • 相关阅读:
    一句话解释c#中的特性,你了解多少
    CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?
    samba服务器配置及window网络磁盘映射
    PHP中各种Hash算法性能比较
    Redis持久化
    设置redis主从出现的问题
    Redis启动多端口、运行多实例
    Redis学习手册(主从复制)
    tengine/nginx-tomcat动静分离遇到的问题
    使用 Git Hooks 实现自动项目部署
  • 原文地址:https://www.cnblogs.com/huangenai/p/9766932.html
Copyright © 2011-2022 走看看