@jupri-lab/react-i18n
Version:
Speak Easy. Effortless Internationalization for Your React Apps
18 lines (14 loc) • 846 B
TypeScript
import React, { ReactNode } from 'react';
import { ITranslateOptions, Ii18nConfigs } from '@jupri-lab/i18n-core';
interface Ii18nContext<TLanguage extends string> {
getChangeLanguageHandler: (language: TLanguage) => void;
getCurrentLanguage: () => TLanguage;
translate: (identifier: string, data?: ITranslateOptions) => string;
}
interface Ii18nProviderProps<TLanguage extends string, TResources extends object> {
children: ReactNode;
configs: Ii18nConfigs<TLanguage, TResources>;
}
declare const I18nProvider: <TLanguage extends string, TResources extends object>({ children, configs, }: Ii18nProviderProps<TLanguage, TResources>) => React.JSX.Element;
declare const useI18n: <TLanguage extends string>() => Ii18nContext<TLanguage>;
export { type Ii18nContext, type Ii18nProviderProps, I18nProvider as default, useI18n };