前言
多语言的重要性相信不需要多言,但是,对于使用ExtJS之类的前端框架做开发,很多时候要使用一些多语言消息,难道都写在动态页面里?这样,就会对动态页面有依赖。如果说页面是访问量非常大的,比如:首页,那么静态化是非常有必要的。那问题就来了,怎么做多语言的静态化?事实上,使用一些模板语言,是能做到多语言的静态化,即根据不同语言,生成不同的静态页面。但是,这样一来,静态页面就非常多了,而且很多地方是完全可复用的。理想的状态是,我只要多语言的部分有不同版本,其他页面组成,我只要一个就够。于是乎,就有了我们这个解决方案。
一、前端多语言
前端多语言,是指依赖Javascript技术实现多语言的方案。本方案基于Javascript技术,对于语言配置的加载,依赖Ajax技术。本文中的实现,又是基于jQuery框架的。
二、原理介绍
实现前端多语言,实际上并不是实时的的多语言,而是文档加载完成后,对文档内容进行再处理的过程。核心思想是通过i18n属性设置多语言的key,然后插件对所有带i18n属性的dom进行扫描处理。但是前端多语言并不仅仅是这一个需求,进而延伸的还有事件函数中需要使用的消息,比如新增一条数据后的提示消息“新增成功”。这时,就需要对普通字符串对象,即String对象进行处理,使其支持多语言。当然,以上的工作,基础就是需要拿到多语言配置。而多