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

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

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

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

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

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

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

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

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

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

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

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

优点:简单,快捷。

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

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

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

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

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

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

2、存在的问题及对策。

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

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

四、字符集的选择问题。

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

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

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

结论:推荐UTF-8!

转载于:https://my.oschina.net/jirglt/blog/3035838

支持多语言网站实现方案相关推荐

  1. 网站设计--多语言网站实现方案

    多语言网站实现方案 1,静态:就是为每种语言分别准备一套页面文件,要么通过文件后缀名来区分不同语言,要么通过子目录来区分不同语言. 例如对于首页文件index_en.htm提供英语界面,index_g ...

  2. 多语言网站开发 不完全技术分析收录

    转自:http://www.cnbruce.com/blog/showlog.asp?cat_id=27&log_id=691 语言是信息传播的主要障碍. 多语言网站,顾名思义就是能够以多种语 ...

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

    近日,公司要做一个多语言的网站,今天在网上收集资料,下面是个人觉得很不错的文章,有兴趣的朋友可以参考下: ----------------------- 多语言网站,顾名思义就是能够以多种语言(而不是 ...

  4. Wordpress 网站设计入门 多语言网站

    Wordpress 有好些控件支持多语言网站设计,有收费的,也有免费的.我看看Polylang 免费,安装的人多,就选择了这个Widget. 这里我们就讲的是用Polylang 实现 Wordpres ...

  5. JS实现支持同一网站支持多种语言(即不同地区用户)

    背景:如果台湾(中文繁体),大陆(中文简体),英国(英语)三个地区的用户用到同一个网站. 解决方案: 3个war包部署到三个服务器上 同一个war包部署,在一套系统里支持多语言(一个HTML/JSP页 ...

  6. 二代CMS旅游网站程序国际版开发中(支持英文、法文等),支持拓展语言包

    二代CMS旅游网站程序国际版开发中(支持英文.法文.德文等),支持拓展语言包,理论上可以拓展成任何一种语言,前端和后端都支持在线语言切换,前端还支持支付货币的币种切换,敬请期待! 转载于:https: ...

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

    采用统一编码UTF-8方式编码 1- 应用字符集的选择:所以对提供了多语言版本的网站来说,Unicode字符集应该是最理想的选择.它是一种双字节编码机制的字符集,不管是东方文字还是西方文字,在Unic ...

  8. ASP.NET支持多语言

    ASP.NET支持多语言 ASP.NET 2.0中实现: 1.使用工具自动生成本地化资源(LocalResources) 首先建立一个WEB工程,如图所示: 双击Default.aspx,切换到[设计 ...

  9. 网站策划方案写作、演示标准

    一份成功的网站策划方案是赢得订单的重要砝码,如何写一份令客户心动的网站策划方案则需要下苦功夫.<网站策划方案写作.演示标准>主要分为7个部分,希望对您有帮助: 1. 网站策划方案的价值-- ...

最新文章

  1. 试图理解80836实模式转变为保护模式
  2. 信息系统项目管理师教程章节重点考点汇总(1)绪论重点
  3. Android4.0图库Gallery2代码分析(二) 数据管理和数据加载
  4. SAP WebIDE 里 UI5 应用的隐藏文件 project.json
  5. module.exports与exports,export与export default之间的关系和区别
  6. 机器学习均方误差_机器学习:均方误差和回归线简介
  7. (12)FPGA时钟设计原则
  8. 一个项目的简单开发流程——需求、数据库、编码
  9. MySQL数据库开发的三十六条军规
  10. Leetcode刷题、常用算法汇总(Java版本)
  11. DenseNet网络结构详解及代码复现
  12. Linux系统搭建FTP服务器教程
  13. CentOS通过DNSpod实现DDNS动态域名,在家也可以搭建主机服务器了
  14. 多重集合的排列与组合
  15. Centos 7 虚拟机启动,Entering emergency mode问题解决
  16. 170816 Ubuntu-Nvidia CUDA+Driver+cuDNN installation-Titan Xp
  17. html实现银行卡中间四位显示为*号,银行卡和手机号中隐藏的数字用*号代替,不能和文字垂直居中,有什么解决方案吗?...
  18. android九宫格切图,拼图九宫格切图app
  19. 免安装版MySQL(解压版)安装详细教程及注意事项
  20. 微信小程序(八):地图

热门文章

  1. C#.NET 无aspx文件部署
  2. 精益数据分析(一)各种指标
  3. 煤矿,隧道,管廊高精度人员定位_基于UWB技术的TWR一维定位方案介绍
  4. Nginx网络负载均衡,负载均衡,网络负载,网络均衡
  5. 【云原生|K8s系列第1篇】:K8s的基础概念、组件架构及实战安装
  6. Go2Shell 安装到 Finder工具栏 提高编程效率
  7. 卷积神经网络全连接层转换为卷积层获得heatmap
  8. java 饥饿现象,Java并发之“饥饿”和“公平锁”(Starvation and Fairness)
  9. 2017 Java开发面试题-Java Web篇(1)
  10. VMWare虚拟机网络模式:Bridged、NAT、Host-Only