Lint工具可以告诉您哪些字符串是硬编码的或缺少翻译,但如果要更新现有字符串怎么办?
当您更新现有字符串时,如何跟踪哪些字符串需要重新翻译?
一种解决方案是在strings.xml中使用新的键来更改字符串,但这需要更新使用旧键的所有代码引用。
Lint工具可以告诉您哪些字符串是硬编码的或缺少翻译,但如果要更新现有字符串怎么办?
当您更新现有字符串时,如何跟踪哪些字符串需要重新翻译?
一种解决方案是在strings.xml中使用新的键来更改字符串,但这需要更新使用旧键的所有代码引用。
如果您没有某种语言的翻译,Android操作系统将选择存储在value文件夹中的默认值。
要使用本地化功能,您还可以使用Sequoyah Android Localization Editor
。使用它,您可以查看所有字符串键和分配的值。下面是它的快照:
因此,对于每种本地化,您将拥有一个单独的列。
我创建了这个Java工具,用于自动将Android XML字符串转换为CSV格式,并从CSV格式转换回XML格式。您可以与翻译人员共享CSV文件,例如在Google文档中,当更改完成后,您可以将其转换回XML格式。
解决您特定问题的方法如下:在电子表格应用程序中打开CSV文件。如果您编辑特定语言的翻译,则可以标记其他语言的翻译(例如,使用不同的颜色)。在这种情况下,翻译人员将知道它已更新。在他们也更新翻译后,他们可以删除标记。
该工具可在此处下载:https://dl.dropboxusercontent.com/u/60605726/AndroidXmlStringsConversionTool.jar
参数如下:
<xmlToCsv|csvToXml> <path-to-android-project> <csv-file>
我开发了一个 Android Studio/IntelliJ 插件,可以将不同 values-* 文件夹中的所有 strings.xml 转换成单个 csv 文件,以便上传到 Google Drive 供翻译人员进行翻译。
翻译工作完成后,只需将它们转换回 csv 格式,然后让插件将其转换回相应的 values-*/string.xml 文件。
您可以在 Android Studio/IntelliJ 的 Jetbrain 插件库中下载 Android Strings.xml to CSV Converter 插件。
请查看 MOTODEV Studio 的本地化工具
视频教程在这里