Commit Graph
3 Commits
Author SHA1 Message Date
ancsemi 92738c2b09 Replace em dashes in server code comments and scripts 2026-10-10 16:08:55 -04:00
ancsemi 0b8c04e708 Replace em dashes in the English UI text and messages 2026-10-10 16:08:54 -04:00
ancsemi 24be24db8f feat(#5357): auto-validate translation-only PRs
The ask was to decouple translations from the release cycle so
community translators don't have to wait on a maintainer to merge
strings. Loading translations from a CDN was offered, but pulling
untrusted JSON into the UI at runtime adds attack surface and breaks
the offline-friendly self-hosted story.

Instead, automate the merge path that already exists:

- New scripts/validate-locales.js checks every public/locales/*.json
  for JSON validity, _meta fields, and shape compatibility with
  en.json (same key paths, same value types). Missing keys are
  warnings (partial translations are OK, English is the fallback).
  Also runnable locally with 'npm run validate-locales'.
- New .github/workflows/translations-autovalidate.yml runs that
  validator on every PR that touches public/locales/**. If the PR is
  translations-only (no en.json, no code) and validation passes,
  it labels the PR 'translations-only' and turns on GitHub's
  auto-merge so it goes in as soon as required checks are green.
- Workflow runs on pull_request (not pull_request_target) so it
  cannot read secrets from fork PRs.
2026-05-23 23:31:04 -04:00