feat(fp): WP-20 — second locale proof (nl/en build seam)
angular.json gains an i18n block (sourceLocale nl, en translation file) and an `en` build/serve configuration with i18nMissingTranslation: "error" so a new $localize string without an English unit fails the build, not silently falls back. CI now runs `ng build --localize` to build both locales every run. Verified end-to-end, not just "the build succeeded": the nl bundle ships "Inloggen met DigiD", the en bundle ships "Log in with DigiD". Incidental: prettier/compodoc regen noise in docs/wcag-checklist.md, src/docs/a11y.mdx, documentation.json from the same working session. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
17
README.md
17
README.md
@@ -173,6 +173,14 @@ degrade to an instant navigation.
|
||||
**dev-only** — it is not wired into production builds.
|
||||
- `.npmrc` sets `legacy-peer-deps=true` because `@storybook/angular`'s peer range lags
|
||||
Angular 22; the builder runs fine (build verified).
|
||||
- **i18n**: every user-facing string is `$localize`-wrapped with a stable `@@id`
|
||||
(source locale `nl`). `npx ng build --localize` (CI runs this) builds both `nl` and
|
||||
`en` — a genuine second-locale build, not just an unexercised claim — into
|
||||
`dist/atomic-design-poc/browser/{nl,en}/`; `ng serve --configuration=en` serves the
|
||||
English build locally. `src/locale/messages.en.xlf` is real (if demo-quality)
|
||||
English, not machine-untranslated placeholders; `angular.json`'s
|
||||
`i18nMissingTranslation: "error"` fails the build if a new `$localize` string ships
|
||||
without a translation. `npm run extract-i18n` regenerates the `nl` reference file.
|
||||
|
||||
### Dependency security
|
||||
|
||||
@@ -186,6 +194,9 @@ We do **not** run `npm audit fix --force`: its proposed fix downgrades Angular 2
|
||||
|
||||
### Deliberately out of scope (POC)
|
||||
|
||||
Real auth/DigiD, real BRP/DUO upstreams, a database/persisted audit store, i18n,
|
||||
NgRx, licensed RO/Rijks fonts + logo (system-font stack; text wordmark). (The backend
|
||||
itself _is_ implemented.)
|
||||
Real auth/DigiD, real BRP/DUO upstreams, a database/persisted audit store, NgRx,
|
||||
licensed RO/Rijks fonts + logo (system-font stack; text wordmark). (The backend
|
||||
itself _is_ implemented.) i18n's build seam is proven (see above) but
|
||||
production-quality translation, a runtime locale switcher, and RTL/pluralization
|
||||
edge cases are not — the `en` file is demo-quality, and locale is a build-time
|
||||
choice, not a switch in the running app.
|
||||
|
||||
Reference in New Issue
Block a user