当前位置:   article > 正文

vue项目国际化—实现多语言切换_vue国际化语言切换

vue国际化语言切换

一、 安装  项目终端输入以下代码:

npm install vue-i18n

二、 在main.js引入

  1. import Vue from 'vue'
  2. import VueI18n from 'vue-i18n'
  3. Vue.use(VueI18n)

三、 在src目录下创建locale文件夹(自己命名)

四、

1、在locale文件夹下创建json文件

这里我用的语言命名,例如阿拉伯语 = arab.json  中文简体 = zh.json

2、json文件里面是键值对,此处以lang1、lang2为key值只是单纯书写习惯,开发者可以自行命名

3、在main.js中注入i18n

  1. import Vue from "vue";
  2. import App from "./App";
  3. import store from "./store";
  4. import VueI18n from 'vue-i18n'
  5. //多语言文件
  6. import en from './locale/en.json'
  7. import zh from './locale/zh.json'
  8. import zh_TW from './locale/zh_TW.json'
  9. import arab from './locale/arab.json'
  10. const messages = {
  11. en,
  12. zh,
  13. zh_TW,
  14. arab,
  15. }
  16. let i18nConfig = {
  17. locale: uni.getStorageSync("language") || 'en',// 获取已设置的语言(缓存的值)
  18. messages
  19. }
  20. Vue.use(VueI18n)
  21. const i18n = new VueI18n(i18nConfig)
  22. const app = new Vue({
  23. i18n,
  24. store,
  25. ...App
  26. });
  27. app.$mount();

五、页面上使用

  1. <span>{{ $t("lang1") }}</span>
  2. <span>{{ $t("lang2") }}</span>
  3. <span>{{ $t("lang3") }}</span>
  4. <span>{{ $t("lang4") }}</span>

切换时语言需要使用this.$i18n.locale重新赋值

  1. this.$i18n.locale = language // 此language的值为你在main.js注入的多语言文件命名
  2. // 例如 英语:this.$i18n.locale = "en" 中文简体:this.$i18n.locale = "zh"

可以使用uni.setStorageSync() 缓存在本地

uni.setStorageSync("language", language);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/332144
推荐阅读
相关标签
  

闽ICP备14008679号