import { useEffect, useState } from 'react' import { setLocale, getLocale, loadTranslations, t, type Locale } from '@/lib/i18n' export function useI18n(locale: Locale = 'fr') { const [loaded, setLoaded] = useState(false) const [currentLocale, setCurrentLocale] = useState(getLocale()) useEffect(() => { const load = async () => { try { // Load translations from files in public directory const frResponse = await fetch('/locales/fr.txt') const enResponse = await fetch('/locales/en.txt') if (frResponse.ok) { const frText = await frResponse.text() await loadTranslations('fr', frText) } if (enResponse.ok) { const enText = await enResponse.text() await loadTranslations('en', enText) } setLocale(locale) setCurrentLocale(locale) setLoaded(true) } catch (e) { console.error('Error loading translations:', e) setLoaded(true) // Continue even if translations fail to load } } void load() }, [locale]) return { loaded, locale: currentLocale, t } }