众所周知,英语不再是接触互联网受众的通用语言。统计数据显示,尽管英语仍然是互联网上使用的第一语言,但它现在已经成为全球约30%互联网用户的主要口语。自2000年以来,英语也是互联网上增长最慢的语言之一。虽然2009年英语网民数量比2000年多2.5倍,但中国和西班牙网民数量分别增长了9倍和6倍。时间

互联网上大约70%的非英语用户也可能把英语作为第二语言。将英语作为第二语言的非英语用户的百分比实际上会减少,而其他语言的互联网普及率将继续增加。

由于这些趋势,许多公司已经投入时间和资金将其产品和网站本地化为其他语言,或计划在不久的将来这样做。这导致了一个关键问题:

“将我现有的英文应用程序或网站改编并翻译成其他语言的最佳方式是什么?”

为了有效回答这个问题,有必要引入两个概念:本土化和国际化。根据万维网联盟(W3C):

本地化(l10n)

是否适应产品、应用程序或文档内容,以满足特定目标市场的语言、文化和其他要求(“区域设置”)。

国际化(i18n)

是否设计和开发或修改产品、应用程序或文档的内容,以便为具有不同文化、地区或语言的目标受众轻松地进行本地化。

翻译或本地化应用程序/网站的最佳方式是遵循以下两个步骤:

首先国际化应用程序,然后

将应用程序本地化为所需的语言(地区)。

不幸的是,大多数翻译和本地化客户没有遵循这条道路;大多数人跳过第一步,只是在没有事先准备的情况下尝试本地化他们的产品。表面上看,这种选择似乎省时省钱,但从长远来看,结果恰恰相反。通过只执行一次关键任务,国际化大大节省了时间和金钱,从而减少了将应用程序本地化为其他语言的工作量。

国际化的好处

国际化的关键概念是将您为英语或任何其他语言开发的依赖于地区的应用程序转换成一组内核、地区中立的应用程序和附属的依赖于地区的组件(通常称为资源文件)。使用此方法将使您的代码应用程序完全独立于区域设置;它可以在所有本地化版本之间共享。

常见的国际化问题

这种新的独立于语言环境的应用程序需要适应和解决一些通常出现在任何以语言环境为中心的应用程序中的问题。国际化问题很多;下面列出了几个常见的例子。

区域实施:

康丁斯基

应用程序必须有一个语言环境层,允许用户选择在任何给定时间应该显示的语言环境。此外,许多应用程序,尤其是基于web的应用程序,会尝试检测每个特定用户的最佳区域设置,并选择它作为默认选项。语言环境层将负责存储其余应用层的选定语言环境。

为什么国际化您的网站?

编码模式:

当任何应用程序需要从任何类型的介质(磁盘、内存等)中存储或检索内容时。),它需要为此任务使用特定的编码。任何地区的应用程序都必须使用支持任何可能的脚本或语言的编码。目前最常用的编码是Unicode。

内容外部化:

如上所述,任何可能根据语言环境而变化的内容类型(如文本、图像或媒体)都必须从核心应用程序中具体化,并放入外部资源文件中。当应用程序本地化时,不必为每个语言环境修改核心应用程序,只需修改与这些语言环境对应的资源文件。

区域敏感格式:

西里尔(男子名)

区域设置有显示数字、货币和日期/时间的特定规则。美国的日期显示与英国的不同,尽管两种语言环境下的语言都是英语。正确国际化和区域中立的应用程序应该适应这种情况,并以用户在任何给定时间期望的特定区域的方式显示区域敏感信息。大多数现代编程语言的框架中都有库来帮助开发人员以最小的努力实现这个目标。

用户界面布局的本地化:

一些语言从左到右显示文本,而其他语言(如阿拉伯版式)从右到左显示文本。此外,一些语言需要更多的空间来表达相同的信息:英语到德语的文本翻译可能会增加33%或更多的文本字符数。独立于语言环境的应用程序也必须适应这些问题,并动态地修改用户界面(UI),以便以清晰和有组织的方式向用户呈现文本和标签。

应用程序本地化目标

简而言之,针对特定语言和地区调整应用程序不仅仅是翻译可见文本。这是一个复杂得多的过程,理想情况下,应该从应用程序设计和开发的第一天起就考虑本文中描述的步骤。设计应用程序时要考虑所有国际化问题。当应用程序被本地化为其他语言时,将大大节省时间和金钱。

虽然正在开发更多的应用,也考虑到了国际化,但是仍然有很多应用还在开发中,没有国际化的基础。幸运的是,后面的开发人员有一些好消息:已经开发了许多工具来帮助本地化工程师和程序员测试和修复本文中描述的问题类型。该工具简化了这一高度复杂的过程,尤其是对于重复性任务,如从应用程序中提取内容。