'use client'; import { useI18n } from '@nice/i18n'; import { Button } from '@nice/ui/components/button'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@nice/ui/components/select'; import { IconWorld } from '@tabler/icons-react'; interface LanguageSwitcherProps { variant?: 'button' | 'select'; showFlag?: boolean; showText?: boolean; } // 语言显示配置 const LANGUAGE_CONFIG = { 'cn': { name: '中文', nativeName: '中文', flag: '🇨🇳', }, } as const; export function LanguageSwitcher({ variant = 'select', showFlag = true, showText = true, }: LanguageSwitcherProps) { const { locale, switchLocale, supportedLocales, t } = useI18n(); const currentLang = LANGUAGE_CONFIG[locale as keyof typeof LANGUAGE_CONFIG]; const availableLanguages = supportedLocales .filter(lang => lang in LANGUAGE_CONFIG) .map(lang => ({ value: lang, ...LANGUAGE_CONFIG[lang as keyof typeof LANGUAGE_CONFIG], })); if (variant === 'button') { return (
{availableLanguages.map((lang) => ( ))}
); } return ( ); } // 简化的语言切换器,仅显示图标 export function LanguageToggle() { return ( ); } // 简化的按钮版本 export function LanguageButtons() { return ( ); }