import { defaultLang, ui } from '../i18n/ui' export function getLangFromUrl(url: URL) { const [, lang] = url.pathname.split('/') if (lang in ui) return lang as keyof typeof ui return defaultLang } type NestedKeyOf = { [K in keyof T]: T[K] extends object ? `${K & string}.${NestedKeyOf & string}` : K & string }[keyof T] export function useTranslations(lang: keyof typeof ui) { return function t(key: NestedKeyOf<(typeof ui)[typeof defaultLang]>) { const keys = key.split('.') let value = ui[lang] let fallback = ui[defaultLang] for (const k of keys) { value = value?.[k] fallback = fallback?.[k] } return value || fallback } }