Files
Chromacase/front/components/Translate.tsx
T
Arthur Jamet 8546c86332 Front/translate refactor (#110)
* Front: i18n: Create component

* Front: Use new translation component

* Front: Translation COmpoent: Change props name

* Front: Fix merge
2022-11-24 17:20:45 +00:00

20 lines
611 B
TypeScript

import { translate } from "../i18n/i18n";
import { en } from "../i18n/Translations";
import { RootState, useSelector } from "../state/Store";
type TranslateProps = {
translationKey: keyof typeof en;
format?: (translated: string) => string;
}
/**
* Translation component
* @param param0
* @returns
*/
const Translate = ({ translationKey, format }: TranslateProps) => {
const selectedLanguage = useSelector((state: RootState) => state.language.value);
const translated = translate(translationKey, selectedLanguage);
return <>{format ? format(translated) : translated}</>;
}
export default Translate;