码迷,mamicode.com
首页 > 其他好文 > 详细

vue根据按钮进行中英文切换

时间:2020-01-16 12:18:56      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:link   load   important   OLE   import   cookie   项目   ati   from   

刚学习vue不久,所以对vue了解还不是很深,一直处于边做边查的状态,这几天开发一个双语网站。
内容如下,希望对大家有帮助。
安装 vue-i18n插件npm install vue-i18n

1.首先是引进i18n

技术图片

1.首先是引进i18n

然后在index.js中

import VueI18n from ‘vue-i18n‘
import Vue from ‘vue‘

Vue.use(VueI18n)

const i18n = new VueI18n({
    locale: ‘cn‘,    // 语言标识
    messages: {
        ‘cn‘: require(‘./lang/cn‘),   // 中文语言包
        ‘en‘: require(‘./lang/en‘)    // 英文语言包
    },
})

export default  i18n

cn.js以及en.js中写入需要用到的中英文翻译内容
在main,import i18n from ‘./i18n‘ //引入配置文件

new Vue({
  el: ‘#app‘,
  router,
  store,
    i18n: i18n,
  render: h => h(App)
})

2.在用到英文切换的模板中添加

由于此项目是在中文状态下默认显示英文按钮,在英文状态下显示中文按妞,所以这里的代码如下
(1)导航处

<span class="label label-important"  :key="locale?‘en‘:‘cn‘" @click="changeLang()">{{lang}}</span>

静态文案的地方

<li>
<router-link to="/indexCon">{{ $t("message.index") }}</router-link>
</li>
//{{ $t("message.index") }}放你需要的翻译的内容

此项目中由于后端要求中英文返回的值为0和1,所以此处用到了$cookie

<script>
    export default {
      data () {
        return {
          locale: ‘cn‘,
          lang:‘ENG‘
        }
      },
      methods: {
         changeLang () {
          // 增加传入语言
              if(this.locale==‘cn‘){
                  this.lang=‘ENG‘;
                        this.locale=‘en‘;
                    }else{
                        this.lang=‘中文‘;
                        this.locale=‘cn‘;
                    }
          this.$cookie.set(‘lng‘, this.locale==‘cn‘?‘0‘:‘1‘, 1);
          window.location.reload();//进行刷新改变cookie里的值
        }
        
      },
      mounted() {
              if(this.$cookie.get(‘lng‘)==‘0‘){
                    this.locale=‘cn‘;
                    this.lang=‘ENG‘;
                }else{
                    this.locale=‘en‘;
                        this.lang=‘中文‘;
                }
                this.$cookie.set(‘lng‘, this.locale==‘cn‘?‘0‘:‘1‘, 1);
      },
      watch: {
        locale (val) {
          this.$i18n.locale = val;
          console.log("locale",val);
        }       
      }
    }
</script>

vue根据按钮进行中英文切换

标签:link   load   important   OLE   import   cookie   项目   ati   from   

原文地址:https://www.cnblogs.com/jlfw/p/12200400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!