'use client'; import { useTranslation } from 'react-i18next'; import { IconButton, Menu, MenuItem, Tooltip, useTheme, Typography } from '@mui/material'; import { useState } from 'react'; import TranslateIcon from '@mui/icons-material/Translate'; export default function LanguageSwitcher() { const { i18n, t } = useTranslation(); const theme = useTheme(); const [anchorEl, setAnchorEl] = useState(null); const open = Boolean(anchorEl); const languages = [ { code: 'en', label: t('language.english', 'English'), short: 'EN' }, { code: 'zh-CN', label: t('language.chineseSimplified', '简体中文'), short: '中文' }, { code: 'tr', label: t('language.turkish', 'Türkçe'), short: 'TR' }, { code: 'pt-BR', label: t('language.portugues', 'Portugues'), short: 'pt-BR' } ]; const normalizedCurrentLanguage = i18n.language && String(i18n.language).toLowerCase().startsWith('zh') ? 'zh-CN' : i18n.language; const currentLanguage = languages.find(lang => lang.code === normalizedCurrentLanguage) || languages[0]; const handleClick = event => { setAnchorEl(event.currentTarget); }; const handleClose = () => { setAnchorEl(null); }; const handleLanguageChange = langCode => { i18n.changeLanguage(langCode); handleClose(); }; return ( <> {currentLanguage.short} {languages.map(lang => ( handleLanguageChange(lang.code)} selected={normalizedCurrentLanguage === lang.code} > {lang.short} {lang.label} ))} ); }