i18n: translation pipeline (all)#18051
Closed
wackerow wants to merge 36 commits into
Closed
Conversation
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
- Deprecate old banner, convert TranslationBannerLegal to TranslationBanner - Utilize doNotTranslatePaths list from intl-pipeline for display boolean logic - Remove dead code from BaseLayout Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Excluded-list paths are now logged and filtered rather than failing the job. Hard validation errors still throw. Job aborts only if every target path is excluded. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Adds normalizeTargetPath: strips accidental translations/<locale>/ and src/intl/<non-en>/ prefixes, auto-prefixes JSON with src/intl/en/ and markdown with public/content/, and tolerates leading "./" or "/". Resolution is now normalize -> exists-check -> validate -> excluded-skip, failing early if any target is missing on disk. log() gains an optional level arg ("log" | "warn" | "error") so Netlify output is consistently tagged.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
- Moves DO_NOT_TRANSLATE_PATHS to constants (updates casing), where no unrelated env vars will throw errors - Update local storage key name, including usage of pathname -- removes use of `/en/` prefix and Posix - Fixes "return early" logic Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
/review-translations now defaults to the open PR for intl/pending-dev and reviews only files changed since the last LLM review (read from each PR Review's GitHub-attached commit_id). Pass --full to override and re-review the entire PR. Reviews are submitted via gh pr review --comment, escalating to --approve only when zero critical issues remain. CI workflow updated to match: drops --scope input, adds --full, switches from gh pr comment to gh pr review, aligns trigger with intl/pending- branch naming. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Adds Phase 4b: a dedicated pass that translates the values of translatable JSX attributes (title, description, alt, aria-label, etc.) on JSX components in markdown content. Restores behavior that regressed when the old i18n/ tree was removed (a110822) and its leftover gemini.ts attribute helpers were stripped as "dead code" (7f244df). The pipeline architecture had remained set up for it -- TRANSLATABLE_ATTRIBUTES list, normalizer emits component-attribute leaves, deterministic apply path -- but no orchestration drove the leaves through an LLM. The pass is self-healing: only sends leaves to the LLM whose English value still appears verbatim in the locale file, so re-runs are no-ops on already-translated attrs. Failures throw and skip manifest stamping per spec's "do no harm" partial-failure rule. Adds a temporary `force_attrs` workflow input (FORCE_ATTRS env) to backfill files in intl/pending-dev that were translated before this pass existed. Self-removable once those files are backfilled. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
…icals The standalone sanitizer step pointed to src/scripts/i18n/sanitize-pr.ts (deleted in the i18n-to-intl-pipeline migration). Sanitization now runs as part of the intl-pipeline translation phase, so a separate sanitizer call here is redundant. Removed the step entirely -- review focuses on reviewing. Adds an explicit note that reporting zero critical issues is acceptable. Counters the asymmetric-reward failure mode where agents fabricate criticals to "show their work." Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: Gemini <gemini@google.com>
❌ Deploy Preview for ethereumorg failed.
|
Contributor
|
🌐 Translation review started. View progress |
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
Co-Authored-By: Gemini <gemini@google.com>
9c9752e to
4e735b3
Compare
Member
Author
|
myelinated-wackerow
added a commit
that referenced
this pull request
Apr 27, 2026
The flag served its one-shot purpose: backfilling JSX attribute translations on files in intl/pending-dev that pre-dated the Phase 4b pass. Backfill is complete (PR #18051 merged into pending). Going forward, normal pipeline runs handle attribute translation correctly via the self-healing filter, and the flag has no remaining use. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated Translations
This PR contains translations managed by the intl pipeline.
Each run appends a summary below.
Run: 2026-04-27 20:55:15 UTC
Run: 2026-04-27 21:02:15 UTC