多语言网站实现方案有哪些?多种语言版本实现
优采云 发布时间: 2021-07-29 06:41多语言网站实现方案有哪些?多种语言版本实现
多语言网站,顾名思义就是为用户提供多种语言(而不是单一语言)的信息服务,让不同语言的用户可以从同一个@获得相同的信息网站。
多语种网站实施计划
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”,当用户选择的语言为简体中文时,赋值为“Name” ,使其能够适应不同语言的输出。
使用静态方式的好处是页面直接输出到客户端,不需要在服务器上运行,占用服务器资源少,系统可以支持更多的并发连接。缺点是你要为每种语言做一个页面文件,很多内容即使与语言无关,也存储在不同的语言中,所以占用更多的存储空间。
使用动态方法和静态方法的优缺点正好相反。它的优点是只有一套动态页面文件,不同语言的文本使用语言变量存储,与语言无关的内容只存储一份,占用存储空间。它更少,并且更容易扩展新语言。缺点是需要在服务器上运行,然后将结果输入到客户端,占用服务器资源较多,系统可以支持的并发连接数较少。
动态数据存储涉及的一些技术问题
由于网站上的动态应用越来越多,相当多的网站也使用文件或数据库来存储应用信息。因此,如果文件或数据库中存储的内容与语言相关,则需要特别注意。对于存储在数据库中的信息,可以采用以下方式来支持多种语言:
1、在数据库层面支持多语言:为每种语言建立独立的数据库,不同语言的用户可以操作不同的数据库。
2、在表层面支持多种语言:为每种语言创建单独的表,不同语言的用户操作不同的表,但它们在同一个数据库中。
3、在字段层面支持多种语言:在同一个表中为每种语言创建独立的字段,不同语言的用户操作不同的字段,它们在同一个表中。
由于数据库中有大量信息(如标识、代码、数字等)供内部处理和使用,与语言无关。因此,在数据库层面支持多种语言会导致空间的极大浪费。字段级多语言支持最大的问题是一旦需要支持一种新的语言,由于需要修改表结构,维护起来非常麻烦,扩展性不好。
相比之下,最好在表层面支持多语言,因为并不是所有的表都需要支持多语言。对于语言无关的表,不同语言的用户共享一组与语言相关的表。它是根据支持的语言类型建立的,不同语言的用户访问不同的表单。这使得维护简单,节省存储空间,即使扩展也更方便。只需创建一组需要支持多种语言的额外表格。
另一个需要注意的问题是,某些表中的某些字段被不同语言的表共享(例如库存)。由于各种语言的表之间的相对独立性,数据共享有些困难。有两种解决方案:
1、不同语言表的共享字段是同步的:也就是说,只要修改其中一个表的共享字段,其他语言表中的字段也会相应改变。事实上,不同语言的用户同时访问时,处理起来还是比较麻烦的,扩展新语言的时候修改工作也比较大。
2、添加新表:将所有语言共享的所有字段(如货号、原产地代码等)放入该表中,支持多语言表只存储与各种语言相关的字段。不同语言的用户在使用数据库时需要操作两个数据表。