Полноценный русский язык (ru-RU) для ZCode 3.10.1
Третий язык в селекторе — System / English / Русский.
ZCode — Agentic Development Environment от Z.ai. Официально поддерживаются два языка интерфейса — китайский и английский; локали зашиты в JS-бандл, добавить новую через настройки невозможно.
Этот пак решает проблему одной командой: добавляет в приложение нативную третью локаль ru-RU — без подмены китайского, с английским fallback для строк будущих версий.
Подход:
ZCode.app (до) ZCode.app (после)
┌───────────────────┐ ┌───────────────────┐
│ zh-CN 中文 │ │ zh-CN 中文 │
│ en-US English │ → │ en-US English │
│ │ │ ru-RU Русский ← │
└───────────────────┘ └───────────────────┘
bash <(curl -fsSL https://raw.githubusercontent.com/warment/zcode-ru/v2.0.1/tools/install.sh)Важно: закрой ZCode перед запуском — установщик не трогает запущенное приложение.
Установщик выполняет пять шагов:
| Шаг | Действие |
|---|---|
| 1 | Проверяет версию ZCode (3.10.1) и наличие приложения |
| 2 | Бэкапит app.asar → ~/.zcode-ru-backup/ |
| 3 | Скачивает русифицированную сборку из Release и подменяет app.asar |
| 4 | Переподписывает приложение (ad-hoc) |
| 5 | Перезапускает ZCode; если не завелось — автоматически откатывает оригинал |
После этого открой ZCode — в настройках три языка, включая Русский. При русской системной локали выбрано автоматически.
Откат в любой момент:
bash install.sh --restoreВ IntlProvider-*.js находится реестр локалей — словари zh-CN и en-US (~5 000 ключей каждый). Пак добавляет третий словарь: полная копия английского + русский оверлей, поэтому непереведённые и новые строки апстрима показывают английский, а не «голые» ключи.
Размер чанка: 654 KB → 1.1 MB. JS-парсер не ломается (проверяется при сборке).
После словаря обновляются точки, где код проверяет допустимые локали:
| Файл | Что изменяется |
|---|---|
IntlProvider-*.js |
Реестр словарей g — добавлен ru-RU (fallback через Object.assign) |
IntlProvider-*.js |
Валидация локали, системное определение (ru* → ru-RU) |
styles-*.js |
Селектор языка — третий пункт «Русский» (3 места) |
process-monitor-*.js |
Русский подсловарь окна мониторинга процессов |
cua-permission-panel-*.js |
Русский подсловарь панели разрешений Computer Use |
chunk-*.js (main) |
Zod-валидация настроек — ru-RU в enum |
index.js (main) |
resolveSystemApplicationLocale — системное определение |
host/index.js |
Описания встроенных агентов и стилей вывода (5 строк) |
Итого: 12 патчей в 6 файлах. Info.plist не затрагивается (fuse целостности asar в билде отключён).
| Метрика | Значение |
|---|---|
| Ключей в корпусе | 5 018 (82 namespace) |
| Переведено | 5 018 из 5 018 (100%) |
| Fallback | английский — для строк будущих версий |
Переведено: чат, настройки, плагины, скиллы, MCP, субагенты, git, автоматизации, боты, usage, вики, диалоги подтверждений, мониторинг процессов.
Не переведено осознанно: диалоги main process (About, трей) и CLI — отдельные корпуса; Agent, MCP, GLM — технические термины по глоссарию.
Не локализуется в принципе: шаблоны автоматизаций (Morning dev brief, Risk scan…) — их названия и описания приходят с сервера Z.ai как данные, мимо словаря интерфейса. Лечится только апстримом.
ZCode обновится — перевод слетит. Пересобери под новую версию:
npm install
node scripts/extract.mjs # корпус en+zh из установленной версии
node scripts/check.mjs --strict # что изменилось
node scripts/build.mjs # build/app-ru.asar
bash tools/apply.sh # установка (сам дождётся закрытия приложения)| Параметр | Значение |
|---|---|
| ZCode | 3.10.1 (build 6272) |
| ОС | macOS (arm64) |
| Electron | 41.x |
| Зависимости | @electron/asar (локально, через npm) |
PR приветствуются. Особенно:
- Улучшения перевода (
dict/ru/*.json) - Адаптация патч-точек под новые версии ZCode
- Локализация main process и CLI
git clone https://github.com/warment/zcode-ru.git
cd zcode-ru && npm install
# отредактируй dict/ru/*.json
node scripts/check.mjs --strict && node scripts/build.mjs
bash tools/apply.sh # проверь в ZCodeUnofficial community pack adding a native third locale (ru-RU) to the ZCode desktop app (macOS, 3.10.1): 5,018 UI strings — 100% of the renderer corpus, third entry in the language selector (System / English / Русский), English fallback for new upstream strings, translated built-in agent descriptions.
bash <(curl -fsSL https://raw.githubusercontent.com/warment/zcode-ru/v2.0.1/tools/install.sh)Restore: bash install.sh --restore. The installer backs up app.asar, patches it, re-signs the app ad-hoc and relaunches it. See SAFETY.md for risks (signature, updates, TCC permissions). Not affiliated with Z.ai — see THIRD_PARTY_NOTICES.md.
Сделано для русскоязычного сообщества разработчиков
ZCode — zcode.z.ai
