fix(i18n): add Cloud login translations for es, it, ko - #919
fix(i18n): add Cloud login translations for es, it, ko#919acalexanderac wants to merge 4 commits into
Conversation
|
Hey, I'm Alex! I added the Spanish (ES) translation — it's my main language, so I was glad to contribute. While double-checking coverage, I also noticed a couple of translation gaps that existed across all languages (not just Spanish): the new "Log in with browser" Happy to answer any questions! |
📝 WalkthroughWalkthroughCloudSection now renders its user-facing text through i18n keys. Locale files add Voicebox Cloud strings across supported languages, while several GPU locale files add CUDA and ROCm backend text. ChangesLocalization updates
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 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 |
Brings these three locales to parity with en/fr/ja/pt-BR/zh-CN/zh-TW for the settings.general.cloud namespace added alongside the cloud device login feature. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
a2e332f to
0a2509e
Compare
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 (3)
app/src/i18n/locales/it/translation.json (1)
161-161: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winUse an actionable translation for “Open Settings.”
"Opzioni Impostazioni"means “Settings Options,” not “Open Settings,” so this label does not describe the button action. Use"Apri Impostazioni"to match the other locale translations.🤖 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 `@app/src/i18n/locales/it/translation.json` at line 161, Update the openSettings translation in the Italian locale from the noun phrase “Settings Options” to the actionable “Apri Impostazioni,” preserving the existing translation key and JSON structure.app/src/i18n/locales/ko/translation.json (2)
1016-1016: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winRemove the extra backslashes from quoted text.
\\\"encodes a literal backslash before the quote, so these strings will render as\"…\". Use\"…\"in the JSON source instead.Proposed fix
- "description": "...(\\\"아니, 사실...\\\", \\\"잠깐, 그게 아니라...\\\"), ..." + "description": "...(\"아니, 사실...\", \"잠깐, 그게 아니라...\"), ..."Also applies to: 1025-1025
🤖 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 `@app/src/i18n/locales/ko/translation.json` at line 1016, Remove the extra backslashes before the quoted Korean examples in the description entries at the referenced locations, leaving valid JSON that renders quotation marks without literal backslashes.
88-88: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winTranslate the remaining “Play as” labels.
These Korean strings still expose the English action name, while the same action is translated as
재생elsewhere in this locale. Use the established Korean wording consistently.Also applies to: 1025-1025, 1096-1096
🤖 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 `@app/src/i18n/locales/ko/translation.json` at line 88, Update the Korean translation entries noVoiceDescription and the corresponding strings at the referenced locations to replace the English “Play as” label with the established Korean wording 재생, preserving the surrounding message text.
🤖 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 `@app/src/i18n/locales/it/translation.json`:
- Line 161: Update the openSettings translation in the Italian locale from the
noun phrase “Settings Options” to the actionable “Apri Impostazioni,” preserving
the existing translation key and JSON structure.
In `@app/src/i18n/locales/ko/translation.json`:
- Line 1016: Remove the extra backslashes before the quoted Korean examples in
the description entries at the referenced locations, leaving valid JSON that
renders quotation marks without literal backslashes.
- Line 88: Update the Korean translation entries noVoiceDescription and the
corresponding strings at the referenced locations to replace the English “Play
as” label with the established Korean wording 재생, preserving the surrounding
message text.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 406209e0-199f-4c31-b985-538acb9243f5
📒 Files selected for processing (10)
app/src/components/ServerTab/CloudSection.tsxapp/src/i18n/locales/en/translation.jsonapp/src/i18n/locales/es/translation.jsonapp/src/i18n/locales/fr/translation.jsonapp/src/i18n/locales/it/translation.jsonapp/src/i18n/locales/ja/translation.jsonapp/src/i18n/locales/ko/translation.jsonapp/src/i18n/locales/pt-BR/translation.jsonapp/src/i18n/locales/zh-CN/translation.jsonapp/src/i18n/locales/zh-TW/translation.json
🚧 Files skipped from review as they are similar to previous changes (7)
- app/src/i18n/locales/en/translation.json
- app/src/i18n/locales/zh-CN/translation.json
- app/src/components/ServerTab/CloudSection.tsx
- app/src/i18n/locales/pt-BR/translation.json
- app/src/i18n/locales/zh-TW/translation.json
- app/src/i18n/locales/ja/translation.json
- app/src/i18n/locales/fr/translation.json
|
I originally set out to do the Spanish translation, but it looks like that got merged already by another contributor in #798 — props to them, nice work! While rebasing on top of that, I noticed the Cloud login feature (#812) never got wired up for i18n at all — it's all hardcoded English strings in Also, i left the Claude Co author mark, since the Korean, Chinese and French Translations are not from my own. |
Summary
Internationalize the Cloud login UI (added in #812) and fill in missing ROCm GPU translations, bringing all 8 non-English locales (es, fr, it, ja, ko, pt-BR, zh-CN, zh-TW) to full key parity with
en.CloudSection.tsxhad zerouseTranslation/t()calls — titles, toasts, and button labels were hardcoded English strings regardless of the user's selected language. Wired in 25 newsettings.general.cloud.*keys and replaced the hardcoded stringswith
t()calls.fr,ja,pt-BR,zh-CN,zh-TWwere missing translations for thesettings.general.rocm.*namespace (silently falling back to English).es,it,koas well, so all locales stay consistent.Verified: key parity 875/875 across all 8 non-English locale files (no missing/extra keys vs
en), JSON validates.Test plan
just dev-web), switched language to es/it/ko/fr/ja/pt-BR/zh-CN/zh-TW, confirmed the Cloud login section (Settings → General) renders translated instead of falling back to EnglishenSummary by CodeRabbit
New Features
Improvements