文章内容
2022/10/14 16:55:18,作 者: 黄兵
JavaScript 多语言示例
最近项目是一个中英文网站,前端的一些表单判断以及显示使用的是 JavaScript,在多语言环境中处理起来很麻烦,要不是一个语言版本的页面使用一个不同语言版本的 js 文件,但是 webpack 配置起来也很麻烦。
所以就需要多语言环境,下面是一个多语言的 JavaScript 经过项目实战,比较不错:
let lang_type = 2; // 获取语言类型,可以是 0,1,2 // 储存多语种文本 let xz_lang = { // 属性名写成方便理解的文字。我用的中文,如果考虑和外国人协作,可以写成英文。 // 在属性名前面加上下划线,和文本内容做出区别。 // 按照固定顺序排列(如:中日英) // {}表示需要进行替换的部分 '_过滤作品类型的按钮': [ '排除指定类型的作品', 'タイプでフィルタリングする', 'Filter by works type' ], '_tag搜索任务开始': [ '收藏数不低于{},向下抓取{}页', 'ブックマークの数は{}ページ以上で、{}ページがクロールされます。', 'The number of bookmarks is not less than {}, {} pages down to crawl.' ] }; // 翻译程序 function translate(name) { let content = xz_lang[name][lang_type]; if (arguments.length > 1) { // 把占位符 {} 替换成传递的参数 for (let i = 1; i < arguments.length; i++) { content = content.replace('{}', arguments[i]); } } return content; } // 测试 console.log(translate('_过滤作品类型的按钮')); console.log(translate('_tag搜索任务开始',1000,1000));
注释已经写的很明白了,无需多言。
参考资料:
1、如何优雅的在一个js文件里配置多语言(i18n),求探讨思路
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - JavaScript 多语言示例
评论列表