"use client"; import Link from "next/link"; import Image from "next/image"; import { useEffect, useState } from "react"; import { applyLocale, getInitialLocale, getLocaleMessages, localeLabels, locales, localeShortLabels, type Locale } from "@/lib/i18n"; export function SiteHeader() { const [locale, setLocale] = useState("zh-CN"); const [menuOpen, setMenuOpen] = useState(false); useEffect(() => { const syncLocale = (nextLocale: Locale) => setLocale(nextLocale); const handleLocaleChange = (event: Event) => { const nextLocale = (event as CustomEvent<{ locale?: Locale }>).detail?.locale ?? getInitialLocale(); syncLocale(nextLocale); }; const handleStorage = () => { syncLocale(getInitialLocale()); }; const currentLocale = getInitialLocale(); syncLocale(currentLocale); applyLocale(currentLocale); window.addEventListener("kr-locale-change", handleLocaleChange); window.addEventListener("storage", handleStorage); return () => { window.removeEventListener("kr-locale-change", handleLocaleChange); window.removeEventListener("storage", handleStorage); }; }, []); const messages = getLocaleMessages(locale); return (
Kivotos Railway
{locales.map((item) => ( ))}
); }