国际化和本地化概述

不同地区用户的语言、文化背景各不相同,且部分用户可能讲多种语言。因此,应用发布面向不同地区版本时,需要充分识别语言、地区和文化的差异。通过国际化和本地化过程,可使应用界面显示符合当地用户的使用习惯,增加应用潜在市场。

国际化(Internationalization,I18n)是系统提供的一套能力集,支持设置区域特性、时区和夏令时等,满足应用多语言多文化的设计需求。其中,区域特性能力包括设置不同地区的时间日期、数字与度量衡、电话号码、日历和历法、语言等,时区和夏令时能力包括获取时区、夏令时跳变等。国际化通常在应用设计开发阶段,设计和开发过程中不设定用户使用的语言,采用通用设计。

为使应用在不同市场可以运行,国际化为应用开发提供了一些准则,包括:不可对用户的文化和习惯进行假设,例如不能假设所有地区均以逗号作为数字分组分隔符,然后在代码里面将数字分组分隔符硬编码为逗号等;UI元素(如图片、字串)应作为应用资源从代码逻辑中分离出来,当需要提供其他地区用户版本时,仅需翻译对应资源,避免修改代码逻辑,提高效率,避免应用重新设计开发。

本地化(Localization,L10n)在应用定制阶段,是开发者为满足不同地区用户在语言和文化方面的需求,针对具体的目标语言对应用进行翻译和定制,过程包括配置多语言等资源翻译、敏感禁忌检查和测试。

配置多语言资源是为应用配置不同国家和地区、不同语言的内容,使应用界面加载显示符合所在区域使用习惯的内容。资源翻译是本地化过程的一个基本步骤,资源经翻译后才能形成多语言资源,包括UI元素翻译和代码翻译。翻译时采用UI元素与代码逻辑分离的原则,降低翻译难度。翻译完成后,会将UI元素按照类型(如图片、音视频)加载至相应语言的应用资源文件中。当界面加载资源时,根据应用语言列表加载和显示对应资源。

本地化过程还包括敏感禁忌检查和测试。敏感禁忌是开发者对用户界面显示的内容进行检查,界面中不允许显示可能导致舆情的内容,包括政治、宗教、文化等方面。测试是指开发者使用系统本地化测试能力检查应用是否存在未翻译字串、翻译是否准确、应用界面排版、界面显示是否符合本地用户习惯等问题。