function localeFor(lang: string): string { const locales: Record = { zh: "zh-CN", en: "en-US", ja: "ja-JP", ko: "ko-KR", vi: "vi-VN", id: "id-ID", ms: "ms-MY", }; return locales[lang] ?? "en-US"; } function formatDate(iso: string, lang: string): string { const d = new Date(iso); return new Intl.DateTimeFormat(localeFor(lang), { year: "numeric", month: lang === "en" ? "short" : "numeric", day: "numeric", }).format(d); } export function formatTime(iso: string, lang: string): string { const d = new Date(iso); return new Intl.DateTimeFormat(localeFor(lang), { hour: "numeric", minute: "2-digit", hour12: lang === "en", }).format(d); } export function formatDateTime(iso: string, lang: string): string { return `${formatDate(iso, lang)} ${formatTime(iso, lang)}`; }