revert: remove i18n lazy loading and highlight.js selective import (#736)

Revert the dynamic import() for i18n locales and highlight.js core+
registration from #696. Dynamic imports create separate chunk files
that cause 404 errors for users after updating when the browser still
references old chunk hashes.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-05-14 23:32:33 +08:00
committed by GitHub
co-authored by Claude Opus 4.7
parent e5e44fd7e2
commit 7da934fe8b
7 changed files with 34 additions and 113 deletions
+13 -19
View File
@@ -1,4 +1,12 @@
import en from './locales/en'
import zh from './locales/zh'
import zhTW from './locales/zh-TW'
import ja from './locales/ja'
import ko from './locales/ko'
import fr from './locales/fr'
import es from './locales/es'
import de from './locales/de'
import pt from './locales/pt'
export type LocaleMessages = Record<string, any>
@@ -25,25 +33,11 @@ export function mergeMessagesWithFallback(
return merged
}
const localeLoaders: Record<string, () => Promise<{ default: LocaleMessages }>> = {
'zh': () => import('./locales/zh'),
'zh-TW': () => import('./locales/zh-TW'),
'ja': () => import('./locales/ja'),
'ko': () => import('./locales/ko'),
'fr': () => import('./locales/fr'),
'es': () => import('./locales/es'),
'de': () => import('./locales/de'),
'pt': () => import('./locales/pt'),
const rawMessages: Record<string, LocaleMessages> = { en, zh, 'zh-TW': zhTW, ja, ko, fr, es, de, pt }
export const messages: Record<string, LocaleMessages> = {}
for (const [locale, msg] of Object.entries(rawMessages)) {
messages[locale] = locale === 'en' ? msg : mergeMessagesWithFallback(en, msg)
}
export { en }
export async function loadLocale(locale: string): Promise<LocaleMessages | null> {
if (locale === 'en') return en
const loader = localeLoaders[locale]
if (!loader) return null
const mod = await loader()
return mergeMessagesWithFallback(en, mod.default)
}