linguee-client
Version:
A simple node.js Linguee client.
122 lines • 5.86 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Lang = exports.UnrecognizedLangError = void 0;
class UnrecognizedLangError extends Error {
constructor() {
super(...arguments);
Object.defineProperty(this, "message", {
enumerable: true,
configurable: true,
writable: true,
value: 'Unrecognized language'
});
}
}
exports.UnrecognizedLangError = UnrecognizedLangError;
class Lang {
static isLangCode(lang) {
return Object.prototype.hasOwnProperty.call(Lang.langsDict, lang);
}
static normalizeLangCode(lang) {
const normLangCode = lang.toUpperCase();
if (Lang.isLangCode(normLangCode)) {
return normLangCode;
}
else {
const normLangName = lang.toLowerCase();
const langEntries = Object.entries(Lang.langsDict);
const langIndex = langEntries.findIndex(([_, langName]) => normLangName === langName);
if (langIndex === -1) {
return false;
}
return langEntries[langIndex][0];
}
}
static available(rootLang) {
if (!rootLang) {
return Object.keys(Lang.availableTranslations);
}
const lang = Lang.normalizeLangCode(rootLang);
if (!lang) {
throw new UnrecognizedLangError();
}
return Lang.availableTranslations[lang];
}
static get(langCode) {
const normLangCode = Lang.normalizeLangCode(langCode);
if (!normLangCode || !Lang.isLangCode(normLangCode)) {
return null;
}
return {
code: normLangCode,
name: Lang.langsDict[normLangCode],
};
}
}
exports.Lang = Lang;
Object.defineProperty(Lang, "langsDict", {
enumerable: true,
configurable: true,
writable: true,
value: {
EN: 'english',
DE: 'german',
FR: 'french',
ES: 'spanish',
ZH: 'chinese',
RU: 'russian',
JA: 'japanese',
PT: 'portuguese',
IT: 'italian',
NL: 'dutch',
PL: 'polish',
SV: 'swedish',
DA: 'danish',
FI: 'finnish',
EL: 'greek',
CS: 'czech',
RO: 'romanian',
HU: 'hungarian',
SK: 'slovak',
BG: 'bulgarian',
SL: 'slovene',
LT: 'lithuanian',
LV: 'latvian',
ET: 'estonian',
MT: 'maltese',
}
});
Object.defineProperty(Lang, "availableTranslations", {
enumerable: true,
configurable: true,
writable: true,
value: {
EN: ["DE", "FR", "ES", "ZH", "RU", "JA", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
DE: ["EN", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
FR: ["EN", "DE", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
ES: ["EN", "DE", "FR", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
ZH: ["EN"],
RU: ["EN"],
JA: ["EN"],
PT: ["EN", "DE", "FR", "ES", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
IT: ["EN", "DE", "FR", "ES", "PT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
NL: ["EN", "DE", "FR", "ES", "PT", "IT", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
PL: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
SV: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
DA: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
FI: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
EL: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
CS: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
RO: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "HU", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
HU: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "SK", "BG", "SL", "LT", "LV", "ET", "MT"],
SK: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "BG", "SL", "LT", "LV", "ET", "MT"],
BG: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "SL", "LT", "LV", "ET", "MT"],
SL: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "LT", "LV", "ET", "MT"],
LT: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LV", "ET", "MT"],
LV: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "ET", "MT"],
ET: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "MT"],
MT: ["EN", "DE", "FR", "ES", "PT", "IT", "NL", "PL", "SV", "DA", "FI", "EL", "CS", "RO", "HU", "SK", "BG", "SL", "LT", "LV", "ET"],
}
});
exports.default = Lang;
//# sourceMappingURL=Lang.js.map