UNPKG

@intl-t/next

Version:

A Fully-Typed Object-Based i18n Translation Library for Next.js

17 lines (16 loc) 781 B
import { setClientLocale } from "@intl-t/react"; import React from "react"; import { getRequestLocale, getRequestPathname } from "./request"; import { setRequestLocale } from "./request"; import { useLocale, usePathname } from "./router"; export { isClient } from "@intl-t/global"; export const isRSC = !("useEffect" in React); export function getLocale(preventDynamic = false, defaultLocale) { // @ts-ignore-error optional binding return isRSC ? getRequestLocale.call(this, preventDynamic) : useLocale.call(this, defaultLocale); } export function setLocale(locale) { // @ts-ignore-error optional binding return isRSC ? setRequestLocale.call(this, locale) : setClientLocale.call(this, locale); } export const getPathname = isRSC ? getRequestPathname : usePathname;