Android:获取string资源缺less的翻译

在Android中,您可以在res/values/strings.xml指定默认语言环境中的文本。 可以在res/values-it/strings.xml (例如意大利语)中为新语言添加其他翻译。 如果string未被转换,则使用fallback-default语言环境。

目前我不能告诉哪些string我仍然需要翻译(所以在values/strings.xml ,但不是在values-$/strings.xml 为所有$语言 ),并被翻译,虽然是obsolte(所以是在values-$/strings.xml ,但不在values / strings.xml中存在$在语言中

我正在寻找一个工具,它给了我失踪的翻译和已经过时的翻译。

说实话,为命令行编写这样一个工具并不难,我不能相信没有人已经这样做了。

Solutions Collecting From Web of "Android:获取string资源缺less的翻译"

有趣的问题。 我已经写了简单的脚本来findAndroid项目中重复资源https://gist.github.com/1133059 。 我知道这很丑陋,但我会在几天内重写它,也许在github上创build一个项目。 从控制台运行它:
$scala DuplicatesFinder.scala /path/to/android/project

更新:
我已经做了一个项目在github https://github.com/4e6/android-localization-helper ,也许有人觉得有帮助

这不是自动的,但速度非常快。 在Eclipse中,去Window-> Show View-> Other-> Android-> Resource Explorer。

现在,在底部的资源浏览器选项卡下(或者你已经移动到的任何位置)下查找string。 如果您有完整的翻译,每个string应该有相同数量的版本,所以您可以在几秒钟内扫描列表。

为每个具有string的项目执行此操作。

直到我本地化之后,我才知道这一点,但它仍然有用(比如当我添加一个新的string时)。

新的官方Android Lint工具可以帮助您检测到这个问题,以及其他许多问题: http : //tools.android.com/tips/lint

如果您使用Android Studio,很容易find缺less哪个string。

右键单击values / strings.xml并selectOpen Translations Editor: 图1

在哪里你可以很容易地find所有语言缺less的string如下: 在这里输入图像说明

谢谢…

自从SDK版本17以来,Eclipse中的Android Dev Kit lint工具有了很大的改进版本 – 请参阅这里的文档: 新的Eclipse Lint UI

只需点击“lint”工具栏项目,在项目上运行它,然后打开“未翻译”项目,该项目将向您显示需要翻译的每个标签。

信用satur9nine – 这是他们的答案的更新版本,导致我到这一个。

您也可以使用Android lint(从Eclipse轻松访问)。 右键单击你的项目 – > Android工具 – >运行Lint。 这将给你一个所有缺less的翻译的列表,还有一些其他常见的错误。

它还会显示重复的资源和string在默认翻译中不可用。

我是MOTODEV Studio的产品经理。 正如@hjw所提到的,这是MOTODEV Studio的一个称为“本地化文件编辑器”的function。 这个编辑器与电子表格类似,可以在一个视图中看到所有的string。 您可以在同一视图中将其编辑为电子表格或基础XML。

MOTODEV Studio是Eclipse的品牌版本,所以如果您使用Eclipse,它应该可以与现有的项目一起工作。 如果您希望继续使用现有的Eclipse设置,只要一个版本可以一次打开工作区,您仍然可以使用MOTODEV Studio来处理对string.xml文件的编辑。

如果您有任何关于如何使用它的问题,请随时给我发一条消息或在我们的讨论区发布信息:developer.motorola.com

我没有意识到,我赞成这个问题。 :)然而,作为一个最佳实践,我首先完成了默认的strings.xml,并在最后进行翻译。 我还添加了一个小标记注释来指定翻译结束,并在其下面添加任何新的string。 这有助于我跟踪那些没有翻译的。

– 更新 –

使用最新的日蚀ADT工具,您可以安装Lint ,它负责处理所有与重复有关的问题,还有更多的警告。

如果您愿意使用getlocalization.com网站(如果您愿意让译员公开使用本地化语言(否则,您必须付钱让您的项目变为私有))才能免费使用getlocalization.com网站。

你可以使用他们的Eclipse插件,从你的Android项目中自动导入string: http : //getlocalization.github.io/eclipse/

那么这是翻译人员在进行实际翻译时会看到的界面:

提供给翻译人员的网页界面截图

我build议你右键点击上面的截图,在一个单独的选项卡上以更大的格式查看它。 这实际上是经过深思熟虑,也应该让译者的工作更轻松。

你知道MotoDev Studio for Android吗? 它具有本地化工具。 在该工具中,所有的语言都是列,所有的文本都是行。 在“电子表格”中find缺失的翻译非常容易。 另一方面,findobsolet翻译,并不那么容易。

我build议Amanuens ,让你轻松识别未翻译的string和string不匹配的主文件和翻译文件。 可以select将其configuration为自动保持翻译文件与存储库同步。 您也可以让您的翻译人员访问该服务,他们可以find一个易于使用的网页编辑器来翻译您的应用程序。

我构build了一个名为ams (对于android-missing-strings)的命令行工具,可以打印每个缺失条目的报告以及不再出现在base strings.xml文件中的剩余条目。

它可以在这里https://github.com/gubatron/android-missing-strings

 ams - Android Missing Strings reporting tool. Usage: ams [-l xx[,yy,zz...]] -o <output_file> Options: -h --help Print this help -l --lang <xx> Specify a language or many with comma separated 2-char language codes. eg: -l cn (creates report for Chinese strings.xml) -l cn,it,fr (creates report for Chinese, Italian and French strings.xml files) If this parameter is ommited, a report with every language file found will be created. -o --oFile Specify the output file name for the report Copyright (c) 2014 - The Mit License (MIT) Authors: Angel Leon <gubatron@gmail.com> Katay Santos <kataysantos@gmail.com>