import "./LanguageSelector.css"; import type { Locale } from "@fusion/core"; import { useTranslation } from "react-i18next"; import { useLanguage } from "../hooks/useLanguage"; /** Each language names itself (endonyms), intentionally untranslated. */ const ENDONYMS: Record = { en: "English", "zh-CN": "简体中文", "zh-TW": "繁體中文", fr: "Français", es: "Español", ko: "한국어", }; /** Settings control for choosing the UI language. Applies in place (no reload). */ export function LanguageSelector() { const { t } = useTranslation("app"); const { language, supportedLocales, setLanguage, clearLanguage, hasExplicitChoice } = useLanguage(); const label = t("settings.appearance.language", "Language"); return (
{label}
{/* role="group" + aria-pressed: toggle-button semantics (radiogroup would conflict with aria-pressed and confuse screen readers). */}
{supportedLocales.map((locale) => ( ))}
); }