计算Android中翻译文本的百分比(values/strings.xml)



问题是如何计算values-(lang)对values(默认语言)在strings.xml中翻译文本的百分比。

我知道如何从资源中访问字符串,但没有设置语言代码的选项。我找到了一些改变语言环境的答案,但我"害怕"用另一种语言闪烁UI,即使是几毫秒

计划是,我将计数字符串在默认语言/值/和计数/值-(userlang)/,如果百分比将低于例如90%,我会问用户(谁使用我的应用程序经常和更长的时间)帮助翻译。

不需要完整的功能,只需要在不改变用户语言环境的情况下从其他语言环境访问字符串(循环中)的安全方法。

没有目标去手工做。手动设置diff是行不通的。

所以我做了一个解决方案定制类,但我猜我的评级,没有人会欣赏它,所以只是结果我正在寻找:

myTranslationRatio=new TranslationRatio(context,"en",deviceLang);
Log.d("my","myTranslationRatio getLangCore: "+myTranslationRatio.getLangCore());
Log.d("my","myTranslationRatio getLangCurrent: "+myTranslationRatio.getLangCurrent());
Log.d("my","myTranslationRatio getTranslatedRatio: "+myTranslationRatio.getTranslatedRatio());
Log.d("my","myTranslationRatio getCountCore: "+myTranslationRatio.getCountCore());
Log.d("my","myTranslationRatio getCountCurrent: "+myTranslationRatio.getCountCurrent());
Log.d("my","myTranslationRatio getCountToTranslate: "+myTranslationRatio.getCountToTranslate());
结果

: myTranslationRatio getLangCore: en
: myTranslationRatio getLangCurrent: cs
: myTranslationRatio getTranslatedRatio: 0.972973
: myTranslationRatio getCountCore: 148
: myTranslationRatio getCountCurrent: 144
: myTranslationRatio getCountToTranslate: 4

关于以编程方式设置语言代码,您可以回顾这个问题。一定要仔细阅读评论,因为里面有很重要的观点。

假设对strings.xml文件的更新是通过应用程序更新静态完成的,那么我的第一直觉是将现有的strings.xml复制到新的语言文件夹中,并尝试使用diff来跟踪完成了多少。

相关内容

最新更新