600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 支持多语言网站实现方案

支持多语言网站实现方案

时间:2022-10-09 15:24:22

相关推荐

支持多语言网站实现方案

为什么80%的码农都做不了架构师?>>>

一、每一种语言建设一套网站。

静态:就是为每种语言分别准备一套页面文件,通过子目录来区分不同语言。用户选择了需要的语言后,自动跳转到相应的页面。

优点:页面直接输出到客户端,不需要在服务器上运行,占用服务器的资源比较少,系统能够支持的并发连接数较多。

缺点:要为每种语言制作一套页面文件,时间久,且占用的存储空间较多。

二、通过语言变量方式处理。

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

优点:动态页面文件只有一套,不同语言的文字使用语言变量来存储,和语言无关的内容只存储一份,占用的存储空间较少,并且扩展新语言比较容易。

缺点:需要在服务器上运行,然后把结果输入到客户端,占用服务器的资源比较多,系统能够支持的并发连接数会减少。

三、动态数据存贮涉及的技术问题。

1、用数据库存储动态数据时要考虑以下三点,推荐第二种。

(1)在数据库级别支持多语言,为每种语言建立独立的数据库,不同语言的用户操作不同的数据库。

优点:简单,快捷。

缺点:数据库中会存储大量与语言无关的内容,因此在数据库级别支持多语言会导致空间的极大浪费。

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

推荐理由:并不是所有的表都需要支持多语言,对于与语言无关的表,不同语言的用户共用一套,那些和语言相关的表根据支持语言的种类来建立,不同语言的用户存取访问不同的表。这样使得维护简单,节省了存储空间,即使是扩展起来也比较方便,只要把需要支持多语言的表,多建立一套即可。

(3)在字段级别支持多语言,在同一张表中为每种语言建立独立的字段,不同语言的用户操作不同的字段,它们在同一张表中。

优点:颗粒化,表的数量少。

缺点:一旦需要支持新的语言,由于需要修改表结构,维护起来很麻烦,可扩展性差。

2、存在的问题及对策。

问题:有些表中某些字段是不同语言版本的表共享的(如:库存量),由于各种语言的表之间的相对独立性,使得数据共享存在问题。

对策:增加一张表,把所有语言共享的字段(如:库存量)全部放进这张表,支持多语言的表只存放与各种语言相关的字段。不同语言的用户在使用数据库时,需要操作两张表。

四、字符集的选择问题。

一般我们使用的是汉字编码字符集[GBK],而对多语言网站而言,汉字编码字符集却可能会使你辛辛苦苦的努力功亏一篑。

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准。GBK编码专门用来解决中文编码的,是双字节的(中英文)。

UTF-8编码:对英文使用8位(一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的网站则用UTF-8节省空间。另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持。访问UTF-8编码的网页则不出现这问题。可以直接访问。UTF-8对于中文特殊字符的处理上有缺点。

结论:推荐UTF-8!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。