You need to set locale properly
first in activity:
LocaleHelper.updateApplicationContextLocale(applicationContext, localeConfiguration, locale)
when LocaleHelper.updateApplicationContextLocale
is:
fun updateApplicationContextLocale(applicationContext: Context,
localeConfiguration: Configuration,
locale: Locale) {
applicationContext.resources.updateConfiguration(localeConfiguration,
applicationContext.resources.displayMetrics)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
applicationContext.createConfigurationContext(localeConfiguration)
} else {
Locale.setDefault(locale)
val config = applicationContext.resources.configuration
config.locale = locale
applicationContext.resources.updateConfiguration(config,
applicationContext.resources.displayMetrics)
}
}
and
override fun getLocaleConfiguration(): Configuration {
val config = Configuration()
val locale = locale
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
config.setLocale(locale)
} else {
config.locale = locale
}
return config
}
override fun getLocale(): Locale {
return Locale(currentLanguageCode)
}