获取应用程序的当前语言环境

时间:2019-01-09 14:16:51

标签: android locale android-context multilingual

我需要获取应用程序的当前语言环境以显示有关该值的格式化日期。我使用以下代码从上下文中获取语言环境信息:

fun getCurrentLocale(context: Context): Locale {
    return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        context.resources.configuration.locales.get(0)
    } else {

        context.resources.configuration.locale
    }
}

实际上,这些代码可以正常工作,但是如果我两次更改语言,代码将返回旧信息。像这样:设置“ en”,然后设置“ rus”,然后再次设置“ en”,当我打电话给

  

“ getCurrentLocale”

“ rus”将被返回。这里的要点是应用程序更改语言,我将在同一行中调用以下代码:

    `Log.e("transated", getString(R.string.wallet))`

“钱包”将正确翻译。

0 个答案:

没有答案