fchat-rising/electron/language.ts

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'
};