Android:获取字符串资源的缺失翻译

the*_*ega 32 android localization internationalization

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

目前我无法分辨哪些字符串我仍然需要翻译(所以是在values/strings.xml,但不是在values-$/strings.xml 所有$ in语言中)和哪些是翻译的,虽然是obolte(所以在values-$/strings.xml,但不在values/strings.xml 存在$用语言)

我正在寻找一种工具,它可以提供缺少的翻译和过时的翻译.

说实话,为命令行编写这样的工具并不困难,我几乎不相信没有人这样做过.

Pro*_*man 22

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

现在,在底部的Resource Explorer选项卡下(或者您将其移动到的任何位置),在String下查找.如果您有完整的翻译,每个字符串应具有相同数量的版本,因此您可以在几秒钟内扫描列表.

为具有字符串的每个项目执行此操作.

直到我本地化之后我才知道这一点,但它仍然有用(例如当我添加一个新字符串时).


小智 17

如果您使用的是Android Studio,则很容易找到缺少的字符串.

右键单击values/strings.xml并选择Open Translations Editor: pic 1

您可以轻松找到所有语言中缺少的字符串,如下所示: 在此输入图像描述

谢谢...


sat*_*ine 13

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


4e6*_*4e6 11

有趣的问题.我写了一个简单的脚本,在https://gist.github.com/1133059上找到android项目中的重复资源.我知道这很难看,但我会在几天后重写它,也许会在github上创建一个项目.要从控制台运行它:
$scala DuplicatesFinder.scala /path/to/android/project

更新:
我在github上创建了一个项目https://github.com/4e6/android-localization-helper,也许有人发现它有用