"use client"; import { useState, useTransition } from "react"; import { useLocale } from "next-intl"; import { useT } from "../i18n/client"; import { usePathname, useRouter } from "../i18n/navigation"; import { routing, type AppLocale } from "../i18n/routing"; // Exemple: tu mets tes SVG ici (ou import depuis /public) const flags: Record = { fr: "/flags/fr.svg", en: "/flags/en.svg", es: "/flags/es.svg", de: "/flags/de.svg", ja: "/flags/ja.svg", pt: "/flags/pt.svg", ru: "/flags/ru.svg", it: "/flags/it.svg", nl: "/flags/nl.svg", pl: "/flags/pl.svg", zh: "/flags/zh.svg", hi: "/flags/hi.svg", ar: "/flags/ar.svg", bn: "/flags/bn.svg", id: "/flags/id.svg", tr: "/flags/tr.svg", }; export default function LanguageSwitcher() { const t = useT(); const locale = useLocale() as AppLocale; const pathname = usePathname(); const router = useRouter(); const [isPending, startTransition] = useTransition(); const [open, setOpen] = useState(false); const changeLocale = (next: AppLocale) => { if (next === locale) return; startTransition(() => { router.replace(pathname, { locale: next }); }); setOpen(false); }; return (
{/* BUTTON */} {/* DROPDOWN */} {open && (
{routing.locales.map((l) => ( ))}
)}
); }