mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-06-12 05:07:46 +02:00
fix(app): two letters locale
This commit is contained in:
@ -1,6 +1,16 @@
|
||||
package me.rhunk.snapenhance.common.bridge.types
|
||||
|
||||
import java.util.Locale
|
||||
|
||||
data class LocalePair(
|
||||
val locale: String,
|
||||
val content: String
|
||||
)
|
||||
) {
|
||||
fun getLocale(): Locale {
|
||||
if (locale.contains("_")) {
|
||||
val split = locale.split("_")
|
||||
return Locale(split[0], split[1])
|
||||
}
|
||||
return Locale(locale)
|
||||
}
|
||||
}
|
@ -19,7 +19,7 @@ class LocaleWrapper {
|
||||
|
||||
if (locale == DEFAULT_LOCALE) return locales
|
||||
|
||||
val compatibleLocale = context.resources.assets.list("lang")?.firstOrNull { it.startsWith(locale) }?.substring(0, 5) ?: return locales
|
||||
val compatibleLocale = context.resources.assets.list("lang")?.firstOrNull { it.startsWith(locale) }?.substringBefore(".") ?: return locales
|
||||
|
||||
context.resources.assets.open("lang/$compatibleLocale.json").use { inputStream ->
|
||||
locales.add(LocalePair(compatibleLocale, inputStream.bufferedReader().use { it.readText() }))
|
||||
@ -29,7 +29,7 @@ class LocaleWrapper {
|
||||
}
|
||||
|
||||
fun fetchAvailableLocales(context: Context): List<String> {
|
||||
return context.resources.assets.list("lang")?.map { it.substring(0, 5) } ?: listOf()
|
||||
return context.resources.assets.list("lang")?.map { it.substringBefore(".") }?.sorted() ?: listOf(DEFAULT_LOCALE)
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ class LocaleWrapper {
|
||||
lateinit var loadedLocale: Locale
|
||||
|
||||
private fun load(localePair: LocalePair) {
|
||||
loadedLocale = localePair.locale.let { Locale(it.substring(0, 2), it.substring(3, 5)) }
|
||||
loadedLocale = localePair.getLocale()
|
||||
|
||||
val translations = JsonParser.parseString(localePair.content).asJsonObject
|
||||
if (translations == null || translations.isJsonNull) {
|
||||
|
Reference in New Issue
Block a user