06 国际化安全.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
06 国际化安全

第六章 国际化安全 国际化(internationalization),是为了保证软件产品适应不同区域语言要求的一种方式。由于英文单词 internationalization的首末字符i和n之间的字符数为18,因此业界内常把I18N作为“国际化”的简称。 以WEB应用为例,随着经济的发展,全球经济一体化已经慢慢成为一种主流趋势,WEB应用要求必须能够支持多国语言。对于同一个WEB应用,在不同的语言环境下需要显示不同的效果,来方便用户。我们经常看到,一些网站都有各个不同的语言版本,在运行时,能够根据客户浏览器所在的国家和语言的不同,显示不同的用户界面。 软件支持多种不同的语言,绝不是开发了软件的多个版本。业界具有一定的规则让信息进行复用,即对同样信息进行各种代码的转换。这样可以使得当需要在应用程序中添加对一种新的语言的支持时,不需要重新再开发一个软件,造成重复劳动。而安全问题就存在于代码转换的过程之中。 本章主要针对国际化过程中的安全问题进行讲述,首先讲解常见的国际化过程,然后讲解国际化转码中需要注意的安全问题。 6.1 国际化的基本机制 随着经济全球化的发展,软件也应该具有支持各种语言和地区的能力。国际化的主要目的,是调整软件,使之能适用于不同的语言及地区。如图所示是一个表单在中国和美国的两个显示效果。 从以上界面上看出,两个页面功能相同,但是在不同的地区,为了照顾不同的用户,显示界面不同,这就需要在开发的过程中充分考虑国际化问题。 与国际化类似的另一个概念是本地化(localization)。在业界内,两个概念一般一起讲,有时候甚至被等同起来。不过,从概念上说,本地化是实现国际化的一些手段的集合。 国际化的概念,比较偏向表达软件的设计思想,要求当软件被移植到不同的语言及地区时,软件的业务逻辑和程序源代码不用作改变或修正,但是软件又必须让该地区和语言的用户方便地使用;本地化的概念偏向对软件进行加工,使之满足特定地区和特定语言的用户对语言和功能的特殊要求,实际上是一指一系列工作的过程。软件本地化工作,可能涉及文字的翻译、用户界面布局调整、本地特性开发、联机文档和印刷手册的制作,以及保证本地化版本能正常工作等,实际上也算是软件质量保证活动的一部分。国际化简称为I18N,本地化由于其单词localization的L和N之间有10个字母,因此也被简称为L10N。 国际化和本地化这两个工作,一个是设计思想,一个是工作的手段,相辅相成,互为补充。在有些企业中,也使用全球化(globalization)来表示国际化和本地化的合称,使用 G11N作为简称。 从具体的工作内容上说,国际化与本地化工作,实际上包括的细节很多,也很繁杂。以下列举一些常见的工作: 不同语言表达方式; 电子文件的编码; 数字命名系统的不同; 文字书写方向(如英语是从左到右,阿拉伯语从右到左); 语言细微差别(如英国英语中的Colour和美国英语中的Color); 货币; 日期格式; 数字格式;等等。 6.1.2 国际化过程 开发软件时,国际化和本地化对开发者是一个有挑战性的任务。很多软件,在件刚开始设计时,并没有考虑到需要在不同的语言和地区使用,于是就没有按照国际化的思想去设计,但是一段时间之后,软件突然出现要在其他地区使用的任务,国际化和本地化的工作将会十分艰难。 怎样让程序从一开始就为国际化和本地化提供开发基础呢?我们知道,软件的难度在于程序的业务逻辑,一般情况下不应该随便对业务逻辑进行改动。程序在不同地区运行的过程中,实际上,程序的逻辑只有一份,只是界面的表示有所不同,而应该避免的是程序逻辑的修改。因此,通常作法是:将文本和其他与环境相关的资源单独编写,和程序代码相分离。这样,在理想的情况下,应对变化的环境时,无需修改代码,只需要修改资源,从而显著简化了工作。 以下是国际化(本地化)的基本过程。 从上面的图中可以看出,国际化过程包括3个部分: 1:资源文件。是一个文件,能够保存各种不同语言所对应的资源。 2:读取工具。能够根据语言来读取资源文件。 3:应用程序。调用读取工具,读取资源文件。 在很多软件里面实现了国际化,以Java框架为例,要开发一个支持英文和中文的欢迎界面,该界面标题根据系统语言的不同而自动变化,可以利用接下来的一些代码来实现。 以下是支持英文显示的资源文件: messageResource_en_US.properties 以下是支持中文显示的资源文件(在Java中实现了转码,将“欢迎您来到本系统”转化成了ASCII码表示,用native2ascii来实现。这是Java的语言特点,其他语言不一定相同): messageResource_zh_CN.properties P06_01.java为界面类。 首先,将

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档