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