Android:在没有“kn”语言环境的手机中显示卡纳达语

Android:在没有“kn”语言环境的手机中显示卡纳达语,第1张

概述我有一个三星Galaxy y duos和一个Google Nexus 5.我的应用程序在两部手机上运行.我必须以两种语言(卡纳达语和英语)提供此应用程序.我通过切换语言环境来选择语言(按惯例). Nexus 5在其语言环境列表中具有语言环境“kn”,而Y Duos中没有“kn”.但是当我尝试在values-kn文件夹中使用String.xml时,即使它没有“kn”语言环境,也可以在Y Duos中正 我有一个三星galaxy y duos和一个Google Nexus 5.我的应用程序在两部手机上运行.我必须以两种语言(卡纳达语和英语)提供此应用程序.我通过切换语言环境来选择语言(按惯例).

Nexus 5在其语言环境列表中具有语言环境“kn”,而Y Duos中没有“kn”.但是当我尝试在values-kn文件夹中使用String.xml时,即使它没有“kn”语言环境,也可以在Y Duos中正确呈现Kannada文本.

我有一段代码,用于查找“kn”语言环境并启用/禁用卡纳达语语言功能.它在下面给出.

public boolean isLocalePresent(Locale newLocale) {    Locale[] locales = Locale.getAvailableLocales();    for (Locale locale : locales) {        if (locale.getLanguage().equals(newLocale.getLanguage()) {            return true;        }    }    return false;}

我称之为如下;

if (isLocalePresent(new Locale("kn"))) {    // change default locale to "kn"}

任何人都可以告诉我如何让我的应用程序在所有可以呈现Kannada文本的手机中使用Kannada文本.即使“区域设置”列表中没有“kn”区域设置,我怎么知道手机是否支持卡纳达语文本渲染?

解决方法 我有同样的问题.尝试了一些选项,并在我的应用程序中使用以下代码

public class MyApplication extends Application {    @OverrIDe    public voID onCreate() {        super.onCreate();        setLocale(new Locale("kn"));    }    public voID setLocale(Locale newLocale) {        Locale.setDefault(newLocale);        androID.content.res.Configuration config = new androID.content.res.Configuration();        config.locale = newLocale;        getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getdisplayMetrics());    }}

事情按预期工作.

总结

以上是内存溢出为你收集整理的Android:在没有“kn”语言环境的手机中显示卡纳达语全部内容,希望文章能够帮你解决Android:在没有“kn”语言环境的手机中显示卡纳达语所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存