import { registerTranslations } from "@repo/i18next"; import { useEffect } from "react"; import { useTranslation as useI18NextTranslation } from "react-i18next"; import enResources from "../common/locales/en.json"; import esResources from "../common/locales/es.json"; import { MODULE_NAME } from "./manifest"; /** * Registra dinámicamente las traducciones del módulo. */ const ensureModuleTranslations = () => { registerTranslations(MODULE_NAME, "en", enResources); registerTranslations(MODULE_NAME, "es", esResources); }; /** * Hook de traducción del módulo, version adaptada. * * - Asegura los bundles del módulo. * - Devuelve el hook react-i18next con namespace. */ export const useTranslation = () => { // Hook base, sin namespace const base = useI18NextTranslation(); const { i18n } = base; // Asegura los bundles del módulo al montar (idempotente) // biome-ignore lint/correctness/useExhaustiveDependencies: useEffect(() => { ensureModuleTranslations(); }, [i18n]); // Hook con namespace return useI18NextTranslation(MODULE_NAME); };