@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
30 lines (28 loc) • 1.45 kB
JavaScript
const require_transpiler_translation_translation = require('../transpiler/translation/translation.cjs');
const require_deepTransformPlugins_getLocalizedContent = require('../deepTransformPlugins/getLocalizedContent.cjs');
const require_dictionaryManipulator_orderDictionaries = require('./orderDictionaries.cjs');
//#region src/dictionaryManipulator/normalizeDictionary.ts
const normalizeDictionary = (dictionary, configuration) => {
const { locales } = configuration.internationalization;
const parsedDictionary = JSON.parse(JSON.stringify(dictionary));
if (dictionary.locale) return {
...dictionary,
locale: void 0,
content: require_transpiler_translation_translation.t({ [dictionary.locale]: dictionary.content })
};
const perLocaleContent = locales.reduce((acc, locale) => {
acc[locale] = require_deepTransformPlugins_getLocalizedContent.getPerLocaleDictionary(parsedDictionary, locale).content;
return acc;
}, {});
return {
...dictionary,
content: require_transpiler_translation_translation.t(perLocaleContent)
};
};
const normalizeDictionaries = (dictionaries, configuration) => {
return require_dictionaryManipulator_orderDictionaries.orderDictionaries(dictionaries, configuration).map((dictionary) => normalizeDictionary(dictionary, configuration));
};
//#endregion
exports.normalizeDictionaries = normalizeDictionaries;
exports.normalizeDictionary = normalizeDictionary;
//# sourceMappingURL=normalizeDictionary.cjs.map