Commit Graph

6 Commits

Author SHA1 Message Date
Markus Hartung
fe28438dbc feat(i18n): add-locale orchestrator (config, flag, ui, docs, cli, readme, bars, site)
One command brings a new locale to every surface, in order: config/i18n.json
entry, flag SVG (lipis/flag-icons), dashboard catalog (scaffold + sync-ui-keys
--translate-markers), docs mirrors (run-translation over the core set every
existing locale carries, then the llm.txt / CHANGELOG.md stubs), CLI catalog
(generate-locales --code + batched common/program translation), README flag
link / docs index row / I18N guide row / locale counts (+ sync-llm-mirrors),
language bars, and the marketing site (lang JSON, SUPPORTED_LANGS, dropdowns).
Every phase checks presence first, so a re-run is a no-op apart from filling in
what is still missing; --dry-run prints the whole plan and touches nothing (no
files, network or child processes); --only / --skip select phases.

- scripts/i18n/lib/docs-core-set.mjs: computeDocsCoreSet — intersection of the
  existing non-docsExcluded mirrors minus llm.txt / CHANGELOG.md / I18N.md and
  paths without an English source (22 files today).
- scripts/i18n/lib/site-scaffold.mjs: addSupportedLang (re-flows the array in
  the file's own fill style) and addDropdownOption (code order, every menu).
- bin/cli/scripts/generate-locales.mjs: --code=<locale> filter.
- translate-backend parseBatchResponse: Object.hasOwn + trimmed values.
- package.json: i18n:add-locale script.
2026-09-02 09:10:41 -03:00
Markus Hartung
45c385e7a2 feat(i18n): pure scaffold helpers for adding a locale to config, README and indexes 2026-09-02 08:27:39 -03:00
Markus Hartung
694866a3a1 fix(i18n): run-translation --adopt merges into the existing state and honours --dry-run 2026-09-02 08:01:48 -03:00
Markus Hartung
ebc6f44e85 feat(i18n): run-translation --adopt re-bootstraps .i18n-state.json without retranslating 2026-09-02 07:46:46 -03:00
Markus Hartung
b84e47cabf feat(i18n): language bars generated from config (sync-language-bars) 2026-09-02 07:15:29 -03:00
Markus Hartung
8180f862cb refactor(i18n): shared translation backend + batched --batch-size mode for sync-ui-keys 2026-09-02 06:46:05 -03:00