UNPKG

@sinchsmb/ui-kit

Version:

UI kit for SinchSMB frontend

26 lines (20 loc) 620 B
import { useMemo } from 'react'; import { useTranslationContext } from '../contexts/TranslationContext/TranslationContext'; import { I18n } from '../contexts/TranslationContext/types'; /** Result of {@link useTranslation} */ export interface UseTranslationResult { /** i18n translation engine */ i18n: I18n; /** Function that used for text translating */ t: I18n['t']; } export function useTranslation(): UseTranslationResult { const { i18n } = useTranslationContext(); const value = useMemo<UseTranslationResult>(() => { return { i18n, t: i18n.t, }; }, [i18n]); return value; }