i18n使用,包含vue怎么使用i18n

本文介绍了如何在Vue项目中安装和配置i18n进行多语言支持,包括设置i18n文件结构、引入和管理语言文件、在main.js和组件中使用i18n以及切换语言的方法。
摘要由CSDN通过智能技术生成

1.安装 i18n


npm install vue-i18n@8.17.3  

注意:i18n最新版本存在兼容问题

2. src目录下创建i18n文件夹


|--src	
	|--i18n/
		|--lang/
			|--cn.js
			|--en.js
			|--index.js
		|--index.js

3.i18n不同目录下文件内容


// src\i18n\lang\cn.js
export default {
  message: {
    hello: '你好,世界',
    dataTest: 'data测试 ',
    computedTest: 'computed测试 '
  }
}
// src\i18n\lang\en.js
export default {
  message: {
    hello: 'hello world',
    dataTest: 'data test',
    computedTest: 'computed test '

  }
}
// src\i18n\lang\index.js
import en from './en'
import cn from './cn'

export default {
  en,
  cn
}
// src\i18n\index.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
import messages from './lang';

export default new VueI18n({
  locale: 'cn',
  messages,
})

4.main.js新填内容


import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

import i18n from './i18n'  //新填内容

new Vue({
  render: h => h(App),
  i18n  //新填内容
}).$mount('#app')

5. vue文件使用


<template>
  <div id="app">
    <!--    在标签内显示-->
    <div>{{ $t("message.hello") }}</div>
    <!--    绑定data数据-->
    <div>{{ $t(this.dataTest) }}</div>
    <!--    绑定计算属性(推荐)-->
    <div>{{ this.computedTest }}</div>
    <button @click="changeLang('cn')">切换到中文</button>
    <button @click="changeLang('en')">切换到英文</button>
    <div></div>
  </div>
</template>

<script>
export default {
  name: "HelloWorld",
  props: {
    msg: String,
  },
  data() {
    return {
      dataTest: "message.dataTest",
    };
  },
  computed: {
    computedTest() {
      return this.$t("message.computedTest");
    },
  },
  methods: {
    changeLang(lang) {
      this.$i18n.locale = lang;
    },
  },
};
</script>

<style scoped>
</style>

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值