SharedPreferences 数据与 App 语言的关系 - RebornQ/Plugin-Locale-Kotlin GitHub Wiki

SharePreferenceslanguage字段的value与 App 语言的对应关系如下:

V1.0.10 之前的版本

"0" -> 跟随系统
"1" -> English
"2" -> 简体中文
"3" -> 繁体中文

V1.0.10+

新版本兼容获取旧版本的值,但是设置的时候会重新set新的值,放心,绝对平稳过渡

新版本对应关系需要自己定义(必须做这一步!!!),这样就可以自己定义支持什么语言了,举例:

private fun getLocale(which : String): Locale {
    return when (which) {
        "0" -> Locale.ROOT  // 跟随系统
        "1" -> Locale.ENGLISH
        "2" -> Locale.SIMPLIFIED_CHINESE
        "3" -> Locale.TRADITIONAL_CHINESE
        else -> Locale.SIMPLIFIED_CHINESE
    }
}

然后再一句代码调用切换语言:

// 应用切换的语言
LocaleHelper.getInstance()
    .language(getLocale(which.toString()))
    .apply(this)

说明:通常,which为语言列表的第几项。当然,你也可以不定义0/1/2/3,你可以定义auto/en/zh_cn/zh_tw注意:若要做跟随系统,此项对应关系的value必须为Locale.ROOT