Files
bs-manager/src/renderer/hooks/use-translation.hook.ts
T

19 lines
633 B
TypeScript

import { I18nService } from "renderer/services/i18n.service";
import { useService } from "./use-service.hook";
import { useObservable } from "./use-observable.hook";
export function useTranslation(): (translationKey: string, args?: Record<string, string>) => string {
const i18nService = useService(I18nService);
useObservable(() => i18nService.currentLanguage$);
return (key: string, args?: Record<string, string>) => {
if (!key) {
return key;
}
const tranlatables = key.split(" ");
return tranlatables.map(key => i18nService.translate(key, args)).join(" ");
};
}