fix(i18n): backfill missing translation keys across 12 locales#133
fix(i18n): backfill missing translation keys across 12 locales#133EtienneLescot wants to merge 1 commit into
Conversation
Fixes #129. npm run i18n:check now passes. Backfilled ~50 missing keys and removed a handful of stale ones across dialogs.json, editor.json, launch.json, settings.json, shortcuts.json, and timeline.json for ar, es, fr, it, ja-JP, ko-KR, pt-BR, ru, tr, vi, zh-CN, and zh-TW -- most of it pre-existing debt from before the 1.7.0 RC window, not something this cherry-pick window introduced. Renamed ar/tr/vi/zh-CN/zh-TW's leftover annotation.textAnimation / annotation.selectAnimation into the proper top-level textAnimation.* namespace that en already uses, and pt-BR's links.* into support.* to match the key en/code actually looks up. Translations were produced by an LLM pass, not reviewed by native speakers per language. Flagging that explicitly per the linked issue -- worth a follow-up pass by someone with the language context before shipping if precision matters for a given locale, especially for the longer descriptive strings (cursor.clipToBoundsDescription, zoom.focusMode.lockedDisclaimer, the emptyState/dropErrors copy in editor.json). tsc --noEmit, biome check ., npm run test (427/427), and npm run i18n:check all pass.
📝 WalkthroughWalkthroughThis change synchronizes non-English locale files with new dialog, editor, launch, settings, shortcut, and timeline translation keys. It also restructures text-animation settings translations and adds localized empty, error, tooltip, and toggle-state messages. ChangesLocale synchronization
Estimated code review effort: 2 (Simple) | ~15 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/i18n/locales/ar/settings.json (1)
138-139: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick winRestore
annotation.textAnimation.src/components/video-editor/AnnotationSettingsPanel.tsxstill callst("annotation.textAnimation"), butsrc/i18n/locales/ar/settings.jsonandsrc/i18n/locales/tr/settings.jsononly definetextAnimation.title, so this label falls back in the annotation panel.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/i18n/locales/ar/settings.json` around lines 138 - 139, Restore the missing annotation.textAnimation label in the translation structures used by AnnotationSettingsPanel.tsx, matching the existing locale terminology. Update src/i18n/locales/ar/settings.json at lines 138-139 and 184-194, and src/i18n/locales/tr/settings.json at lines 138-139 and 184-194; add the direct textAnimation translation where the annotation settings keys are defined while preserving the existing textAnimation.title entries.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@src/i18n/locales/ar/settings.json`:
- Around line 138-139: Restore the missing annotation.textAnimation label in the
translation structures used by AnnotationSettingsPanel.tsx, matching the
existing locale terminology. Update src/i18n/locales/ar/settings.json at lines
138-139 and 184-194, and src/i18n/locales/tr/settings.json at lines 138-139 and
184-194; add the direct textAnimation translation where the annotation settings
keys are defined while preserving the existing textAnimation.title entries.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: e2ab64be-d773-4ee1-bccc-fbc09ead62e7
📒 Files selected for processing (51)
src/i18n/locales/ar/dialogs.jsonsrc/i18n/locales/ar/launch.jsonsrc/i18n/locales/ar/settings.jsonsrc/i18n/locales/ar/timeline.jsonsrc/i18n/locales/es/dialogs.jsonsrc/i18n/locales/es/launch.jsonsrc/i18n/locales/es/settings.jsonsrc/i18n/locales/es/timeline.jsonsrc/i18n/locales/fr/dialogs.jsonsrc/i18n/locales/fr/launch.jsonsrc/i18n/locales/fr/settings.jsonsrc/i18n/locales/fr/timeline.jsonsrc/i18n/locales/it/dialogs.jsonsrc/i18n/locales/it/editor.jsonsrc/i18n/locales/it/launch.jsonsrc/i18n/locales/it/settings.jsonsrc/i18n/locales/it/timeline.jsonsrc/i18n/locales/ja-JP/dialogs.jsonsrc/i18n/locales/ja-JP/launch.jsonsrc/i18n/locales/ja-JP/settings.jsonsrc/i18n/locales/ja-JP/timeline.jsonsrc/i18n/locales/ko-KR/dialogs.jsonsrc/i18n/locales/ko-KR/launch.jsonsrc/i18n/locales/ko-KR/settings.jsonsrc/i18n/locales/ko-KR/timeline.jsonsrc/i18n/locales/pt-BR/dialogs.jsonsrc/i18n/locales/pt-BR/editor.jsonsrc/i18n/locales/pt-BR/launch.jsonsrc/i18n/locales/pt-BR/settings.jsonsrc/i18n/locales/pt-BR/shortcuts.jsonsrc/i18n/locales/pt-BR/timeline.jsonsrc/i18n/locales/ru/dialogs.jsonsrc/i18n/locales/ru/launch.jsonsrc/i18n/locales/ru/settings.jsonsrc/i18n/locales/ru/timeline.jsonsrc/i18n/locales/tr/dialogs.jsonsrc/i18n/locales/tr/launch.jsonsrc/i18n/locales/tr/settings.jsonsrc/i18n/locales/tr/timeline.jsonsrc/i18n/locales/vi/dialogs.jsonsrc/i18n/locales/vi/launch.jsonsrc/i18n/locales/vi/settings.jsonsrc/i18n/locales/vi/timeline.jsonsrc/i18n/locales/zh-CN/dialogs.jsonsrc/i18n/locales/zh-CN/launch.jsonsrc/i18n/locales/zh-CN/settings.jsonsrc/i18n/locales/zh-CN/timeline.jsonsrc/i18n/locales/zh-TW/dialogs.jsonsrc/i18n/locales/zh-TW/launch.jsonsrc/i18n/locales/zh-TW/settings.jsonsrc/i18n/locales/zh-TW/timeline.json
Fixes #129. npm run i18n:check now passes.
Backfilled ~50 missing keys and removed a handful of stale ones across dialogs.json, editor.json, launch.json, settings.json, shortcuts.json, and timeline.json for ar, es, fr, it, ja-JP, ko-KR, pt-BR, ru, tr, vi, zh-CN, and zh-TW -- most of it pre-existing debt from before the 1.7.0 RC window, not something this cherry-pick window introduced.
Renamed ar/tr/vi/zh-CN/zh-TW's leftover annotation.textAnimation / annotation.selectAnimation into the proper top-level textAnimation.* namespace that en already uses, and pt-BR's links.* into support.* to match the key en/code actually looks up.
Translations were produced by an LLM pass, not reviewed by native speakers per language. Flagging that explicitly per the linked issue -- worth a follow-up pass by someone with the language context before shipping if precision matters for a given locale, especially for the longer descriptive strings (cursor.clipToBoundsDescription, zoom.focusMode.lockedDisclaimer, the emptyState/dropErrors copy in editor.json). tsc --noEmit, biome check ., npm run test (427/427), and npm run i18n:check all pass.
Summary
Related issue
Fixes #
Type of change
Release impact
Desktop impact
Screenshots / video
Testing
Summary by CodeRabbit