这个看似很神奇,实际并不难,至少没有看上去那么难,Javascript是一种前台脚本,如果是用JS的话,语言切换是即时的或至少是无需刷新的。据我的观察,italki使用对象来解决多语言的问题,对于网页上固定的关键字,使用对象来保存语言信息,然后调用数据库的相关数据。
也就是说,如果要添加一种新的语言界面,只需要在数据库里创建一份新的关键字表就可以了。
然后通过Javascript或PHP、ASP等脚本来探测用户系统的语言,用户也可以自定义语言,保存在cookie中,服务器获取用户语言信息之后,比如$lang="cn",然后到数据库调用条件符合cn的那个表,里面的语言关键字就会按部就班地显示在应有的位置。
这属于后台技术,在前台是观察不到的,但是在网速特别慢的时候,服务器来不及传输数据库的数据的时候,你会看到一些有趣的东西。
多语言没什么了不起的,很多全球性的大中型网站都有这样的切换,技术好一点的可以实现当前页面随意切换语言。