2012-03-06 30 views
0

有没有一种方法可以获取我的strings.xml中的字符串数量或检查所有字符串是否可用所选语言提供?Android strings.xml长度

+1

我想你可以解析它,但什么是用例?为什么你需要这个,你想解决什么问题? – 2012-03-06 15:01:38

+0

我有一个可用于多种语言的应用程序,如果当前翻译的完成率小于百分比,我想要求用户帮助翻译。 – 2012-03-06 17:31:35

回答

2

我不认为公共api中有东西。您可以使用反射尝试,因为从strings.xml中产生R.string类..

试试这个:

Field[] f = R.string.class.getDeclaredFields(); 
0

我不认为你的做法是最好的。如果您要提供多种语言,那么在android中存储这些语言的最佳方式可能是替代资源(请参阅http://developer.android.com/guide/topics/resources/providing-resources.htmlhttp://developer.android.com/guide/topics/resources/localization.html)。

如果你打算这样做,比你应该翻译资源的一切你需要的,所以不存在部分翻译内容的问题。

我认为使用第三方众包翻译服务会更好,并且只提示您的用户使用那些尚未准备好包含的语言的服务。查看crowdin获取此类服务的示例。例如,我知道Friendcaster,它使用这项服务来翻译成多种语言,并且效果很好(例如http://crowdin.net/project/f-plus)。

+0

我已经使用众包,这就是为什么我有时必须重新进行不是100%翻译的更新,因此会显示一些英文字符串(这是我的基本语言)。所以我的想法是显示一个弹出窗口寻求帮助,如果是这样的话...... – 2012-03-30 19:47:22