@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
26 lines (25 loc) • 919 B
JavaScript
"use client";
import { useMemo, useContext } from 'react';
import SharedContext from '../../../shared/Context';
import { combineWithExternalTranslations, useAdditionalUtils } from '../../../shared/useTranslation';
import { extendDeep } from '../../../shared/component-helper';
import { LOCALE } from '../../../shared/defaults';
import formsLocales from '../constants/locales';
export default function useTranslation(messages) {
const {
locale,
translation: globalTranslation
} = useContext(SharedContext);
const {
assignUtils
} = useAdditionalUtils();
return useMemo(() => {
const translation = extendDeep({}, formsLocales[locale] || formsLocales[LOCALE], globalTranslation);
return assignUtils(combineWithExternalTranslations({
translation,
messages,
locale
}));
}, [assignUtils, globalTranslation, locale, messages]);
}
//# sourceMappingURL=useTranslation.js.map