翻译编辑器提供所有默认和翻译字符串资源的统一且可编辑的视图。

有关翻译不同语言的应用程序的介绍,请阅读 支持不同的语言和文化。

图1.在翻译编辑器显示应用文本翻译之前

字符串资源

项目的字符串资源包含在strings.xml文件中。您的项目有一个默认strings.xml文件,其中包含应用程序默认语言的字符串资源,这是您希望大多数应用程序用户可以使用的语言。您还可以翻译strings.xml包含您希望应用程序容纳的其他语言的字符串资源的文件。

strings.xml完成 默认文件后,您可以自行添加翻译,或者支付专业服务进行翻译。无论哪种方式,您都应该利用Android Studio功能来帮助您管理和测试可本地化的文本。有关专业翻译服务的信息,请参阅订单翻译服务。

打开翻译编辑器

您可以从Android Studio中的以下位置访问翻译编辑器。

从Android视图打开
  1. 在左侧的Project> Android面板中,选择ModuleName > res> values。
  2. 右键单击strings.xml文件,然后选择Open Translations Editor。 翻译编辑器显示文件中的键和值对 strings.xml。

注意: 当您翻译strings.xml文件时,您的项目有多个相应的 值文件夹,后缀表示语言,例如 西班牙语的值-es。您的默认strings.xml文件始终位于 值(无后缀)文件夹中。

图1显示了翻译工作完成之前简单应用程序的翻译编辑器中的默认应用程序文本(在本例中为英语)。翻译strings.xml文件的内容 将显示在Untranslatable列的右侧,每种语言一列,如图2所示。

从strings.xml中打开

您可以从任何文件中访问翻译编辑器strings.xml。

  1. 在左侧的Project> Android面板中,选择 ModuleName > res> values。
  2. 双击strings.xml以将其打开以进行编辑。
  3. 在strings.xml中,单击右上角的 Open editor链接。

注意:如果单击“ 隐藏通知”链接,则“ 打开编辑器”链接将消失。要将其恢复,请关闭并重新打开项目。

从设计编辑器打开

您可以从布局编辑器的设计编辑器中打开翻译编辑器,以编辑默认和翻译的文本,以更好地适应您的布局。有关在设计编辑器中切换语言的信息,请参阅在设计编辑器中显示已翻译的文本。

  1. 在左侧的Project> Android面板中,选择 ModuleName > res> layout。
  2. 双击content_main.xml以将其打开以进行编辑。
  3. 单击左下角的Design 选项卡以显示Design “编辑器”。
  4. 在“设计编辑器”中,选择Language下拉列表。
  5. 选择Edit Translations

配置不可翻译的行

在“ 翻译编辑器”中,您可以选择“ Unstranslatable”以指示您不希望翻译此行中的文本。您不希望翻译的文本可能是特定于产品的文本,如商品名称和商标,或者没有翻译的技术术语。

当您检查Untranslatable时,默认strings.xml文件中的相应行 添加translatable =“false”。在以下示例中, 顶部的EasyApp未翻译,因为它是产品名称。

EasyApp </ string> 设置</ string> 我是一个简单的应用程序!</ string> 下一页</ string> 我是第二页!</字符串>
“title_activity_second” > SecondActivity </ string> </ resources>

添加和删​​除语言

翻译编辑器支持 BCP 47,并结合区域和区域(国家)代码转换成用于靶向本地化单个选择。语言环境定义的不仅仅是语言。区域设置包括与日期和时间,货币和小数等内容相关的国家/地区格式。

要添加语言,请执行以下操作:

  1. 在“ 翻译编辑器”中,单击地球图标 。
  2. 从下拉列表中,选择要添加的语言。 新语言出现在翻译编辑器中, 带有文件的values-
    *文件夹strings.xml将添加到项目中。例如, 西班牙语的值为es。

要删除语言,请执行以下操作:

您可以通过删除列中的每个值来删除翻译编辑器中的语言(请参阅 编辑,添加或删除文本),也可以删除该语言的项目文件夹,如下所示:

  1. 在左侧的Project> Android面板中,选择 ModuleName > res。
  2. 右键单击要删除的语言的values- *文件夹。例如, 印地语的值为hi。
  3. 从下拉列表中,选择“ 删除”以删除该文件夹及其 strings.xml文件。

编辑,添加和删除文本

您可以直接在strings.xml文件中或通过翻译编辑器操作文本设置。本节介绍 翻译编辑器方法。在翻译编辑器中,您可以通过列表视图或翻译编辑器底部的翻译字段编辑,添加或删除文本。

图2.顶部的列表视图和底部的Translation字段

列表显示
要编辑或添加文本,请执行以下操作:

  1. 双击要编辑的单元格或添加文本。
  2. 进行键盘复制粘贴,或者如果您的键盘支持变音符号,请直接在列表视图中键入。
  3. 选项卡或将光标移出字段。

要删除文本,请执行以下操作:

  1. 双击要删除的单元格。
  2. 在列表视图中,选择文本并按Delete。
  3. 选项卡或将光标移出字段。

翻译领域
要编辑或添加文本,请执行以下操作:

  1. 在列表视图中,单击要编辑的单元格或添加文本。
  2. 在“ 翻译”字段中,执行键盘复制粘贴,或者如果您的键盘支持变音符号,请直接在“ 翻译”字段中键入。
  3. 选项卡或将光标移出字段。

要删除文本,请执行以下操作:

  1. 单击要删除的单元格。
  2. 在“ 翻译”字段中,选择文本并按“ 删除”。

添加和删​​除Key

在“翻译编辑器”中,“ Key”列列出了strings.xml文件中每个数据项的唯一标识符。您可以通过翻译编辑器添加和删除键。删除密钥时,“翻译编辑器”会删除该密钥及其所有相关翻译。翻译编辑器使用安全删除重构来删除密钥,以便您知道密钥文本是否在其他地方使用,并且在删除密钥之前有机会进行必要的调整。安全删除重新定位可确保在删除密钥后仍然可以编译代码。

要添加密钥,请执行以下操作:

  1. 在“ 翻译编辑器”中,单击 Add Key 。
  2. 在对话框中,输入密钥名称,默认值以及默认strings.xml文件的位置。
    图3.添加密钥

要删除密钥,请执行以下操作:

  1. 在“翻译编辑器”中,选择要删除的Key。

  2. 单击删除密钥。

  3. 在“ 删除”对话框中,确定是否要安全删除以及是否要在注释和字符串中进行搜索,然后单击“ 确定”。
    图4.删除对话框

    如果没有对已删除密钥的引用(用法),或者所有引用都是安全可折叠的,则删除该密钥。否则,翻译编辑器将显示Usages Detected对话框,其中包含有关检测到的问题的信息。
    图5.删除对话框

  4. 选择查看用法以查看将删除的内容。“ 查找安全删除冲突”对话框显示了无法安全删除的所有用法,因此您可以编辑相应的代码。
    图6.不安全的用法

  5. 右键单击用法以显示上下文菜单,然后选择“ 跳转到源”,以便进行所需的更改。

  6. 在“ 查找安全删除冲突”面板中,选择“ 重新运行安全删除”以确保没有其他需要注意的用法。

  7. 清除用法后,单击“ 执行重构”以删除密钥。

纠正错误

图7显示了翻译编辑器,显示了英语,西班牙语和法语 strings.xml文件的内容。红色文本表示有错误的行。

图7.红色文本表示您必须修复的错误情况

要更正错误,请执行以下操作:

  1. 将鼠标悬停在红色文本上可显示问题及其解决方案的说明。
  2. 要更正错误,请将鼠标悬停在红色文本上以显示问题及其解决方案的说明。

在“ 翻译编辑器”中进行更改时,基础 strings.xml文件将随更改一起更新。在strings.xml文件中进行更改时,“ 翻译编辑器”中的相应列将 随更改一起更新。

翻译编辑器更正示例:

  • 图7显示app_name行已经过Untranslatable检查,但提供了西班牙语翻译。删除西班牙语翻译以更正错误。
  • 图7显示next_page行缺少法语翻译。使用键盘将Page
    Suivante复制到单元格中以更正错误。键盘复制粘贴操作将带有变音符号的文本复制到单元格中。

在设计编辑器中显示翻译的文本

要查看翻译文本在应用布局中的显示方式,请在设计编辑器中切换默认和翻译版本之间的文本,如下所示:

  1. 在左侧的Project> Android面板中,选择 ModuleName > res> layout。
  2. 双击content_main.xml以将其打开以进行编辑。
  3. 单击左下角的“ 设计”选项卡以显示“ 设计编辑器”。
  4. 在“设计编辑器”中,选择“ 语言” 下拉列表。
  5. 选择编辑翻译 。
  6. 选择您要用于查看应用的语言。

    图8.选择了西班牙语的语言下拉列表

设计编辑器以所选语言显示您的应用程序布局,在本例中为西班牙语。


图9.设计编辑器以西班牙语显示翻译文本

将设计编辑器设置为默认语言

要将语言设置回默认值,请选择es>语言 。

图10.设置为默认语言

管理和测试可本地化的文本

Android平台和Android Studio提供了多种功能,可帮助您管理和测试可本地化的应用文本。这些功能可以帮助您定位从右到左(RTL)脚本(如阿拉伯语或希伯来语)的问题。测试可本地化的文本允许您在将消息提交到源存储库以便稍后发送以进行转换之前,对UI文本及其布局进行调整。

重构您的项目以获得RTL支持

Android Studio具有重构命令,可以支持和/和 元素中的双向文本TextView, 以便您的应用程序可以显示并允许用户以从左到右(LTR)和从右到左(RTL)脚本编辑文本。该命令还提供应用程序UI布局和所有视图窗口小部件的自动镜像。要查看文本方向更改和布局镜像,还必须 在布局编辑器中设置 文本和布局方向属性。 ConstraintLayoutLinearLayout

以下过程说明如何重构项目以获得RTL支持:

  1. 选择Refactor > Add RTL support where possible显示如图11所示的对话框。 图11.添加RTL支持
    如果文件中的元素
    AndroidManifest.xml没有该android:supportsRTL="true"属性,请选中“
    更新AndroidManifest.xml”复选框。
    如果您的应用targetSdkVersion是17或更高,请选择用开始/结束属性替换左/右属性。在这种情况下,您的属性应使用“开始”和“结束”而不是“左”和“右”。例如,android:paddingLeft成为android:paddingStart。
    如果您的应用程序 targetSdkVersion是16或更少,请选择 生成-v17版本
    在这种情况下,您的XML应使用这两组属性。例如,您的XML应该使用
    android:paddingLeft和android:paddingStart。
  2. 要显示Find Refactoring Preview窗口,请单击Run 图12.检查预览
  3. 单击Do Refactor

有关重构项目以获得RTL支持的更多信息,请参阅 Android 4.2中的Native RTL支持。

文本和布局方向属性

右边的属性窗口中提供了textDirection文本控件和使用性质的layoutDirection属性与布局小部件用于更改文本和布局组件的方向。方向属性列在右侧的“ 属性”窗口中,并使用API​​级别17或更高级别。

要查看文本方向更改和布局镜像,还必须 重构项目以获得RTL支持。在英语中,文本方向更改仅从文本的右侧向左侧移动标点符号; 例如,“Hello World!” 成为“!Hello World”。要查看LTR文本切换到RTL,您必须在应用程序中使用RTL语言。如果您想使用英语并查看文本切换到RTL以进行测试,请使用pseudolocales。Pseudolocales独立于重构命令和方向属性。

要访问和使用方向属性,请执行以下操作:

  1. 在布局编辑器中,选择文本小部件。

  2. 打开“ 属性”窗口,然后搜索要使用的RTL属性。 要设置属性值,请选择以下选项之一:

    firstStrong:根视图的默认值。第一个强方向字符决定段落方向。如果没有强方向字符,则段落方向是视图的已解析布局方向。
    anyRtl:段落方向是RTL,如果它包含任何强 RTL字符;
    否则,如果它包含任何强LTR字符,则为LTR。如果两者都没有,则段落方向是视图的已解析布局方向。
    ltr:段落方向是LTR。
    rtl:段落方向是RTL。
    locale:段落方向来自系统区域设置。
    inherit默认。使用父级中设置的方向。
    注意:强方向字符具有自己的预定义方向,例如大多数字母和音节字符,非欧洲和非阿拉伯数字,汉字表意文字以及仅针对这些脚本的标点字符。

  3. 要查看反转的文本和布局,请运行该应用程序。

Pseudolocales

伪语言是一种模拟语言环境,旨在承担在翻译应用程序时导致UI,布局,RTL和其他翻译问题的语言特征。Pseudolocales提供即时和自动翻译,可以用英语阅读所有可本地化的消息。这使您可以在源代码中捕获不可翻译的消息。

有关如何使用pseudolocales的信息,请参阅 使用Pseudolocales测试您的应用程序。

订单翻译服务
在翻译编辑器中,单击右上角的订购翻译链接。
将打开用于订购翻译的Android Studio页面。

按照订购页面上的说明上传您的默认strings.xml文件,选择目标语言,选择供应商,然后付款。

使用翻译编辑器本地化UI相关推荐

  1. 2.7、Android Studio使用翻译编辑器本地化UI

    如果你的应用支持多语言,你需要合理的管理你的翻译的string资源.Android Studio 提供了翻译编辑器来使查看和管理翻译的资源更加容易. 关于翻译编辑器 翻译后的资源在你的项目里保存在不同 ...

  2. Unity编辑器扩展 UI控件篇

    前摇 :认识编辑器扩展的必要性 由于各种各样的原因,无论是移动端亦或是主机/PC端,进几年的发行的游戏体量是越来越大.通常来说大体量的游戏开发需要一套很成熟完善的工作流,亦或说有很强的工业化的能力,像 ...

  3. 本地化翻译软件测试,本地化测试 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    +~2FM&DSEJ3W O]0在本文中,我们将含括在编码阶段期间所能够做的事情和为了使发现问题最有效,你应该将你的本地化测试力量集中在何处等问题.51Testing软件测试网:EK?Au)b ...

  4. CAD文件翻译和本地化

    CAD和CAT这个概念很类似,CAT是Computer Aid Translate 计算机复制翻译,CAD是Computer Aid Design 计算机辅助设计,指利用计算机及其图形设备帮助设计人员 ...

  5. x-studio(Lua调试器,粒子编辑器,UI编辑器,代码编辑器,csb恢复工具)

    最新版本:x-studio 10.0.9000.29(2020年4月14日更新) 官网: https://x-studio.net 官方教程: https://docs.x-studio.net x- ...

  6. Unity 拓展编辑器 - 导出UI预制体lua文件

    使用oldin插件 + Unity自带拓展编辑器编写 实现效果: 界面配置基类:UIDialogConfig using Sirenix.OdinInspector; using UnityEngin ...

  7. 土耳其语翻译,本地化土耳其语翻译

    据了解,土耳其语是一种丰富.表达多样且复杂的语言,主要在土耳其本土使用,并通行于阿塞拜疆.塞浦路斯.希腊.马其顿.罗马尼亚,以及在西欧居住的数百万土耳其族移民(大部分集中在德国).随着全球经济的发展, ...

  8. Studio用布局编辑器设计UI界面

    2017九月 26 转 Studio设计布局的新姿势 目录(?)[-] ConstraintLayout基本界面 ConstraintLayout约束类型 尺寸约束 边界约束 基准线约束 清除约束 约 ...

  9. 基于ueditor 扩展的电子病历编辑器-新UI

    优化内容 1.代码结构-启用废弃的函数,结构更加清晰合理 2.ui升级.使用字体图标.洁面友好 3.电子病历业务ui .组件模拟 4.增加3中的后台api接口

最新文章

  1. 修改vscode的语言
  2. 计算机二级7月考试,2020年计算机二级MS Office考试每日一练(7月27日)
  3. Exchange Server 2013就地电子数据展示
  4. 视频 + PPT 下载 | 《财富管理数字化转型现状与趋势洞察报告》解读第一讲
  5. php _set魔术方法的用法,PHP魔术方法__GET、__SET使用实例
  6. a*算法流程图_如何从0开始,搭建A/B test平台产品?
  7. 洛谷——P1019 单词接龙
  8. 一次 .NET Core 中玩锁的经历:ManualResetEventSlim, SemaphoreSlim
  9. [多校联考-西南大学附中]切面包(线段树/概率与期望)+ Slow Path Finding Algorithm(拓扑排序/DP)+ 分数转化(数论)
  10. 转录组+微生物组联合解密困扰50年的丛枝菌根共生“自我调节”中枢分子网络机制...
  11. Docker Jenkins Node(一):初步构建
  12. php访问方法外变量
  13. 详细介绍ASP.NET状态保存方法
  14. UDK2017下载及编译
  15. hdu 6863 Isomorphic Strings
  16. python考证书-考证那些事儿:Python工程师认证的考试内容和大纲
  17. 工频风力发电储能逆变电路中的电流检测(霍尔电流传感器ACS712/CH701应用案例)
  18. 4个方面告诉你Stimulsoft.Drawing的作用和使用方式|附下载链接
  19. 揭秘HTTP/3优先级
  20. File-Upload

热门文章

  1. 二叉堆(c++实现)
  2. 怎么把pdf转换成图片?
  3. 两个PDF比较标出差异_轻松搞定PDF格式转换
  4. 类间样本数量不平衡对分类模型性能的影响问题
  5. ppt页码如何从0开始 去掉封面页
  6. C# 数据库通用类
  7. 橙色云荣获工业互联网年度新锐企业
  8. 借助区块链技术,打通各部门_借助新兴的机器人技术在家里进行创新
  9. linux基本功系列之less命令实战
  10. msdn win10镜像获取