(cherry picked from commit 8fbbe21d814ccdeda7727b5fb83f99ea81f5b225)pull/9060/head
parent
e50abd276e
commit
f05f25af0c
@ -1,27 +0,0 @@
|
|||||||
import createAjaxRequest from 'Utilities/createAjaxRequest';
|
|
||||||
|
|
||||||
function getTranslations() {
|
|
||||||
return createAjaxRequest({
|
|
||||||
global: false,
|
|
||||||
dataType: 'json',
|
|
||||||
url: '/localization/language'
|
|
||||||
}).request;
|
|
||||||
}
|
|
||||||
|
|
||||||
let languageNames = new Intl.DisplayNames(['en'], { type: 'language' });
|
|
||||||
|
|
||||||
getTranslations().then((data) => {
|
|
||||||
const names = new Intl.DisplayNames([data.identifier], { type: 'language' });
|
|
||||||
|
|
||||||
if (names) {
|
|
||||||
languageNames = names;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
export default function getLanguageName(code) {
|
|
||||||
if (!languageNames) {
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
return languageNames.of(code) ?? code;
|
|
||||||
}
|
|
@ -0,0 +1,41 @@
|
|||||||
|
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 (error) {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue