多语言网站(如何实现网站的多语言版本?)

news/2024/5/16 17:47:00/文章来源:https://blog.csdn.net/weixin_34062469/article/details/85909242

近日,公司要做一个多语言的网站,今天在网上收集资料,下面是个人觉得很不错的文章,有兴趣的朋友可以参考下:

多语言网站,顾名思义就是能够以多种语言(而不是单种语言)为用户提供信息服务,让使用不同语言的用户都能够从同个网站获得内容相同的信息。
多语言网站实现方案
1
,静态:就是为每种语言分别准备一套页面文件,要么通过文件后缀名来区分不同语言,要么通过子目录来区分不同语言。
例如对于首页文件index_en.htm提供英语界面,index_gb.htm提供简体中文界面,index_big.htm提供繁体中文界面,或者是en/index.htm提供英语界面,gb/index.htm提供简体中文界面,big/index.htm提供繁体中文界面,一旦用户选择了需要的语言后,自动跳转到相应的页面,首页以下其他链接也是按照同样方式处理。从维护的角度来看,通过子目录比通过文件后缀名来区分不同语言版本显得要简单明了。
2
,动态:站点内所有页面文件都是动态页面文件(PHPASP等)而不是静态页面文件,在需要输出语言文字的地方统一采用语言变量来表示,这些语言变量可以根据用户选择不同的语言赋予不同的值,从而能够实现在不同的语言环境下输出不同的文字。
例如:语言变量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
西欧语系(荷兰语,英语,法语,德语,意大利语,挪威语,葡萄牙语,瑞士语.等十八种语言)http://www.microsoft.com/
charset=iso-8859-2
中欧语系
charset=iso-8859-5
斯拉夫语系(保加利亚语,Byelorussian,马其顿语,俄语,塞尔维亚语,乌克兰语等)
charset=uft-8 unicode
多语言
ASP与脚本引擎页码的概念
由于我们传统使用的内码像Big5,GB2312unicode并不是一一对应,故两者之间的转换要靠codepage(页码)来实现

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
sg_trans.gif排行榜
加载中,请稍候......
前一篇:什么是海外镜像点?
后一篇:ps快捷键
评论 重要提示:警惕虚假中奖信息
[发评论]
  • 评论加载中,请稍候...
发评论

登录名:密码:找回密码 注册 记住登录状态

昵   称:

评论并转载此博文sg_trans.gif

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

< 前一篇什么是海外镜像点?
后一篇 >ps快捷键

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_810499.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2核8g服务器可以做什么网站,2核8g云服务器可以干什么

2核8g云服务器可以干什么 内容精选换一换您可以在几分钟之内快速获得基于公有云平台的弹性云服务器设施&#xff0c;并且这些设施是弹性的&#xff0c;可以根据需求伸缩。该任务指导用户如何创建支持IB网卡的弹性云服务器&#xff0c;包括管理控制台方式和基于HTTPS请求的API(A…

张百川:“知道”网站安全体检初体验

昨天游侠写过一篇文章 [关于几个免费在线挂马检测网站] &#xff0c;说到了北京知道创宇公司的“知道网站安全体检中心”&#xff0c;他们的工作人员很及时的给我发了个内测账号&#xff0c;这里大体说下。当然网址是 http://www.scanv.com 大家可以去申请内测账号。流程基本是…

扫描网站后门脚本(awd可用)

在awd线下赛的时候&#xff0c;可以用这个脚本来检测有没有一句话木马 脚本如下&#xff1a; <!DOCTYPE html> <html> <head><meta charsetgb2312><title>PHP web shell scan</title> </head> <body></body><?php…

asp.net基础网站(我的第一个网站)(现代软件开发技术)

我们选择的软件是vs2019&#xff0c;因为教材过时等等会有很多地方不同&#xff0c;导致浪费了很多宝贵时间&#xff0c;写下这份教程供大家学习。 首先我们随便建个项目&#xff0c;打开vs2019的编程页面&#xff0c;选择工具-获取工具和功能 在这里我们选择修改 选择左上…

java使用HttpURLConnection检索网站时403错误处理方式

java使用HttpURLConnection检索网站时403错误处理方式: 我们通过代码方式访问网站时会报错&#xff1a; 此种情况分2中类型&#xff0c; 1.需要登录才可以访问&#xff1b; 2.需要设置User-Agent来欺骗服务器。 [html] view plaincopyprint? connection.setRequestProperty(&q…

常用网站

常用网站 证书管理 苹果开源代码 http://www.opensource.apple.com/source/ iOS 开发者中心 https://developer.apple.com/devcenter/ios/index.action 苹果申诉——Contact the App Review Team&#xff0d;&#xff0d;https:/…

前端demo工具网站

最近准备好好写博客了&#xff0c;写一系列前端的博客&#xff0c;总结下最近所学。 前端的东西总体来说是比较肤浅的&#xff0c;只是多而繁杂&#xff0c;如果后端的理论能勉强称得上是科学&#xff0c;前端只能说是技术&#xff0c;技巧&#xff0c;没有多少深层次的思维。这…

新手网站渗透思路

一、借助工具 AWVS扫描验证&#xff0c;除了验证还能帮我们学习漏洞。 Sql语句泄露 192.168.3.107/pentest/cms/beecms/article/article.php?id1" Id参数处存在sql语句泄露 Page也是存在sql语句泄露 192.168.3.107/pentest/cms/beecms/article/article.php?id4&…

分享几个做CTF的网站

一、Bugku 算是我用过的比较好用的一个刷题网站&#xff0c;里面有WEB、MISC&#xff08;杂项&#xff09;、Crypto&#xff08;密码&#xff09;、Reverse、PWN的题目。有时还会有AWD复现的比赛。 网址&#xff1a;https://ctf.bugku.com/ 或者百度BugKu 二、CTFHub CTFH…

seo伪原创_什么是SEO文章?seo文章的作用方法

什么是seo文章&#xff1f;宋九九认为seo文章也可以理解为伪原创文章&#xff0c;其实也有seo原创文章这一说法&#xff0c;不过市场上的“seo文章”默认为seo伪原创文章&#xff0c;不论是伪原创还是原创文章&#xff0c;其目的是帮助网站更新内容和关键词排名优化&#xff0c…

Linux操作系统静态网站服务器搭建方法汇总-干货

使用 Apache 服务部署静态网站 本文将完成&#xff1a;基于 httpd 服务程序实用功能的部署实验。包括&#xff1a; &#xff08;1&#xff09;httpd 服务程序的基本安装部署 &#xff08;2&#xff09;网站主页和口令加密认证方式的实现 &#xff08;3&#xff09;基于 IP 地址…

Zhuperb!朱婷登顶知名排球网站年度搜索热度榜

中新网客户端1月15日电 知名排球网站volleywood今日发布2018年综合搜索球员热度排名榜&#xff0c;中国女排队长朱婷力压埃格努、扎伊采夫、博斯科维奇、安德森等球星登顶。volleywood报道页面截图 volleywood表示&#xff0c;作为世界排坛有史以来最成功且获奖最多的运动员之一…

2022最新 免费的PDF转换工具网站推荐=无需注册

由于工作性质的原因&#xff0c;经常需要用到PDF转换工具&#xff0c;但是很多时候&#xff0c;发现使用的PDF转换工具的质量参差不齐&#xff0c;不能满足自己的使用需求&#xff0c;要么转换质量不高&#xff0c;要么需要收费&#xff0c;还死贵&#xff0c;要么就是需要一大…

大数据教程(14.1)网站数据分析(一)

2019独角兽企业重金招聘Python工程师标准>>> 前面一章&#xff0c;介绍了大数据hadoop生态圈中组件Flume、azkaban、sqoop的相关知识&#xff0c;截止目前&#xff0c;大数据离线分析的技术知识基本已经介绍完&#xff08;当然&#xff0c;各组件还有一些其它的替代…

运用Nginx搭建一个简单的个人网站

目录一、目的二、完成步骤1.安装nginx2.设置Nginx3.创建服务器块三、打开网站四、总结五、参考资料一、目的 尽你所学&#xff08;采用html、或CSS、或Javascript等&#xff09;完成一个静态网页&#xff0c;比如制作一个简单的个人介绍网页&#xff0c;至少包含一张图片、一个…

Ubuntu上使用nginx完成一个简单web网站

文章目录一、Ubuntu安装nginx二、编写静态网页三、nginx配置网站四、启动nginx服务五、总结六、参考资料&#xff1a;一、Ubuntu安装nginx 安装命令 apt-get install nginx 查看安装版本 nginx -v 启动nginx service nginx start 打开浏览器&#xff0c;输入IP地址 Ubuntu输入…

60个优秀的免费3D模型下载网站

转自&#xff1a;http://www.360doc.com/content/11/0527/16/930254_119801102.shtml 感谢好友雨星推荐的 CG MODEL 三维模型代表一个3D对象使用一个由各种几何在三维空间实体连接点的集合。 一个免费的3D模型&#xff0c;完全可以节省您的预算和最后期限。 平均来说&#xf…

verilog练习:hdlbits网站上的做题笔记(1)

前言 之前的文章《如何学习verilog&#xff0c;如何快速入门&#xff1f;》中提到了verilog学习&#xff0c;推荐了一个可以练习的网站&#xff1a;hdlbits网站&#xff0c;这篇文章打算自己玩玩这个网站。 1.Getting Started 1.1 Getting Started We want to assign 1 to …

verilog练习:hdlbits网站上的做题笔记(2)

前言 之前的文章《如何学习verilog&#xff0c;如何快速入门&#xff1f;》中提到了verilog学习&#xff0c;推荐了一个可以练习的网站&#xff1a;hdlbits网站&#xff0c;那自己也玩玩这个网站。 今天这篇文章&#xff0c;本来是接着昨天的《verilog练习&#xff1a;hdlbits…

verilog练习:hdlbits网站上的做题笔记(3)

前言 之前的文章《如何学习verilog&#xff0c;如何快速入门&#xff1f;》中提到了verilog学习&#xff0c;推荐了一个可以练习的网站&#xff1a;hdlbits网站&#xff0c;那自己也玩玩这个网站。 这篇文章&#xff0c;是接着《verilog练习&#xff1a;hdlbits网站上的做题笔…