diff --git a/app/src/main/java/com/geeksville/mesh/BaseActivity.kt b/app/src/main/java/com/geeksville/mesh/BaseActivity.kt
index 046387e12..1556dbd05 100644
--- a/app/src/main/java/com/geeksville/mesh/BaseActivity.kt
+++ b/app/src/main/java/com/geeksville/mesh/BaseActivity.kt
@@ -15,14 +15,14 @@ open class BaseActivity: AppCompatActivity(), Logging {
// get chosen language from preference
val prefs = UIViewModel.getPreferences(newBase)
- val langCode = prefs.getString("lang","zz")
+ val langCode: String = prefs.getString("lang","zz") ?: ""
debug("langCode is $langCode")
if (Build.VERSION.SDK_INT >= 17) {
val locale = if (langCode == "zz")
Locale.getDefault()
else
- Locale(langCode)
+ createLocale(langCode)
config.setLocale(locale)
if(Build.VERSION.SDK_INT > 24) {
@@ -37,4 +37,13 @@ open class BaseActivity: AppCompatActivity(), Logging {
}
}
+ private fun createLocale(language: String):Locale {
+ var langArray = language.split("_")
+ if (langArray.size == 2) {
+ return Locale(langArray[0], langArray[1]);
+ } else {
+ return Locale(langArray[0]);
+ }
+ }
+
}
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 4746f7e33..c36016051 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -46,7 +46,7 @@
- ht
- it
- ja
- - ko-rKR
+ - ko_KR
- hu
- nl
- no