您的位置:首页 > 运维架构 > 网站架构

如果网页内容需要支持多语言,你会怎么做?在设计和开发多语言网站时,有哪些问题你必须要考虑?

2014-12-20 22:00 956 查看
采用统一编码UTF-8方式编码

1- 应用字符集的选择;所以对提供了多语言版本的网站来说,Unicode字符集应该是最理想的选择。它是一种双字节编码机制的字符集,不管是东方文字还是西方文字,在Unicode中一律用两个字节来表示,因而至少可以定义65536个不同的字符,几乎可以涵盖世界上目前所有通用的语言的每一种字符。 所以在设计和开发多语言网站时,一定要注意先把非中文页面的字符集定义为“utf-8”格式,即:这一步非常重要,原因在于若等页面做好之后再更改字符集设置,可说是一件非常非常吃力不讨好的工作,有时候甚至可能需要从头再来,重新输入网站的文字内容。 

2- 语言书写习惯&导航结构 ;有些国家的语言书写习惯是从右到左,例如许多中东地区所使用的阿拉伯语,波斯语和希伯来语等等。如果你的市场目标是这些语言的国家,那么在网站设计中就需要考虑这些特殊的语言书写习惯。而且如果你在网站导航结构设计中使用的是一个竖直导航栏,这时候就应该把它放在右边,而不是象我们习惯的那样放在左边了。

3- 数据库驱动型网站 

对一个数据库驱动型的网站,尤其是当客户可以留言并向数据库添加信息时,则应当考虑如何从技术上实现对不同语言数据信息的收集和检索。

4- 搜索引擎&市场推广;最好的办法是找一个专业的网站推广公司来帮助进行市场调研。调研内容主要应包括:目标市场国家或地区对什么搜索引擎或门户网站的使用率最高? 一些主要的门户网站的用户真实查询率又是多少? 这一点尤为重要。就象我们常使用新浪、搜狐等大型国内门户网站,但一般更多是为了使用其邮件服务。而查询的话还是喜欢百度或Google一样,你需要了解在这些人们青睐有加的门户网站上,到底有多少人是奔查询而来的。充分的市场考察才能做到有的放矢,从而保证最丰厚的投资回报

多语言网站实现计划 :

1、静态:就是为每种语言分辨准备一套页面文件,要么通过文件后缀名来区分不同语言,要么通过子目录来区分不同语言。

例如对于首页文件index_en.htm供给英语界面,index_gb.htm供给简体中文界面,index_big.htm供给繁体中文界面,或者是en/index.htm供给英语界面,gb/index.htm供给简体中文界面,big/index.htm供给繁体中文界面,一旦用户选择了需要的语言后,主动跳转到相应的页面,首页以下其他链接也是按照同样方法处理。从保护的角度来看,通过子目录比通过文件后缀名来区分不同语言版本显得要简略明了。

2,动态:站点内所有页面文件都是动态页面文件(PHP,ASP等)而不是静态页面文件,在需要输出语言文字的处所同一采用语言变量来表现,这些语言变量可以根据用户选择不同的语言赋予不同的值,从而能够实现在不同的语言环境下输出不同的文字。

例如:语言变量ln_name,当用户选择的语言是英语时赋值为“Name”,当用户选择的语言是简体中文时赋值为“姓名”,这样就可以适应不同语言时的输出。

采用静态方法的长处是页面直接输出到客户端,不需要在服务器上运行,占用服务器的资源比拟少,系统能够支撑的并发连接数较多,毛病是要为每种语言制作一套页面文件,很多内容即使是和语言无关的也要分不同语言来存储,因此占用的存储空间较多。

采用动态方法和静态方法的优毛病正好相反,它的长处是动态页面文件只有一套,不同语言的文字应用语言变量来存储,和语言无关的内容只存储一份,占用的存储空间较少,并且扩大新语言比拟轻易,毛病需要在服务器上运行,然后把成果输进到客户端,占用服务器的资源比拟多,系统能够支撑的并发连接数较少。

动态数据存贮涉及的一些技巧标题

由于现在网站上动态利用日益增多,相当多的网站还会应用文件或者数据库来存储利用信息,因此假如文件或者数据库中存储的内容与语言相干时,还需要特别留心。对于存储在数据库中信息,可以采用以下几种方法支撑多语言:

1,在数据库级别支撑多语言:为每种语言建立独立的数据库,不同语言的用户把持不同的数据库。

2,在表级别支撑多语言:为每种语言建立独立的表,不同语言的用户把持不同的表,但是它们在同一个数据库中。

3,在字段级别支撑多语言:在同一个表中为每种语言建立独立的字段,不同语言的用户把持不同的字段,它们在同一个表中。

由于数据库中有大批的信息(如标记,编码,数字等)是用于内部处理应用的,与语言无关的,因此在数据库级别支撑多语言会导致空间的极大浪费,在字段级别支撑多语言最大的标题是一旦需要支撑新的语言,由于需要修正表结构,保护起来非常麻烦,可扩大性不好。

相比之下,在表级别支撑多语言比拟好,由于并不是所有的表都需要支撑多语言,对于与语言无关的表,不同语言的用户共用一套,那些和语言相干的表根据支撑语言的种类来建立,不同语言的用户存取拜访不同的表格。这样使得保护简略,节俭了存储空间,即使是扩大起来也比拟方便,只要把需要支撑多语言的表,多建立一套即可。

还需要留心的标题是:有些表中某些字段是不同语言版本的表共享的(例如库存量),由于各种语言的表之间的相对独立性,使得数据共享有些艰苦。解决的方法有两个:

1,不同语言的表的共享字段同步:也就是说,只要修正了其中一个表的共享字段,其他语言表中该字段也作相应转变,实际上当不同语言的用户同时拜访时处理还是比拟麻烦的,并且扩充新语言时修正工作比拟大。

2,增加一个新的表:把所有语言共享的字段(例如货物编号,产地编码等)全部放在这个表,支撑多语言的表只存放与各种语言相干的字段。不同语言的用户在应用数据库时,需要把持两个数据表。 比拟而言,第二种方法比拟简略,并且效率比拟高,保护也比拟方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐