Files
calendar/packages/platform/atoms/lib/useLocale.ts
T

27 lines
704 B
TypeScript

import type { TFunction, i18n } from "i18next";
import { useTranslation } from "react-i18next";
import { useAtomsContext } from "@calcom/atoms/hooks/useAtomsContext";
type useLocaleReturnType = {
i18n: i18n;
t: TFunction;
isLocaleReady: boolean;
};
export const useLocale = (
namespace: Parameters<typeof useTranslation>[0] = "common"
): useLocaleReturnType => {
const context = useAtomsContext();
const { i18n, t } = useTranslation(namespace);
const isLocaleReady = Object.keys(i18n).length > 0;
if (context?.clientId) {
return { i18n: context.i18n, t: context.t, isLocaleReady: true } as unknown as useLocaleReturnType;
}
return {
i18n,
t,
isLocaleReady,
};
};