UNPKG

linguee-client

Version:
122 lines 5.86 kB
"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