vue中多语言配置(繁体,简体,英文)

  1. 下载安装
npm i i18n@8.24.5 -S
  1. 在views中创建文件夹
    在这里插入图片描述

  2. 在main.js中引入

import i18n from './i18n/i18n'

new Vue({
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app') //手动挂载
  1. 在i18n.js中配置
import Vue from 'vue';
import VueI18n from 'vue-i18n'
import locale from 'element-ui/lib/locale';
import en from './langs/en';
import tw from './langs/tw';
import zh from './langs/zh';

import enLocale from 'element-ui/lib/locale/lang/en'
import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
import twLocale from 'element-ui/lib/locale/lang/zh-TW'

Vue.use(VueI18n)

//将数据配置好
const messages = {
    en: Object.assign(en, enLocale),
    zh: Object.assign(zh, zhLocale),
    tw: Object.assign(tw, twLocale),
}
const i18n = new VueI18n({
    locale: localStorage.lang || 'tw',
    messages, 
})
locale.i18n((key, value) => i18n.t(key, value)) //为了实现element插件的多语言切换

export default i18n

5.配置en.js和zh.js以及tw.js

//en.js
module.exports = {
    language: 'LANG',
    startAppointment: 'START',
    reportQuery: 'Report Enquiry',
    notices: 'Important Notes:',
    text1: 'COVID-19 serology antibody test is suitable for fully vaccinated persons (Note 1)',
}
//zh.js
module.exports = {
    language: '语言',
    userNameRule: '請輸入中文姓名',
}
//tw.js
module.exports = {
    language: '語言',
    startAppointment: '開始預約',
    reportQuery: '報告查詢',
}

  1. 现在可以直接在vue中使用了
<p> {{$t('language')}}</p>

注意:只适用于静态文件资源,如果需要后端数据转换三种语言,可以使用监听local storage来实现,拿取不同的字段,目前已经实现,如有需要,请私聊我

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 项目中实现多语言配置的方法很多,其中一种常见的做法是使用 `vue-i18n` 库。下面是使用 `vue-i18n` 实现多语言配置的步骤: 1. 安装 `vue-i18n` 库。 ```shell npm install vue-i18n --save ``` 2. 在 `main.js` 中引入 `vue-i18n` 库,并初始化配置。 ```javascript import Vue from 'vue' import VueI18n from 'vue-i18n' import App from './App.vue' Vue.use(VueI18n) const i18n = new VueI18n({ locale: 'en', // 设置默认语言为英语 messages: { en: { greeting: 'Hello!' }, zh: { greeting: '你好!' } } }) new Vue({ el: '#app', i18n, render: h =&gt; h(App) }) ``` 在上面的代码中,首先引入 `vue-i18n` 库,并通过 `Vue.use()` 方法将其安装到 Vue 中。然后,初始化 `VueI18n` 实例,并设置默认语言为英语,同时设置了英语和中文两种语言的翻译内容。 3. 在组件中使用 `$t` 方法来获取翻译内容。 ```html <template&gt; <div&gt; <p&gt;{{ $t('greeting') }}</p&gt; </div&gt; </template&gt; ``` 在上面的代码中,我们使用 `$t` 方法来获取 `greeting` 这个翻译内容。`$t` 方法会根据当前语言环境自动获取对应的翻译内容,如果找不到对应的翻译,则会返回原始字符串。 4. 在页面中添加语言切换按钮,以便用户可以切换不同的语言。 ```html <template&gt; <div&gt; <p&gt;{{ $t('greeting') }}</p&gt; <button @click="switchLang('en')"&gt;English</button&gt; <button @click="switchLang('zh')"&gt;中文</button&gt; </div&gt; </template&gt; <script&gt; export default { methods: { switchLang(lang) { this.$i18n.locale = lang // 切换语言 } } } </script&gt; ``` 在上面的代码中,我们添加了两个按钮,分别用于切换为英语和中文。当用户点击按钮时,会触发 `switchLang` 方法来切换当前的语言环境。在 `switchLang` 方法中,我们通过修改 `$i18n.locale` 属性来切换当前语言环境。 通过上面的步骤,我们就可以在 Vue 项目中实现多语言配置了。当用户切换语言时,页面中的文本内容会自动切换为对应的翻译内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值