# 国际化和本地化概述

#### 功能介绍

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

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

为使应用在不同市场可以运行，国际化为应用开发提供了一些准则，包括：

*   不可对用户的文化和习惯进行假设，例如不能假设所有地区均以逗号作为数字分组分隔符，然后在代码里面将数字分组分隔符硬编码为逗号等。
*   UI元素（如图片、字符串）应作为应用资源从代码逻辑中分离出来。当需要提供其他地区用户版本时，仅需翻译对应资源，避免修改代码逻辑甚至重新设计开发应用，提高效率。

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

为保证应用界面加载显示符合所在区域使用习惯的内容，需要配置不同语言或方言的资源。资源翻译是本地化过程的一个基本步骤，资源经翻译后才能形成多语言资源，主要是UI元素翻译。翻译时遵守UI元素与代码逻辑分离的原则，降低翻译难度。翻译后，UI元素按类型（如图片、音视频）加载至相应语言的应用资源文件中。界面加载资源时，根据系统当前语言或应用偏好语言加载。

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

#### 模拟器支持情况

本Kit支持模拟器。

模拟器与真机存在通用差异，详情请参见“模拟器与真机的差异”。