您如何管理Android应用的翻译?

时间:2012-02-02 14:07:19

标签: android internationalization translation

Lint工具会告诉您有关硬编码字符串或缺少翻译的信息,但是如果要更新现有字符串呢?

更新现有字符串时,如何跟踪需要再次翻译的字符串?

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

7 个答案:

答案 0 :(得分:3)

如果您没有某种语言的翻译,Android OS会选择存储在值文件夹中的默认值。

要使用本地化,您还可以使用Sequoyah Android Localization Editor。使用它,您可以看到所有字符串键和指定的值。这是它的快照: Android Localization Editor

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

  
    

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

  

有什么可以解决的?如果添加新字符串,则仍需将其添加到所有strings.xml个文件中。

更新每个string.xml文件的字符串有什么问题?

答案 3 :(得分:0)

查看MOTODEV Studio's Localization tool

视频教程here

答案 4 :(得分: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>

答案 5 :(得分:0)

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

答案 6 :(得分:0)

我创建了一个Android Studio / IntelliJ插件,用于将不同values- *文件夹中的所有strings.xml转换为单个csv,这样我就可以将它们上传到Google云端硬盘,供我的翻译人员使用。

完成翻译工作后,我只需将它们转换回csv,然后让插件将csv转换回各自的值 - * / string.xml。

您可以从Android Studio / IntelliJ下载Jetbrain插件存储库中的 Android Strings.xml到CSV转换器