add lang toggle in setttings

This commit is contained in:
2026-05-12 11:27:37 +05:00
parent 4d5ff472d2
commit d28687bc1c
4 changed files with 54 additions and 0 deletions

View File

@@ -6,6 +6,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatDelegate
import androidx.appcompat.app.AppCompatDelegate.setApplicationLocales
import androidx.core.os.LocaleListCompat
import androidx.fragment.app.Fragment
import sh.sar.basedbank.R
import sh.sar.basedbank.databinding.FragmentSettingsBinding
@@ -42,6 +44,19 @@ class SettingsFragment : Fragment() {
prefs.edit().putString("theme", key).apply()
AppCompatDelegate.setDefaultNightMode(mode)
}
// Language
val currentLocales = AppCompatDelegate.getApplicationLocales()
val currentLang = if (currentLocales.isEmpty) "en" else currentLocales[0]?.language ?: "en"
binding.languageToggle.check(
if (currentLang == "dv") R.id.btnLangDhivehi else R.id.btnLangEnglish
)
binding.languageToggle.addOnButtonCheckedListener { _, checkedId, isChecked ->
if (!isChecked) return@addOnButtonCheckedListener
val tag = if (checkedId == R.id.btnLangDhivehi) "dv" else "en"
setApplicationLocales(LocaleListCompat.forLanguageTags(tag))
}
}
override fun onResume() {