У меня есть 2 строковых файла "en" и "tr".Когда я меняю язык моего телефона, строковые файлы меняются автоматически (я не написал дополнительный код для этого результата и не знаю, как это происходит).Я хочу изменить строковые файлы с помощью программного обеспечения.Я использовал этот код.Я получаю сообщение Тост, но язык не меняется. ПОЧЕМУ?Я использовал этот код ранее для другого приложения, которое я пишу с использованием 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())
}