提供多语言资源

功能介绍

当应用需要提供给多个地区的用户使用时,为了满足不同地区用户在语言、文化方面的需求,需要将应用进行本地化定制,使应用加载和显示符合所在地域使用习惯的内容。界面加载的内容包括文本字符、图片、音频、视频等,这些内容均称为资源。为确保应用可以加载到不同国家和地区、不同语言等类型的内容,需要创建多个不同的资源目录,放置多种资源,当用户运行应用时,根据所在的语言区域自动选择并加载与设备最匹配的资源。为更好实现应用本地化,推荐作法是将本地化的内容与核心功能尽可能分开,本地化内容放置在资源目录下。

本部分简单介绍资源文件配置方法和资源匹配规则。对于应用开发者,仅需关注资源配置,资源文件配置完成后,根据业务需求对资源进行访问,访问方式具体请参考资源访问

资源文件配置

  1. 确定本地化的目标区域,具体请参考区域标识

    针对目标区域准备本地化资源,将需要本地化的资源(包括字符串、媒体资源、文件、图片、音频等)翻译成目标区域的资源。这一步骤占据了本地化过程的大部分工作量。

  2. 创建资源目录。

    资源目录包括默认(base)目录和限定词目录。默认目录是创建工程时默认生成的目录,可用于存放字符串、颜色、动画、布局等内容;限定词目录由开发者创建,可根据语言、文字等自行定义,同样可存放目标区域的字符串、图片、音频等资源,自定义目录如resources/en_GB-vertical-car-mdpi。

  3. 创建资源组目录。根据需要放置的资源类型,创建相应的资源组目录,如若存放媒体资源需创建media目录,目录结构为resources/en_GB-vertical-car-mdpi/media。

  4. 创建资源文件。将字串、图片、音频等资源放入相应的.json资源文件中。

    icon-note.gif 说明:

    • 应用本地化的推荐作法是将本地化的内容与核心功能尽可能分开,本地化内容放置在资源目录下。

    • 创建资源目录、资源组目录和资源文件的具体操作请参考资源分类与访问

资源匹配规则

匹配原则为:将应用偏好语言列表与应用资源进行匹配,使应用显示与偏好语言最匹配的资源。例如,应用需要显示一个字串的操作如下。

  1. 使用系统语言与应用配置的资源限定词目录进行匹配,找出相关的限定词目录。

  2. 依据相关程度高低,对限定词目录进行排序,依次在限定词目录中搜索目标字串资源,使用最先搜索到的限定词目录下的目标字串资源进行显示。

  3. 若未找到与偏好语言匹配的字串,使用应用偏好语言列表中的第二个语言按照前述步骤进行搜索。

  4. 若依据应用偏好语言列表和系统语言列表,均未获取到匹配的资源,应用界面则加载应用默认资源目录下内容进行显示。因此,每个应用在资源目录下的默认目录均需填充资源,避免编译错误,应用界面加载资源失败。