【问题标题】:Locale: App's Current Language语言环境:应用程序的当前语言
【发布时间】:2018-08-09 12:20:30
【问题描述】:

如何以编程方式查找应用使用的语言。例如,设备 Locale 设置为 es_MX,但我的应用仅支持 en_US,因此该应用仅显示英文文本。

在这种情况下,如何以编程方式发现该应用使用的是英语而不是西班牙语?

以下所有代码都返回 ex_MX

    Locale locale = getResources().getConfiguration().getLocales().get(0);
    Locale l = Resources.getSystem().getConfiguration().getLocales().get(0);
    Locale l1 = Locale.getDefault();

【问题讨论】:

    标签: android localization locale


    【解决方案1】:

    您可以获取系统语言。

    Resources.getSystem().getConfiguration().locale.getLanguage();
    

    应用默认语言

    String CurrentLanguage = Locale.getDefault().getLanguage();
    

    【讨论】:

    【解决方案2】:

    请参考这个给定链接的答案,因为您必须在启动应用程序时获取语言环境。如果您将在整个生命周期中设置一次区域设置,您将只获得您在区域设置中设置的默认语言。

    https://stackoverflow.com/a/23556454/6549856

    【讨论】:

    • 我的用例不同。该应用程序未设置任何区域设置,它仅使用设备上设置的区域设置。但是如果设置了应用程序不支持的语言环境,应用程序将默认使用最接近的语言(es 而不是 es_MX)。我们如何知道应用当前使用的是哪种语言。
    猜你喜欢
    • 2011-03-24
    • 2015-07-11
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2014-10-25
    相关资源
    最近更新 更多