多语言风格网站的语言模块处理
作者 : admin 于 2008年07月05日, 22:57:27
2008
07-5
07-5
奥运来了,流行国际化,网站也趋向于国际化。多语言网站成了流行,这里,我总结了一下多语言网站的设计。
首先,要设计多个语言包,打个比方,一个cn的,代表汉语,一个en的,代表英语。然后建立一个映射关系。比如,helloword,你好世界,英文,中文,我们给这个短句定一个ID,ID=’HW’,在英文语言包里,HW=’helloword’,在汉语语言包里,HW=’你好世界’。以此类推,语言包就做好了。
然后,我们要确定当前页面是调用哪个语言包。可以由读者去确定,比如,默认是英文,然后用户可以手工设置为汉语。可以通过session来设定一个变量,进行控制,但大多数是通过cookie。也可以根据域名,比如 http://cn.sunboyu.cn ,解析主机名,cn 即为汉语。 得到了客户端语言的标志,我们就可以确定调用哪个语言包。
最后说一下实现机制。最简单的方式,就是定义成数据,比如 $Lang['cn']['HW']=’你好世界’ $Lang['en']['HW'] ,这样,通过数据二级的键值就可以取出值。Smarty支持一个功能,就是config_load的功能,只要模板里有个语言种类变量,就可以动态调用语言包。还有,就是php的gettext扩展,都是一样的道理,只是存储不同。
做好你的语言包,做好语言选择控制,多语言网站就可以出炉了。