程序员都知道的i18n编程开发国际化

Posted 跟我学VB

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员都知道的i18n编程开发国际化相关的知识,希望对你有一定的参考价值。

★新朋友点上方跟我学VB关注本微信平台程序员都知道的i18n编程开发国际化



程序员都知道的i18n编程开发国际化


ABOUT

I18N


i18n是“国际化”的简称(其来源是英文单词 internationalization的首末字符i和n,18为除了首末字符外,中间的字符数)。


对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 在全球化的时代,国际化尤为重要,因为产品的潜在用户可能来自世界的各个角落。


比如我们访问京东的网站,中文和英文版的版面显示的文字和内容是不同的。不同语言版本的网站之所以能够实现,在于这个网站开发时利用了I18N国际化。


图:京东中文版

程序员都知道的i18n编程开发国际化


图:京东英文版

程序员都知道的i18n编程开发国际化


众所周知,计算机技术发源于英语国家,英语也因此成为世界范围内程序员的通用语言,许多优秀的编程语言、开发工具、文档都是英文版,导致许多软件开发者习惯首先开发英文版本,根据需要,再把软件界面和文档翻译成不同国家、地区的语言版本。

但是由于实现翻译的途径、翻译的工作效率、翻译的可重用性等因素各不相同,使翻译工作面临很大困境,也阻碍了软件的推广和应用。

为了方便地将软件翻译成不同语言的版本,需要一套翻译规范和通用工具,这就导致了“国际化”机制的出现。


同一种语言在不同国家、地区可能存在多个支系,它们在表达习惯、语法结构甚至文字种类和编码上都有不同,方言更是千奇百怪,通用的翻译其质量肯定是不高的。涉及到计算机领域,还存在操作习惯上的差别,而且对某种语言提供完美的输入、显示、打印、保存、传输并非一件轻而易举的事,这就导致了“本地化”机制的出现。


国际化是指在设计软件时,将软件与特定语言及地区脱钩的过程。当软件被移植到不同的语言地区时,软件本身不用做内部工程上的改变或修正。本地化则是指当移植软件时,加上与特定区域设置有关的资讯和翻译文件的过程。 国际化和本地化之间的区别虽然微妙,但却很重要。

国际化意味着产品有适用于任何地方的潜力;本地化则是为了更适合於特定地方的使用,而另外增添的特色。用一项产品来说,国际化只需做一次,但本地化则要针对不同的区域各做一次。 


简言之,“国际化”是“本地化”的一部分,主要是指国际化的实现机制和翻译工作, “本地化”包含“国际化”,是对“国际化”的补充和完善,它还包括为实现对某种特定语言良好的支持而进行的有针对性的翻译调整以及对软件进行的打补丁工作。


在如微软及IBM等企业中,则会使用全球化(globalization)来表示此两者的合称。在英文中,也会使用 g11n做为简称。


随着全球经济的一体化,软件开发者开发出支持多国语言、国际化的应用是一种趋势。对于Web应用来说,同样的页面在不同的语言环境下需要显示不同的效果。也就是说,一个Web应用程序在运行时能够根据客户端请求所来自的国家和语言显示不同的用户界面。


除了i18n,L10n(localization),g11n(globalization),还有m17n(multilingualization)。


区别是:

i18n( internationalization支持多种语言,但是同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;

L10n(localization),支持2种语言,英文和另外一种语言(例如中文);

g11n(globalization),简单的理解可以认为g11n = i18n + L10n。

m17n(multilingualization)可以在同一时间支持多种语言。



VB学习有问题,就找跟我学VB!


零基础学VB活动,一个月即可掌握VB基础。

本基础课程一共30个课时,包含VB基础的全部内容,适合VB基础薄弱或者VB学习一段时间后仍无从下手的人群或者大学VB课程掌握不好的学生学习,想学习的可以与小编联系。

程序员都知道的i18n编程开发国际化




长按上图,关注跟我学VB公众平台

以上是关于程序员都知道的i18n编程开发国际化的主要内容,如果未能解决你的问题,请参考以下文章

每个 Web 开发者应该知道的 jQuery i18n 知识!——爱创课堂

VB编程开发的BMI指数计算程序

“此应用程序已过期”GWT 的 I18n

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

Java Spring国际化(i18n)问题

Java国际化(i18n)