前端开发中有些需要支持中英文的,这篇就写一下我在项目中使用如何使用国际化的
中文: cn.js
const CN = {
movie:"电影",
movie_name:'你的名字',
movie_play: "观看",
movie_over: "已看完",
movie_replay: "重看",
};
module.exports = CN;
英文: en.js
const EN = {
movie: "Movie",
movie_name: 'Your Name',
movie_play: "Show",
movie_over: "Over",
movie_replay: "Reshow",
}
module.exports = EN;
日文: jp.js
const JP = {
movie: "映画",
movie_name: 'あなたの名前',
movie_play: "見る",
movie_over: "読み終わった",
movie_replay: "リプレイ",
};
module.exports = JP;
语言管理: language.js
/*
国际化文件(默认为中文)
通过 languageCode 可以修改当前显示的语言
*/
const CN = require('cn.js');
const EN = require('en.js');
const JP = require('jp.js');
const CODE_KEY = "goal_language_code";
const LanguageManager = {
//获取语言
get language (){
return [CN, EN, JP][this.languageCode-1];
},
// 设置语言code 1:中文 2:英文 3:日文
set languageCode(code) {
code = parseInt(code);
wx.setStorageSync(CODE_KEY, code);
if (this.onChange) {
this.onChange(this.languageCode);
}
},
// 获取语言code 如果没有设置默认为1
get languageCode(){
return wx.getStorageSync(CODE_KEY) ? wx.getStorageSync(CODE_KEY) : 1;
}
};
module.exports = LanguageManager;
实例:pages/index.js
// pages/index.js
//引入语言管理类
const LanguageMana = require('./language.js');
Page({
onLoad: function(options) {
this.bindCN();
},
bindCN() { //中文
LanguageMana.languageCode = 1;
console.log(LanguageMana.language.movie);
console.log(LanguageMana.language.movie_name);
},
bindEN() { //英文
LanguageMana.languageCode = 2;
console.log(LanguageMana.language.movie);
console.log(LanguageMana.language.movie_name);
},
bindJP() { //日文
LanguageMana.languageCode = 3;
console.log(LanguageMana.language.movie);
console.log(LanguageMana.language.movie_name);
}
})