refactor: split telegram delivery and unify media/frontmatter/i18n pipelines

This commit is contained in:
Peter Steinberger
2026-03-02 04:12:23 +00:00
parent 706cfcd54f
commit e1f3ded033
15 changed files with 1239 additions and 925 deletions

30
src/i18n/registry.test.ts Normal file
View File

@@ -0,0 +1,30 @@
import { describe, expect, it } from "vitest";
import {
DEFAULT_LOCALE,
SUPPORTED_LOCALES,
loadLazyLocaleTranslation,
resolveNavigatorLocale,
} from "../../ui/src/i18n/lib/registry.ts";
describe("ui i18n locale registry", () => {
it("lists supported locales", () => {
expect(SUPPORTED_LOCALES).toEqual(["en", "zh-CN", "zh-TW", "pt-BR", "de"]);
expect(DEFAULT_LOCALE).toBe("en");
});
it("resolves browser locale fallbacks", () => {
expect(resolveNavigatorLocale("de-DE")).toBe("de");
expect(resolveNavigatorLocale("pt-PT")).toBe("pt-BR");
expect(resolveNavigatorLocale("zh-HK")).toBe("zh-TW");
expect(resolveNavigatorLocale("en-US")).toBe("en");
});
it("loads lazy locale translations from the registry", async () => {
const de = await loadLazyLocaleTranslation("de");
const zhCN = await loadLazyLocaleTranslation("zh-CN");
expect(de?.common?.health).toBe("Status");
expect(zhCN?.common?.health).toBe("健康状况");
expect(await loadLazyLocaleTranslation("en")).toBeNull();
});
});