I18N

来源:互联网 发布:spring boot 默认端口 编辑:程序博客网 时间:2024/05/08 07:45
人们常把I18N作为“国际化”的简称,其来源是英文单词 internationalization的首末字符i和n。18为中间的字符数。  随着全球经济的一体化,软件开发者应该开发出支持多国语言、国际化的Web应用。对于Web应用来说,同样的页面在不同的语言环境下需要显示不同的效果。也就是说,一个Web应用程序在运行时能够根据客户端请求所来自的国家和语言显示不同的用户界面。这样 ,当需要在应用程序中添加对一种新的语言的支持时,无需修改应用程序的代码。  在Struts框架中进行应用程序的国际化,支持重点在于应用程序的文本和图像表示,最主要的工作就是准备Resource Bundle资源包。事实上,准备资源包的过程,就是把对应不同语言的用户所涉及的文本和图片保存在多个文本文件中,客户端根据不同的环境需要进行更换。这些文件被称为“属性文件”,所有属性文件合在一起被称为资源包(Resource Bundle)。  在资讯领域,国际化与本地化(英文:Internationalization and localization,或拼成Internationalisation and localisation)是指调整软件,使之能适用於不同的语言及地区。  国际化是指在设计软件时,将软件与特定语言及地区脱钩的过程。当软件被移植到不同的语言地区时,软件本身不用做内部工程上的改变或修正。本地化则是指当移植软件时,加上与特定区域设置有关的资讯和翻译文件的过程。 国际化和本地化之间的区别虽然微妙,但却很重要。国际化意味着产品有适用於任何地方的潜力;本地化则是为了更适合於特定地方的使用,而另外增添的特色。用一项产品来说,国际化只需做一次,但本地化则要针对不同的区域各做一次。 这两者之间是互补的,并且两者结合起来才能让一个系统适用於各地。  基於他们的英文单字长度过长,常被分别简称成i18n(18意味著在国际化这个单字中,i 和 n 之间有 18 个字母)及L10n。使用大写的 L 以利区分 i18n 中的 i 。  在如微软及IBM等企业中,则会使用全球化(globalization)来表示此两者的合称。 [1] [2] 在英文中,也会使用 g11n做为简称。  范围  国际化与本地化工作的焦点包括:  语言   电子文件  字母。目前大部分的系统都采用统一码为标准来解决字符编码。   不同的数字命名系统。   书写方向。譬如德语是从左到右,而波斯语、希伯来语和阿拉伯语是由右到左。   相同语言在不同地区的拼法差异,如美国英语、加拿大英语使用localization,而英国英语和澳大利亚英语使用localisation。   文件处理上的差异,如某些文字存在大小写,其它则否。字母顺序。   文字的图像表示(列印物、内含线上图片)。   读法(音频)   视频的字幕   文化   图片和颜色:这牵涉到理解和文化适宜的议题。   名字和称谓   政府给定的编码(如美国的社会安全码,英国的National Insurance number,爱沙尼亚的Isikukood及其它各国的身份证号码)和护照   电话号码、地址和国际邮递区号   货币 (符号、货币标志的位置)   度量衡   纸张大小   书写习惯   日期跟时间的格式,包含各式日历。   时区(在国际场合会使用世界标准时间)   数字格式(小数点、分隔点的位置、分隔所用的字符)   产品和服务所要面向的法规   只属于本地化的主题有:  翻译   针对特定语言(如东亚语言)的特别支持   符合当地习惯   符合当地的道德观念   针对当地撰写内容   符号   排序方法   美学   当地的文化价值和社会环境   困难  开发软件时,国际化和本地化对开发者是一个有挑战性的任务,特别是当软件当初设计时没有考虑这个问题时。通常作法是将文本和其他环境相关的资源与程序代码相分离。这样在理想的情况下,应对变化的环境时无需修改代码,只要修改资源,从而显著简化了工作。  开发团队需要了解其他语言和文化,而这样的人才可能难以寻觅。而且资源的复制也可能成为维护的恶梦。例如,如果某个语言中显示给用户的信息变化了,其他的翻译版本都要随之变化。Gettext之类软件库有助于解决这一问题。  由于自由软件自由地修改和再分发,因此它比较容易国际化。当KDE拥有70个语言版本时,大多数专有软件只能够用于商业上有利可图的语言。  区域设置 (locale)  主条目:区域设置  计算机中一套定义用户的语言、国家和用于定义用户希望在其用户界面上看到的各种可以改变的选择的参数集合。通常一个locale标识符至少包括一个语言标识符和一个区域标识符。  在UNIX和WINDOWS中,locale的控制是不同的。在UNIX下,通常通过环境变量来控制locale。这些环境变量包括:LC_ALL, LC_CTYPE, LC_TIME, 等等。你可以通过改变这些环境变量来控制你的程序或者命令所表现出来的locale,前提是这些程序或者命令必须是已经被国际化的和本地化的。在Windows下,你可以通过改变控制面板上的“语言/区域”中的区域的值来设定Windows的当前用户的locale。  与全球化的关系  国际化有时与 全球化 交替使用以描述联系日益紧密的世界的经济与文化影响。  国际化经常(特别是在软件中)指提供一个用于多语言的框架,有时也指事物(机构、理念)可以藉此影响多个民族的过程。 此时很少使用全球化,因为它一般指机构和产品出现与世界各地(同时也引起了对本地化的需求)。  本地化可能用于描述贴近最终用户以减小全球化的环境和其他副作用。  参见  中日韩统一表意文字   全球化   双向文稿支援   多语言文字排版引擎:   Uniscribe (Windows)   Apple Type Services for Unicode Imaging (New Macintosh)   WorldScript (Old Macintosh)   Pango (Open source)   Graphite (Windows & Linux, open source)
原创粉丝点击