I am able to change the locale but the stringResource is not changing.
Code for locale changing:
private fun setRTL(context: Context) {
LocaleUtils.setLocale(Locale(ARABIC_LOCALE))
LocaleUtils.changeToRTLMode(context)
}
fun changeToRTLMode(context: Context) {
val locale = Locale("ar")
val applicationRes = context.applicationContext.resources
val conf = applicationRes.configuration
val dm: DisplayMetrics = applicationRes.displayMetrics
conf.setLocale(locale)
conf.setLayoutDirection(locale)
applicationRes.updateConfiguration(conf, dm)
val configuration =
context.resources.configuration
configuration.setLocale(locale)
configuration.setLayoutDirection(locale)
context.resources
.updateConfiguration(configuration, context.resources.displayMetrics)
}