import { Lang, getLang } from "@/app/locales"; interface PlainConfig { [k: string]: PlainConfig | string; } export type LocaleMap< TextPlainConfig extends PlainConfig, Default extends Lang, > = Partial> & { [name in Default]: TextPlainConfig; }; export function getLocaleText< TextPlainConfig extends PlainConfig, DefaultLang extends Lang, >(textMap: LocaleMap, defaultLang: DefaultLang) { return textMap[getLang()] || textMap[defaultLang]; }