经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTMLCSS » CSS » 查看文章
vue 国际化i18n 多语言切换
来源:cnblogs  作者:huangenai  时间:2018/10/11 9:06:26  对本文有异议

安装

  1. npm install vue-i18n

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

准备翻译信息

en.js

  1. export default {
  2. home: {
  3. helloworld: "hello workd !"
  4. }
  5. };

zh.js

  1. export default {
  2. home: {
  3. helloworld: "你好世界"
  4. }
  5. };

index.js

创建Vue-i18n实例

  1. import Vue from "vue";
  2. import VueI18n from "vue-i18n";
  3. import enLocale from "./en";
  4. import zhLocale from "./zh";
  5. Vue.use(VueI18n);
  6. const i18n = new VueI18n({
  7. locale: localStorage.lang || "zh",
  8. messages: {
  9. en: {
  10. ...enLocale
  11. },
  12. zh: {
  13. ...zhLocale
  14. }
  15. }
  16. });
  17. export default i18n;

i18n 挂载到 vue 根实例

main.js

  1. import Vue from "vue";
  2. import App from "./App.vue";
  3. import router from "./router";
  4. import store from "./store";
  5. import i18n from "./assets/i18n/index";
  6. Vue.config.productionTip = false;
  7. Vue.prototype.$i18n = i18n;
  8. new Vue({
  9. router,
  10. store,
  11. i18n,
  12. render: h => h(App)
  13. }).$mount("#app");

简单的使用

about.vue

  1. <template>
  2. <div class="about">
  3. <h1>{{ $t("home.helloworld") }}</h1>
  4. <button @click="changeLang()">切换英文</button>
  5. <p>{{hi}}</p>
  6. </div>
  7. </template>
  8.  
  9. <script>
  10. export default {
  11. data: function() {
  12. return {};
  13. },
  14. computed: {
  15. hi() {
  16. return this.$t("home.helloworld");
  17. }
  18. },
  19. methods: {
  20. changeLang() {
  21. this.$i18n.locale = "en";
  22. }
  23. }
  24. };
  25. </script>

注意:

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

 

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号