Translations Editor 提供了一个合并的可修改视图,方便您查看所有默认和已翻译的字符串资源。
有关将应用翻译成不同语言的说明,请参阅支持不同的语言和文化。
图 1. 显示翻译前的应用文本的 Translations Editor
从 Design Editor 中打开 Translations Editor
您可以从 Layout Editor 的 Design Editor 中打开 Translations Editor,以修改默认译文,使其更好地匹配您的布局。如需了解如何在 Design Editor 中切换语言,请参阅在 Design Editor 中显示译文。
- 在左侧的 Project > Android 面板中,依次选择 ModuleName > res > layout。
- 双击 content_main.xml 将其打开,以供修改。
- 点击左下角的 Design 标签页以显示 Design Editor。
- 在 Design Editor 中,选择 Language
下拉列表。
- 选择 Edit Translations 图标
。
在 Design Editor 中显示译文
如要查看译文在应用布局中的显示效果,请在 Design Editor 中切换默认版和翻译版文本,如下所示:
- 在左侧的 Project > Android 面板中,依次选择 ModuleName > res > layout。
- 双击 content_main.xml 将其打开,以供修改。
- 点击左下角的 Design 标签页以显示 Design Editor。
- 在 Design Editor 中,选择 Language
下拉列表。
- 选择 Edit Translations 图标
。 - 选择要以何种语言查看应用。
图 2. 选中西班牙语的语言下拉列表
Design Editor 会以所选语言(在本示例中为西班牙语)显示应用布局。
图 3. 显示西班牙语译文的 Design Editor
将 Design Editor 的语言设置为默认语言
如要将语言恢复为默认值,请依次选择 es > Language 图标
。
管理和测试可本地化的文本
Android 平台和 Android Studio 提供了多种功能来帮助您管理和测试可本地化的应用文本。这些功能提供了一些选项来帮助您确定从右到左 (RTL) 显示的文本(如阿拉伯语或希伯来语)中的问题。通过测试可本地化的文本,您可以在将消息提交到源代码库以便之后送交翻译之前,对界面文本及其布局进行调整。
针对 RTL 支持重构项目
Android Studio 包含一个重构命令,该命令实现了对 TextView、ConstraintLayout 和 LinearLayout 元素中的双向文本的支持,因此应用可以按从左到右 (LTR) 和从右到左 (RTL) 的方向显示文本,并允许用户修改文本。该命令还提供了应用界面布局和所有视图微件的自动镜像功能。如要查看文本方向更改和布局镜像,您还必须在布局编辑器中设置文本和布局方向属性。
以下过程说明了如何通过重构项目来支持 RTL:
- 依次选择 Refactor > Add RTL support where possible,以显示如图 4 所示的对话框。
图 4. 添加 RTL 支持
- 如果
AndroidManifest.xml文件中的<application>元素没有android:supportsRTL="true"属性,请选中 Update AndroidManifest.xml 复选框。 - 如果应用的
targetSdkVersion为 17 或更高,请选中 Replace Left/Right Properties with Start/End Properties 复选框。在这种情况下,您的属性应使用“start”和“end”,而不是“left”和“right”。例如,android:paddingLeft会变为android:paddingStart。 - 如果应用的
targetSdkVersion为 16 或更低,请选中 Generate -v17 Versions 复选框。在本示例中,XML 应同时使用这两组属性。例如,XML 应同时使用android:paddingLeft和android:paddingStart。
- 如果
- 如需显示 Find Refactoring Preview 窗口,请点击 Run。
图 5. 检查预览
- 点击 Do Refactor。
如需详细了解如何通过重构项目来支持 RTL,请参阅 Android 4.2 中的原生 RTL 支持。
文本和布局方向属性
右侧的“Properties”窗口中提供了与文本 widget 搭配使用的 textDirection 属性和与布局 widget 搭配使用的 layoutDirection 属性,分别用于更改文本和布局组件的方向。右侧的 Properties 窗口中列出了方向属性,并适用于 API 级别 17 或更高级别。
如需查看文本方向更改和布局镜像,您还必须通过重构项目来支持 RTL。在英语中,文本方向更改仅会将标点符号从文本右侧移到左侧;例如,“Hello World!”会变为“!Hello World”。如要查看 LTR 文本切换成 RTL 文本的效果,您必须在应用中使用 RTL 语言。如果您想使用英语来查看文本切换成 RTL 后的测试效果,请使用伪语言区域。伪语言区域独立于重构命令和方向属性。
如需访问和使用方向属性,请执行以下操作:
- 在布局编辑器中,选择一个文本 widget。
打开 Properties 窗口,然后搜索要使用的 RTL 属性。如要设置属性值,请选择以下选项之一:
- firstStrong:根视图的默认值。第一个强方向字符决定了段落方向。如果没有强方向字符,段落方向将为视图的已解析布局方向。
- anyRtl:如果段落中包含任何强 RTL 字符,则段落方向为 RTL;如果段落中包含任何强 LTR 字符,则段落方向为 LTR。如果这两种情况都不是,段落方向将为视图的已解析布局方向。
- ltr:段落方向是 LTR。
- rtl:段落方向是 RTL。
- locale:段落方向由系统语言区域确定。
- inherit:默认值。使用父级中设置的方向。
注意:强方向字符具有自己的预定义方向,例如大多数字母和音节字符、非欧洲和非阿拉伯数字、汉字象形文字以及这些文字专用的标点符号字符。
如要查看反方向的文本和布局,请运行应用。