react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
22 lines • 829 B
JavaScript
"use client";
import configuration from "@intlayer/config/built";
import { useContext, useMemo } from "react";
import { IntlayerClientContext } from "./IntlayerProvider.mjs";
import { useDictionary } from "./useDictionary.mjs";
import { useLoadDynamic } from "./useLoadDynamic.mjs";
const useDictionaryDynamic = (dictionaryPromise, key, locale) => {
const { locale: currentLocale } = useContext(IntlayerClientContext);
const localeTarget = useMemo(
() => locale ?? currentLocale ?? configuration?.internationalization.defaultLocale,
[currentLocale, locale]
);
const dictionary = useLoadDynamic(
`${String(key)}.${localeTarget}`,
dictionaryPromise[localeTarget]()
);
return useDictionary(dictionary, localeTarget);
};
export {
useDictionaryDynamic
};
//# sourceMappingURL=useDictionaryDynamic.mjs.map