page.title=本地化检查单 page.metaDescription=充分利用 Android 和 Google Play 提供的全球受众。阅读此检查单以获得如何向世界各地市场提供产品的概述。 meta.tags="localizing, publishing, disttools" page.tags="local, l10n, translation, language" page.image=/distribute/images/localization-checklist.jpg @jd:body

检查单

  1. 1. 确定目标语言和语言区域
  2. 2. 本地化设计
  3. 3. 管理本地化字符串
  4. 4. 翻译界面字符串和其他资源
  5. 5. 测试已本地化的应用
  6. 6. 准备国际化发布
  7. 7. 在发布之后为国际用户提供支持

Android 和 Google Play 让您可以向全球的用户提供应用,其中日本、韩国、印度、巴西和俄罗斯等国家/地区的目标用户群正在迅速扩展。 我们强烈建议您进行本地化,因为这样可以最大程度地增加应用的分发范围,获得全球各地用户的评分。

本地化涉及到很多任务,贯穿应用开发的整个周期,因此务必要提前做出规划。 本文旨在帮助您了解本地化的主要方面,以便您做好准备,通过 Google Play 向全球成功发布自己的应用。

1. 确定目标语言和语言区域

确定要向哪些国家/地区发布您的应用并了解这些国家/地区所用的语言,是准备本地化的过程中基本且重要的一步。 对于具有巨大市场商机、但英语或其他国际性语言并不普及的国家/地区来讲,将应用本地化尤为重要。

对于国际用户,您可以从以下这三个主要方面来管理自己的应用:国家/地区、语言区域和语言。 其中,语言是本地化的主要考虑因素(语言区域也很重要,因为日期的格式、时间、货币及其他类似信息也都存在差异)。 用户可以控制其 Android 设备上使用的语言和语言区域,反过来这些因素也会影响应用的显示方式。

一般来说,您首先要根据整体市场规模和商机、应用类别、竞争格局、本地定价和金融状况等因素来确定要定位的国家/地区, 然后再基于您的国家/地区定位,确定应用要支持的语言。

随后,您可以决定是针对目标国家/地区的部分语言还是全部语言进行本地化。 合理的做法是,先针对一种主要的地区性语言进行本地化,然后随着用户群的扩大增添更多语言。

确定目标语言之后,您就可以安排开发、翻译、测试和市场营销工作重点围绕这些市场展开。

相关资源

2. 本地化设计

确定本地化的目标语言之后,请评估在应用中支持这些语言需要完成哪些工作并提前做出规划。 要考虑的事项包括每种语言的词汇扩展、脚本要求、字符间距、换行限制、支持文字“从左到右”和“从右到左”,以及其他可能遇到的问题。

设计一套灵活的布局

在创建布局时,确保包含文字的界面元素拥有充足的空间。 最好在满足您的语言的基础上多出部分空间(通常留出 30% 的空间)以适应其他语言。

另外,元素应能够横向或纵向扩展,以便可以适应不同宽度和高度的界面字符串或输入文本。 任何目标语言的文本字符串都不应与边框或屏幕边缘重叠。

如果界面设计得当,通常您就可以针对所有支持的语言使用一套布局。 有关详情,请参阅构建灵活的界面

根据需要使用备用布局

如果您的界面不能很好地适应某种目标语言中的文本,那么您可以单独为该语言创建一套 备用布局。 Android 可让您很轻松地针对特定语言、语言区域、屏幕尺寸等,声明要加载的多种布局和其他资源,只需使用相应的资源限定符做出标记即可。 虽然备用布局可提供相应的灵活性,但使用它会导致随着时间推移,应用的维护难度增加。 一般来说,最好使用一套更灵活的布局。

支持 RTL 布局和文本

如果您要发布应用的国家/地区使用从右到左 (RTL) 的文字阅读方向,则您应该考虑尽可能地支持 RTL 布局以及相应的文本显示和编辑。

Android 4.1 引入了对双向文本的有限支持,支持应用以从左到右 (LTR) 和从右到左 (RTL) 的方向显示和编辑文本。 Android 4.2 增加了对 RTL 布局的完整原生支持(包括布局镜像),因此您可以为所有用户提供一致的优质体验。

Android 4.2 用户至少可以轻松添加基本的 RTL 布局镜像,这对满足 RTL 用户需求大有帮助。

针对日期、时间、数字和货币采用系统提供的格式

如果您的应用需要可能指定因语言区域不同而不同的日期、时间、数字、货币和其他实体,请务必使用系统提供的格式,而不要使用应用专有的格式。 请注意,并非所有的语言区域都使用相同的千位分隔符、小数点或百分比符号。

Android 提供了多种实用工具,用于在不同的语言区域中设置格式和进行转换:例如适用于日期的 DateUtilsDateFormat; 适用于数字和货币的 String.format()DecimalFormat; 适用于电话号码的 PhoneNumberUtils 等。

假定用户的语言区域并据此强制设置格式,会导致在用户更改语言区域时引发问题。 强烈建议您使用系统提供的格式和各种实用工具。

包括一套完整的默认资源

提供一整套默认资源可以确保无论是何种语言或语言区域,您的应用都能正常运行。 应用的默认资源是指没有标记任何语言或语言区域限定符的资源,例如 res/drawable/ 和 res/values/ 中存储的资源。 如果您的应用试图加载目前的语言或默认资源集中没有的资源,则会崩溃。

无论您在应用中使用的默认语言是什么,请务必在默认的资源目录中存储相关的布局、图形内容和字符串,且不使用语言或语言区域限定符。

相关资源

3. 管理本地化字符串

妥善管理应用的界面字符串非常重要,这样您才能为用户提供优质的体验,并让本地化工作事半功倍。

将所有字符串放入 strings.xml 中

在构建应用时,请注意不要硬编码任何字符串。而是在默认的 strings.xml 文件中将所有字符串声明为资源,这样便于更新和进行本地化。 Strings.xml 文件中的字符串可以抽取出来、进行翻译,然后再集成回应用(使用相应的限定符),无需对编译后的代码进行任何更改。

如果您生成带有文本的图片,也请将这些字符串放入 strings.xml,并在翻译之后重新生成图片。

遵循 Android 的界面字符串准则

在设计和开发界面时,请务必密切注意您与用户交流的方式。 一般而言,使用友好而不失简洁、简明而且精炼的风格,并且整个界面应采用一致的风格。

请务必阅读并遵循写作风格和字词选择方面的 Android 设计建议。 这样做能够让您的应用更加美观,并且有助于用户更快理解您的界面。

另外,请尽可能使用 Android 标准术语 — 例如对于界面元素,使用“操作栏”、“选项菜单”、“系统栏”、“通知”等。 确保 Android 术语的正确性和一致性可让翻译工作更容易进行,从而为用户带来更好的最终产品。

为声明的字符串提供充足的上下文

在 strings.xml 文件中声明字符串时,确保清楚说明使用该字符串的上下文。 此信息对翻译人员来说十分重要,有助于提高翻译质量,也有助于您始终有效地管理字符串。

下面是一个例子:

<!-- The action for submitting a form. This text is on a button that can fit 30 chars -->
<string name="login_submit_button">Sign in</string>

您需要提供的上下文信息包括:

标记不应翻译的消息部分

有时候字符串中包含不应被翻译为其他语言的文本。 常见的示例包括代码、某个值的占位符、特殊符号或名称。 在准备翻译字符串时,请查找并标记应该保留原样而不需要翻译的文本,这样翻译人员就不会更改这些内容。

要标记不应翻译的文本,请使用 <xliff:g> 占位符标记。以下示例标记可确保文本“%1$s”在翻译过程中不会被更改(否则这条消息会被破坏):

<string name="countdown">
    <xliff:g id="time" example="5 days>%1$s</xliff:g>until holiday
</string>

在声明占位符标记时,请务必添加说明此占位符用途的 ID 属性。 如果您的应用稍后会替换占位符值,请务必提供示例属性来说明预期用途。

以下是其他一些占位符标记的示例:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

<!-- Example placeholder for a special unicode symbol -->

<string name="star_rating">Check out our 5

    <xliff:g id="star">\u2605</xliff:g>

</string>

<!-- Example placeholder for a for a URL -->

<string name="app_homeurl">

    Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g>

</string>

<!-- Example placeholder for a name -->

<string name="prod_name">

    Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g>

</string>

<!-- Example placeholder for a literal -->

<string name="promo_message">

    Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>” to get a discount.

</string>

...

</resources>

相关资源

4. 翻译界面字符串和其他资源

将应用的界面字符串和资源翻译为目标语言是本地化过程中的关键阶段,需要给予最多关注并做出规划。

我们建议您与专业翻译人员合作(请参阅聘请专业翻译公司),以确保获得高品质的翻译,提升应用的价值。 您也可以选择机器翻译,但用户体验不如人工翻译。

准备翻译

翻译工作的质量在一定程度上取决于您的源资料,因此请确保您的 strings.xml 文件条理清晰、注释完善,而且完全准确。

以下是一些在翻译之前准备字符串的方法:

发送字符串进行翻译

在开发阶段的初期,您就可以与专业的翻译供应商联系,商定费用和周转时间。 确保包含多次反复工作的费用。 您可以寻找在线翻译供应商或直接使用 Google Play 开发者控制台提供的翻译服务(请参阅聘请专业翻译公司)。

翻译完成后,请进行初步检查。 查看所有文件是否均已翻译,是否存在潜在编码问题,并确保声明格式未被破坏。

如果一切正常,请小心地将已本地化的目录和文件移回应用的资源中。 请务必使用正确的语言和语言区域限定符标记目录,以便以后能够正确加载这些目录。

在将译文合并到您的应用之后,请开始测试已本地化的应用

通过 Google Play 聘请专业翻译公司

Google Play 应用翻译服务可以帮助您为应用快速寻找和购买翻译服务。 在开发者控制台中,您可以浏览已由 Google 认证的第三方供应商列表,这些供应商能够以有竞争力的价格为您提供高品质的翻译。 您可以上传要翻译的字符串,选择翻译的目标语言,并根据时间和价格选择翻译供应商。

购买翻译之后,您会收到来自供应商的电子邮件。 翻译是您与供应商之间的直接业务往来,您需要直接与供应商合作,管理翻译流程和交付,并解决任何支持问题。

相关资源

5. 测试已本地化的应用

收到翻译的字符串和资源并放入应用之后,您需要对应用进行测试,确保应用能够向国际用户发布。

人工测试可以帮助您发现布局和字符串中的本地化问题,这些问题可能影响用户满意度,最终影响应用的用户评分。

设置测试环境

要测试已本地化的应用,您需要根据您的目标市场和适配机型,设置包含多种设备(或虚拟设备)和屏幕尺寸的环境。 请注意,特定地区的设备种类可能不同。 如果可能,请将您的测试设备设置为用户能够使用的实际设备。

查找常见的本地化问题

在每台测试设备上的“设置”中设定语言或语言区域。安装并启动应用,然后浏览所有界面流程、对话框和用户互动。 在输入框中输入文本。要查找的问题包括:

如果翻译后的字符串变得过于臃肿,不能适应布局,建议您尝试简化默认文本、简化译文文本或调整默认布局。 如果问题仍然不能解决,请为该语言创建自定义布局。

测试默认资源

使用您支持的所有语言和语言区域测试应用之后,请务必使用不支持的语言和语言区域再次测试。 这有助于确保您的应用包括一整套默认字符串和资源,可供所有用户使用,不论用户设置了哪种首选语言。

邀请母语使用者进行复查

在测试过程中或之后,建议您邀请相应的母语使用者对本地化的应用进行复查。 一种方法是让目标地区的用户进行 Beta 版测试 — Google Play 可以帮助您开展这项工作。

6. 准备国际化发布

翻译应用是本地化过程中的关键部分,但是要让您的产品吸引用户、获得关注,您应该做好在目标国家/地区发布应用的准备,并针对国际用户制定更广泛的发布和营销计划。

将 Google Play 商品详情本地化

如果您想让应用在国际市场上取得成功,则务必将您的 Google Play 商品详情本地化。 您可以在开发者控制台中管理已本地化的商品详情。

在发布之前,请决定您的应用标题、说明、宣传文字、营销主题和计划以及其他文字和图片。 请提前发送您的商品详情文字和图片进行翻译,确保这些内容在 Beta 版测试开始时就准备就绪。 收到译文后,您可以通过开发者控制台添加译文。

另外,您已经创建了优秀的本地化应用,那么就应该让用户知晓。 截取各个语言版本的界面在手机和平板电脑(7 英寸和 10 英寸)上的截图。 您可以将所有目标语言版本的屏幕截图上传到开发者控制台。 对于使用其他语言浏览您的应用详情的用户来说,这有很重要的参考价值。

您还有必要准备本地化版本的宣传图片和视频。 例如,应用的置顶大图可能包括应该翻译的文本,翻译之后能达到最佳效果,或者您可能希望在某个国家/地区呈现与众不同的视觉效果。 您可以为每种目标语言创建相应版本的宣传图片,并将它们上传到开发者控制台。 如果您提供宣传视频,则可以创建本地化版本的视频,然后添加指向各目标语言版本的视频的链接。

在主要国家/地区计划 Beta 版的发布

在发布应用之前收集用户的真实反馈是很有价值的, — 以新的语言、在新的国家或地区发布应用时,更应该收集反馈。 在这种情况下,我们强烈建议您向主要目标市场的用户发布应用的预览版本,以便这些用户能够方便地向您提供反馈和报告错误。

Google Play 可以帮助您为应用设置 Beta 测试计划。登录到开发者控制台并上传您的 APK 之后,您可以成立用户小组,以便进行应用的 Alpha 和 Beta 测试。 您可以先进行小范围的 Alpha 版测试,然后进行更大范围的 Beta 版测试。

用户被添加到小组之后,他们可以访问您应用的商品详情并安装应用。 Alpha 或 Beta 版本的用户不能留下评论或评分,因此您在 Google Play 上的评分不会受到不利影响,不过这意味着您需要为测试者设置一种机制以便他们提供反馈:考虑创建一个 Google+ 页面或 Google 网上论坛

收到的反馈可以帮助您调整界面、译文和商品详情,以确保为用户提供优质体验。

计划国际化营销

为了在各国家/地区获得最高的关注度,请考虑开展国际化营销或广告活动。 活动的覆盖范围取决于您的预算,但一般来说,在发布时和发布后针对特定国家/地区开展营销是经济、高效的措施。

创建本地化的 Google Play 徽章

如果您正在准备国际化营销,请务必加入本地化的 Google Play 徽章,让用户知道您是在 Google Play 上发布应用的。您可以使用徽章生成器快速构建本地化的徽章,然后用到您的网站或营销材料中。 您还可以获得高分辨率的资源。

创建本地化的设备原画

如果您有应用在 Android 设备上运行的产品截图,请确保这些截图拥有精美外观,能够反映应用在 Android 设备上的最新状态。 为帮助您准备高品质的营销材料,请使用设备原画生成器,只需拖放即可快速获得在 Nexus 设备上的屏幕截图。

查看您的优化提示

在准备发布时,请务必登录到开发者控制台,查看为您的应用提供的“优化提示”。 通过优化提示,您可以了解本地化的商品详情是否有所遗漏,还可以获得其他有用的提示,帮助您实现成功的本地化发布。

相关资源

7. 在发布之后为国际用户提供支持

在国际范围内发布应用之后,您应该准备好为各种语言和时区的用户提供支持。 能为国际用户提供什么样的支持取决于您的预算,不过您至少要在发布后认真查看应用获得的评分、评论和下载统计信息。

下面是一些建议:

按照这些做法将应用本地化、向国际用户宣传和营销,并提供持续的支持,您的应用就能吸引很多新用户并始终赢得他们的青睐。

请务必阅读发布检查单,以详细了解如何在 Google Play 上计划、构建和发布您的应用。

相关资源