欢迎光临散文网 会员登陆 & 注册

纯js实现网页语言切换

2023-08-21 17:56 作者:听风静待雨停  | 我要投稿

之前一直在找有没有不引入外部组件实现网页语言切换的方法,使用搜索引擎查找多次未果,最后问了一次github copilot,得到了之前没见过的结果,并且不用引入外部库,遂尝试一番,发现切实可行。

具体的实现方式是采用json格式来保存不同语言下的字符串,并且在适当的时候使用js读取这些字符串并替换到对应的位置上。以下给出一个示例。由于代码是在md里手敲的,没有过编辑器检查,所以可能会有错漏的地方,如有请提出修正。

html部分:

js部分,因为在html里面引入json文件,在js中无法读取到json文件的内容,所以将json部分直接写在js文件里面了。这个示例使用的是translation[lang]["script"]的结构来储存字符串,使用translation["script"][lang]的格式也没问题的,会方便查看同一条字符串的不同语言翻译。只是示例代码都写出来了就不想重新再写了。

这个示例没有通过外部的库实现语言切换,维护起来非常简单,就是机械化地往里面加字符串,加修改元素内字符串的代码就可以了。但是缺点也是非常显而易见,工作量巨大,并且在大量重复操作中不能有出错的地方,在代码量大了之后,要定位到出错的地方非常困难(亲身经历)。使用translation[lang]["script"]方式是方便确认一个语言是否存在翻译,使用translation["script"][lang]是方便管理翻译字符串。前者是按照语言>字符串的格式保存读取,后者是按照字符串>语言的方式保存读取。

这次的专栏大致上就写到这里了,内容已经基本写完了,具体的示例部分会在近日安排到github上,弄好了会在评论区发预览链接。感谢读到这里。

纯js实现网页语言切换的评论 (共 条)

分享到微博请遵守国家法律