188 lines
6.7 KiB
JavaScript
188 lines
6.7 KiB
JavaScript
/**
|
|
* @param {Promise<{default:object}>[]} importPromises
|
|
*/
|
|
async function combineLocalizeImports(importPromises) {
|
|
const localizeObjects = await Promise.all(importPromises);
|
|
const combinedResult = localizeObjects[0];
|
|
for (const localizeObject of localizeObjects.slice(1)) {
|
|
Object.entries(localizeObject.default).forEach(([key, val]) => {
|
|
combinedResult.default[key] = val;
|
|
});
|
|
}
|
|
return combinedResult;
|
|
}
|
|
|
|
export const localizeNamespaceLoader = /** @param {string} locale */ locale => {
|
|
switch (locale) {
|
|
case 'bg-BG':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/bg-BG.js'),
|
|
import('@lion/ui/input-datepicker-translations/bg-BG.js'),
|
|
]);
|
|
case 'bg':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/bg.js'),
|
|
import('@lion/ui/input-datepicker-translations/bg.js'),
|
|
]);
|
|
case 'cs-CZ':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/cs-CZ.js'),
|
|
import('@lion/ui/input-datepicker-translations/cs-CZ.js'),
|
|
]);
|
|
case 'cs':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/cs.js'),
|
|
import('@lion/ui/input-datepicker-translations/cs.js'),
|
|
]);
|
|
case 'de-DE':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/de-DE.js'),
|
|
import('@lion/ui/input-datepicker-translations/de-DE.js'),
|
|
]);
|
|
case 'de':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/de.js'),
|
|
import('@lion/ui/input-datepicker-translations/de.js'),
|
|
]);
|
|
case 'en-AU':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/en-AU.js'),
|
|
import('@lion/ui/input-datepicker-translations/en-AU.js'),
|
|
]);
|
|
case 'en-GB':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/en-GB.js'),
|
|
import('@lion/ui/input-datepicker-translations/en-GB.js'),
|
|
]);
|
|
case 'en-US':
|
|
return import('@lion/ui/input-datepicker-translations/en-US.js');
|
|
case 'en-PH':
|
|
case 'en':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/en.js'),
|
|
import('@lion/ui/input-datepicker-translations/en.js'),
|
|
]);
|
|
|
|
case 'es-ES':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/es-ES.js'),
|
|
import('@lion/ui/input-datepicker-translations/es-ES.js'),
|
|
]);
|
|
case 'es':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/es.js'),
|
|
import('@lion/ui/input-datepicker-translations/es.js'),
|
|
]);
|
|
case 'fr-FR':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/fr-FR.js'),
|
|
import('@lion/ui/input-datepicker-translations/fr-FR.js'),
|
|
]);
|
|
case 'fr-BE':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/fr-BE.js'),
|
|
import('@lion/ui/input-datepicker-translations/fr-BE.js'),
|
|
]);
|
|
case 'fr':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/fr.js'),
|
|
import('@lion/ui/input-datepicker-translations/fr.js'),
|
|
]);
|
|
case 'hu-HU':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/hu-HU.js'),
|
|
import('@lion/ui/input-datepicker-translations/hu-HU.js'),
|
|
]);
|
|
case 'hu':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/hu.js'),
|
|
import('@lion/ui/input-datepicker-translations/hu.js'),
|
|
]);
|
|
case 'it-IT':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/it-IT.js'),
|
|
import('@lion/ui/input-datepicker-translations/it-IT.js'),
|
|
]);
|
|
case 'it':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/it.js'),
|
|
import('@lion/ui/input-datepicker-translations/it.js'),
|
|
]);
|
|
case 'nl-BE':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/nl-BE.js'),
|
|
import('@lion/ui/input-datepicker-translations/nl-BE.js'),
|
|
]);
|
|
case 'nl-NL':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/nl-NL.js'),
|
|
import('@lion/ui/input-datepicker-translations/nl-NL.js'),
|
|
]);
|
|
case 'nl':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/nl.js'),
|
|
import('@lion/ui/input-datepicker-translations/nl.js'),
|
|
]);
|
|
case 'pl-PL':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/pl-PL.js'),
|
|
import('@lion/ui/input-datepicker-translations/pl-PL.js'),
|
|
]);
|
|
case 'pl':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/pl.js'),
|
|
import('@lion/ui/input-datepicker-translations/pl.js'),
|
|
]);
|
|
case 'ro-RO':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/ro-RO.js'),
|
|
import('@lion/ui/input-datepicker-translations/ro-RO.js'),
|
|
]);
|
|
case 'ro':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/ro.js'),
|
|
import('@lion/ui/input-datepicker-translations/ro.js'),
|
|
]);
|
|
case 'ru-RU':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/ru-RU.js'),
|
|
import('@lion/ui/input-datepicker-translations/ru-RU.js'),
|
|
]);
|
|
case 'ru':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/ru.js'),
|
|
import('@lion/ui/input-datepicker-translations/ru.js'),
|
|
]);
|
|
case 'sk-SK':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/sk-SK.js'),
|
|
import('@lion/ui/input-datepicker-translations/sk-SK.js'),
|
|
]);
|
|
case 'sk':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/sk.js'),
|
|
import('@lion/ui/input-datepicker-translations/sk.js'),
|
|
]);
|
|
case 'uk-UA':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/uk-UA.js'),
|
|
import('@lion/ui/input-datepicker-translations/uk-UA.js'),
|
|
]);
|
|
case 'uk':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/uk.js'),
|
|
import('@lion/ui/input-datepicker-translations/uk.js'),
|
|
]);
|
|
case 'zh-CN':
|
|
case 'zh':
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/zh.js'),
|
|
import('@lion/ui/input-datepicker-translations/zh.js'),
|
|
]);
|
|
default:
|
|
return combineLocalizeImports([
|
|
import('@lion/ui/overlays-translations/en.js'),
|
|
import('@lion/ui/input-datepicker-translations/en.js'),
|
|
]);
|
|
}
|
|
};
|