java国际化与 I18N 的由来

转载 2006年05月30日 09:20:00

>>国际化
同计算机编程有关的国际化是设计和编写应用程序以便可以在全球或多国环境中使用的过程。国际化程序能够支持不同的语言以及不同格式的日期、时间、货币和其它值,而无须软件修改。这通常涉及“软编码”或将文本组件同程序代码分离并且可能涉及可插入代码模块。
从业者通常将国际化(internationalization)简写为 I18N。原因是 internationalization 一词开始的 I 和最后的 N 之间有 18 个字母。试着多说、多写“internationalization”一词几次,您就会欣赏这个较短版本的价值。此外,您可能会看到“I18N′ed”作为“国际化的(internationalized)”的缩写形式。虽然这在语法上不准确,在技术上也不正确,但是“I18N′ed”很有用,您将在包括本教程在内的文献里经常看到它。
关系数据库管理系统和操作系统可能也对国际化的某些方面提供基本支持,通常使用术语“本地语言支持(National Language Support)”或 NLS 来表示。


>>本地化
本地化是设计和编写能够处理特定区域、国家或地区、语言、文化、企业或政治环境的应用程序的过程。从某种意义上说,为特定地区编写的所有应用程序都本地化了,虽然这些应用程序大多数只支持一种语言环境。然而,真正的本地化通常是由访问语言环境、位置、政治或其它特定组件和模块的核心代码,以及将文本翻译成适合于用户的版本来实现的。适当国际化的程序使本地化更为便利,并为本地化提供了基础。
与将“internationalization”缩写成“I18N”相同的原因和逻辑,本地化(localization)通常缩写为 L10N。
可以将处理多个国家或地区(比如说美国、加拿大、墨西哥和巴西)的税收或会计软件包国际化,使得无需对每个国家或地区重复定制显示、报表生成和其它程序。然后本地化该软件包以处理适合于特定国家或地区甚至可能是州或省的不同会计和报表生成过程。
>>I18N 存在的理由(I18N raison d′etre)

这一页的标题本身就为国际化提供了一个理由:没有接触过“I18N”或不懂法语(raison d′etre 的大致意思是“存在的理由”)的人将搞不清这一节是关于什么的。有时,缺乏知识是一个优点,这可以由人造钻石的成功来证明。然而,如果软件不能被人理解,那么不论开发人员多么陶醉于自己的智慧,它也是无用的。不便或惹人生气的软件用处也不大,不适于销售。
最开始时使用 ASCII。直至今日,大多数编译器仍要求 ASCII 输入。随着计算机的发展,需要额外的语言支持已为人们所公认,通常包含 ASCII 和本地语言的特定于国家或地区的字符集也随操作系统一起提供。即便如此,一般也只支持一种“其它”语言,大多数开发人员都根据他们自己的国家和当地文化来设计程序。由于历史和实际的原因,因特网和 Web 上的应用程序,通常遵循相同的模式。虽然重点通常在英语语言上,但是很容易找到各种单语言应用程序和网站。
另外一个考虑是经济上的;在您的国家之外存在着巨大的市场。随着那些以前贫穷的国家或地区 GNP 的增长,对计算机的广泛接受以及上网人口的增加,市场正在改变。根据 Global Reach 的全球因特网统计信息(Global Internet Statistics)页面提供的信息,到 2001 年 12 月,大约 45% 的因特网人口讲英语。接下来是日语,大约占 9 %,紧随其后的顺序是中文、德语、西班牙语、韩国语、意大利语、法语以及其它语言。假定计算机访问跟踪类似的比例是合理的。虽然从 2001 年到 2005 年在线人口预期会翻一翻(在线商业预计从大约 1 万亿美元增长到 6 万亿美元),但整体讲英语的比例预期会持续下降到 39% 左右。
其它关注国际化问题的理由可能更接近于自身的利益:您的公司可能在其它国家或地区开设办事处,或者从位于另外一个国家或地区的潜在客户收到一个投标请求(Request For Proposal (RFP))。

【Java】I18N国际化

i18n(其来源是英文单词internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 ...
  • u013036274
  • u013036274
  • 2017年03月13日 08:25
  • 565

Java for Web学习笔记(七五):国际化i18n(3)异常显示的国际化

问题和解决方法 App因某种原因会抛出异常,我们会记录在log中,同时也要告知用户出了问题,一些错误信息需要显示给用户,这就有国际化的需求。我们不应简单将原始的Exception直接显示给用户: 异...
  • flowingflying
  • flowingflying
  • 2017年08月06日 11:18
  • 1002

深入分析JavaWeb -- 国际化(i18n)

一、国际化开发概述  软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。      国际化(interna...
  • z742182637
  • z742182637
  • 2016年02月17日 11:08
  • 3652

i18n和i10n:国际化&本地化--gettext

[正文] froward 软件编写和文档通常使用英文,这便于世界各地的程序员交流,但是并非所有用户都懂英文,所以程序能显示为用户的母语,能使软件用户群更大,且方便了普通...
  • senlin1202
  • senlin1202
  • 2016年11月10日 11:49
  • 1517

Java 对国际化 (i18n) 的支持&资源包的调用

Java 国际化 i18n 国际化信息也成为本地化信息,一般需要2个条件才能确定一个特定的国际化信息,分别是:“语言类型” 和 “国家/地区信息”,Java 为国际化提供了一系列类支持; 常用的...
  • Al_assad
  • Al_assad
  • 2017年12月01日 18:15
  • 342

Java的国际化支持(I18N问题)

一,读取PC的locale信息Locale信息是由语言跟国家代码组成的,在Java中,提供了Locale类对应语言信息。/* * //获取local信息 Locale defaultLocale ...
  • lhc2207221755
  • lhc2207221755
  • 2015年12月16日 20:23
  • 1748

Java SpringMVC实现国际化整合案例分析(i18n)

所谓国际化就是支持多种语言,web应用在不同的浏览环境中可以显示出不同的语言,比如说汉语、英语等。下面我将以具体的实例来举例说明: (1)新建动态Java web项目,并导入几个SpringMVC必...
  • hj7jay
  • hj7jay
  • 2016年05月12日 13:03
  • 16962

SPring MVC i18n 国际化使用流程Demon(Maven项目的搭建和web、spring框架的添加)

spring MVC测试国际化,Maven项目的搭建以及web、spring框架的整合。
  • u013361445
  • u013361445
  • 2015年07月29日 16:45
  • 2054

Spring 读取i18n国际化资源文件的工具类

现有一个国际化资源文件demoUser_zh_CN.properties如下: demoUser.create.success=创建成功 demoUser.update.success=更新成功 de...
  • u011659172
  • u011659172
  • 2016年05月17日 14:33
  • 669

国际化(i18n)

国际化开发概述软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化(internationalizat...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2016年08月17日 21:17
  • 14423
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java国际化与 I18N 的由来
举报原因:
原因补充:

(最多只允许输入30个字)