91 lines
2.0 KiB
TypeScript
91 lines
2.0 KiB
TypeScript
import * as _ from 'lodash';
|
|
|
|
|
|
export function getSafeLanguages(langs: string | string[] | undefined): string[] {
|
|
const initialLanguages = _.isString(langs)
|
|
? ([langs.replace('_', '-')])
|
|
: (langs || []);
|
|
|
|
const initialCount = initialLanguages.length;
|
|
const safeLanguages = _.filter(initialLanguages, (il) => (_.indexOf(supportedLanguages, il) >= 0));
|
|
|
|
if ((initialCount > 0) && (!safeLanguages.length)) {
|
|
safeLanguages.push('en-GB');
|
|
}
|
|
|
|
return safeLanguages;
|
|
}
|
|
|
|
|
|
let supportedLanguages: string[] = [];
|
|
|
|
|
|
export function updateSupportedLanguages(langs: string[]): void {
|
|
supportedLanguages = langs;
|
|
}
|
|
|
|
|
|
export const knownLanguageNames = {
|
|
af: 'Afrikaans',
|
|
bg: 'Bulgarian',
|
|
ca: 'Catalan',
|
|
cs: 'Czech',
|
|
cy: 'Welsh',
|
|
da: 'Danish',
|
|
de: 'German, Generic',
|
|
'de-DE': 'German',
|
|
el: 'Greek',
|
|
|
|
'en-AU': 'English, Australian',
|
|
'en-CA': 'English, Canadian',
|
|
'en-GB': 'English, British',
|
|
'en-GB-oxendict': 'English, British, Oxford Spelling',
|
|
'en-US': 'English, American',
|
|
|
|
es: 'Spanish',
|
|
'es-419': 'Spanish, Latin America and Caribbean',
|
|
'es-AR': 'Spanish, Argentine',
|
|
'es-ES': 'Spanish, Castilian',
|
|
'es-MX': 'Spanish, Mexican',
|
|
'es-US': 'Spanish, American',
|
|
|
|
et: 'Estonian',
|
|
fa: 'Persian',
|
|
fo: 'Faroese',
|
|
fr: 'French, Generic',
|
|
'fr-FR': 'French',
|
|
he: 'Hebrew',
|
|
hi: 'Hindi',
|
|
hr: 'Croatian',
|
|
hu: 'Hungarian',
|
|
hy: 'Armenian',
|
|
id: 'Indonesian',
|
|
it: 'Italian, Generic',
|
|
'it-IT': 'Italian',
|
|
ko: 'Korean',
|
|
lt: 'Lithuanian',
|
|
lv: 'Latvian',
|
|
nb: 'Norwegian',
|
|
nl: 'Dutch',
|
|
pl: 'Polish',
|
|
|
|
'pt-BR': 'Portuguese, Brazilian',
|
|
'pt-PT': 'Portuguese, European',
|
|
pt: 'Portuguese, Generic',
|
|
|
|
ro: 'Romanian',
|
|
ru: 'Russian',
|
|
sh: 'Serbo-Croatian',
|
|
sk: 'Slovak',
|
|
sl: 'Slovenian',
|
|
sq: 'Albanian',
|
|
sr: 'Serbian',
|
|
sv: 'Swedish',
|
|
ta: 'Tamil',
|
|
tg: 'Tajik',
|
|
tr: 'Turkish',
|
|
uk: 'Ukranian',
|
|
vi: 'Vietnamese'
|
|
};
|
|
|