chore(i18n): refresh messages.xlf after training-entry-dialog refactor#489
Conversation
Switch the routine from a date-stamped branch (claude/translations-<date>, which opened a new PR on every daily/push-triggered run) to a single long-lived claude/translations branch. Re-runs now locate the open PR, rebase the branch onto main, translate only the new gaps, and update the existing PR in place instead of opening another. Detection runs on the branch so already-translated units (and reviewer corrections) are not re-flagged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NQH6VBPhDr46yJMMH9dGcJ
…fresh Address PR review: the rebase + hard-reset-on-conflict fallback could silently discard reviewer corrections on the open PR, and the push guidance wrongly assumed history was always rewritten. Switch the reuse path to a non-rewriting merge of main into claude/translations (stop and report on conflict instead of discarding), so plain fast-forward pushes suffice everywhere and no force-push is needed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NQH6VBPhDr46yJMMH9dGcJ
Address CodeRabbit review: the routine referenced a <count> placeholder in the commit message and PR title without saying how to derive it. Make it explicit — count XLIFF units now translated plus new blog/wiki files in the diff against origin/main (not the detector's single-run gap_count, which undercounts an accumulated PR) — and point the PR title at the same value. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NQH6VBPhDr46yJMMH9dGcJ
Auto-regenerated by extract-i18n: updates source file locations for units that moved to child components (exercise-entry-fields, etc.) and removes units that were split/renamed in PR #485. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PowggRsiRx8Thpv2XSdFxP
|
Warning Review limit reached
More reviews will be available in 42 minutes and 42 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
View your CI Pipeline Execution ↗ for commit a34de4f
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗ ☁️ Nx Cloud last updated this comment at |
|
Visit the preview URL for this PR (updated for commit a34de4f): https://pushup-stats-staging-867b7--pr-489-nk2mf9mn.web.app (expires Sat, 27 Jun 2026 16:35:53 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 43c298a3304e6b54e102dc177faff73680808e1e |
There was a problem hiding this comment.
Pull request overview
Refreshes the repo’s i18n “source of truth” (messages.xlf) after the training-entry-dialog refactor (PR #485) and aligns the i18n documentation + Claude translation routine prompt with the newer “single long-lived translation PR” workflow (PR #488).
Changes:
- Regenerates
web/src/locale/messages.xlfso i18n unit locations and extracted sources match the split dialog child components. - Updates
docs/gotchas/i18n.mdto document the single long-livedclaude/translationsPR/branch behavior. - Updates
.claude/routines/translate.mdso the routine reuses/updates the existing PR instead of creating date-suffixed branches.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
web/src/locale/messages.xlf |
Refreshed auto-generated XLIFF extraction; updates unit locations and reflects moved template strings. |
docs/gotchas/i18n.md |
Documents the “exactly one open translation PR” behavior backed by claude/translations. |
.claude/routines/translate.md |
Updates the routine prompt steps to find/reuse/update the single translation PR/branch. |
Summary
web/src/locale/messages.xlfto reflect the training-entry-dialog component split from PR refactor(web): split training-entry-dialog into mode child components (#456) #485exercise-entry-fields.component.html, etc.)Translation gap scan result
Ran the full translation routine (triggered by merge of PR #488):
No missing translations found — no translation PR needed. This PR only carries the refreshed source file.
🤖 Generated with Claude Code
https://claude.ai/code/session_01PowggRsiRx8Thpv2XSdFxP
Generated by Claude Code