相关疑难解决方法(0)

在Android中以编程方式更改应用语言

是否可以在使用Android资源的同时以编程方式更改应用程序的语言?

如果没有,是否可以请求特定语言的资源?

我想让用户从应用程序更改应用程序的语言.

resources android localization

417
推荐指数
23
解决办法
32万
查看次数

如何在 kotlin (locale) 中更改语言

我有 2 个字符串文件“en”和“tr”。当我更改电话的语言字符串文件时会自动更改(我没有为此结果编写额外的代码,我不知道这是怎么发生的)。我想以编程方式更改字符串文件。我使用了这个代码。我收到 Toast 消息,但语言没有改变。为什么?我之前将这些代码用于另一个应用程序,该应用程序是用 java 而不是 Kotlin 编写的,并且这些代码工作正常。请不要说重复,因为我阅读了很多问题。我尝试了很多东西,直到现在 4 小时。

override fun onResume() {

        buttonDate()
        changeLanguage()
    super.onResume()
    }
fun changeLanguage(){
        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext)
        val language = sharedPreferences.getString("language","bak")
        Toast.makeText(applicationContext,language,Toast.LENGTH_SHORT).show()
        if(language=="English"){
            Toast.makeText(applicationContext,"English",Toast.LENGTH_SHORT).show()
            language("")
        }else if(language=="Turkish"){
            Toast.makeText(applicationContext,"Turkish",Toast.LENGTH_SHORT).show()
            language("tr")
        }
    }


    fun language(language: String){
        val locale = Locale(language)
        Locale.setDefault(locale)
        val resources = getResources()
        val configuration = resources.getConfiguration()
        configuration.locale = locale
        resources.updateConfiguration(configuration, resources.getDisplayMetrics())
    }
Run Code Online (Sandbox Code Playgroud)

android locale kotlin

4
推荐指数
1
解决办法
7207
查看次数

标签 统计

android ×2

kotlin ×1

locale ×1

localization ×1

resources ×1