add new languages

This commit is contained in:
Bnyro 2022-07-19 21:56:17 +02:00
parent 721bca316a
commit 28d95c3bc6
3 changed files with 24 additions and 9 deletions

View File

@ -12,7 +12,6 @@ import com.github.libretube.activities.SettingsActivity
import com.github.libretube.dialogs.RequireRestartDialog import com.github.libretube.dialogs.RequireRestartDialog
import com.github.libretube.dialogs.UpdateDialog import com.github.libretube.dialogs.UpdateDialog
import com.github.libretube.update.UpdateChecker import com.github.libretube.update.UpdateChecker
import com.github.libretube.util.ThemeHelper
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@ -37,7 +36,8 @@ class MainSettings : PreferenceFragmentCompat() {
val language = findPreference<ListPreference>("language") val language = findPreference<ListPreference>("language")
language?.setOnPreferenceChangeListener { _, _ -> language?.setOnPreferenceChangeListener { _, _ ->
ThemeHelper.restartMainActivity(requireContext()) val restartDialog = RequireRestartDialog()
restartDialog.show(childFragmentManager, "RequireRestartDialog")
true true
} }

View File

@ -12,15 +12,16 @@ object LocaleHelper {
fun updateLanguage(context: Context) { fun updateLanguage(context: Context) {
val languageName = PreferenceHelper.getString(PreferenceKeys.LANGUAGE, "sys") val languageName = PreferenceHelper.getString(PreferenceKeys.LANGUAGE, "sys")
if (languageName == "sys") updateLocaleConf(context, Locale.getDefault()) if (languageName == "sys") updateLocaleConf(context, Locale.getDefault())
else if ("$languageName".length < 3) { else if (languageName?.contains("-") == true) {
val locale = Locale(languageName.toString()) val languageParts = languageName.split("-")
updateLocaleConf(context, locale)
} else if ("$languageName".length > 3) {
val locale = Locale( val locale = Locale(
languageName?.substring(0, 2).toString(), languageParts[0],
languageName?.substring(4, 6).toString() languageParts[1]
) )
updateLocaleConf(context, locale) updateLocaleConf(context, locale)
} else {
val locale = Locale(languageName.toString())
updateLocaleConf(context, locale)
} }
} }

View File

@ -462,10 +462,13 @@
<item>Arabic</item> <item>Arabic</item>
<item>Azerbaijani</item> <item>Azerbaijani</item>
<item>Basque</item> <item>Basque</item>
<item>Catalan</item>
<item>Chinese (simplified)</item> <item>Chinese (simplified)</item>
<item>Chinese (traditional)</item>
<item>Czech</item> <item>Czech</item>
<item>Danish</item> <item>Danish</item>
<item>English</item> <item>English</item>
<item>Filipino</item>
<item>Finnish</item> <item>Finnish</item>
<item>French</item> <item>French</item>
<item>German</item> <item>German</item>
@ -486,10 +489,14 @@
<item>Polish</item> <item>Polish</item>
<item>Portuguese</item> <item>Portuguese</item>
<item>Portuguese (Brazil)</item> <item>Portuguese (Brazil)</item>
<item>Romanian</item>
<item>Russian</item> <item>Russian</item>
<item>Slovak</item>
<item>Sorani</item> <item>Sorani</item>
<item>Spanish</item> <item>Spanish</item>
<item>Thai</item>
<item>Turkish</item> <item>Turkish</item>
<item>Turkmen</item>
<item>Ukrainian</item> <item>Ukrainian</item>
</string-array> </string-array>
@ -498,10 +505,13 @@
<item>ar</item> <item>ar</item>
<item>az</item> <item>az</item>
<item>eu</item> <item>eu</item>
<item>zh</item> <item>ca</item>
<item>zh-Hans</item>
<item>zh-Hant</item>
<item>cs</item> <item>cs</item>
<item>da</item> <item>da</item>
<item>en</item> <item>en</item>
<item>fil</item>
<item>fi</item> <item>fi</item>
<item>fr</item> <item>fr</item>
<item>de</item> <item>de</item>
@ -522,10 +532,14 @@
<item>pl</item> <item>pl</item>
<item>pt</item> <item>pt</item>
<item>pt-rBR</item> <item>pt-rBR</item>
<item>ro</item>
<item>ru</item> <item>ru</item>
<item>sk</item>
<item>ckb</item> <item>ckb</item>
<item>es</item> <item>es</item>
<item>th</item>
<item>tr</item> <item>tr</item>
<item>tk</item>
<item>uk</item> <item>uk</item>
</string-array> </string-array>