构建多语言网站解决方案:新增国际化页面操作指南

如何增设多语种网站

多语种网站,顾名思义,是指能够运用多种语言(而非单一语言)向用户提供信息服务的平台,确保不同语言用户能从同一网站获取内容一致的信息。

多语种网站实施策略

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. 增加一个新的表:将所有语言共享的字段(如货物编号、产地编码等)全部放在这个表中,支持多语言的表仅存放与各种语言相关的字段。不同语言用户在使用数据库时,需要操作两个数据表。

相比之下,第二种方法更为简单,且效率较高,维护也较为方便。

字符集选择的应用

一个面向不同语言国家的企业网站必然需要提供多种语言版本的产品和销售信息,以满足其全球各地使用不同语言的客户和合作伙伴,包括法语、德语、意大利语、葡萄牙语、西班牙语、阿拉伯语等。但一个问题却常常被网站设计者们忽视,那就是网站的字符集设置问题。

通常我们使用简体中文(GB2312)字符集,但对于多语种网站来说,中文字符集可能会使你之前的努力功亏一篑。原因很简单:就是这个看似微不足道的字符集在作祟。

计算机应用领域中存在几十种不同的字符集,而不同语言客户在浏览不同语言网页时,往往会因为相互间所使用字符集无法兼容而出现乱码情况。我们在浏览国外一些网站时,也常常出现为了能正常地看到网站上的信息而不得不在各种字符集之间来回切换的情况。

试想一下:如果一个网站提供了中、英、法、德等多种语言版本的内容,内容详尽,设计精美。我们在中文编码环境下浏览这些非中文版本的页面觉得非常完美,现在一个法国客户对你的产品产生了兴趣,当他进入法语版面一看——乱码连连,甚至可能整个版面都一团糟。你的网站再下大工夫又有什么意义呢?

试想一下:若一个网站提供中、英、法、德等多语种版本的内容,内容丰富详尽,设计精美绝伦。我们在中文编码环境下浏览这些非中文版本的页面,觉得十分完美。然而,当一个法国客户对你的产品产生兴趣,进入法语版面时,却发现满屏乱码,甚至整个版面混乱不堪。这时,你的网站再怎么努力,又有什么意义呢?

因此,对于提供多语言版本的网站来说,Unicode字符集应当是最理想的选择。它是一种双字节编码机制的字符集,无论是东方文字还是西方文字,在Unicode中都用两个字节来表示,因此至少可以定义65536个不同的字符,几乎可以覆盖世界上目前所有通用语言的每一种字符。所以在设计和开发多语言网站时,一定要注意先将非中文页面的字符集定义为“utf-8”格式。

这一步至关重要,原因在于若在页面制作完成后更改字符集设置,可以说是一件非常费力不讨好的工作,有时甚至可能需要从头开始,重新输入网站的文字内容。

HTML中的META标签:

如果不写,则根据浏览器默认字符集显示

charset=gb2312简体中文

charset=big5繁体中文

charset=EUC_KR韩语

charset=Shift_JIS或 EUC_JP日语

charset= KOI8-R/ Windows-1251俄语

charset=iso-8859-1西欧语系(荷兰语、英语、法语、德语、意大利语、挪威语、葡萄牙语、瑞士语等十八种语言)

charset=iso-8859-2中欧语系

charset=iso-8859-5斯拉夫语系(保加利亚语、Byelorussian语、马其顿语、俄语、塞尔维亚语、乌克兰语等)

charset=uft-8 unicode多语言

ASP与脚本引擎页码的概念

由于我们传统使用的内码如Big5、GB2312与unicode并非一一对应,故两者之间的转换要靠codepage(页码)来实现

<% Language=VBScript CodePage=xxx%>

如果不写,则根据服务器端解析引擎默认代码页自动解析并返回浏览器。

如果制作的网页脚本与WEB服务端的默认代码页不同,则必须指明代码页:

codepage=936简体中文GBK

codepage=950繁体中文BIG5

codepage=437美国/加拿大英语

codepage=932日文

codepage=949韩文

codepage=866俄文

codepage=65001 unicode UFT-8

建议采用utf8的静态和动态文档。即:

<%LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

Python是什么语言

Python的中文名称是蟒蛇。

Python是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言,最初是用来编写自动化脚本的。随着版本的不断更新和语言新功能的添加,Python越来越多地被用于独立的、大型项目的开发。

Python的特点主要有以下几个方面:

1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

2、易学:Python极其容易上手,因为Python有极其简单的说明文档。

3、速度快:Python的底层是用C语言写的,很多标准库和第三方库也都是用C写的,运行速度非常快。

4、免费、开源:Python是FLOSS之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。

5、高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

6、可移植性:由于它的开源本质,Python已经被移植在许多平台上。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、以及Google等基于linux开发的android平台。

7、解释性:一个用编译性语言比如C或C++写的程序可以从源文件转换到一个你的计算机使用的语言。这个过程通过编译器和不同的标记、选项完成。

扩展资料:

Python语言风格简介:

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

对于一个特定的问题,只要有一种最好的方法来解决就好。这在由Tim Peters写的Python格言里面表述为:There should be one-- and preferably only one--obvious way to do it.这正好和Perl语言的中心思想TMTOWTDI完全相反。

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯都不能通过编译。其中很重要的一项就是Python的缩进规则。

参考资料:Python-百度百科

以上所转载内容均来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2020@163.com,本人将予以删除。
THE END
分享
二维码
< <上一篇
下一篇>>