import type { FeatureModule } from "../compose.js"; /** * i18n feature — gates the locale-prefixed page set. * * Locked manifest (#2653 Decision 4, i18n addendum): "i18n ON adds * `pages/[locale]/docs/[[...slug]].tsx` (the additional-locale doc route stub) * … No other pages." That ONE self-contained stub — retained as an explicit * host-owned route seam; zfb 2.13.1 also serves injected dynamic routes in dev — * is shipped under `templates/features/i18n/files/pages/[locale]/docs/` * and copied by `composeFeatures → copyFeatureFiles` whenever `i18n` is * selected. The old `pages/[locale]/index.tsx` home-route template is GONE * (the locked manifest doesn't want it — the package-owned `/` route * already handles every locale via `[[locale]]`-style resolution inside * `routes/index.tsx`'s own logic). * * No injections: the stub iterates `settings.locales` at build/request * time, so no postProcess regex patching is required for non-default * locales. Additional-locale content mirrors under * `src/content/docs-/` are seeded by `scaffold.ts`. * * Loud-failure check: per spec-lock Decision 8 (#1737), abort scaffolding * if the feature template dir is missing or empty. Without this guard, * `copyFeatureFiles` silently no-ops on a missing dir (l-lessons line 790) * and the user receives a half-scaffolded project with `i18n` enabled in * settings but no `[locale]/**` pages. */ export declare const i18nFeature: FeatureModule;