import React, { createContext, useContext, useState } from 'react'; import { en } from '../locales/en'; import type { Translations } from '../locales/en'; import { zh } from '../locales/zh'; export type Lang = 'en' | 'zh'; interface LanguageContextValue { lang: Lang; t: Translations; toggleLang: () => void; } const LanguageContext = createContext({ lang: 'en', t: en, toggleLang: () => {}, }); export function LanguageProvider({ children }: { children: React.ReactNode }) { const [lang, setLang] = useState('en'); const toggleLang = () => setLang(l => (l === 'en' ? 'zh' : 'en')); const t = lang === 'en' ? en : zh; return ( {children} ); } export function useLanguage() { return useContext(LanguageContext); }