mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 10:46:53 -04:00
Added country name in front of ZIM file language
This commit is contained in:
parent
192d276103
commit
ca58aecf02
@ -31,8 +31,20 @@ class BookUtils {
|
||||
return when {
|
||||
languageCode == null -> ""
|
||||
languageCode.length == 2 -> LanguageContainer(languageCode).languageName
|
||||
languageCode.length == 3 -> localeMap[languageCode]?.displayLanguage.orEmpty()
|
||||
languageCode.length == 3 -> localeMap[languageCode]?.displayLanguage.orEmpty() +
|
||||
getCountryFromLanguageCode(
|
||||
languageCode
|
||||
)
|
||||
else -> ""
|
||||
}
|
||||
}
|
||||
|
||||
private fun getCountryFromLanguageCode(languageCode: String): String {
|
||||
val local = LanguageUtils.iSO3ToLocale(languageCode)
|
||||
return if (local?.displayCountry?.isNotEmpty() == true) {
|
||||
" (${local.displayCountry})"
|
||||
} else {
|
||||
""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,12 +24,21 @@ class LanguageContainer private constructor(val languageCode: String, val langua
|
||||
constructor(languageCode: String) : this(languageCode, chooseLanguageName(languageCode))
|
||||
|
||||
companion object {
|
||||
|
||||
private fun chooseLanguageName(languageCode: String): String {
|
||||
val displayLanguage = Locale(languageCode).displayLanguage
|
||||
val displayCountry =
|
||||
Locale(languageCode).displayCountry
|
||||
return if (displayLanguage.length == 2 || displayLanguage.isEmpty())
|
||||
Locale.ENGLISH.displayLanguage
|
||||
Locale.ENGLISH.displayLanguage + " (${Locale.ENGLISH.displayCountry})"
|
||||
else
|
||||
displayLanguage
|
||||
"${displayLanguage}${getCountry(displayCountry)}"
|
||||
}
|
||||
|
||||
private fun getCountry(displayCountry: String) = if (displayCountry.isNotEmpty()) {
|
||||
" ($displayCountry)"
|
||||
} else {
|
||||
""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -34,12 +34,16 @@ class BookUtilsTest {
|
||||
assertEquals("code length more than 3", "", t.getLanguage("english"))
|
||||
|
||||
// testing the hashmap created inside the BookUtils class
|
||||
assertEquals("code length equals 3 (English)", "English", t.getLanguage("eng"))
|
||||
assertEquals("code length equals 3 (Hindi)", "Hindi", t.getLanguage("hin"))
|
||||
assertEquals("code length equals 3 (French)", "French", t.getLanguage("fra"))
|
||||
assertEquals("code length equals 3 (Akan)", "Akan", t.getLanguage("aka"))
|
||||
assertEquals("code length equals 3 (Burmese)", "Burmese", t.getLanguage("mya"))
|
||||
assertEquals("code length equals 3 (Catalan)", "Catalan", t.getLanguage("cat"))
|
||||
assertEquals("code length equals 3 (English)", "English (India)", t.getLanguage("eng"))
|
||||
assertEquals("code length equals 3 (Hindi)", "Hindi (India)", t.getLanguage("hin"))
|
||||
assertEquals("code length equals 3 (French)", "French (Rwanda)", t.getLanguage("fra"))
|
||||
assertEquals("code length equals 3 (Akan)", "Akan (Ghana)", t.getLanguage("aka"))
|
||||
assertEquals(
|
||||
"code length equals 3 (Burmese)",
|
||||
"Burmese (Myanmar (Burma))",
|
||||
t.getLanguage("mya")
|
||||
)
|
||||
assertEquals("code length equals 3 (Catalan)", "Catalan (Spain)", t.getLanguage("cat"))
|
||||
|
||||
// this case uses the result from the container nested class inside LanguageUtils. It will be tested in LanguageUtilsTest
|
||||
assertEquals("code length equals 2 (dummy)", "English", t.getLanguage("en"))
|
||||
|
Loading…
x
Reference in New Issue
Block a user