我搜了搜资料,发现大多数是不同语言的js文件分开做,然后根据用户语言环境去加载对应的js文件。但是我现在因为使用场景限制,最好是在一个js文件里完成。我现在打算支持3种语言(中文、日文、英文),而且输出文字的地方也比较多,可能有上百条,中间也经常要拼接变量。更新:我现在用的办法是参考“上大人”的回答,根据自己需要修改的结果:这样满足了我的需求。仅供参考~
1 回答
手掌心
TA贡献1942条经验 获得超3个赞
你的意思大概是想把所有文字都翻译,但由于语法结构问题变量的位置是未知的不知道怎么解决是吧?
思路的话其实你可以参考模板渲染的思路.
我打个比方
var language = {
'hello': [
'hello,{val}!',
'{val},コン!'
]
};
var lang = 0; // 当前英文
function translate (msgVariable, data, msg) {
if (msg !== undefined) language[msgVariable].push(msg);
return language[msgVariable][lang].replace('{val}', data);
}
var data = '张三';
var msg = translate('hello', data, '你好,{val}!');
添加回答
举报
0/150
提交
取消