Language fixes, now uses standard language tags

This commit is contained in:
Kelvin 2023-12-11 16:52:31 +01:00
parent f31b6c50e9
commit 5d7dc1fdcb
15 changed files with 58 additions and 158 deletions

View file

@ -43,18 +43,19 @@ let Type = {
let Language = {
UNKNOWN: "Unknown",
ARABIC: "Arabic",
SPANISH: "Spanish",
FRENCH: "French",
HINDI: "Hindi",
INDONESIAN: "Indonesian",
KOREAN: "Korean",
PORTBRAZIL: "Portuguese Brazilian",
RUSSIAN: "Russian",
THAI: "Thai",
TURKISH: "Turkish",
VIETNAMESE: "Vietnamese",
ENGLISH: "English"
ARABIC: "ar",
SPANISH: "es",
FRENCH: "fr",
HINDI: "hi",
INDONESIAN: "id",
KOREAN: "ko",
PORTUGUESE: "pt",
PORTBRAZIL: "pt",
RUSSIAN: "ru",
THAI: "th",
TURKISH: "tr",
VIETNAMESE: "vi",
ENGLISH: "en"
}
class ScriptException extends Error {

View file

@ -311,7 +311,28 @@ class Settings : FragmentedStorageFileJson() {
@DropdownFieldOptionsId(R.array.audio_languages)
var primaryLanguage: Int = 0;
fun getPrimaryLanguage(context: Context) = context.resources.getStringArray(R.array.audio_languages)[primaryLanguage];
fun getPrimaryLanguage(context: Context): String? {
return when(primaryLanguage) {
0 -> "en";
1 -> "es";
2 -> "de";
3 -> "fr";
4 -> "ja";
5 -> "ko";
6 -> "th";
7 -> "vi";
8 -> "id";
9 -> "hi";
10 -> "ar";
11 -> "tu";
12 -> "ru";
13 -> "pt";
14 -> "zh";
else -> null
}
}
//= context.resources.getStringArray(R.array.audio_languages)[primaryLanguage];
@FormField(R.string.default_playback_speed, FieldForm.DROPDOWN, -1, 1)
@DropdownFieldOptionsId(R.array.playback_speeds)

View file

@ -15,6 +15,7 @@ import com.futo.platformplayer.api.media.models.video.IPlatformVideoDetails
import com.futo.platformplayer.api.media.platforms.js.models.sources.JSAudioUrlRangeSource
import com.futo.platformplayer.api.media.platforms.js.models.sources.JSVideoUrlRangeSource
import com.futo.platformplayer.logging.Logger
import com.futo.platformplayer.others.Language
import com.google.android.exoplayer2.MediaItem
import com.google.android.exoplayer2.source.MediaSource
import com.google.android.exoplayer2.source.dash.DashMediaSource
@ -82,13 +83,14 @@ class VideoHelper {
fun selectBestAudioSource(altSources : Iterable<IAudioSource>, prefContainers : Array<String>, preferredLanguage: String? = null, targetBitrate: Long? = null) : IAudioSource? {
val languageToFilter = if(preferredLanguage != null && altSources.any { it.language == preferredLanguage }) {
preferredLanguage
} else if(preferredLanguage == null) {
null
} else {
"Unknown"
if(altSources.any { it.language == Language.ENGLISH })
Language.ENGLISH
else
Language.UNKNOWN;
}
var usableSources = if(languageToFilter != null && altSources.any { it.language == languageToFilter }) {
var usableSources = if(altSources.any { it.language == languageToFilter }) {
altSources.filter { it.language == languageToFilter }.sortedBy { it.bitrate }.toList();
} else {
altSources.sortedBy { it.bitrate }

View file

@ -1,20 +1,19 @@
package com.futo.platformplayer.others
class Language {
//TODO: Do this differently, somehow map them to ids for multilanguage?
companion object {
val UNKNOWN = "Unknown";
val ARABIC = "Arabic";
val SPANISH = "Spanish";
val FRENCH = "French";
val HINDI = "Hindi";
val INDONESIAN = "Indonesian";
val KOREAN = "Korean";
val PORTBRAZIL = "Portuguese Brazilian";
val RUSSIAN = "Russian";
val THAI = "Thai";
val TURKISH = "Turkish";
val VIETNAMESE = "Vietnamese";
val ENGLISH = "English";
val ARABIC = "ar";
val SPANISH = "es";
val FRENCH = "fr";
val HINDI = "hi";
val INDONESIAN = "id";
val KOREAN = "ko";
val PORTBRAZIL = "pt";
val RUSSIAN = "ru";
val THAI = "th";
val TURKISH = "tr";
val VIETNAMESE = "vi";
val ENGLISH = "en";
}
}

View file

@ -701,20 +701,6 @@
<item>استئناف بعد 10 ثوان</item>
<item>استئناف دائم</item>
</string-array>
<string-array name="audio_languages">
<item>الإنجليزية</item>
<item>الإسبانية</item>
<item>الفرنسية</item>
<item>الفرنسية</item>
<item>الكورية</item>
<item>التايلاندية</item>
<item>الفيتنامية</item>
<item>الإندونيسية</item>
<item>الهندية</item>
<item>العربية</item>
<item>التركية</item>
<item>الروسية</item>
</string-array>
<string-array name="log_levels">
<item>لا شيء</item>
<item>خطأ</item>

View file

@ -701,20 +701,6 @@
<item>Nach 10 Sekunden fortsetzen</item>
<item>Immer fortsetzen</item>
</string-array>
<string-array name="audio_languages">
<item>Englisch</item>
<item>Spanisch</item>
<item>Französisch</item>
<item>Französisch</item>
<item>Koreanisch</item>
<item>Thailändisch</item>
<item>Vietnamesisch</item>
<item>Indonesisch</item>
<item>Hindi</item>
<item>Arabisch</item>
<item>Türkisch</item>
<item>Russisch</item>
</string-array>
<string-array name="log_levels">
<item>Keine</item>
<item>Fehler</item>

View file

@ -717,20 +717,6 @@
<item>Reanudar Después de 10s</item>
<item>Siempre Reanudar</item>
</string-array>
<string-array name="audio_languages">
<item>Inglés</item>
<item>Español</item>
<item>Francés</item>
<item>Francés</item>
<item>Coreano</item>
<item>Tailandés</item>
<item>Vietnamita</item>
<item>Indonesio</item>
<item>Hindi</item>
<item>Árabe</item>
<item>Turco</item>
<item>Ruso</item>
</string-array>
<string-array name="log_levels">
<item>Ninguno</item>
<item>Error</item>

View file

@ -701,20 +701,6 @@
<item>Reprendre après 10s</item>
<item>Toujours reprendre</item>
</string-array>
<string-array name="audio_languages">
<item>Anglais</item>
<item>Espagnol</item>
<item>Français</item>
<item>Français</item>
<item>Coréen</item>
<item>Thaï</item>
<item>Vietnamien</item>
<item>Indonésien</item>
<item>Hindi</item>
<item>Arabe</item>
<item>Turc</item>
<item>Russe</item>
</string-array>
<string-array name="log_levels">
<item>Aucun</item>
<item>Erreur</item>

View file

@ -701,20 +701,6 @@
<item>10秒後から再開</item>
<item>常に再開</item>
</string-array>
<string-array name="audio_languages">
<item>英語</item>
<item>スペイン語</item>
<item>フランス語</item>
<item>フランス語</item>
<item>韓国語</item>
<item>タイ語</item>
<item>ベトナム語</item>
<item>インドネシア語</item>
<item>ヒンディー語</item>
<item>アラビア語</item>
<item>トルコ語</item>
<item>ロシア語</item>
</string-array>
<string-array name="log_levels">
<item>なし</item>
<item>エラー</item>

View file

@ -701,20 +701,6 @@
<item>10초 후에 이어서</item>
<item>항상 이어서</item>
</string-array>
<string-array name="audio_languages">
<item>영어</item>
<item>스페인어</item>
<item>프랑스어</item>
<item>프랑스어</item>
<item>한국어</item>
<item>태국어</item>
<item>베트남어</item>
<item>인도네시아어</item>
<item>힌디어</item>
<item>아랍어</item>
<item>터키어</item>
<item>러시아어</item>
</string-array>
<string-array name="log_levels">
<item>없음</item>
<item>오류</item>

View file

@ -701,20 +701,6 @@
<item>Continuar Após 10s</item>
<item>Sempre Continuar</item>
</string-array>
<string-array name="audio_languages">
<item>Inglês</item>
<item>Espanhol</item>
<item>Francês</item>
<item>Francês</item>
<item>Coreano</item>
<item>Tailandês</item>
<item>Vietnamita</item>
<item>Indonésio</item>
<item>Hindi</item>
<item>Árabe</item>
<item>Turco</item>
<item>Russo</item>
</string-array>
<string-array name="log_levels">
<item>Nenhum</item>
<item>Erro</item>

View file

@ -701,20 +701,6 @@
<item>Продолжить после 10 секунд</item>
<item>Всегда продолжать</item>
</string-array>
<string-array name="audio_languages">
<item>Английский</item>
<item>Испанский</item>
<item>Французский</item>
<item>Французский</item>
<item>Корейский</item>
<item>Тайский</item>
<item>Вьетнамский</item>
<item>Индонезийский</item>
<item>Хинди</item>
<item>Арабский</item>
<item>Турецкий</item>
<item>Русский</item>
</string-array>
<string-array name="log_levels">
<item>Нет</item>
<item>Ошибка</item>

View file

@ -701,20 +701,6 @@
<item>预览后10秒继续</item>
<item>始终继续</item>
</string-array>
<string-array name="audio_languages">
<item>英语</item>
<item>西班牙语</item>
<item>法语</item>
<item>法语</item>
<item>韩语</item>
<item>泰语</item>
<item>越南语</item>
<item>印度尼西亚语</item>
<item>印地语</item>
<item>阿拉伯语</item>
<item>土耳其语</item>
<item>俄语</item>
</string-array>
<string-array name="log_levels">
<item></item>
<item>错误</item>

View file

@ -851,8 +851,9 @@
<string-array name="audio_languages">
<item>English</item>
<item>Spanish</item>
<item>German</item>
<item>French</item>
<item>French</item>
<item>Japanese</item>
<item>Korean</item>
<item>Thai</item>
<item>Vietnamese</item>
@ -861,6 +862,8 @@
<item>Arabic</item>
<item>Turkish</item>
<item>Russian</item>
<item>Portuguese</item>
<item>Chinese</item>
</string-array>
<string-array name="casting_device_type_array" translatable="false">
<item>FCast</item>

@ -1 +1 @@
Subproject commit fc5d17e19067efc0d28192b43de31f9bc499d288
Subproject commit 128b03c5911d414ad230afd75c35c6be5b1e87db