"use client"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { localeItems } from "@/i18n-metadata"; import { setUserLocale } from "@/i18n/locale"; import { CheckCircleIcon } from "@heroicons/react/20/solid"; import { useLocale } from "next-intl"; import * as React from "react"; export function LanguageSwitcher() { const locale = useLocale(); const handleSelect = (e: Event, newLocale: string) => { e.preventDefault(); // 阻止默认的关闭行为 setUserLocale(newLocale); }; return ( {localeItems.map((item) => ( handleSelect(e, item.code)} className={locale === item.code ? "bg-muted gap-3" : ""} > {item.name}{" "} {locale === item.code && } ))} ); }