你如何管理你的Android应用程序的翻译?

5

Lint工具可以告诉您哪些字符串是硬编码的或缺少翻译,但如果要更新现有字符串怎么办?

当您更新现有字符串时,如何跟踪哪些字符串需要重新翻译?

一种解决方案是在strings.xml中使用新的键来更改字符串,但这需要更新使用旧键的所有代码引用。


我不明白你的问题。如果你已经将所有的字符串外部化到一个strings.xml文件中,那么翻译并将其放置在正确的文件夹中应该是足够简单的。 - Luis Ollero
1
问题是如何在更新应用程序时管理现有的翻译。如何跟踪不同应用程序版本之间更新的字符串,因此需要新的翻译。 - Sarp Centel
发布前查看版本控制系统日志? - Robert
你有没有找到答案?这些回答都没有解决你的问题。 - Lawrence Kesteloot
7个回答

3

如果您没有某种语言的翻译,Android操作系统将选择存储在value文件夹中的默认值。

要使用本地化功能,您还可以使用Sequoyah Android Localization Editor。使用它,您可以查看所有字符串键和分配的值。下面是它的快照: Android Localization Editor

因此,对于每种本地化,您将拥有一个单独的列。


1
跟进@Yury的话,Sequoyah项目在这里:http://eclipse.org/sequoyah/。只需将插件安装到您自己的Eclipse中即可。我们在MOTODEV工具中使用此项目。安装指南在这里:http://eclipse.org/sequoyah/downloads/index.php#update_site。这些插件与MOTODEV插件之间的区别在于自动化翻译组件的可用性,由于法律原因,我们无法开源。 - Eric Cloninger
2
这个答案唯一的缺点是Sequoyah开发已经停滞不前,并且可能会被关闭:http://wiki.eclipse.org/Sequoyah/Termination_Review - Diego

1
另一个解决方案是使用您的版本控制软件检索自上一个项目版本以来已更改的字符串列表。

0

我创建了这个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>

0

我开发了一个 Android Studio/IntelliJ 插件,可以将不同 values-* 文件夹中的所有 strings.xml 转换成单个 csv 文件,以便上传到 Google Drive 供翻译人员进行翻译。

翻译工作完成后,只需将它们转换回 csv 格式,然后让插件将其转换回相应的 values-*/string.xml 文件。

您可以在 Android Studio/IntelliJ 的 Jetbrain 插件库中下载 Android Strings.xml to CSV Converter 插件。


0
使用android2po自动转换为PO文件,然后导入翻译。

0
一种解决方案是在 strings.xml 中使用新的键来更改字符串,但这需要更新代码中使用旧键的所有引用。
那怎么解决?如果您添加一个新字符串,仍然必须将其添加到所有 strings.xml 文件中。
每个 string.xml 文件上更新字符串有什么问题吗?

当一个字符串被更新时,所有的翻译也需要被更新,但是我不是翻译应用程序的人,因此我需要一种方法来跟踪哪些字符串在不同版本之间被更新并需要新的翻译。 - Sarp Centel
我目前正在编写一个应用程序来帮助解决这个问题。它已经完成了大约60%。如果您想在完成后查看/测试,请发送电子邮件到我的个人简介中的地址。 - Kuffs

0

请查看 MOTODEV Studio 的本地化工具

视频教程在这里


感谢您对我们工具的参考。现在需要指出一件事(遗憾的是),Google翻译API现在需要付费才能使用,因此机器翻译功能不如以前那么好用。如果您想继续使用它,则必须在设置中提供自己的API密钥。 - Eric Cloninger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接