Repository navigation
feat(i18n): add Ukrainian (uk) localization - #2226
Conversation
Translate all 681 keys from en.json to uk.json for the cmux website. Preserves all placeholders and HTML-like tags. Testimonials kept in original language. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Translated all 916 string keys from English to natural Ukrainian. All format specifiers (%@, %lld, %1$@, etc.) preserved. JSON syntax validated. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Added Українська link to the language selector paragraph in all 20 existing README files (README.md and README.*.md), pointing to README.uk.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@serzhik is attempting to deploy a commit to the Manaflow Team on Vercel. A member of the Team first needs to authorize it. |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. 💤 Files selected but had no reviewable changes (1)
⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis change adds Ukrainian language support to the cmux project by creating a Ukrainian README file (275 lines), adding a complete Ukrainian localization catalog (757 translation strings), registering the Ukrainian locale in the routing configuration, and updating all 20 existing README files to include Ukrainian in the language selector navigation. Changes
Possibly related PRs
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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.
No issues found across 24 files
Since this is your first cubic review, here's how it works:
- cubic automatically reviews your code and comments on bugs and improvements
- Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
- Add one-off context when rerunning by tagging
@cubic-dev-aiwith guidance or docs links (includingllms.txt) - Ask questions if you need clarification on any suggestion
Greptile SummaryThis PR adds a complete Ukrainian ( Confidence Score: 4/5Safe to merge after fixing the two truncated CLI help strings in Localizable.xcstrings — all other translation surfaces are complete and correct. The vast majority of the PR (web JSON, routing registration, README files) is clean and well-executed. Only two strings out of 916+ xcstrings entries are incomplete, and they affect only the --help output for the claude-teams and omo subcommands on Ukrainian-locale macOS systems — not runtime functionality. One targeted fix resolves the remaining concern. Resources/Localizable.xcstrings — specifically the cli.claude-teams.usage (line 139) and cli.omo.usage (line 162) Ukrainian string values. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Ukrainian locale 'uk' added] --> B[web/i18n/routing.ts\nlocales array + localeNames]
A --> C[web/messages/uk.json\n757 keys — complete ✅]
A --> D[Resources/Localizable.xcstrings\n916 string units]
A --> E[README.uk.md\nFull translation ✅]
A --> F[18 README files\nLanguage selector link added ✅]
D --> G[Most strings — complete ✅]
D --> H[cli.claude-teams.usage\nTruncated — 2/5 bullets, no examples ⚠️]
D --> I[cli.omo.usage\nEnds mid-sentence ⚠️]
Reviews (1): Last reviewed commit: "feat: add Ukrainian language link to all..." | Re-trigger Greptile |
| "uk": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "Використання: cmux claude-teams [аргументи-claude...]\n\nЗапуск Claude Code з увімкненими командами агентів.\n\nЦя команда:\n - типово вмикає режим teammate для Claude\n - забезпечує підтримку cmux для сеансу" | ||
| } | ||
| } |
There was a problem hiding this comment.
Truncated
cli.claude-teams.usage translation
The Ukrainian translation for cli.claude-teams.usage is missing the last three bullet points, the tmux shim explanation, and all three examples. The English source string has five listed actions:
- defaults Claude teammate mode to auto
- sets a tmux-like environment so Claude auto mode uses cmux splits
- sets CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 ← missing
- prepends a private tmux shim to PATH ← missing
- forwards all remaining arguments to claude ← missing
The tmux shim explanation paragraph and the Examples: block are also absent. Users running cmux claude-teams --help on a Ukrainian system would see an incomplete help string.
| "uk": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "Використання: cmux omo [аргументи-opencode...]\n\nЗапуск OpenCode з oh-my-openagent у середовищі cmux.\n\noh-my-openagent оркеструє кілька моделей ШІ" | ||
| } | ||
| } |
There was a problem hiding this comment.
Truncated
cli.omo.usage translation — ends mid-sentence
The Ukrainian translation for cli.omo.usage ends abruptly mid-sentence with no terminating punctuation: "oh-my-openagent оркеструє кілька моделей ШІ". The entire This command: section, the tmux shim description paragraph, and the Examples: block are all missing. A Ukrainian user running cmux omo --help would see a visibly cut-off help string.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.uk.md`:
- Line 13: The language selector in README.uk.md contains an extra anchor `<a
href="README.vi.md">Tiếng Việt</a>` that is not present in other translated
READMEs; either remove this Vietnamese anchor from the selector in README.uk.md
to match the standard pattern or add the corresponding `README.vi.md` entry to
all other language READMEs (or update their selectors) so the navigation is
consistent; locate and edit the language selector line containing `<a
href="README.vi.md">Tiếng Việt</a>` to perform the chosen fix.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: dfd02780-b2d6-49e8-aabb-1cdf20aacaf3
📒 Files selected for processing (24)
README.ar.mdREADME.bs.mdREADME.da.mdREADME.de.mdREADME.es.mdREADME.fr.mdREADME.it.mdREADME.ja.mdREADME.km.mdREADME.ko.mdREADME.mdREADME.no.mdREADME.pl.mdREADME.pt-BR.mdREADME.ru.mdREADME.th.mdREADME.tr.mdREADME.uk.mdREADME.vi.mdREADME.zh-CN.mdREADME.zh-TW.mdResources/Localizable.xcstringsweb/i18n/routing.tsweb/messages/uk.json
| </p> | ||
|
|
||
| <p align="center"> | ||
| <a href="README.md">English</a> | <a href="README.ja.md">日本語</a> | <a href="README.vi.md">Tiếng Việt</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="README.zh-TW.md">繁體中文</a> | <a href="README.ko.md">한국어</a> | <a href="README.de.md">Deutsch</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.it.md">Italiano</a> | <a href="README.da.md">Dansk</a> | <a href="README.pl.md">Polski</a> | <a href="README.ru.md">Русский</a> | <a href="README.bs.md">Bosanski</a> | <a href="README.ar.md">العربية</a> | <a href="README.no.md">Norsk</a> | <a href="README.pt-BR.md">Português (Brasil)</a> | <a href="README.th.md">ไทย</a> | <a href="README.tr.md">Türkçe</a> | <a href="README.km.md">ភាសាខ្មែរ</a> | Українська |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Print selector lines from all README locale files to compare language sets.
rg -n --type=md '^ <a href="README\.md">English</a> \|' README*.md -A1 -B1
# Specifically check whether README.vi.md is referenced and where.
rg -n --type=md 'README\.vi\.md' README*.mdRepository: manaflow-ai/cmux
Length of output: 17474
Align language selector with other translated README files. README.uk.md includes <a href="README.vi.md">Tiếng Việt</a> in the language selector, but no other translated READMEs (de, es, fr, it, da, pl, ru, bs, ar, no, pt-BR, th, tr, km, ja, zh-CN, zh-TW, ko) have Vietnamese. This creates inconsistent navigation across language variants. If intentional, align other files; if unintentional, remove Vietnamese from README.uk.md to match the standard pattern.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.uk.md` at line 13, The language selector in README.uk.md contains an
extra anchor `<a href="README.vi.md">Tiếng Việt</a>` that is not present in
other translated READMEs; either remove this Vietnamese anchor from the selector
in README.uk.md to match the standard pattern or add the corresponding
`README.vi.md` entry to all other language READMEs (or update their selectors)
so the navigation is consistent; locate and edit the language selector line
containing `<a href="README.vi.md">Tiếng Việt</a>` to perform the chosen fix.
|
Thank you for the contribution! |
* feat: add Ukrainian (uk) website translation Translate all 681 keys from en.json to uk.json for the cmux website. Preserves all placeholders and HTML-like tags. Testimonials kept in original language. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: register Ukrainian locale in web i18n routing config Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add Ukrainian translations to Localizable.xcstrings (916 keys) Translated all 916 string keys from English to natural Ukrainian. All format specifiers (%@, %lld, %1$@, etc.) preserved. JSON syntax validated. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add Ukrainian README translation (README.uk.md) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add Ukrainian language link to all README language selectors Added Українська link to the language selector paragraph in all 20 existing README files (README.md and README.*.md), pointing to README.uk.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix truncated Ukrainian translations for cli.claude-teams.usage and cli.omo.usage --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
Summary
Adds complete Ukrainian (uk) localization to cmux:
web/messages/uk.json) — all ~150 keys translatedweb/i18n/routing.ts) — added "uk" to locales array and localeNamesResources/Localizable.xcstrings) — all 916 keys translated with format specifiers preservedREADME.uk.md) — full translation of the main READMEAll translations use natural Ukrainian language, preserving placeholders ({year}, etc.), HTML-like tags (, , etc.), and format specifiers (%@, %lld, %1$@, etc.).
Test plan
web/messages/uk.jsonis valid JSON and renders correctly with next-intlResources/Localizable.xcstringsis valid and loads in Xcode🤖 Generated with Claude Code
Summary by cubic
Adds full Ukrainian (
uk) localization across the website and macOS app, plus a Ukrainian README and language links; also fixes two truncated Ukrainian CLI usage strings.New Features
web/messages/uk.jsonand registeredukinweb/i18n/routing.ts(localesandlocaleNames).Resources/Localizable.xcstrings(916 keys), preserving format specifiers.README.uk.mdand linked “Українська” in all README language selectors.Bug Fixes
web/messages/uk.json(cli.claude-teams.usage,cli.omo.usage).Written for commit 86ef371. Summary will update on new commits.
Summary by CodeRabbit
Release Notes
Documentation
Localization