Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Localization 本地化和国际化,什么';有什么区别?_Localization_Internationalization - Fatal编程技术网

Localization 本地化和国际化,什么';有什么区别?

Localization 本地化和国际化,什么';有什么区别?,localization,internationalization,Localization,Internationalization,我想问一个关于准备桌面应用程序以支持UI上的多种语言的问题 在我搜索关于这个主题的现有问题时,我想到了“国际”这个词,所以我选择了国际化标签并阅读了一些匹配的问题 最终,我意识到我可能应该在标有本地化的问题下寻找答案。然而,我并不是唯一一个把这两个术语搞混的人 那么,本地化和国际化的关键区别是什么 另外,它们之间的明确区别真的那么重要吗 国际化(i18n)更改软件的过程,使其不与一种语言/地区/文化硬连接。 本地化(l10n)向软件中添加适当资源以支持特定语言/区域设置的过程。它的范围比我们想象

我想问一个关于准备桌面应用程序以支持UI上的多种语言的问题

在我搜索关于这个主题的现有问题时,我想到了“国际”这个词,所以我选择了国际化标签并阅读了一些匹配的问题

最终,我意识到我可能应该在标有本地化的问题下寻找答案。然而,我并不是唯一一个把这两个术语搞混的人

那么,本地化和国际化的关键区别是什么

另外,它们之间的明确区别真的那么重要吗

国际化(i18n)更改软件的过程,使其不与一种语言/地区/文化硬连接。 本地化(l10n)向软件中添加适当资源以支持特定语言/区域设置的过程。它的范围比我们想象的要大,但这是一个好的开始。
区分它们的价值在于(理论上)一旦程序通过i18n进程,就可以根据需要迭代许多l10n进程;此外,准确地使用语言也很好。

根据:

国际化是设计和构建 申请方便 本地化本地化,在 反过来,是文化和语言的问题 适应国际化 适用于两个或两个以上 不同文化的市场


i18n和l10n有许多定义。我使用的是:

国际化(i18n):应用程序的特定语言改编(翻译)

本地化(l10n):应用程序的特定于地区的适应(货币、数字格式、日期格式…)


例如,我们在法国和瑞士发布的应用程序可以使用相同的语言(我们都说法语,至少在瑞士的一些地区是这样),但我们仍然需要进行一些调整,才能将欧元改为瑞士法郎。

国际化为您的本地化应用程序做好准备。例如,您可以用Unicode编码存储在数据库中的字符(
utf8mb4
而不是
latin1
),将字符串移动到资源文件中,启用日期、时间和货币格式的使用,等等


例如,当您希望销售中文版的应用程序时,您可以通过雇用翻译来构建zh CN资源文件,并使用新的日期/时间/货币格式来对其进行本地化。

L10n有时可以显示您的i18n出现故障的地方-例如,如果您的词典中有一个单独的词条,该词条在英语中用作名词,而动词在另一种语言中不能翻译为同一个词,或者UI元素/设计不适合某一文化(L/R方向)


因此,L10N“一般”发生在I18N之后,但可以反馈到您的I18N中,并需要进一步重新设计,因此在您完成了几个本地化之前,您不能认为您的应用程序完全国际化。

< P>这里有一些非常好的答案,所以我不会回收它们。然而,在某种程度上,国际化测试和本地化语言测试之间,国际化和本地化倾向于重叠。一个人提到l10n反馈到国际化,但是如果您正在进行高质量的i18n测试,并创建伪本地化内容,那么在本地化期间迭代开发问题应该是例外,而不是规则。调整界面大小,特别是调整页面以支持阿拉伯语和希伯来语等双向语言,也倾向于融合本地化问题和国际化工程

只需说一句,国际化包括根据需求对源代码进行更改以支持任何语言环境。如果国际化做得好

…本地化包括对内容和某些级别的表示(例如,粗体标记)进行调整,以便最好地满足特定目标市场(地区)的需求


这里有很多文章和白皮书供参考:

我觉得本地化可以脱离国际化,但是。。 全球化(G11n):是向全球市场开发和销售多语言软件产品的过程

目前,多语言软件的开发经历了两个阶段:第一阶段是国际化,第二阶段是本地化

国际化(I18n):是产品的通用化过程,使其能够处理多种语言和文化习俗,而无需重新设计(即语言和文化中立)


本地化(L10n):是指获取产品并使其在语言和文化上适合目标地区(国家/地区和语言)使用和销售的过程(即特定于语言和文化)。

类似的pov:想象一下图书馆中的书架只能容纳一本4x4英寸大小的书。国际化将是在书架上建造各种不同的隔间,使其能够处理任何大小或形状的书籍。本地化将把所有的书都放在正确的部分。将您的数据库、业务逻辑和UI视为书架,将不同的语言、货币和文本方向视为书籍。

国际化-i18n-从任何特定语言/文化中抽象出应用程序

本地化-l10n-将特定语言/文化/区域设置的具体支持插入到上述i18n框架中

基本上,通过先做i18n,可以使l10n的PITA值大大降低

相反,如果您先在具体的语言环境中创建应用程序,然后再尝试将其国际化,
key   | english    | italian           |
------+------------+-------------------+
title | Welcome    | Benvenuto         |
agree | I agree    | Sono d'accordo    |
thank | Thank you  | Grazie            |
key   | english    | italian           | spanish          |
------+------------+-------------------+------------------+
title | Welcome    | Benvenuto         | Bienvenido       |
agree | I agree    | Sono d'accordo    | Estoy de acuerdo |
thank | Thank you  | Grazie            | Gracias          |