web/audio-sub-language: refactor to avoid code duplication

This commit is contained in:
wukko 2025-06-28 16:44:28 +06:00
parent c16444126e
commit 3d2473d8ef
No known key found for this signature in database
GPG Key ID: 3E30B3F26C7B4AA2

View File

@ -44,11 +44,11 @@ const namedLanguages = (
name = get(t)("settings.subtitles.none"); name = get(t)("settings.subtitles.none");
break; break;
default: { default: {
let intlName = "unknown"; let intlName;
try { try {
intlName = new Intl.DisplayNames([lang], { type: 'language' }).of(lang) || "unknown"; intlName = new Intl.DisplayNames([lang], { type: 'language' }).of(lang);
} catch { /* */ }; } catch { /* */ };
name = `${intlName} (${lang})`; name = `${intlName || "unknown"} (${lang})`;
break; break;
} }
} }
@ -69,16 +69,15 @@ export const namedSubtitleLanguages = () => {
} }
export const getBrowserLanguage = (): YoutubeDubLang => { export const getBrowserLanguage = (): YoutubeDubLang => {
if (typeof navigator === 'undefined') if (typeof navigator !== 'undefined') {
return "original";
const browserLanguage = navigator.language as YoutubeDubLang; const browserLanguage = navigator.language as YoutubeDubLang;
if (youtubeDubLanguages.includes(browserLanguage)) if (youtubeDubLanguages.includes(browserLanguage)) {
return browserLanguage; return browserLanguage;
}
const shortened = browserLanguage.split('-')[0] as YoutubeDubLang; const shortened = browserLanguage.split('-')[0] as YoutubeDubLang;
if (youtubeDubLanguages.includes(shortened)) if (youtubeDubLanguages.includes(shortened)) {
return shortened; return shortened;
}
}
return "original"; return "original";
} }