@intl-t/react
Version:
A Fully-Typed Object-Based i18n Translation Library for React
22 lines (21 loc) • 1.43 kB
TypeScript
import type { GlobalTranslation } from "@intl-t/core/global";
import type { isArray, SearchWays, ArrayToString, Locale, TranslationProps as TP, Content } from "@intl-t/core/types";
import { TranslationNode } from "@intl-t/react/translation";
import type { ReactState, ReactSetState, ReactNode } from "@intl-t/react/types";
export type TranslationContext = null | {
reRender?: ReactSetState<number>;
localeState?: ReactState<Locale>;
t?: TranslationNode;
};
export declare const TranslationContext: import("react").Context<TranslationContext>;
interface TranslationProps<T extends TranslationNode, A extends string[] = string[], D extends string = string> extends TP<T["settings"], T["node"], T["values"], A, D> {
t?: T;
}
export { TranslationProps as TranslationProviderProps };
export declare function TranslationProvider<T extends TranslationNode, A extends isArray<SearchWays<T>>, D extends ArrayToString<A, T["settings"]["ps"]>>({ t, onLocaleChange, locale, children, i18nKey, id, path, messages, source, variables, settings, ...state }: TranslationProps<T, A, D>): ReactNode | Content<T["node"]>;
export declare const T: typeof TranslationProvider;
export { T as Trans, T as Tr };
export declare function hook(...args: any[]): any;
export declare const useTranslation: GlobalTranslation;
export declare const useTranslations: GlobalTranslation;
export { hook as useTranslation, hook as useTranslations };