clarify when we use our own name for the language instead of using whatver is provided by the system

This commit is contained in:
Helium314 2025-04-19 08:35:46 +02:00
parent c32b3bada4
commit 7748ed75fe
2 changed files with 8 additions and 2 deletions

View file

@ -188,7 +188,8 @@ object LocaleUtils {
fun getLocaleDisplayNameInLocale(locale: Locale, resources: Resources, displayLocale: Locale): String {
val languageTag = locale.toLanguageTag()
if (languageTag == SubtypeLocaleUtils.NO_LANGUAGE) return resources.getString(R.string.subtype_no_language)
if (locale.script() != locale.language.constructLocale().script() || locale.language == "mns" || locale.language == "xdq" || locale.language=="dru" || locale.language=="st" || locale.language=="dag") {
if (hasNonDefaultScript(locale) || doesNotHaveAndroidName(locale.language)) {
// supply our own name for the language instead of using name provided by the system
val resId = resources.getIdentifier(
"subtype_${languageTag.replace("-", "_")}",
"string",
@ -203,4 +204,9 @@ object LocaleUtils {
localeDisplayName
}
}
private fun hasNonDefaultScript(locale: Locale) = locale.script() != locale.language.constructLocale().script()
private fun doesNotHaveAndroidName(language: String) =
language == "mns" || language == "xdq" || language=="dru" || language == "st" || language == "dag"
}