虽然我不打算回答你的问题,关于编码的影响,由于缺乏经验,在这个领域,我认为你会发现下面的维基百科文章的一些使用区分3个术语。

Http://en.wikipedia.org/wiki/i18n

这里有一篇来自 W3C: 本地化与国际化的文章

他们的简短回答似乎是:

本土化指的是“强”适应 产品、应用程序或文件 满足语言、文化的需要 及其他特定要求 目标市场(“场所”)。

国际化是设计和 产品的开发、应用 或文件内容,使容易 为目标受众提供本地化服务 在文化、地区或语言上有所不同。

因此,国际化似乎是使产品能够本地化到特定的市场。根据 W3C,全球化是国际化的另一个术语。

就个人而言,我大多数时候都是交替使用它们,但是查看本文可以更详细地了解它们的内容。

I18n-国际化-提供某种类型的框架,以便您可以轻松地交换字符串、图形、声音和其他资源,并通常处理不同的通信约定。

L10n-本地化-创建一串字符串、图形、声音等的过程,这样你就可以针对特定的国籍、语言或地区。

G11n-全球化-两个国际化与本地化:)

有许多方法和框架支持这些进程中的“字符串”部分,它们通常涉及使用 unicode。其他部分通常通过创建包含大量图形和声音的资源文件来处理。根据所使用的框架,字符串也可能存储在这里。我发现 QT有一个处理 I18n 字符串的优秀系统。

我不知道“ G”是什么意思,但对我来说:

  • I18n 表示可以做到
  • L10n 表示已经完成了

只要从麦当劳的角度考虑一下(耐心听我说)。

麦当劳是 国际化,因为它的 可以是本地化。比如说,你不可能轻易地将一家美国国旗商店国际化,除非你将公司扩大到生产所有国家的国旗。

麦当劳是 局部的,因为当你去麦当劳在日本,有很多不同的食物,比如说,在美国。也都是用日文写的。这意味着他们已经根据日本 还有语言文化调整了他们的产品。


对我来说,本地化就是为不同的文化生产特定的产品。例如: Www.google.comWww.google.co.nz。它们都是谷歌。一个是针对美国(或通用) ,另一个是针对新西兰。它们都是用英语写的... ... 但是它们是本地化的,针对各自观众的 文化

这说得通吗?

I18n 主要是一项软件工程工作; 您必须处理代码。最简单的概念是将硬代码 String 移出源代码,以减少将用户看到的 String 转换为资源文件或数据库值或其他任何取决于您选择的 i18n 框架之间的交互。在 i18n 中,您处理逻辑、 UI、数据库、从左到右的脚本等,以获得与区域(语言/国家)特定性相当正交的代码库。您可能有处理特定于某个国家的业务逻辑(即税收)的策略。您可能会处理格式化简单的项目,如日期/时间、货币等,也可能处理复杂的项目(地址、帝国日历) ,这些项目可能需要在数据库、逻辑、 UI 等方面进行一些设计。这取决于你的目标地点。

L10n 应该在之后进入,而不是软件工程师的工作。在大多数情况下,这是“本地化”公司,与翻译,谁做的工作的一部分。

I18n 和 L10n 都是 G11n 战略的必要组成部分。计划、质量保证等需要考虑到双方,因为存在从一个世界到另一个世界的集成问题。

希望能帮上忙。

我有一个国际化的产品。没有翻译,但是字符串都是外部化的,所以如果我们希望将本地化的产品发送到特定的国家,我们可以翻译文件,测试产品,然后发送到那个国家本地使用。

目前,完全国际化的产品都是英文的,但编码都完成了。如果有人试图检入不适当的代码,审核人员可以正确地拒绝它,理由是它没有国际化,这会使产品无法完全本地化。

但是由于没有进行测试,因此它实际上还没有完全国际化..。

根据我的实际经验:

I18N: 假设你的操作系统是英语(美国) ,你可以将操作系统语言改为日语/中文,并且可以安装支持日语/中文的应用程序。

L10N: 您的操作系统必须在与应用程序相同的地区。例如,在日本操作系统上,您可以安装支持日语的应用程序。在这里,所有的东西都在同一个地方。

G11N: 它是 IBM/Sun Microsystem 提供的命名转换。它基于所有设置的类型涵盖了 I18N 和 L10N。

如果我说错了请纠正我。

谢谢 维卡斯