/** * 顶栏语言下拉:trigger 显示当前语言,菜单项来自 `LOCALES`(后续扩展只需改 `@app/i18n`)。 * 菜单项是带 `data-switch-locale` 的 ``,由 AppLayout 内联脚本写 `app-lang` cookie 后跳转。 */ import { LOCALES, type Locale, t } from "@app/i18n"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@app/ui"; export interface LocaleSwitchProps { locale: Locale; /** 各语言在当前页的 URL(AppLayout 按 pathname 预先算好) */ hrefs: Record; } export default function LocaleSwitch({ locale, hrefs }: LocaleSwitchProps) { return ( {LOCALES.map((code) => ( {t(code, `locale.${code}`)} {code === locale && ( )} ))} ); }