UNPKG

next-intlayer

Version:

Simplify internationalization i18n in Next.js with context providers, hooks, locale detection, and multilingual content integration.

32 lines 902 B
"use client"; import { getLocalizedUrl, getPathWithoutLocale } from "@intlayer/core"; import { usePathname, useRouter } from "next/navigation.js"; import { useCallback, useMemo } from "react"; import { useLocale as useLocaleReact } from "react-intlayer"; const useLocale = () => { const { push, refresh } = useRouter(); const pathname = usePathname(); const pathWithoutLocale = useMemo( () => getPathWithoutLocale(pathname), [pathname] ); const redirectionFunction = useCallback( (locale) => { const pathWithLocale = getLocalizedUrl(pathWithoutLocale, locale); push(pathWithLocale); return refresh(); }, [refresh, pathWithoutLocale] ); const reactLocaleHook = useLocaleReact({ onLocaleChange: redirectionFunction }); return { ...reactLocaleHook, pathWithoutLocale }; }; export { useLocale }; //# sourceMappingURL=useLocale.mjs.map