@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
29 lines (27 loc) • 1.15 kB
JavaScript
import { t as translation } from "../transpiler/translation/translation.mjs";
import { getPerLocaleDictionary } from "../deepTransformPlugins/getLocalizedContent.mjs";
import { orderDictionaries } from "./orderDictionaries.mjs";
//#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: translation({ [dictionary.locale]: dictionary.content })
};
const perLocaleContent = locales.reduce((acc, locale) => {
acc[locale] = getPerLocaleDictionary(parsedDictionary, locale).content;
return acc;
}, {});
return {
...dictionary,
content: translation(perLocaleContent)
};
};
const normalizeDictionaries = (dictionaries, configuration) => {
return orderDictionaries(dictionaries, configuration).map((dictionary) => normalizeDictionary(dictionary, configuration));
};
//#endregion
export { normalizeDictionaries, normalizeDictionary };
//# sourceMappingURL=normalizeDictionary.mjs.map