mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-17 21:26:13 -04:00
42 lines
784 B
TypeScript
42 lines
784 B
TypeScript
import createAjaxRequest from 'Utilities/createAjaxRequest';
|
|
|
|
interface LanguageResponse {
|
|
identifier: string;
|
|
}
|
|
|
|
function getLanguage() {
|
|
return createAjaxRequest({
|
|
global: false,
|
|
dataType: 'json',
|
|
url: '/localization/language',
|
|
}).request;
|
|
}
|
|
|
|
function getDisplayName(code: string) {
|
|
return Intl.DisplayNames
|
|
? new Intl.DisplayNames([code], { type: 'language' })
|
|
: null;
|
|
}
|
|
|
|
let languageNames = getDisplayName('en');
|
|
|
|
getLanguage().then((data: LanguageResponse) => {
|
|
const names = getDisplayName(data.identifier);
|
|
|
|
if (names) {
|
|
languageNames = names;
|
|
}
|
|
});
|
|
|
|
export default function getLanguageName(code: string) {
|
|
if (!languageNames) {
|
|
return code;
|
|
}
|
|
|
|
try {
|
|
return languageNames.of(code) ?? code;
|
|
} catch {
|
|
return code;
|
|
}
|
|
}
|