文章目录
前言
在前面的文章head头部 中,有一个中英文切换的按钮,那么这篇文章将实现一个简单的中英文切换。在vue中,使用vue-i18n
插件来实现这个功能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、vue-i18n是什么?
一款针对Vue.js 的国际化插件。把网站的所有需要中英转换的数据配置成中英文json文件,需要编写大量中英文对照表,适合于少量的固定翻译。
二、使用步骤
1.安装vue-i18n
npm安装命令
npm install vue-i18n
安装成功如图(示例):
2.添加本地翻译信息
本地翻译信息有两个,zh.js中文和en.js英文,这两个js的内容是一一对照的。
在src文件夹下
创建lang文件夹,并添加两个zh.js和en.js文件。
如下图所示:
en.js—英文
zh.js—中文
index.js----处理默认语言与导出i18n对象,方便在main.js中use
en.js
代码如下(示例):
import enLocale from 'element-ui/lib/locale/lang/en'
const en = {
//全局配置
add : 'add',
welcome : 'welcome',
//局部
status : {
disabled : 'disabled', //不可用
abled : 'abled' //可用
},
//elementUI
...enLocale
}
export default en;
zh.js
代码如下(示例):
import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
const zh = {
//全局配置
add : '添加',
welcome : '欢迎您',
//局部
status : {
disabled : '不可用', //不可用
abled : '可用' //可用
},
//elementUI
...zhLocale
}
export default zh;
注意:
import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
import enLocale from 'element-ui/lib/locale/lang/en'
这是elementUI组件国际化。elementUI组件如何使用国际化中英文切换?
3.创建带有选项的i18n对象和设置默认语言标识
因为创建vue-i18n插件对象时,要传入必要的选项,如
locale语言标识
,
messages中英翻译信息
index.js
的功能主要是设置默认语言标识和use到Vue对象,创建vue-i18n对象,并导出这个它,然后在main.js中挂载到vue实例对象。
index.js
代码如下(示例):
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import en from './en.js'
import zh from './zh.js'
Vue.use(VueI18n)
const messages = {
en:en,
zh:zh
}
export function getLanguage(){
const chooseLanguage = window.localStorage.getItem("language");
if(chooseLanguage)
return chooseLanguage
//如果没有选择语言,默认为zh
const language = (navigator.language || navigator.browserLanguage