{ "meta": { "title": "cmux — Терминал для многозадачности", "description": "Нативный терминал macOS на базе Ghostty. Работает с Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider и любым CLI-инструментом. Вертикальные вкладки, кольца уведомлений, разделённые панели и socket API.", "ogDescription": "Нативный терминал macOS для ИИ-агентов программирования. Работает с Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider и любым CLI-инструментом." }, "common": { "downloadForMac": "Скачать для Mac", "viewOnGitHub": "Смотреть на GitHub", "closeMenu": "Закрыть меню", "openMenu": "Открыть меню", "toggleTheme": "Переключить тему", "backToBlog": "Назад к блогу", "readTheDocs": "Читать документацию", "viewChangelog": "Смотреть историю изменений" }, "nav": { "docs": "Документация", "blog": "Блог", "changelog": "Изменения", "community": "Сообщество", "github": "GitHub" }, "footer": { "product": "Продукт", "resources": "Ресурсы", "legal": "Юридическое", "social": "Соцсети", "blog": "Блог", "community": "Сообщество", "docs": "Документация", "changelog": "Изменения", "privacy": "Конфиденциальность", "terms": "Условия", "eula": "EULA", "github": "GitHub", "twitter": "X / Twitter", "discord": "Discord", "contact": "Контакты", "nightly": "Ночные сборки", "copyright": "© {year} Manaflow", "language": "Язык" }, "home": { "taglinePrefix": "Терминал, созданный для ", "typingCodingAgents": "код-агентов", "typingMultitasking": "многозадачности", "subtitle": "Нативное macOS-приложение на базе Ghostty. Вертикальные вкладки, кольца уведомлений когда агенты ждут внимания, разделённые панели и socket API для автоматизации.", "features": "Возможности", "faq": "FAQ", "communitySection": "Сообщество", "feature": { "verticalTabs": "Вертикальные вкладки", "verticalTabsDesc": ": боковая панель показывает ветку git, рабочую директорию, порты и текст уведомлений", "notificationRings": "Кольца уведомлений", "notificationRingsDesc": ": панели подсвечиваются когда агенты ждут внимания", "inAppBrowser": "Встроенный браузер", "inAppBrowserDesc": ": открой браузер рядом с терминалом со скриптуемым API", "splitPanes": "Разделённые панели", "splitPanesDesc": ": горизонтальные и вертикальные разделения внутри каждой вкладки", "scriptable": "Скриптуемый", "scriptableDesc": ": CLI и socket API для автоматизации и скриптов", "gpuAccelerated": "GPU-ускорение", "gpuAcceleratedDesc": ": на базе libghostty для плавного рендеринга", "lightweight": "Лёгкий", "lightweightDesc": ": нативный Swift + AppKit, без Electron", "keyboardShortcuts": "Горячие клавиши", "keyboardShortcutsDesc": ": обширные шорткаты для рабочих пространств, разделений, браузера и не только" }, "faqGhosttyQ": "Как cmux связан с Ghostty?", "faqGhosttyA": "cmux не является форком Ghostty. Он использует libghostty как библиотеку для рендеринга терминала, так же как приложения используют WebKit для веб-представлений. Ghostty это самостоятельный терминал; cmux это другое приложение, построенное на его движке рендеринга.", "faqPlatformQ": "Какие платформы поддерживаются?", "faqPlatformA": "Только macOS, пока что. cmux это нативное приложение на Swift + AppKit.", "faqAgentsQ": "С какими агентами для кода работает cmux?", "faqAgentsA": "Со всеми. cmux это терминал, поэтому любой агент, работающий в терминале, работает из коробки: Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline, Cursor Agent и всё остальное, что можно запустить из командной строки.", "faqNotificationsQ": "Как работают уведомления?", "faqNotificationsA": "Когда процесс требует внимания, cmux показывает кольца уведомлений вокруг панелей, бейджи непрочитанных на боковой панели, поповер уведомлений и десктопное уведомление macOS. Они срабатывают автоматически через стандартные escape-последовательности терминала (OSC 9/99/777), или ты можешь вызвать их через cmux CLI и Claude Code hooks.", "faqShortcutsQ": "Можно настроить горячие клавиши?", "faqShortcutsA": "Привязки клавиш терминала читаются из конфига Ghostty (~/.config/ghostty/config). Шорткаты, специфичные для cmux (рабочие пространства, разделения, браузер, уведомления), настраиваются в Настройках. Смотри шорткаты по умолчанию для полного списка.", "faqTmuxQ": "Чем отличается от tmux?", "faqTmuxA": "tmux это мультиплексор терминала, который работает внутри любого терминала. cmux это нативное macOS-приложение с GUI: вертикальные вкладки, разделённые панели, встроенный браузер и socket API уже встроены. Не нужны конфиг-файлы или prefix-клавиши.", "faqFreeQ": "cmux бесплатный?", "faqFreeA": "Да, cmux бесплатный. Исходный код доступен на GitHub." }, "community": { "title": "Сообщество", "description": "Свяжись с другими пользователями cmux и командой разработки.", "discord": "Discord", "discordAction": "Присоединяйся к Discord", "discordDesc": "Общайся с сообществом, получай помощь и делись обратной связью", "githubAction": "Смотреть на GitHub", "githubDesc": "Поставь звезду репозиторию, сообщай об ошибках и вноси вклад", "twitter": "Twitter", "twitterAction": "Подписаться на X", "twitterDesc": "Обновления, анонсы и советы", "youtube": "YouTube", "youtubeAction": "Подписаться", "youtubeDesc": "Демо, обучающие материалы и пошаговые руководства", "linkedin": "LinkedIn", "linkedinAction": "Подписаться", "linkedinDesc": "Новости компании и инженерные обновления", "metaTitle": "Сообщество — cmux", "metaDescription": "Присоединяйтесь к сообществу cmux в Discord, Twitter, GitHub и других платформах" }, "blog": { "title": "Блог", "layoutTitle": "cmux blog", "metaTitle": "Блог", "metaDescription": "Новости и обновления от команды cmux", "description": "Новости и обновления от команды cmux", "posts": { "cmdShiftU": { "title": "Cmd+Shift+U", "summary": "Как Cmd+Shift+U навигирует между завершёнными агентами в рабочих пространствах cmux.", "date": "4 марта 2026", "p1": "Моя любимая функция cmux это Cmd+Shift+U. У меня сейчас открыто 17 рабочих пространств, каждое запускает агента. Раньше я кликал по вкладкам и панели уведомлений, чтобы понять, что завершилось. Печатать быстрее.", "p2": "Cmd+Shift+U прыгает к самому свежему непрочитанному уведомлению. На практике это значит последний завершивший работу агент. Переключает на нужное рабочее пространство, фокусирует нужную панель, мигает ей чтобы ты увидел куда смотреть и помечает как прочитанное. Если уведомление пришло из другого окна, то окно выходит на передний план." }, "zenOfCmux": { "title": "Дзен cmux", "summary": "cmux это примитив, а не решение. Он даёт тебе составные части, а рабочий процесс ты определяешь сам.", "date": "27 февраля 2026", "p1": "cmux не навязывает разработчикам как использовать инструменты. Это терминал и браузер с CLI, а дальше решаешь ты.", "p2": "cmux это примитив, а не решение. Он даёт тебе терминал, браузер, уведомления, рабочие пространства, разделения, вкладки и CLI для управления всем этим. cmux не заставляет использовать агентов для кода каким-то определённым образом. То, что ты построишь из примитивов, принадлежит тебе.", "p3": "Лучшие разработчики всегда создавали собственные инструменты. Никто пока не нашёл лучший способ работы с агентами, и команды, создающие закрытые продукты, тем более нет. Разработчики, ближе всего к своим кодовым базам, разберутся первыми.", "p4": "Дай миллиону разработчиков составные примитивы, и они коллективно найдут самые эффективные рабочие процессы быстрее, чем любая продуктовая команда смогла бы спроектировать сверху вниз." }, "showHnLaunch": { "title": "Запуск cmux на Show HN", "summary": "cmux попал на #2 на Hacker News, его расшарил Mitchell Hashimoto, и он стал вирусным в Японии.", "date": "21 февраля 2026", "intro": "Мы опубликовали cmux на Show HN 19 февраля:", "blockquote1": "Я запускаю много сессий Claude Code и Codex параллельно. Использовал Ghostty с кучей разделённых панелей и полагался на нативные уведомления macOS, чтобы знать когда агент меня ждёт. Но тело уведомления Claude Code это всегда просто \"Claude is waiting for your input\" без контекста, а с достаточным количеством открытых вкладок я уже не мог прочитать даже заголовки.", "blockquote2": "Я попробовал несколько оркестраторов для кода, но большинство были Electron/Tauri приложениями и производительность меня раздражала. Я просто предпочитаю терминал, потому что GUI-оркестраторы привязывают к своему рабочему процессу. Поэтому я сделал cmux как нативное macOS-приложение на Swift/AppKit. Оно использует libghostty для рендеринга терминала и читает твой существующий конфиг Ghostty для тем, шрифтов, цветов и прочего.", "blockquote3": "Основные дополнения это боковая панель и система уведомлений. Боковая панель имеет вертикальные вкладки, показывающие ветку git, рабочую директорию, слушающие порты и последний текст уведомления для каждого рабочего пространства. Система уведомлений ловит терминальные последовательности (OSC 9/99/777) и имеет CLI (cmux notify), который можно подключить к хукам агентов для Claude Code, OpenCode и т.д. Когда агент ждёт, его панель получает синее кольцо и вкладка подсвечивается на боковой панели, так что я вижу какой из них меня ждёт среди разделений и вкладок. Cmd+Shift+U прыгает к самому свежему непрочитанному.", "blockquote4": "Встроенный браузер имеет скриптуемый API. Агенты могут сделать снимок дерева доступности, получить ссылки на элементы, кликать, заполнять формы, выполнять JS и читать логи консоли. Можно разделить панель браузера рядом с терминалом и дать Claude Code взаимодействовать с твоим dev-сервером напрямую.", "blockquote5": "Всё скриптуется через CLI и socket API: создание рабочих пространств/вкладок, разделение панелей, отправка нажатий клавиш, открытие URL-ов в браузере.", "hitNumber2": "На пике попал на #2 на Hacker News. Mitchell Hashimoto расшарил его:", "favoriteComment": "Мой любимый комментарий из ветки HN:", "viralJapan": "Неожиданно cmux стал вирусным в Японии:", "translation": "Перевод: \"Выглядит хорошо. Терминальное приложение на базе Ghostty, спроектированное чтобы не потеряться при параллельном запуске нескольких CLI вроде Claude Code. Панель ожидающая ввода получает синюю рамку, и есть собственная система уведомлений.\"", "viralChina": "И полу-вирусный в Китае:", "extensions": "Ещё одна крутая штука, это видеть как люди строят поверх cmux CLI. sasha сделал расширение pi-cmux, которое показывает информацию о модели, использование токенов и состояние агента на боковой панели:", "scriptable": "Всё в cmux скриптуется через CLI: создание рабочих пространств, отправка нажатий клавиш, управление браузером, чтение уведомлений. Часть философии cmux это быть программируемым и составным, чтобы люди могли настроить работу с агентами для кода под себя. Состояние дел с агентами для кода меняется быстро, и ты не хочешь быть привязанным к негибкому GUI-оркестратору, который не успевает за изменениями.", "cta": "Если запускаешь несколько агентов для кода, попробуй cmux." }, "introducingCmux": { "title": "Представляем cmux", "summary": "Нативный macOS-терминал на базе Ghostty, спроектированный для параллельного запуска нескольких AI-агентов для кода.", "date": "12 февраля 2026", "p1": "cmux это нативное терминальное macOS-приложение на базе Ghostty, спроектированное с нуля для разработчиков, которые запускают несколько AI-агентов для кода одновременно.", "whyTitle": "Зачем cmux?", "whyP": "Современные рабочие процессы разработки часто включают запуск нескольких агентов одновременно. Claude Code, Codex и другие инструменты, каждый в своём терминале. Отслеживание того, какие из них ждут внимания и быстрое переключение между ними это проблема, которую cmux решает.", "featuresTitle": "Ключевые возможности", "getStartedTitle": "Начни", "getStartedP": "Установи cmux через Homebrew или скачай DMG из руководства по началу работы.", "featureVerticalTabsLabel": "Вертикальные вкладки", "featureVerticalTabsDesc": "видишь все терминалы одним взглядом на боковой панели", "featureNotificationsLabel": "Кольца уведомлений", "featureNotificationsDesc": "вкладки мигают когда агент ждёт твоего ввода", "featureSplitPanesLabel": "Разделённые панели", "featureSplitPanesDesc": "горизонтальные и вертикальные разделения внутри каждого рабочего пространства", "featureSocketApiLabel": "Socket API", "featureSocketApiDesc": "программное управление для создания вкладок и отправки ввода", "featureGpuLabel": "GPU-ускорение", "featureGpuDesc": "на базе libghostty для плавного рендеринга" } }, "zenOfCmux": { "metaTitle": "Дзен cmux", "metaDescription": "cmux — это примитив, а не решение. Он даёт вам комбинируемые компоненты, а рабочий процесс — за вами." }, "cmdShiftU": { "metaTitle": "Cmd+Shift+U", "metaDescription": "Новая комбинация клавиш, которая меняет взаимодействие с cmux." }, "showHnLaunch": { "metaTitle": "Запуск cmux на Show HN", "metaDescription": "История запуска cmux на Hacker News." }, "introducingCmux": { "metaTitle": "Представляем cmux", "metaDescription": "Почему мы создали cmux — новый терминал для macOS." } }, "docs": { "layoutTitle": "cmux docs", "gettingStarted": { "title": "Начало работы", "metaDescription": "Установи cmux, нативный macOS-терминал для AI-агентов. Homebrew, скачивание DMG, настройка CLI и автообновления через Sparkle.", "intro": "cmux это лёгкий нативный macOS-терминал на базе Ghostty для управления несколькими AI-агентами. Вертикальные вкладки, панель уведомлений и API управления на базе socket.", "install": "Установка", "dmgRecommended": "DMG (рекомендуется)", "dmgDesc": "Открой .dmg и перетащи cmux в папку Программы. cmux обновляется автоматически через Sparkle, так что скачать нужно только раз.", "homebrew": "Homebrew", "updateLater": "Для обновления позже:", "firstLaunchCallout": "При первом запуске macOS может попросить подтвердить открытие приложения от идентифицированного разработчика. Нажми Открыть чтобы продолжить.", "verifyTitle": "Проверка установки", "verifyDesc": "Открой cmux и ты увидишь:", "verifyItem1": "Окно терминала с вертикальной боковой панелью вкладок слева", "verifyItem2": "Одно начальное рабочее пространство уже открыто", "verifyItem3": "Терминал на базе Ghostty готов к вводу", "cliSetup": "Настройка CLI", "cliDesc": "cmux включает утилиту командной строки для автоматизации. Внутри терминалов cmux она работает автоматически. Чтобы использовать CLI извне cmux, создай символическую ссылку:", "cliThen": "Затем можно запускать команды вроде:", "autoUpdates": "Автообновления", "autoUpdatesDesc": "cmux проверяет обновления автоматически через Sparkle. Когда обновление доступно, ты увидишь значок обновления в заголовке окна. Можно также проверить вручную через cmux > Check for Updates в строке меню.", "sessionRestore": "Восстановление сессии (текущее поведение)", "sessionRestoreDesc": "После перезапуска cmux восстанавливает только компоновку и метаданные:", "sessionItem1": "Компоновка окон, рабочих пространств и панелей", "sessionItem2": "Рабочие директории", "sessionItem3": "Scrollback терминала (по возможности)", "sessionItem4": "URL браузера и история навигации", "sessionCallout": "cmux пока не восстанавливает состояние живых процессов. Активные сессии терминальных приложений, таких как Claude Code, tmux и vim, не возобновляются после перезапуска приложения.", "requirements": "Требования", "reqItem1": "macOS 14.0 или новее", "reqItem2": "Apple Silicon или Intel Mac", "metaTitle": "Начало работы" }, "concepts": { "title": "Концепции", "metaDescription": "Как cmux организует терминалы: окна, рабочие пространства, панели и поверхности. Иерархия за боковой панелью, разделениями и socket API.", "intro": "cmux организует терминалы в четырёхуровневую иерархию. Понимание этих уровней помогает при работе с socket API, CLI и горячими клавишами.", "hierarchy": "Иерархия", "windowTitle": "Окно", "windowDesc": "Окно macOS. Открой несколько окон с помощью {shortcut}. У каждого окна своя боковая панель с независимыми рабочими пространствами.", "workspaceTitle": "Рабочее пространство", "workspaceDesc": "Элемент боковой панели. Каждое рабочее пространство содержит одну или более разделённых панелей. Рабочие пространства это то, что ты видишь на левой боковой панели.", "workspaceNote": "В интерфейсе и горячих клавишах рабочие пространства часто называются \"вкладками\", потому что ведут себя как вкладки на боковой панели. Socket API и переменные окружения используют термин \"workspace\".", "contextHeader": "Контекст", "termUsedHeader": "Используемый термин", "sidebarUI": "Интерфейс боковой панели", "tab": "Вкладка", "keyboardShortcuts": "Горячие клавиши", "workspaceOrTab": "Рабочее пространство или вкладка", "socketAPI": "Socket API", "environmentVariable": "Переменная окружения", "workspaceShortcuts": "Шорткаты: {new} (новый), {jump} (прыжок), {close} (закрыть), {prevNext} (пред./след.)", "paneTitle": "Панель", "paneDesc": "Разделённая область внутри рабочего пространства. Создаётся разделением с помощью {right} (вправо) или {down} (вниз). Навигация между панелями: {nav} + стрелки.", "paneNote": "Каждая панель может содержать несколько поверхностей (вкладок внутри панели).", "surfaceTitle": "Поверхность", "surfaceDesc": "Вкладка внутри панели. У каждой панели своя полоса вкладок и она может содержать несколько поверхностей. Создаётся через {new}, навигация через {prev} / {next} или {jump}.", "surfaceNote": "Поверхности это отдельные сессии терминала или браузера, с которыми ты взаимодействуешь. У каждой поверхности своя переменная окружения CMUX_SURFACE_ID.", "panelTitle": "Панель", "panelDesc": "Содержимое внутри поверхности. Сейчас два типа:", "panelTerminal": "Терминал: сессия терминала Ghostty", "panelBrowser": "Браузер: встроенный веб-вид", "panelNote": "Панель это в основном внутренняя концепция. В socket API и CLI ты взаимодействуешь с поверхностями, а не напрямую с панелями.", "visualExample": "Визуальный пример", "visualExampleDesc": "В этом примере:", "visualItem1": "Окно содержит боковую панель с тремя рабочими пространствами (dev, server, logs)", "visualItem2": "Рабочее пространство \"dev\" выбрано, показывает две панели рядом", "visualItem3": "Панель 1 имеет две поверхности ([S1] и [S2] на полосе вкладок), с активной S1", "visualItem4": "Панель 2 имеет одну поверхность", "visualItem5": "Каждая поверхность содержит панель (в данном случае терминал)", "summary": "Итого", "levelHeader": "Уровень", "whatItIsHeader": "Что это", "createdByHeader": "Создаётся", "identifiedByHeader": "Идентифицируется", "macosWindow": "Окно macOS", "sidebarEntry": "Элемент боковой панели", "splitRegion": "Разделённая область", "tabWithinPane": "Вкладка в панели", "terminalOrBrowser": "Терминал или браузер", "automatic": "Автоматически", "paneIdSocket": "ID панели (socket API)", "panelIdInternal": "ID панели (внутренний)", "metaTitle": "Концепции" }, "configuration": { "title": "Конфигурация", "metaDescription": "Настрой cmux через конфиг-файлы Ghostty. Шрифт, тема, цвета, стиль разделённых панелей, scrollback и настройки приложения для режима автоматизации.", "intro": "cmux читает конфигурацию из конфиг-файлов Ghostty, предоставляя знакомые опции если ты переходишь с Ghostty.", "configLocations": "Расположение конфиг-файлов", "configLocationsDesc": "cmux ищет конфигурацию в этих расположениях (по порядку):", "createConfig": "Создай конфиг-файл если он не существует:", "appearance": "Внешний вид", "font": "Шрифт", "colors": "Цвета", "splitPanes": "Разделённые панели", "behavior": "Поведение", "scrollback": "Scrollback", "workingDirectory": "Рабочая директория", "appSettings": "Настройки приложения", "appSettingsDesc": "Настройки в приложении доступны через cmux > Settings ({shortcut}):", "themeMode": "Режим темы", "themeSystem": "Системный: следует за внешним видом macOS", "themeLight": "Светлый: всегда светлая тема", "themeDark": "Тёмный: всегда тёмная тема", "automationMode": "Режим автоматизации", "automationModeDesc": "Уровень доступа к сокету:", "automationOff": "Выключен: нет управления через socket (самый безопасный)", "automationCmux": "Только процессы cmux: только процессы, запущенные внутри терминалов cmux, могут подключаться", "automationAll": "allowAll: любой локальный процесс может подключиться (CMUX_SOCKET_MODE=allowAll, только через переменную окружения)", "automationCallout": "На общих машинах используй режим \"Выключен\" или \"Только процессы cmux\".", "browserLinkBehavior": "Поведение ссылок браузера", "browserLinkDesc": "В Настройки > Браузер, cmux предоставляет два списка хостов с разными целями:", "browserHostsEmbed": "Хосты для открытия во встроенном браузере: применяется к ссылкам, нажатым в выводе терминала. Хосты из этого списка открываются в cmux; остальные хосты открываются в твоём браузере по умолчанию. Поддерживает один хост или wildcard на строку (например: example.com, *.internal.example).", "browserHostsHttp": "HTTP-хосты, разрешённые во встроенном браузере: применяется только к HTTP (не HTTPS) URL-ам. Хосты из этого списка могут открываться в cmux без предупреждения. По умолчанию включают localhost, 127.0.0.1, ::1, 0.0.0.0 и *.localtest.me.", "exampleConfig": "Пример конфигурации", "metaTitle": "Конфигурация" }, "customCommands": { "title": "Пользовательские команды", "metaTitle": "Пользовательские команды", "metaDescription": "Определяйте пользовательские команды и макеты рабочего пространства в cmux.json. Конфигурация для каждого проекта и глобальная с живым отслеживанием файлов.", "intro": "Определяйте пользовательские команды и макеты рабочего пространства, добавив файл cmux.json в корень вашего проекта или ~/.config/cmux/. Команды отображаются в палитре команд.", "fileLocations": "Расположение файлов", "fileLocationsDesc": "cmux ищет конфигурацию в двух местах:", "localConfig": "Для проекта:", "localConfigDesc": "находится в каталоге проекта, имеет приоритет", "globalConfig": "Глобально:", "globalConfigDesc": "применяется ко всем проектам, дополняет команды, не определённые локально", "precedenceNote": "Локальные команды переопределяют глобальные команды с тем же именем.", "liveReload": "Изменения применяются автоматически — перезапуск не требуется.", "schema": "Схема", "schemaDesc": "Файл cmux.json содержит массив commands. Каждая команда — это либо простая команда shell, либо полное определение рабочего пространства:", "simpleCommands": "Простые команды", "simpleCommandsDesc": "Простая команда выполняет команду shell в текущем сфокусированном терминале:", "simpleCommandFields": "Поля", "fieldName": "Отображается в палитре команд (обязательно)", "fieldDescription": "Необязательное описание", "fieldKeywords": "Дополнительные поисковые термины для палитры команд", "fieldCommand": "Команда shell для выполнения в сфокусированном терминале", "fieldConfirm": "Показать диалог подтверждения перед выполнением", "simpleCommandCwdNote": "Простые команды выполняются в текущей рабочей директории активного терминала. Если команда использует пути относительно проекта, добавьте префикс", "simpleCommandCwdRepoRoot": "для запуска из корня репозитория, или", "simpleCommandCwdCustomPath": "для любой конкретной директории.", "workspaceCommands": "Команды рабочего пространства", "workspaceCommandsDesc": "Команда рабочего пространства создаёт новое рабочее пространство с настраиваемым макетом из разделений, терминалов и панелей браузера:", "workspaceFields": "Поля рабочего пространства", "wsFieldName": "Имя вкладки рабочего пространства (по умолчанию — имя команды)", "wsFieldCwd": "Рабочий каталог для рабочего пространства", "wsFieldColor": "Цвет вкладки рабочего пространства", "wsFieldLayout": "Дерево макета, определяющее разделения и панели", "restartBehavior": "Поведение при перезапуске", "restartBehaviorDesc": "Управляет тем, что происходит, когда рабочее пространство с тем же именем уже существует:", "restartIgnore": "Переключиться на существующее рабочее пространство (по умолчанию)", "restartRecreate": "Закрыть и пересоздать без запроса", "restartConfirm": "Спросить пользователя перед пересозданием", "layoutTree": "Дерево макета", "layoutTreeDesc": "Дерево макета определяет расположение панелей с помощью рекурсивных узлов разделения:", "splitNode": "Узел разделения", "splitNodeDesc": "Делит пространство на двух потомков:", "or": "или", "splitPosition": "Положение разделителя от 0.1 до 0.9 (по умолчанию 0.5)", "splitChildren": "Ровно два дочерних узла (разделение или панель)", "paneNode": "Узел панели", "paneNodeDesc": "Листовой узел, содержащий одну или несколько поверхностей (вкладки внутри панели).", "surfaceDefinition": "Определение поверхности", "surfaceDefinitionDesc": "Каждая поверхность в панели может быть терминалом или браузером:", "surfaceName": "Пользовательский заголовок вкладки", "surfaceCommand": "Команда shell для автоматического запуска при создании (только терминал)", "surfaceCwd": "Рабочий каталог для этой поверхности", "surfaceEnv": "Переменные среды в виде пар ключ-значение", "surfaceUrl": "URL для открытия (только браузер)", "surfaceFocus": "Сфокусироваться на этой поверхности после создания", "cwdResolution": "Определение рабочего каталога", "omitted": "опущено", "cwdRelative": "рабочий каталог рабочего пространства", "cwdSubdir": "относительно рабочего каталога рабочего пространства", "cwdHome": "расширено до домашнего каталога", "absolutePath": "Абсолютный путь", "cwdAbsolute": "используется как есть", "fullExample": "Полный пример" }, "keyboardShortcuts": { "title": "Горячие клавиши", "description": "Все горячие клавиши в cmux, сгруппированные по категориям.", "metaDescription": "Все горячие клавиши cmux для рабочих пространств, поверхностей, разделённых панелей, браузера, уведомлений, поиска и управления окнами на macOS.", "searchPlaceholder": "Поиск по горячим клавишам...", "searchLabel": "Поиск горячих клавиш", "noResults": "Горячие клавиши не найдены", "noResultsHint": "Попробуйте другой запрос", "cat": { "workspaces": "Рабочие пространства", "workspacesBlurb": "Рабочие пространства находятся на боковой панели. У каждого свой набор панелей и поверхностей.", "surfaces": "Поверхности", "surfacesBlurb": "Поверхности — это вкладки внутри панели.", "splitPanes": "Разделённые панели", "browser": "Браузер", "notifications": "Уведомления", "find": "Поиск", "terminal": "Терминал", "window": "Окно" }, "sc": { "ws-new": "Новое рабочее пространство", "ws-prev": "Предыдущее рабочее пространство", "ws-next": "Следующее рабочее пространство", "ws-jump-1-8": "Перейти к рабочему пространству 1–8", "ws-jump-last": "Перейти к последнему рабочему пространству", "ws-close": "Закрыть рабочее пространство", "ws-rename": "Переименовать рабочее пространство", "sf-new": "Новая поверхность", "sf-prev-1": "Предыдущая поверхность", "sf-prev-2": "Предыдущая поверхность", "sf-jump-1-8": "Перейти к поверхности 1–8", "sf-jump-last": "Перейти к последней поверхности", "sf-close": "Закрыть поверхность", "sp-right": "Разделить вправо", "sp-down": "Разделить вниз", "sp-focus": "Фокус на панель по направлению", "sp-browser-right": "Разделить браузер вправо", "sp-browser-down": "Разделить браузер вниз", "br-open": "Открыть поверхность браузера", "br-addr": "Фокус на адресную строку", "br-forward": "Вперёд", "br-reload": "Перезагрузить страницу", "br-devtools": "Открыть инструменты разработчика", "nt-panel": "Показать панель уведомлений", "nt-latest": "Перейти к последнему непрочитанному", "nt-flash": "Вызвать вспышку", "fd-find": "Найти", "fd-next-prev": "Найти следующий / предыдущий", "fd-hide": "Скрыть панель поиска", "fd-selection": "Использовать выделение для поиска", "tm-clear": "Очистить scrollback", "tm-copy": "Копировать (с выделением)", "tm-paste": "Вставить", "tm-font": "Увеличить / уменьшить шрифт", "tm-reset": "Сбросить размер шрифта", "wn-new": "Новое окно", "wn-settings": "Настройки", "wn-reload": "Перезагрузить конфигурацию", "wn-quit": "Выход" }, "metaTitle": "Горячие клавиши" }, "api": { "title": "Справочник API", "metaDescription": "Справочник cmux CLI и Unix socket API. Управление рабочими пространствами, разделённые панели, управление вводом, уведомления, метаданные боковой панели, переменные окружения и методы обнаружения.", "intro": "cmux предоставляет и CLI-утилиту, и Unix socket для программного управления. Каждая команда доступна через оба интерфейса.", "socket": "Socket", "buildHeader": "Сборка", "pathHeader": "Путь", "release": "Release", "debug": "Debug", "taggedDebug": "Тегированная debug-сборка", "socketOverride": "Переопределить переменной окружения CMUX_SOCKET_PATH. Отправляй один JSON-запрос с переводом строки за вызов:", "socketCallout": "JSON socket-запросы должны использовать method и params. Устаревшие v1 JSON-форматы типа '{'\"command\":\"...\"'}' не поддерживаются.", "accessModes": "Режимы доступа", "modeHeader": "Режим", "descriptionHeader": "Описание", "howToEnableHeader": "Как включить", "offMode": "Socket отключён", "offEnable": "Интерфейс настроек или CMUX_SOCKET_MODE=off", "cmuxOnlyMode": "Только процессы, запущенные внутри терминалов cmux, могут подключаться.", "cmuxOnlyEnable": "Режим по умолчанию в интерфейсе настроек", "allowAllMode": "Любой локальный процесс может подключиться (без проверки происхождения).", "allowAllEnable": "Только через переменную окружения: CMUX_SOCKET_MODE=allowAll", "accessCallout": "На общих машинах используй Выключен или Только процессы cmux.", "cliOptions": "Опции CLI", "flagHeader": "Флаг", "customSocketPath": "Пользовательский путь к сокету", "outputJson": "Вывод в формате JSON", "targetWindow": "Указать конкретное окно", "targetWorkspace": "Указать конкретное рабочее пространство", "targetSurface": "Указать конкретную поверхность", "idFormat": "Формат идентификаторов в JSON-выводе", "workspaceCommands": "Команды рабочих пространств", "listWorkspacesDesc": "Список всех открытых рабочих пространств.", "newWorkspaceDesc": "Создать новое рабочее пространство.", "selectWorkspaceDesc": "Переключиться на конкретное рабочее пространство.", "currentWorkspaceDesc": "Получить текущее активное рабочее пространство.", "closeWorkspaceDesc": "Закрыть рабочее пространство.", "splitCommands": "Команды разделения", "newSplitDesc": "Создать новую разделённую панель. Направления: left, right, up, down.", "listSurfacesDesc": "Список всех поверхностей в текущем рабочем пространстве.", "focusSurfaceDesc": "Сфокусировать конкретную поверхность.", "inputCommands": "Команды ввода", "sendDesc": "Отправить текст в сфокусированный терминал.", "sendKeyDesc": "Отправить нажатие клавиши. Клавиши: enter, tab, escape, backspace, delete, up, down, left, right.", "sendSurfaceDesc": "Отправить текст в конкретную поверхность.", "sendKeySurfaceDesc": "Отправить нажатие клавиши в конкретную поверхность.", "notificationCommands": "Команды уведомлений", "notifyDesc": "Отправить уведомление.", "listNotificationsDesc": "Список всех уведомлений.", "clearNotificationsDesc": "Очистить все уведомления.", "sidebarMetadata": "Команды метаданных боковой панели", "sidebarMetadataDesc": "Устанавливай значки статуса, прогресс-бары и записи лога на боковой панели для любого рабочего пространства. Полезно для скриптов сборки, CI-интеграций и AI-агентов, которые хотят показать состояние на одном взгляде.", "setStatusDesc": "Установить значок статуса на боковой панели. Используй уникальный ключ, чтобы разные инструменты могли управлять своими записями.", "clearStatusDesc": "Удалить запись статуса боковой панели по ключу.", "listStatusDesc": "Список всех записей статуса боковой панели для рабочего пространства.", "setProgressDesc": "Установить прогресс-бар на боковой панели (0.0 до 1.0).", "clearProgressDesc": "Очистить прогресс-бар боковой панели.", "logDesc": "Добавить запись лога на боковую панель. Уровни: info, progress, success, warning, error.", "clearLogDesc": "Очистить все записи лога боковой панели.", "listLogDesc": "Список записей лога боковой панели.", "sidebarStateDesc": "Дамп всех метаданных боковой панели (cwd, ветка git, порты, статус, прогресс, логи).", "utilityCommands": "Служебные команды", "pingDesc": "Проверить работает ли cmux и отвечает.", "capabilitiesDesc": "Список доступных методов сокета и текущего режима доступа.", "identifyDesc": "Показать контекст сфокусированного окна/рабочего пространства/панели/поверхности.", "envVariables": "Переменные окружения", "variableHeader": "Переменная", "socketPathDesc": "Переопределить путь к сокету для CLI и интеграций", "socketEnableDesc": "Принудительно включить/отключить сокет (1/0, true/false, on/off)", "socketModeDesc": "Переопределить режим доступа (cmuxOnly, allowAll, off). Также принимает cmux-only/cmux_only и allow-all/allow_all", "workspaceIdDesc": "Устанавливается автоматически: ID текущего рабочего пространства", "surfaceIdDesc": "Устанавливается автоматически: ID текущей поверхности", "termProgramDesc": "Установлен в ghostty", "termDesc": "Установлен в xterm-ghostty", "envCallout": "Устаревшие значения CMUX_SOCKET_MODE full и notifications всё ещё принимаются для совместимости.", "detectingCmux": "Обнаружение cmux", "examples": "Примеры", "pythonClient": "Python-клиент", "shellScript": "Shell-скрипт", "buildScriptNotification": "Скрипт сборки с уведомлением", "metaTitle": "Справочник API" }, "notifications": { "title": "Уведомления", "metaDescription": "Отправляй десктопные уведомления из AI-агентов и скриптов в cmux. CLI, escape-последовательности OSC 99/777 и интеграция с Claude Code hooks.", "intro": "cmux поддерживает десктопные уведомления, позволяя AI-агентам и скриптам оповещать тебя когда им нужно внимание.", "lifecycle": "Жизненный цикл", "received": "Получено: уведомление появляется в панели, десктопный алерт срабатывает (если не подавлен)", "unread": "Непрочитанное: бейдж показан на вкладке рабочего пространства", "read": "Прочитанное: убирается когда ты просматриваешь это рабочее пространство", "cleared": "Очищено: удалено из панели", "suppression": "Подавление", "suppressionDesc": "Десктопные алерты подавляются когда:", "suppressItem1": "Окно cmux сфокусировано", "suppressItem2": "Конкретное рабочее пространство, отправляющее уведомление, активно", "suppressItem3": "Панель уведомлений открыта", "notificationPanel": "Панель уведомлений", "notificationPanelDesc": "Нажми ⌘⇧I чтобы открыть панель уведомлений. Кликни на уведомление чтобы перейти к этому рабочему пространству. Нажми ⌘⇧U чтобы перейти напрямую к рабочему пространству с самым свежим непрочитанным уведомлением.", "customCommand": "Пользовательская команда", "customCommandDesc": "Запускай shell-команду каждый раз когда уведомление запланировано. Задай её в Настройки > Приложение > Команда уведомления. Команда запускается через /bin/sh -c с этими переменными окружения:", "customCommandNote": "Команда работает независимо от системного выбора звуков. Установи выбор на \"Нет\" чтобы использовать только пользовательскую команду, или оставь оба для системного звука плюс пользовательского действия.", "sending": "Отправка уведомлений", "cli": "CLI", "osc777Title": "OSC 777 (простой)", "osc777Desc": "Протокол RXVT использует фиксированный формат с заголовком и телом:", "osc99Title": "OSC 99 (расширенный)", "osc99Desc": "Протокол Kitty поддерживает подзаголовки и ID уведомлений:", "variableHeader": "Переменная", "descriptionHeader": "Описание", "envTitle": "Заголовок уведомления (имя рабочего пространства или приложения)", "envSubtitle": "Подзаголовок уведомления", "envBody": "Текст уведомления", "cmpTitleBody": "Заголовок + текст", "cmpSubtitle": "Подзаголовок", "cmpNotificationId": "ID уведомления", "cmpComplexity": "Сложность", "cmpYes": "Да", "cmpNo": "Нет", "cmpHigher": "Выше", "cmpLower": "Ниже", "featureHeader": "Функция", "comparisonCallout": "Используй OSC 777 для простых уведомлений. Используй OSC 99 когда нужны подзаголовки или ID уведомлений. Используй CLI (cmux notify) для самой простой интеграции.", "claudeCodeHooks": "Claude Code hooks", "claudeCodeHooksDesc": "cmux интегрируется с Claude Code через hooks чтобы уведомлять тебя когда задачи завершаются.", "createHookScript": "1. Создай скрипт хука", "configureClaude": "2. Настрой Claude Code", "restartNote": "Перезапусти Claude Code чтобы применить хуки.", "copilotCliHooks": "GitHub Copilot CLI", "copilotCliHooksDesc": "Copilot CLI поддерживает хуки, которые выполняют shell-команды при событиях жизненного цикла, таких как отправка промпта, остановка агента и ошибки.", "copilotCliRepoHooks": "Для хуков на уровне репозитория создайте файл .github/hooks/notify.json с аналогичной структурой:", "integrationExamples": "Примеры интеграций", "notifyAfterLong": "Уведомление после долгой команды", "python": "Python", "nodejs": "Node.js", "tmuxPassthrough": "tmux passthrough", "tmuxDesc": "Если используешь tmux внутри cmux, включи passthrough:", "metaTitle": "Уведомления" }, "browserAutomation": { "title": "Автоматизация браузера", "metaDescription": "Справочник команд cmux browser для навигации, взаимодействия с DOM, ожидания, инспекции, выполнения JavaScript, вкладок, диалогов, фреймов, загрузок и состояния браузера.", "intro": "Группа команд cmux browser предоставляет автоматизацию браузера над поверхностями браузера cmux. Используй для навигации, взаимодействия с DOM-элементами, инспекции состояния страницы, выполнения JavaScript и управления данными сессии браузера.", "commandIndex": "Индекс команд", "categoryHeader": "Категория", "subcommandsHeader": "Подкоманды", "navAndTargeting": "Навигация и таргетинг", "waiting": "Ожидание", "domInteraction": "Взаимодействие с DOM", "inspection": "Инспекция", "jsAndInjection": "JavaScript и инъекция", "framesDialogsDownloads": "Фреймы, диалоги, загрузки", "stateAndSession": "Состояние и данные сессии", "tabsAndLogs": "Вкладки и логи", "targetingSurface": "Указание поверхности браузера", "targetingDesc": "Большинство подкоманд требуют целевую поверхность. Можно передать позиционно или через --surface.", "navigation": "Навигация", "waitingSection": "Ожидание", "waitingDesc": "Используй wait для блокировки до выполнения условия: селекторы, текст, фрагменты URL, состояние загрузки или JavaScript-условие.", "domSection": "Взаимодействие с DOM", "domDesc": "Мутирующие действия поддерживают --snapshot-after для быстрой верификации в скриптах.", "inspectionSection": "Инспекция", "inspectionDesc": "Используй структурированные геттеры для скриптов и снапшоты/скриншоты для просмотра человеком.", "jsSection": "Выполнение и инъекция JavaScript", "stateSection": "Состояние", "stateDesc": "Команды данных сессии покрывают куки, локальное/сессионное хранилище и полные снапшоты состояния браузера.", "tabsSection": "Вкладки", "tabsDesc": "Операции с вкладками браузера отображаются на поверхности браузера в активной группе вкладок.", "consoleSection": "Консоль и ошибки", "dialogsSection": "Диалоги", "framesSection": "Фреймы", "downloadsSection": "Загрузки", "commonPatterns": "Типичные паттерны", "patternNavigate": "Навигация, ожидание, инспекция", "patternForm": "Заполнение формы и проверка текста успеха", "patternDebug": "Захват debug-артефактов при ошибке", "patternSession": "Сохранение и восстановление сессии браузера", "metaTitle": "Автоматизация браузера" }, "changelog": { "title": "История изменений", "metaDescription": "Заметки о релизах cmux и история версий. Новые функции, исправления ошибок и изменения для нативного macOS-терминала.", "metaTitle": "Журнал изменений" }, "navItems": { "gettingStarted": "Начало работы", "concepts": "Концепции", "configuration": "Конфигурация", "customCommands": "Пользовательские команды", "keyboardShortcuts": "Горячие клавиши", "apiReference": "Справочник API", "browserAutomation": "Автоматизация браузера", "notifications": "Уведомления", "agentIntegrations": "Agent Integrations", "claudeCodeTeams": "Claude Code Teams", "ohMyOpenCode": "oh-my-opencode", "changelog": "Изменения" } }, "legal": { "privacyPolicy": "Политика конфиденциальности", "termsOfService": "Условия использования", "eula": "EULA" }, "wallOfLove": { "title": "Стена любви", "description": "Что люди говорят о cmux." }, "testimonials": { "mitchellh": "Очередной день, очередной проект на libghostty, на этот раз терминал для macOS с вертикальными вкладками, лучшей организацией/уведомлениями, встроенным/скриптуемым браузером, специально для тех, кто активно использует агентские workflow из терминала.", "schrockn": "Это именно тот продукт, который я искал. Через два часа утром я влюбился.", "egrefen": "Использовал это всё выходные и это потрясающе.", "max4c": "это был мой любимый инструмент последние две недели", "asaza": "cmux выглядит так хорошо, что, может, наконец пора попрощаться с VSCode", "johnthedebs": "Привет, выглядит реально круто. Нравятся идеи, конкретно: программируемость, слоистый UI, браузер с API. Жду не дождусь попробовать. И хочу добавить, что очень ценю Mitchell Hashimoto за создание libghostty; ощущается как захватывающее время для пользователей терминала.", "joeriddles": "Вертикальные вкладки в моём терминале! Я раньше об этом даже не думал. Использую и обожаю вертикальные вкладки Firefox.", "dchu17": "Попробовал и это довольно интуитивно. Хорошая работа!", "afruth": "Мне нравится, использовал целый день на трёх параллельных проектах, каждый с несколькими worktree. В связке с lazygit и yazi / nvim стал чуть продуктивнее обычного, без необходимости гоняться за несколькими экземплярами ghostty / iTerm. Также ощущается естественнее чем tmux.", "northprint": "Попробовал cmux потому что выглядел хорошо, и он хорош", "indykish": "cmux довольно хорош.", "kataring": "Перешёл на cmux.dev", "scottw": "Невероятно полезная находка. Рекомендую всем.", "johnblythe": "скачал на выходных и полюбил. ждал чего-то подобного.", "bchris91": "Это именно то, что я хотел. Потрясающая работа, спасибо!", "connorelsea": "Использую неделю и это фантастика. Вертикальная вкладка для каждой текущей задачи. Внутри Claude с одной стороны и браузер с PR и ресурсами с другой, переключаюсь между задачами и остаюсь организованным. Сочетай это со скиллами чтобы Claude рекурсивно следил за CI и т.д. чувствую себя просветлённым честно говоря", "tonkotsuboy": "В начале года перешёл с Warp на Ghostty, а теперь перешёл на cmux. Вертикальные вкладки удобны, и ценю уведомления когда задачи Claude Code завершаются. Он на базе Ghostty, так что молниеносная скорость сохраняется. Отображение веток и автодополнения, которые я настроил в Ghostty, тоже работают." }, "nightly": { "title": "cmux NIGHTLY", "subtitle": "Актуальные сборки из ветки main", "metaTitle": "cmux NIGHTLY — Ночные сборки", "metaDescription": "Скачайте cmux NIGHTLY — отдельное приложение, автоматически собираемое из последнего коммита в main. Работает параллельно со стабильной версией с собственными автообновлениями.", "description": "cmux NIGHTLY автоматически собирается из последнего коммита в main. У него собственный bundle ID, поэтому он работает параллельно со стабильной версией без конфликтов. Используйте его для тестирования новых функций до релиза.", "download": "Скачать NIGHTLY для Mac", "warning": "Ночные сборки могут содержать ошибки или незавершённые функции. Если что-то сломалось, сообщите на GitHub или в #nightly-bugs в Discord и переключитесь на стабильную версию." }, "languageSwitcher": { "label": "Язык" } }