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