Handy/src/i18n/locales/ru/translation.json
sasha bf2a59f5ef
feat: add configurable auto-submit after transcription paste (#765)
* feat: add configurable auto-submit after transcription paste

Add an Advanced output setting that can send Enter, Ctrl+Enter, or Cmd+Enter after text insertion so Handy works smoothly with different editor and agent submit shortcuts. This keeps the behavior opt-in, persists it in settings, and adds focused Rust tests for defaults and paste auto-submit decision logic.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: simplify auto submit configuration UX

Replace the auto-submit toggle and key dropdown with a single dropdown that includes an Off state, so output behavior is clearer and faster to configure. Clarify Meta-key behavior by showing Cmd+Enter on macOS and Super+Enter on Windows/Linux, with matching localized copy.

Co-authored-by: Cursor <cursoragent@cursor.com>

* use bindings generated on macos

* and translations.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: CJ Pais <cj@cjpais.com>
2026-02-11 10:55:31 +08:00

519 lines
28 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"tray": {
"settings": "Настройки...",
"checkUpdates": "Проверить обновления...",
"copyLastTranscript": "Скопировать последнюю транскрипцию",
"unloadModel": "Выгрузить модель",
"quit": "Выход",
"cancel": "Отмена"
},
"sidebar": {
"general": "Общие",
"models": "Модели",
"advanced": "Продвинутые",
"postProcessing": "Постобработка",
"history": "История",
"debug": "Отладка",
"about": "О программе"
},
"onboarding": {
"subtitle": "Для начала выберите модель транскрипции",
"recommended": "Рекомендуется",
"download": "Скачать",
"downloading": "Загрузка...",
"customModelDescription": "Официально не поддерживается",
"downloadFailed": "Загрузка не удалась. Пожалуйста, попробуйте снова.",
"modelCard": {
"accuracy": "точность",
"speed": "скорость"
},
"models": {
"small": {
"name": "Whisper Small",
"description": "Быстро и достаточно точно."
},
"medium": {
"name": "Whisper Medium",
"description": "Хорошая точность, средняя скорость."
},
"turbo": {
"name": "Whisper Turbo",
"description": "Сбалансированная точность и скорость."
},
"large": {
"name": "Whisper Large",
"description": "Хорошая точность, но медленная."
},
"parakeet-tdt-0.6b-v2": {
"name": "Parakeet V2",
"description": "Только английский. Лучшая модель для англоговорящих."
},
"parakeet-tdt-0.6b-v3": {
"name": "Parakeet V3",
"description": "Быстро и точно"
},
"moonshine-base": {
"name": "Moonshine Base",
"description": "Very fast, English only. Handles accents well."
}
},
"errors": {
"loadModels": "Не удалось загрузить доступные модели.",
"downloadModel": "Не удалось загрузить модель: {{error}}."
},
"permissions": {
"title": "Требуются разрешения",
"description": "Handy требуются некоторые разрешения для корректной работы.",
"microphone": {
"title": "Доступ к микрофону",
"description": "Необходим для прослушивания вашего голоса для транскрипции."
},
"accessibility": {
"title": "Доступ к универсальному доступу",
"description": "Необходим для ввода расшифрованного текста в ваши приложения."
},
"grant": "Предоставить разрешение",
"granted": "Предоставлено",
"waiting": "Ожидание...",
"allGranted": "Всё готово!",
"errors": {
"checkFailed": "Не удалось проверить разрешения. Пожалуйста, попробуйте снова.",
"requestFailed": "Не удалось запросить разрешение. Пожалуйста, попробуйте снова."
}
}
},
"modelSelector": {
"custom": "Пользовательская",
"active": "Активный",
"switching": "Переключение...",
"noModelsAvailable": "Нет доступных моделей",
"extracting": "Извлечение {{modelName}}...",
"extractingMultiple": "Извлечение моделей {{count}}...",
"extractingGeneric": "Извлечение...",
"downloading": "Загрузка {{percentage}} %",
"downloadingMultiple": "Загрузка моделей {{count}}...",
"modelReady": "Модель готова",
"loading": "Загрузка {{modelName}}...",
"loadingGeneric": "Загрузка...",
"modelError": "Ошибка модели",
"modelUnloaded": "Модель выгружена",
"noModelDownloadRequired": "Нет модели требуется загрузка",
"deleteModel": "Удалить {{modelName}}",
"downloadSpeed": "{{speed}} МБ/с",
"capabilities": {
"languageSelection": "Поддерживает несколько языков ввода",
"multiLanguage": "Многоязычный",
"translation": "Может переводить на английский",
"translate": "Перевести на английский",
"singleLanguage": "Поддерживает только этот язык",
"languageOnly": "Только {{language}}"
},
"cancel": "Отмена",
"cancelDownload": "Отменить загрузку"
},
"settings": {
"modelSettings": {
"title": "Настройки {{model}}",
"noSettingsNeeded": "Эта модель работает автоматически без необходимости настройки."
},
"models": {
"title": "Модели транскрипции",
"description": "Выберите модель транскрипции или загрузите дополнительные модели. Разные модели предлагают разные уровни точности и скорости.",
"downloaded": "Загружено",
"available": "Доступно для загрузки",
"deleteConfirm": "Вы уверены, что хотите удалить {{modelName}}? Вам нужно будет загрузить её снова, чтобы использовать.",
"deleteActiveConfirm": "{{modelName}} — ваша активная модель. Удаление остановит транскрипцию, пока вы не выберете новую модель. Вы уверены?",
"deleteTitle": "Удалить модель",
"filters": {
"all": "Все",
"multiLanguage": "Многоязычные",
"translation": "Перевод",
"allLanguages": "Все языки"
},
"noModelsMatch": "Нет моделей, соответствующих этому фильтру.",
"yourModels": "Загруженные модели",
"availableModels": "Доступны для загрузки"
},
"general": {
"title": "Общие",
"shortcut": {
"title": "Ярлыки Handy",
"description": "Настройте сочетания клавиш для запуска записи речи в текст",
"loading": "Загрузка ярлыков...",
"none": "Ярлыки не настроены",
"notFound": "Ярлык не найден",
"pressKeys": "Нажимайте клавиши...",
"bindings": {
"transcribe": {
"name": "Горячая клавиша транскрипции",
"description": "Сочетание клавиш для записи и транскрибирования вашего голоса."
},
"cancel": {
"name": "Горячая клавиша отмены",
"description": "Сочетание клавиш для отмены текущей записи."
},
"transcribe_with_post_process": {
"name": "Горячая клавиша постобработки",
"description": "Необязательно: Специальная горячая клавиша, которая всегда применяет AI-постобработку к вашей транскрипции."
}
},
"errors": {
"restore": "Не удалось восстановить исходный ярлык",
"set": "Не удалось установить ярлык: {{error}}",
"reset": "Не удалось сбросить ярлык до исходного значения"
}
},
"language": {
"title": "Язык",
"description": "Выберите язык для распознавания речи. «Авто» автоматически определит язык, а выбор конкретного языка может повысить точность определения этого языка.",
"descriptionUnsupported": "Модель Parakeet автоматически определяет язык. Ручной выбор не требуется.",
"searchPlaceholder": "Поиск языков...",
"noResults": "Языки не найдены",
"auto": "Авто"
},
"pushToTalk": {
"label": "Нажми и говори",
"description": "Удерживайте, чтобы записать, отпустите, чтобы остановить"
}
},
"sound": {
"title": "Звук",
"microphone": {
"title": "Микрофон",
"description": "Выберите предпочитаемое микрофонное устройство",
"placeholder": "Выбрать микрофон...",
"loading": "Загрузка..."
},
"audioFeedback": {
"label": "Аудио обратная связь",
"description": "Воспроизведение звука при запуске и остановке записи"
},
"outputDevice": {
"title": "Устройство вывода",
"description": "Выберите предпочитаемое устройство вывода звука для звуков обратной связи",
"placeholder": "Выберите устройство вывода...",
"loading": "Загрузка..."
},
"volume": {
"title": "Объем",
"description": "Отрегулируйте громкость звуков звуковой обратной связи"
}
},
"advanced": {
"title": "Продвинутые",
"groups": {
"app": "Приложение",
"output": "Вывод",
"transcription": "Транскрипция",
"history": "История",
"experimental": "Экспериментальное"
},
"experimentalToggle": {
"label": "Экспериментальные функции",
"description": "Включить экспериментальные функции, которые находятся в разработке."
},
"startHidden": {
"label": "Запускать скрыто",
"description": "Запускать в системный трей, не открывая окно."
},
"autostart": {
"label": "Запуск при запуске",
"description": "Автоматически запускать Handy при входе в систему."
},
"showTrayIcon": {
"label": "Показать значок в трее",
"description": "Отображать значок Handy в системном трее."
},
"overlay": {
"title": "Позиция наложения",
"description": "Отображение наложения визуальной обратной связи во время записи и транскрипции. В Linux рекомендуется выбрать «Нет».",
"options": {
"none": "Нет",
"bottom": "Снизу",
"top": "Сверху"
}
},
"pasteMethod": {
"title": "Метод вставки",
"description": "Выбрать способ вставки текста. Прямой: имитирует набор текста через системный ввод. Нет: пропуск вставки, обновление только истории/буфера обмена.",
"options": {
"clipboard": "Буфер обмена ({{modifier}}+V)",
"clipboardCtrlShiftV": "Буфер обмена (Ctrl+Shift+V)",
"clipboardShiftInsert": "Буфер обмена (Shift+Insert)",
"direct": "Прямой",
"none": "Нет"
}
},
"clipboardHandling": {
"title": "Обработка буфера обмена",
"description": "Функция «Не изменять буфер обмена» сохраняет текущее содержимое буфера обмена после транскрипции. Копировать в буфер обмена оставляет результат транскрипции в буфере обмена после вставки.",
"options": {
"dontModify": "Не изменять буфер обмена",
"copyToClipboard": "Копировать в буфер обмена"
}
},
"autoSubmit": {
"title": "Автоматическая отправка",
"description": "Автоматически отправляет выбранную комбинацию клавиш после вставки текста. Cmd+Enter применяется на macOS, а Windows/Linux используют Super+Enter.",
"options": {
"off": "Выкл.",
"enter": "Enter",
"cmdEnter": "Cmd+Enter",
"superEnter": "Super+Enter",
"ctrlEnter": "Ctrl+Enter"
}
},
"translateToEnglish": {
"label": "Перевести на английский",
"description": "Автоматически переводить речь с других языков на английский во время транскрипции.",
"descriptionUnsupported": "Перевод не поддерживается моделью {{model}}."
},
"modelUnload": {
"title": "Выгрузить модель",
"description": "Автоматически освобождать память графического процессора/процессора, если модель не использовалась в течение указанного времени.",
"options": {
"never": "Никогда",
"immediately": "Немедленно",
"min2": "Через 2 минуты",
"min5": "Через 5 минут",
"min10": "Через 10 минут",
"min15": "Через 15 минут",
"hour1": "Через 1 час",
"sec5": "Через 5 секунд (отладка)"
}
},
"customWords": {
"title": "Пользовательские слова",
"description": "Добавить слова, которые часто неправильно слышатся или пишутся с ошибками во время транскрипции. Система автоматически исправит похожие по звучанию слова, чтобы они соответствовали вашему списку.",
"placeholder": "Добавить слово",
"add": "Добавлять",
"remove": "Удалить {{word}}"
}
},
"postProcessing": {
"title": "Постобработка",
"hotkey": {
"title": "Горячая клавиша"
},
"api": {
"title": "API (совместимый с OpenAI)",
"provider": {
"title": "Поставщик",
"description": "Выберите поставщика, совместимого с OpenAI."
},
"appleIntelligence": {
"title": "Apple Интеллект",
"description": "Полностью работает на устройстве. Никакой ключ API или доступ к сети не требуется.",
"requirements": "Требуется Apple Silicon Mac под управлением macOS Tahoe (26.0) или более поздней версии. Apple Intelligence должен быть включен в настройках системы.",
"unavailable": "Apple Intelligence недоступен на этом устройстве. Требуется Apple Silicon Mac под управлением macOS Tahoe (26.0) или более поздней версии с включенным Apple Intelligence в настройках системы."
},
"baseUrl": {
"title": "Базовый URL",
"description": "Базовый URL-адрес API для выбранного провайдера. Редактировать можно только настраиваемого поставщика.",
"placeholder": "https://api.openai.com/v1"
},
"apiKey": {
"title": "API-ключ",
"description": "API-ключ для выбранного провайдера.",
"placeholder": "sk-..."
},
"model": {
"title": "Модель",
"descriptionApple": "Укажите дополнительный числовой лимит токенов или сохраните настройки по умолчанию, установленные на устройстве.",
"descriptionCustom": "Укажите идентификатор модели, ожидаемый вашей пользовательской конечной точкой.",
"descriptionDefault": "Выберите модель, предоставляемую выбранным поставщиком.",
"placeholderApple": "Apple Интеллект",
"placeholderWithOptions": "Найдите или выберите модель",
"placeholderNoOptions": "Введите название модели",
"refreshModels": "Обновить модели"
}
},
"prompts": {
"title": "Быстрый",
"selectedPrompt": {
"title": "Выбранная подсказка",
"description": "Выберите шаблон для уточнения транскрипции или создайте новый. Используйте ${output} внутри текста приглашения для ссылки на записанную стенограмму."
},
"noPrompts": "Нет доступных подсказок",
"selectPrompt": "Выберите подсказку",
"createNew": "Создать новую подсказку",
"promptLabel": "Подскажите этикетку",
"promptLabelPlaceholder": "Введите имя подсказки",
"promptInstructions": "Оперативная инструкция",
"promptInstructionsPlaceholder": "Напишите инструкции для запуска после транскрипции. Пример. Улучшите грамматику и ясность следующего текста: ${output}",
"promptTip": "Совет. Используйте <code>${output}</code>, чтобы вставить расшифрованный текст в приглашение.",
"updatePrompt": "Обновить запрос",
"deletePrompt": "Удалить подсказку",
"createPrompt": "Создать подсказку",
"cancel": "Отмена",
"selectToEdit": "Выберите приглашение выше, чтобы просмотреть и изменить его сведения.",
"createFirst": "Нажмите «Создать новое приглашение» выше, чтобы создать первое приглашение для постобработки."
}
},
"history": {
"title": "История",
"openFolder": "Открыть папку с записями",
"loading": "Загрузка истории...",
"empty": "Транскрипций пока нет. Начните запись, чтобы создать свою историю!",
"copyToClipboard": "Скопировать транскрипцию в буфер обмена",
"save": "Сохранить транскрипцию",
"unsave": "Удалить из сохраненных",
"delete": "Удалить запись",
"deleteError": "Не удалось удалить запись. Пожалуйста, попробуйте еще раз."
},
"debug": {
"title": "Отлаживать",
"logDirectory": {
"title": "Каталог журналов",
"description": "Место хранения файлов журналов"
},
"logLevel": {
"title": "Уровень журнала",
"description": "Установите уровень детализации журнала"
},
"updateChecks": {
"label": "Проверьте наличие обновлений",
"description": "Автоматически проверять наличие новых версий Handy"
},
"soundTheme": {
"label": "Звуковая тема",
"description": "Выберите звуковую тему для начала и остановки записи обратной связи."
},
"wordCorrectionThreshold": {
"title": "Порог исправления слов",
"description": "Чувствительность к пользовательским исправлениям слов"
},
"historyLimit": {
"title": "Предел истории",
"description": "Максимальное количество записей истории, которые можно сохранить",
"entries": "записи"
},
"recordingRetention": {
"title": "Автоматическое удаление записей",
"description": "Автоматически удаляйте старые записи для экономии места",
"never": "Никогда",
"preserveLimit": "Сохраняйте последнюю версию {{count}}",
"days3": "Через 3 дня",
"weeks2": "Через 2 недели",
"months3": "Через 3 месяца",
"placeholder": "Выберите срок хранения..."
},
"alwaysOnMicrophone": {
"label": "Всегда включенный микрофон",
"description": "Держите микрофон активным для более быстрого ответа"
},
"clamshellMicrophone": {
"title": "Раскладной микрофон",
"description": "Микрофон для использования при закрытой крышке ноутбука"
},
"postProcessingToggle": {
"label": "Постобработка",
"description": "Включить уточнение текста с помощью искусственного интеллекта после транскрипции"
},
"muteWhileRecording": {
"label": "Отключить звук во время записи",
"description": "Отключение звука системы во время записи"
},
"appendTrailingSpace": {
"label": "Добавить конечный пробел",
"description": "Добавить пробел после вставленной транскрипции"
},
"keyboardImplementation": {
"title": "Keyboard Implementation",
"description": "Choose the keyboard shortcut backend.",
"bindingsReset": "Keyboard shortcuts were incompatible and reset to defaults"
},
"paths": {
"appData": "Данные приложения:",
"models": "Модели:",
"settings": "Настройки:"
},
"pasteDelay": {
"title": "Задержка вставки",
"description": "Задержка перед отправкой нажатия клавиши вставки (в миллисекундах). Увеличьте, если вставляется неправильный текст."
}
},
"about": {
"title": "О программе",
"version": {
"title": "Версия",
"description": "Текущая версия Handy"
},
"appDataDirectory": {
"title": "Каталог данных приложения",
"description": "Место, где Handy хранит свои данные"
},
"sourceCode": {
"title": "Исходный код",
"description": "Просмотреть исходный код и внести свой вклад",
"button": "Посмотреть на GitHub"
},
"supportDevelopment": {
"title": "Поддержка развития",
"description": "Помогите нам продолжить создание Handy",
"button": "Пожертвовать"
},
"acknowledgments": {
"title": "Благодарности",
"whisper": {
"title": "Whisper.cpp",
"description": "Высокопроизводительный вывод модели автоматического распознавания речи OpenAI Whisper",
"details": "Handy использует Whisper.cpp для быстрой локальной обработки речи в текст. Спасибо великолепной работе Георгия Герганова и его участников."
}
}
}
},
"footer": {
"downloadingModel": "Загрузка {{model}}...",
"checkingUpdates": "Проверяем наличие обновлений...",
"updateAvailable": "Доступно обновление: {{version}}",
"updateAvailableShort": "Доступно обновление",
"upToDate": "Не требует обновлений",
"downloadUpdate": "Скачать обновление",
"restart": "Перезапуск",
"updateCheckingDisabled": "Проверка обновлений отключена",
"downloading": "Загрузка... {{progress}} %",
"installing": "Установка...",
"preparing": "Подготовка...",
"checkForUpdates": "Проверьте наличие обновлений"
},
"common": {
"loading": "Загрузка...",
"save": "Сохранять",
"cancel": "Отмена",
"reset": "Перезагрузить",
"add": "Добавлять",
"remove": "Удалять",
"delete": "Удалить",
"edit": "Редактировать",
"create": "Создавать",
"update": "Обновлять",
"close": "Закрывать",
"open": "Открыть",
"default": "По умолчанию",
"enabled": "Включено",
"disabled": "Неполноценный",
"on": "На",
"off": "Выключенный",
"yes": "Да",
"no": "Нет",
"noOptionsFound": "Вариантов не найдено"
},
"accessibility": {
"permissionsRequired": "Требуются разрешения на доступ",
"permissionsDescription": "Handy необходимы разрешения на доступ для ввода расшифрованного текста.",
"openSettings": "Открыть настройки системы",
"dismiss": "Увольнять"
},
"errors": {
"loadDirectory": "Ошибка загрузки каталога: {{error}}."
},
"appLanguage": {
"title": "Язык приложения",
"description": "Изменить языка интерфейса Handy"
},
"overlay": {
"transcribing": "Расшифровка...",
"processing": "Обработка..."
}
}