可能重复:
Localization and internationalization, what’s the difference?
I18n / L10n / G11n对我来说都是平等的本地化,但人们不断在这些方面做出区分,尤其是在企业和市场营销方面,但是从程序员的角度来看,我没有看到这三项任务是怎样的同样的,每一个都有特殊要求吗?对程序员解释这些不涉及全球市场的术语有什么诚实的程序员,换句话说,当翻译成开发(编码)软件时,这三个术语背后的细节差异是什么?
谢谢!
答案 0 :(得分:64)
以下是W3C的一篇文章:Localization vs. Internationalization
他们的简短答案似乎是:
本地化是指改编 产品,应用程序或文档 满足语言,文化的内容 和具体的其他要求 目标市场(“地区”)。
国际化是设计和 开发产品,应用程序 或者记录启用的内容 针对目标受众的本地化 文化,地区或语言各不相同。
因此,似乎国际化正在使产品能够本地化到特定市场。根据W3C,全球化是国际化的另一个术语。
就我个人而言,我大多可以互换使用它们,但请查看文章,了解每种方法的具体内容。
答案 1 :(得分:45)
I18n - 国际化 - 提供某种框架,以便您可以轻松交换字符串,图形,声音和其他资源,并通常处理不同的通信惯例。
L10n - 本地化 - 创建一堆字符串,图形,声音等的过程,以便您可以定位特定的国籍,语言或地区。
G11n - 全球化 - 同时进行国际化和本地化步骤:)
有许多方法和框架支持这些进程的“字符串”部分,它们通常涉及使用unicode。其他部分通常通过创建包含大量图形和声音的资源文件来处理。根据您使用的框架,字符串也可能存储在此处。我发现Qt有一个很好的系统来处理I18n的字符串。
答案 2 :(得分:16)
想想麦当劳(跟我一起)。
麦当劳国际化因为可以本地化。除非你扩大公司以制作所有国家的旗帜,否则你不能轻易地将美国国旗店本地化。
麦当劳是本地化的因为当你去日本的麦当劳时,那里的食物与美国的情况完全不同。它也都用日文写成。这意味着他们已经将产品调整为日本语言和。
对我而言,本地化是指您为不同文化制作特定产品。例如:www.google.com和www.google.co.nz。他们都是谷歌。一个是美国(或通用),一个是新西兰。它们都是英文的......但它们本地化为各自受众的文化。
这有意义吗?
答案 3 :(得分:12)
我不知道“G”,但对我来说:
答案 4 :(得分:5)
i18n主要是一项软件工程工作;你必须处理代码。最简单的概念是将硬编码字符串从源代码中移出,以减少用户看到的转换字符串之间的交互,并将它们作为资源文件或数据库值或根据您选择的i18n框架移动它们。在i18n中,您处理逻辑,UI,数据库,从左到右的脚本等,以便获得与区域设置(语言/国家/地区)特定性完全正交的代码库。您可能有策略来处理特定于某个国家/地区的业务逻辑(即税收)。您可能会处理格式化简单项目,如日期/时间,货币等,也可能是复杂的项目(地址,帝国日历),可能需要在数据库,逻辑,UI等方面进行一些设计。有点取决于您的目标区域设置。
L10n应该在事后出现,而不是软件工程师的工作。在大多数情况下,是“本地化”公司,与翻译人员一起完成这部分工作。
i18n和L10n都是G11n策略的必要组成部分。规划,质量保证等需要考虑到双方,因为从一个世界到另一个世界存在整合问题。
希望有所帮助。
答案 5 :(得分:2)
虽然由于缺乏该领域的经验,我不会尝试回答您关于编码影响的问题,但我认为您会发现以下维基百科文章在区分3个术语时有一些用处。
答案 6 :(得分:2)
我有一个国际化的产品。没有进行任何翻译,但字符串都是外部化的,因此如果我们希望将产品本地化为特定国家/地区,我们可以翻译文件,对产品进行测试,并将其运送到该国家/地区使用。
目前,完全国际化的产品都是英文产品,但编码工作全部完成。如果有人试图检查不合适的代码,审核人可以正确地拒绝它,理由是它不是国际化的,并且会使产品无法完全本地化。
但是由于没有进行任何测试,所以它还没有完全国际化......
答案 7 :(得分:1)
根据我的实际经验:
I18N:假设您的操作系统是英语(美国),您可以将操作系统语言更改为日语/中文,并可以在日语/中文支持中安装应用程序。
L10N:您的操作系统必须与日语操作系统上的application.eg位于相同的语言环境中,您可以安装支持日语的应用程序。这里的所有东西都在同一个lacale中。
G11N:它是由IBM / Sun Microsystem提供的命名转换。它涵盖I18N和I18N。 L10N基于所有设置的类型。
如果我错了,请纠正我。
由于 维卡斯