Files
SnapOtter/scripts/i18n/adapters/registry.mjs
T
SnapOtterandGitHub 00b651c9f8 feat(i18n): 21-language pipeline, landing/docs/API wiring, landing+API translations
Shared Claude Code translation pipeline (scripts/i18n, no API key) plus Astro/VitePress/Scalar i18n wiring. Landing and API reference translated into all 20 languages; docs i18n wiring + English source anchors. The translated docs markdown (apps/docs/<locale>/**, 3,620 files) follows in a companion PR because it exceeds GitHub's per-PR CI file limit.
2026-07-11 13:01:55 +08:00

24 lines
783 B
JavaScript

// scripts/i18n/adapters/registry.mjs
// Single source of truth for surface adapters. Both translate.mjs and
// check-parity.mjs import this so the surface list is defined once.
// Surface plans (02-04) uncomment/add their entry as each adapter lands.
export const ADAPTERS = {
"landing-ui": () => import("./landing-ui.mjs"),
"landing-seo": () => import("./landing-seo.mjs"),
docs: () => import("./docs-md.mjs"),
api: () => import("./api-spec.mjs"),
};
/**
* @param {string} spec "all" or a comma list of surface keys
* @returns {string[]} known surface keys
*/
export function resolveSurfaces(spec) {
const keys = Object.keys(ADAPTERS);
if (spec === "all") return keys;
return spec
.split(",")
.map((s) => s.trim())
.filter((k) => keys.includes(k));
}