React项目中多语言的设置

项目中多语言的设置实属常见,这里有一份初学者的思路及代码分享

多语言设置

思路引导:
1.首先会有一个语言包,当然这是最繁琐的地方,如果客户方没有提供,则需要个人逐个翻译
2.其次选择不同的语言种类,则切换不同的语言类型
具体如下:
1.语言包:在合适的地方建立一个文件夹,命名为lang.js(可以在routes同级别);
格式:一一对应

exports.lang = {
	ah_cn: {
		//登录页面
		login_name: '请输入账号',
		login_pass: '请输入密码',
	},
	ex_us: {
		//登录页面
		login_name: 'Please input account number',
		login_pass: 'Please input a password',
	}
}

2.在fetch.js中把该文件引入并且存储在本地:

import {lang} from '../lang';

存储:

export function setLang(lang) {
	console.log(lang);  //此处的lang代表的就是我们创建的语言包
	store.set("lang", lang);
}

3.存储当前的语言类型(中文还是英文或者是其他)
存储:

export function setLang_type(type){
   store.set('type',type)
}

获取:

export function getLang_type(){
    return store.get('type')
}

4.根据语言类型获取相应的语种:
如果本地的语言存在,且语言状态===2的时候返回对应的英文,否则返回中文

export function getLang() {
	var langStore = store.get("lang");
	if (!!langStore&&Number(getLang_type())===2) {
	    return langStore.ex_us
	} else {
	    return langStore.ah_cn;
	}
}

5.页面的调用:
A.首先需要把切换语言的方法、实现语言展示的方法引入;

import { ,getLang,setLang_type } from '../utils/fetch';

B.语言的选择,当选择英文的时候调用setLang_type(2)否则就调用setLang_type(1)
C.实现页面的展示:

{getLang().login_pass}  ||  getLang().login_pass   ||  `${getLang().login_pass}¥`

根据需要展示的位置而设置


*双感叹号是要把数据类型变更为boolean类型
*stort.set()把目标存储在本地
*stort.get()把目标从本地取出来

猜你喜欢

转载自blog.csdn.net/baidu_41604826/article/details/83213610