HTML页面多语言切换
部门有个Web UI产品里面有项功能是语言切换。之前同事的做法是把每个页面都做另做一份语言切换时改变URL即可。简单的页面还好如果遇到更多语言和复杂页面难免会增加维护难度。后来另一个同事用jQueryAJAXjsoncookie的方式加以改进我学习了一下代码做了个自己的版本。
假如要实现英文和中文两种版本可以在网页文件的同级目录下分别添加一个en.json和zh.json文件
注意页面加载完成后首先要统计翻译词条registerWords()它会把每个待翻译标签里的文本记录到lang属性中这个方法调用一次即可。
如果学过Qt就会知道里面的语言包机制每个词条可以指定一个context这个单词一直被人蹩脚地翻译成“上下文”我觉得这里解释为“名空间”更好为解决一个单词或句子在不同地方产生不同翻译的问题。我还没有做到这一点考虑到这种情况比较少见并可加以避免就偷个懒啦。
这就是我实现的思路当然改进的地方还有不少比如cookie的读写语言包和页面文件的如何对应等等。在HTML上我只是个新手就当抛块引玉了。
提醒:好像使用 css lang 标签来是识别效率更高啊,暂时没有尝试,有兴趣的可以尝试一下.
下一篇:持多语言转