Seeds apps/web/messages/eu.json with hand-translated Basque values for
every key in en.json/es.json (362 keys, $schema excluded). Each value
carries the ` [needs review]` suffix marker per plan §20.2.1 so a
native speaker can sweep through and remove markers in a post-release
pass. ICU placeholders ({name}, {count}, {n}, {version}, …) preserved
verbatim — none move position relative to the source value.
Adds `eu` to project.inlang/settings.json so the Paraglide vite plugin
emits `src/lib/paraglide/messages/eu.js` on next build, and the runtime
`availableLanguageTags` widens to ["en","es","eu"]. The compile output
is gitignored as before; verified by re-running the compile CLI locally.
New `scripts/check-locales.mjs` (dependency-free Node script) compares
every non-source bundle's key set against en.json and fails on any
missing/extra keys. Currently: eu = 362 keys, es = 362 keys, both match.
Note on translation provenance: machine/LLM seed at mid-2026 quality.
The plan calls out euskera SOV ordering risks around placeholders —
spot-checked the 12 keys with placeholders ({name}, {count}, {n},
{version}, {date}, {commit}, {word}, {title}, {days}, {lists}, {tasks},
{notes}, {section}); placeholders stayed in source-comparable positions.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Adds repo-root CHANGELOG.md in Keep-a-Changelog format with a single
[v0.0.0-beta] section that catalogues every shipped feature across
Fases 0–16 (58 bullets, [new]/[fix]/[tweak] prefixes, grouped by area).
The companion linter at scripts/check-changelog.mjs enforces (a) the
Keep-a-Changelog header, (b) the `## [vX.Y.Z] — YYYY-MM-DD` heading
shape on every release, and (c) the three-prefix rule on every bullet.
Wired into `just check` so a malformed CHANGELOG fails the check gate
without blocking commit hooks.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>