我的应用程序很简单,不需要很多本地化.
我提供默认语言(英文)和德语 – 这是我所想要的,将会提供的,因为该应用程序完全集中在德国.
最近我添加了Google Play服务库,我面对的问题是,我的应用程式中添加了56(!!!)种其他语言,就像Google Play商店告诉我一样.原因是:图书馆在我的应用程序中不需要更多的语言资源.如果Google Play对话框以法语显示,其余的仅有英文/德文,这根本就没有意义.
我不想手动从库项目中删除资源,这是乏味且容易出错的.另外,也许我会有另一个应用程序依靠同一个图书馆,那里我想要更多的语言?
那么 – 我该怎么做呢?
谢谢!
解决方法
我明白您的问题,简单的解决方案是从图书馆中删除所有额外的语言,但您需要使用每个新版本的Google Play服务,如您所说,如果您需要其他应用程序中的其他语言,不是最好的选择.
而是试图强制您的应用程序使用德语或英语作为默认值:
@Override public void onCreate() { super.onCreate(); avoidOtherLanguages(); // your code here } @Override public void onConfigurationChanged() { super.onConfigurationChanged(); avoidOtherLanguages(); // your code here } public void avoidOtherLanguages() { if (!Locale.getDefault().getLanguage().equals(Locale.GERMAN.getLanguage())) { // when other than german,use english final Configuration configuration = getResources().getConfiguration(); configuration.locale = Locale.ENGLISH; getResources().updateConfiguration( configuration,getResources().getDisplayMetrics() ); } }
我希望它适合你!
**更新:解决方案**
嗨,想出了一个解决方案,经过很多谷歌搜索!如果您使用gradle作为构建系统,您可以在build.gradle文件中执行此操作:
..... defaultConfig { minSdkVersion 15 targetSdkVersion 22 versionCode 75 versionName "1.0.0" resConfigs "en","de" } ...
使用resConfig告诉毕业生你只使用这些语言环境配置,您的库中的所有其他语言将被剥离出APK包!
让我知道这是否适合你!