mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-27 21:08:00 +00:00
Co-authored-by: sanil-23 <sanil@alphahuman.xyz> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: sanil-23 <sanil@vezures.xyz> Co-authored-by: cyrus@tinyhumans.ai <cyrus@tinyhumans.ai> Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
972 lines
75 KiB
TypeScript
972 lines
75 KiB
TypeScript
import type { TranslationMap } from '../types';
|
||
|
||
// Russian (Русский) chunk 5/5. Translated from chunks/en-5.ts.
|
||
const ru5: TranslationMap = {
|
||
'settings.billing.subscription.save': '{pct}',
|
||
'settings.billing.subscription.upgrade': 'Улучшить',
|
||
'settings.billing.subscription.waiting': 'Ожидание',
|
||
'settings.billing.subscription.waitingPayment': 'Ожидание оплаты',
|
||
'settings.composio.apiKeyDesc': 'API-ключ Composio сейчас сохранён на этом устройстве.',
|
||
'settings.composio.apiKeyLabel': 'API-ключ Composio',
|
||
'settings.composio.apiKeyStored': 'API-ключ сохранён',
|
||
'settings.composio.apiKeyStoredPlaceholder': '••••••••••••••••',
|
||
'settings.composio.clearedToBackend': 'Переключено в режим Backend',
|
||
'settings.composio.confirmItem1': 'Аккаунт на app.composio.dev с API-ключом',
|
||
'settings.composio.confirmItem2':
|
||
'Заново привязать каждую интеграцию через ваш личный аккаунт Composio',
|
||
'settings.composio.confirmItem3':
|
||
'Примечание: триггеры Composio (вебхуки в реальном времени) пока не работают в прямом режиме — только синхронные вызовы инструментов',
|
||
'settings.composio.confirmNeedItems': 'Вам понадобится:',
|
||
'settings.composio.confirmSwitch': 'Понятно, переключить на «Прямой»',
|
||
'settings.composio.confirmTitle': '⚠️ Переключение на прямой режим',
|
||
'settings.composio.confirmWarning':
|
||
'Ваши существующие интеграции (Gmail, Slack, GitHub и т. д., привязанные через OpenHuman) не будут видны — они находятся в управляемом OpenHuman тенанте Composio.',
|
||
'settings.composio.intro':
|
||
'Composio интегрирует 250+ внешних приложений как инструменты, которые может вызывать ваш агент. Выберите способ маршрутизации этих вызовов.',
|
||
'settings.composio.modeDirect': 'Прямой (собственный API-ключ)',
|
||
'settings.composio.modeDirectDesc':
|
||
'Вызовы идут напрямую на backend.composio.dev. Суверенно и подходит для офлайн. Выполнение инструментов работает синхронно; вебхуки триггеров в реальном времени пока не маршрутизируются в прямом режиме (см. отдельную задачу).',
|
||
'settings.composio.modeManaged': 'Управляемый (OpenHuman управляет за тебя)',
|
||
'settings.composio.modeManagedDesc':
|
||
'OpenHuman проксирует вызовы инструментов через наш бэкенд (рекомендуется). Авторизация брокеруется; вам не нужно вставлять API-ключ Composio. Вебхуки полностью маршрутизируются.',
|
||
'settings.composio.routingMode': 'Режим маршрутизации',
|
||
'settings.composio.saveErrorNoKey':
|
||
'Не удалось сохранить. Прямой режим требует непустой API-ключ.',
|
||
'settings.composio.saving': 'Сохранение…',
|
||
'settings.composio.switching': 'Переключение…',
|
||
'settings.cron.jobs.desc': 'Описание',
|
||
'settings.cron.jobs.empty': 'Заданий по расписанию не найдено.',
|
||
'settings.cron.jobs.lastStatus': 'Последний статус',
|
||
'settings.cron.jobs.loading': 'Загрузка заданий...',
|
||
'settings.cron.jobs.loadingRuns': 'Загрузка запусков',
|
||
'settings.cron.jobs.nextRun': 'Следующий запуск',
|
||
'settings.cron.jobs.pause': 'Приостановить',
|
||
'settings.cron.jobs.paused': 'Приостановлено',
|
||
'settings.cron.jobs.recentRuns': 'Последние запуски',
|
||
'settings.cron.jobs.removing': 'Удаление',
|
||
'settings.cron.jobs.resume': 'Возобновить',
|
||
'settings.cron.jobs.runningNow': 'Выполняется сейчас',
|
||
'settings.cron.jobs.saving': 'Сохранение…',
|
||
'settings.cron.jobs.schedule': 'Расписание',
|
||
'settings.cron.jobs.title': 'Задания ядра по расписанию',
|
||
'settings.cron.jobs.viewRuns': 'Посмотреть запуски',
|
||
'settings.localModel.deviceCapability.active': 'Активно',
|
||
'settings.localModel.deviceCapability.appliedTier': 'Применённый уровень',
|
||
'settings.localModel.deviceCapability.applying': 'Применение',
|
||
'settings.localModel.deviceCapability.cores': '{count}',
|
||
'settings.localModel.deviceCapability.couldNotLoadPresets': 'Не удалось загрузить пресеты',
|
||
'settings.localModel.deviceCapability.cpu': 'CPU',
|
||
'settings.localModel.deviceCapability.customModelIds': 'Пользовательские ID моделей',
|
||
'settings.localModel.deviceCapability.detected': 'Обнаружено',
|
||
'settings.localModel.deviceCapability.disabled': 'Отключено',
|
||
'settings.localModel.deviceCapability.disabledDesc': 'Отключено',
|
||
'settings.localModel.deviceCapability.downloadingModels': '(загрузка моделей)',
|
||
'settings.localModel.deviceCapability.downloadingSetupDesc':
|
||
'Загрузка установщика OllamaSetup (~2 ГБ) и распаковка. При первой установке это может занять минуту.',
|
||
'settings.localModel.deviceCapability.failedToApplyPreset': 'Не удалось применить пресет',
|
||
'settings.localModel.deviceCapability.gpu': 'GPU',
|
||
'settings.localModel.deviceCapability.installFailed': 'Установка Ollama не удалась',
|
||
'settings.localModel.deviceCapability.installFailedDesc':
|
||
'Установщик завершил работу до того, как Ollama стала готова к использованию. Нажми «Повторить» или установи вручную с ollama.com.',
|
||
'settings.localModel.deviceCapability.installFirst': 'Сначала запустите Ollama.',
|
||
'settings.localModel.deviceCapability.installFirstDesc':
|
||
'Локальные уровни зависят от внешне управляемого эндпоинта Ollama. Запустите его самостоятельно, загрузите нужные модели и используйте «Отключено (облачный fallback)», пока среда выполнения недоступна.',
|
||
'settings.localModel.deviceCapability.installOllamaFirst':
|
||
'Сначала запустите Ollama, чтобы использовать этот уровень',
|
||
'settings.localModel.deviceCapability.installingOllama': 'Установка Ollama',
|
||
'settings.localModel.deviceCapability.loadingDeviceInfo': 'Загрузка информации об устройстве',
|
||
'settings.localModel.deviceCapability.localAiDisabled':
|
||
'Локальный AI отключён — используется облачный резерв.',
|
||
'settings.localModel.deviceCapability.modelTier': 'Уровень модели',
|
||
'settings.localModel.deviceCapability.needsOllama': 'Требуется Ollama',
|
||
'settings.localModel.deviceCapability.notDetected': 'Не обнаружено',
|
||
'settings.localModel.deviceCapability.ram': 'RAM',
|
||
'settings.localModel.deviceCapability.recommended': 'Рекомендуется',
|
||
'settings.localModel.deviceCapability.retryInstall': 'Повтор…',
|
||
'settings.localModel.deviceCapability.retrying': 'Повтор…',
|
||
'settings.localModel.deviceCapability.starting': 'Запуск…',
|
||
'settings.localModel.download.audioPathPlaceholder': 'Абсолютный путь к аудиофайлу',
|
||
'settings.localModel.download.capabilityAssets': 'Ресурсы возможностей',
|
||
'settings.localModel.download.downloading': 'Загрузка...',
|
||
'settings.localModel.download.embeddingPlaceholder': 'По одной строке на вход...',
|
||
'settings.localModel.download.noThinkMode': 'Без режима обдумывания',
|
||
'settings.localModel.download.promptPlaceholder':
|
||
'Введи любой запрос для тестирования локальной модели...',
|
||
'settings.localModel.download.quantizationPref': 'Предпочтения квантизации',
|
||
'settings.localModel.download.runEmbeddingTest': 'Выполнение...',
|
||
'settings.localModel.download.runPromptTest': 'Запустить тест промпта',
|
||
'settings.localModel.download.runSummaryTest': 'Запустить тест сводки',
|
||
'settings.localModel.download.runTranscriptionTest': 'Выполнение...',
|
||
'settings.localModel.download.runTtsTest': 'Выполнение...',
|
||
'settings.localModel.download.runVisionTest': 'Выполнение...',
|
||
'settings.localModel.download.running': 'Выполнение...',
|
||
'settings.localModel.download.runningPrompt': 'Выполнение запроса',
|
||
'settings.localModel.download.summarizePlaceholder':
|
||
'Вставь текст для суммаризации локальной моделью...',
|
||
'settings.localModel.download.testCustomPrompt': 'Тест произвольного запроса',
|
||
'settings.localModel.download.testEmbeddings': 'Тест векторных вложений',
|
||
'settings.localModel.download.testSummarization': 'Тест суммаризации',
|
||
'settings.localModel.download.testVisionPrompt': 'Тест визуального запроса',
|
||
'settings.localModel.download.testVoiceInput': 'Тест голосового ввода (STT)',
|
||
'settings.localModel.download.testVoiceOutput': 'Тест голосового вывода (TTS)',
|
||
'settings.localModel.download.ttsOutputPlaceholder': 'Необязательный путь к выходному WAV-файлу',
|
||
'settings.localModel.download.ttsPlaceholder': 'Введи текст для синтеза...',
|
||
'settings.localModel.download.visionImagePlaceholder':
|
||
'По одной ссылке на изображение на строку (data URI, URL или локальный маркер пути)',
|
||
'settings.localModel.download.visionPromptPlaceholder': 'Введи запрос для визуальной модели...',
|
||
'settings.localModel.status.allChecksPassed': 'Все проверки пройдены',
|
||
'settings.localModel.status.artifact': 'Артефакт',
|
||
'settings.localModel.status.backend': 'Бэкенд',
|
||
'settings.localModel.status.binary': 'Бинарный файл',
|
||
'settings.localModel.status.bootstrapResume': 'Инициализация / возобновление',
|
||
'settings.localModel.status.checking': 'Проверка...',
|
||
'settings.localModel.status.checkingOllama': 'Проверка Ollama',
|
||
'settings.localModel.status.customLocation': 'Пользовательский путь',
|
||
'settings.localModel.status.customLocationDesc': 'Описание пользовательского расположения',
|
||
'settings.localModel.status.diagnosticsHint':
|
||
'Нажмите «Запустить диагностику», чтобы убедиться, что Ollama запущен и модели установлены.',
|
||
'settings.localModel.status.downloadingUnknown': 'Загрузка (размер неизвестен)',
|
||
'settings.localModel.status.eta': 'ETA',
|
||
'settings.localModel.status.expectedModels': 'Ожидаемые модели',
|
||
'settings.localModel.status.forceRebootstrap': 'Принудительная переинициализация',
|
||
'settings.localModel.status.generationTps': 'Скорость генерации (TPS)',
|
||
'settings.localModel.status.hideErrorDetails': 'Скрыть детали ошибки',
|
||
'settings.localModel.status.installManually': 'Установить вручную',
|
||
'settings.localModel.status.installManuallyFrom': 'Установить вручную с',
|
||
'settings.localModel.status.installOllama': 'Запуск…',
|
||
'settings.localModel.status.installedModels': 'Установленные модели',
|
||
'settings.localModel.status.installing': 'Установка...',
|
||
'settings.localModel.status.installingOllama': 'Установка среды Ollama...',
|
||
'settings.localModel.status.issues': 'Проблемы',
|
||
'settings.localModel.status.issuesFound': 'Найдено проблем: {count}',
|
||
'settings.localModel.status.lastLatency': 'Последняя задержка',
|
||
'settings.localModel.status.model': 'Модель',
|
||
'settings.localModel.status.notFound': 'Не найдено',
|
||
'settings.localModel.status.notRunning': 'Не запущено',
|
||
'settings.localModel.status.ollamaBinaryPath': 'Путь к бинарному файлу Ollama',
|
||
'settings.localModel.status.ollamaDiagnostics': 'Диагностика Ollama',
|
||
'settings.localModel.status.ollamaNotInstalled': 'Среда выполнения Ollama недоступна',
|
||
'settings.localModel.status.ollamaNotInstalledDesc':
|
||
'OpenHuman теперь рассматривает Ollama как внешнюю среду инференса. Запустите собственный сервер Ollama, загрузите нужные модели и направьте маршрутизацию нагрузки на него.',
|
||
'settings.localModel.status.progress': 'Прогресс',
|
||
'settings.localModel.status.provider': 'Провайдер',
|
||
'settings.localModel.status.retryBootstrap': 'Повторить Bootstrap',
|
||
'settings.localModel.status.runDiagnostics': 'Проверка...',
|
||
'settings.localModel.status.running': 'Работает',
|
||
'settings.localModel.status.runningExternalProcess': 'Запущено через внешний процесс',
|
||
'settings.localModel.status.runtimeStatus': 'Статус среды выполнения',
|
||
'settings.localModel.status.server': 'Сервер',
|
||
'settings.localModel.status.setPath': 'Установка...',
|
||
'settings.localModel.status.setting': 'Установка...',
|
||
'settings.localModel.status.showErrorDetails': 'Скрыть детали ошибки',
|
||
'settings.localModel.status.showInstallErrorDetails': 'Скрыть детали ошибки',
|
||
'settings.localModel.status.suggestedFixes': 'Предлагаемые исправления',
|
||
'settings.localModel.status.thenSetPath': 'Затем укажи путь',
|
||
'settings.localModel.status.triggering': 'Запуск...',
|
||
'settings.localModel.status.unavailable': 'Недоступно',
|
||
'settings.localModel.status.working': 'Работаю...',
|
||
'settings.developerMenu.ai.title': 'Конфигурация ИИ',
|
||
'settings.developerMenu.ai.desc':
|
||
'Облачные провайдеры, локальные модели Ollama и маршрутизация по типам нагрузки',
|
||
'settings.developerMenu.screenAwareness.title': 'Осведомленность об экране',
|
||
'settings.developerMenu.screenAwareness.desc':
|
||
'Разрешения на захват экрана, политика мониторинга и управление сессиями',
|
||
'settings.developerMenu.messagingChannels.title': 'Каналы сообщений',
|
||
'settings.developerMenu.messagingChannels.desc':
|
||
'Настройка режимов аутентификации Telegram/Discord и маршрутизации канала по умолчанию',
|
||
'settings.developerMenu.tools.title': 'Инструменты',
|
||
'settings.developerMenu.tools.desc':
|
||
'Включайте или отключайте возможности, которые OpenHuman может использовать от вашего имени',
|
||
'settings.developerMenu.agentChat.title': 'Чат агента',
|
||
'settings.developerMenu.agentChat.desc':
|
||
'Тестируйте разговор агента с переопределениями модели и температуры',
|
||
'settings.developerMenu.devWorkflow.title': 'Dev Workflow',
|
||
'settings.developerMenu.devWorkflow.desc':
|
||
'Autonomous agent that picks your GitHub issues and raises PRs on a schedule',
|
||
'settings.developerMenu.devWorkflow.panelDesc':
|
||
'Configure an autonomous developer agent that picks GitHub issues assigned to you and raises pull requests automatically on a schedule.',
|
||
'settings.devWorkflow.githubRepository': 'GitHub Repository',
|
||
'settings.devWorkflow.loadingRepositories': 'Loading repositories...',
|
||
'settings.devWorkflow.selectRepository': 'Select a repository',
|
||
'settings.devWorkflow.privateTag': '(private)',
|
||
'settings.devWorkflow.detectingForkInfo': 'Detecting fork info...',
|
||
'settings.devWorkflow.forkDetected': 'Fork detected',
|
||
'settings.devWorkflow.upstream': 'Upstream:',
|
||
'settings.devWorkflow.forkPrNote': 'PRs will be raised against the upstream repository.',
|
||
'settings.devWorkflow.notForkNote':
|
||
'Not a fork. PRs will be raised against this repository directly.',
|
||
'settings.devWorkflow.targetBranch': 'Target Branch',
|
||
'settings.devWorkflow.targetBranchNote': 'PRs will be raised against this branch',
|
||
'settings.devWorkflow.loadingBranches': 'Loading branches...',
|
||
'settings.devWorkflow.runFrequency': 'Run Frequency',
|
||
'settings.devWorkflow.runFrequencyNote':
|
||
'How often the agent should check for issues and raise PRs.',
|
||
'settings.devWorkflow.updateConfiguration': 'Update Configuration',
|
||
'settings.devWorkflow.saveConfiguration': 'Save Configuration',
|
||
'settings.devWorkflow.remove': 'Remove',
|
||
'settings.devWorkflow.saved': 'Saved',
|
||
'settings.devWorkflow.activeConfiguration': 'Active Configuration',
|
||
'settings.devWorkflow.activeConfigRepository': 'Repository:',
|
||
'settings.devWorkflow.activeConfigUpstream': 'Upstream:',
|
||
'settings.devWorkflow.activeConfigTargetBranch': 'Target branch:',
|
||
'settings.devWorkflow.activeConfigSchedule': 'Schedule:',
|
||
'settings.devWorkflow.enabled': 'Enabled',
|
||
'settings.devWorkflow.paused': 'Paused',
|
||
'settings.skillsRunner.scheduleEnabled': 'Enabled',
|
||
'settings.skillsRunner.scheduleDisabled': 'Paused',
|
||
'settings.skillsRunner.scheduleToggleAria': 'Toggle schedule enabled',
|
||
'settings.skillsRunner.schedule.history': 'History',
|
||
'settings.skillsRunner.schedule.historyLoading': 'Loading history\u2026',
|
||
'settings.skillsRunner.schedule.historyEmpty': 'No runs yet for this schedule.',
|
||
'settings.skillsRunner.schedule.historyNoOutput': 'No output captured.',
|
||
'settings.skillsRunner.schedule.active': 'Active',
|
||
'settings.skillsRunner.schedule.lastRunLabel': 'last:',
|
||
'settings.devWorkflow.nextRun': 'Next run',
|
||
'settings.devWorkflow.lastRun': 'Last run',
|
||
'settings.devWorkflow.runNow': 'Run now',
|
||
'settings.devWorkflow.running': 'Running…',
|
||
'settings.devWorkflow.recentRuns': 'Recent runs',
|
||
'settings.devWorkflow.cronSaveError': 'Failed to save configuration',
|
||
'settings.devWorkflow.lastOutput': 'Last output',
|
||
'settings.devWorkflow.noOutput': 'No output captured',
|
||
'settings.devWorkflow.runningStatus':
|
||
'Agent is running — picking an issue and working on a fix...',
|
||
'settings.devWorkflow.errorNotConnected':
|
||
'GitHub is not connected. Please connect GitHub via Settings > Advanced > Composio first.',
|
||
'settings.devWorkflow.errorToolNotEnabled':
|
||
'GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER tool is not enabled on this backend. Please ask your admin to enable it in the Composio integration (backend#842).',
|
||
'settings.devWorkflow.errorNotAuthenticated': 'Not authenticated. Please sign in first.',
|
||
'settings.devWorkflow.errorNoRepositories': 'No repositories found for this GitHub account.',
|
||
'settings.devWorkflow.schedule.every30min': 'Every 30 minutes',
|
||
'settings.devWorkflow.schedule.everyHour': 'Every hour',
|
||
'settings.devWorkflow.schedule.every2hours': 'Every 2 hours',
|
||
'settings.devWorkflow.schedule.every6hours': 'Every 6 hours',
|
||
'settings.devWorkflow.schedule.onceDaily': 'Once daily (9 AM)',
|
||
'settings.developerMenu.cronJobs.title': 'Задачи cron',
|
||
'settings.developerMenu.cronJobs.desc':
|
||
'Просмотр и настройка запланированных задач для runtime-навыков',
|
||
'settings.developerMenu.localModelDebug.title': 'Отладка локальной модели',
|
||
'settings.developerMenu.localModelDebug.desc':
|
||
'Конфигурация Ollama, загрузка ресурсов, тесты модели и диагностика',
|
||
'settings.developerMenu.webhooks.title': 'Вебхуки',
|
||
'settings.developerMenu.webhooks.desc':
|
||
'Проверяйте регистрации runtime-вебхуков и журналы захваченных запросов',
|
||
'settings.developerMenu.eventLog.title': 'Event Log',
|
||
'settings.developerMenu.eventLog.desc':
|
||
'Live colour-coded stream of all agent, tool, and system events',
|
||
'settings.developerMenu.eventLog.allTypes': 'All types',
|
||
'settings.developerMenu.eventLog.filterAgent': 'Filter...',
|
||
'settings.developerMenu.eventLog.download': 'Download',
|
||
'settings.developerMenu.eventLog.events': 'events',
|
||
'settings.developerMenu.eventLog.live': 'Live',
|
||
'settings.developerMenu.eventLog.disconnected': 'Disconnected',
|
||
'settings.developerMenu.eventLog.waiting': 'Waiting for events...',
|
||
'settings.developerMenu.eventLog.notConnected': 'Not connected to core',
|
||
'settings.developerMenu.eventLog.jumpToLatest': 'Jump to latest',
|
||
'settings.developerMenu.eventLog.badge.tool': 'TOOL',
|
||
'settings.developerMenu.eventLog.badge.agent': 'AGENT',
|
||
'settings.developerMenu.eventLog.badge.info': 'INFO',
|
||
'settings.developerMenu.eventLog.badge.mem': 'MEM',
|
||
'settings.developerMenu.eventLog.badge.chan': 'CHAN',
|
||
'settings.developerMenu.eventLog.badge.cron': 'CRON',
|
||
'settings.developerMenu.eventLog.badge.hook': 'HOOK',
|
||
'settings.developerMenu.eventLog.badge.warn': 'WARN',
|
||
'settings.developerMenu.eventLog.badge.skill': 'SKILL',
|
||
'settings.developerMenu.eventLog.badge.comp': 'COMP',
|
||
'settings.developerMenu.eventLog.badge.mcp': 'MCP',
|
||
'settings.developerMenu.intelligence.title': 'Интеллект',
|
||
'settings.developerMenu.intelligence.desc':
|
||
'Рабочая область памяти, подсознательный движок, сны и настройки',
|
||
'settings.developerMenu.notificationRouting.title': 'Маршрутизация уведомлений',
|
||
'settings.developerMenu.notificationRouting.desc':
|
||
'Оценка важности ИИ и эскалация оркестратору для интеграционных оповещений',
|
||
'settings.developerMenu.composeioTriggers.title': 'Триггеры ComposeIO',
|
||
'settings.developerMenu.composeioTriggers.desc': 'Просмотр истории и архива триггеров ComposeIO',
|
||
'settings.developerMenu.composioRouting.title': 'Маршрутизация Composio (прямой режим)',
|
||
'settings.developerMenu.composioRouting.desc':
|
||
'Используйте собственный API-ключ Composio и направляйте вызовы напрямую в backend.composio.dev',
|
||
'settings.developerMenu.integrationTriggers.title': 'Триггеры интеграций',
|
||
'settings.developerMenu.integrationTriggers.desc':
|
||
'Настройка параметров AI-триажа для триггеров интеграций Composio',
|
||
'settings.appearance.menuDesc': 'Выберите светлую, темную или системную тему',
|
||
'settings.mascot.active': 'Активно',
|
||
'settings.mascot.characterDesc': 'Описание персонажа',
|
||
'settings.mascot.characterHeading': 'Персонаж',
|
||
// TODO: translate custom GIF mascot strings.
|
||
'settings.mascot.customGifError':
|
||
'Введите HTTPS .gif URL, петлевой путь HTTP .gif URL, file:// .gif URL или локальный путь .gif.',
|
||
'settings.mascot.customGifHeading': 'Пользовательский аватар GIF',
|
||
'settings.mascot.customGifLabel': 'Пользовательский аватар GIF URL',
|
||
'settings.mascot.colorDesc': 'Описание цвета',
|
||
'settings.mascot.colorHeading': 'Цвет',
|
||
'settings.mascot.loadingLibrary': 'Загрузка библиотеки OpenHuman…',
|
||
'settings.mascot.localDefault': 'Локальный OpenHuman (по умолчанию)',
|
||
'settings.mascot.menuTitle': 'Маскот',
|
||
'settings.mascot.menuDesc': 'Выберите цвет маскота, используемый во всем приложении',
|
||
'settings.mascot.noCharacters': 'Персонажи OpenHuman пока недоступны',
|
||
'settings.mascot.noColorVariants': 'Нет цветовых вариантов',
|
||
'settings.mascot.voice.current': 'текущий',
|
||
'settings.mascot.voice.customDesc':
|
||
'Идентификаторы голосов можно найти на api.elevenlabs.io/v1/voices или в вашей панели ElevenLabs. Сохраняется только идентификатор — ваш API-ключ остаётся на бэкенде.',
|
||
'settings.mascot.voice.customHeading': 'Пользовательский идентификатор голоса',
|
||
'settings.mascot.voice.customOption': 'Другое (вставить идентификатор голоса)…',
|
||
'settings.mascot.voice.desc':
|
||
'Выберите голос ElevenLabs, который маскот использует для устных ответов. Фильтруйте по полу, выбирайте из подобранного списка, вставьте свой идентификатор или позвольте приложению выбрать голос, соответствующий языку интерфейса.',
|
||
'settings.mascot.voice.genderFemale': 'Женский',
|
||
'settings.mascot.voice.genderHeading': 'Пол голоса',
|
||
'settings.mascot.voice.genderMale': 'Мужской',
|
||
'settings.mascot.voice.heading': 'Голос',
|
||
'settings.mascot.voice.preset': 'Предустановка голоса',
|
||
'settings.mascot.voice.presetHeading': 'Предустановка голоса',
|
||
'settings.mascot.voice.preview': 'Предпросмотр голоса',
|
||
'settings.mascot.voice.previewError': 'Не удалось воспроизвести предпросмотр голоса',
|
||
'settings.mascot.voice.previewing': 'Воспроизведение предпросмотра…',
|
||
'settings.mascot.voice.reset': 'Сбросить к значениям по умолчанию',
|
||
'settings.mascot.voice.useLocaleDefault': 'Соответствовать языку приложения',
|
||
'settings.mascot.voice.useLocaleDefaultDesc':
|
||
'Автоматически выбрать голос для текущего языка интерфейса.',
|
||
'settings.memoryWindow.balanced.badge': 'Рекомендуется',
|
||
'settings.memoryWindow.balanced.hint':
|
||
'Разумное значение по умолчанию — хорошая непрерывность без лишних трат токенов на каждом запуске.',
|
||
'settings.memoryWindow.balanced.label': 'Сбалансированный',
|
||
'settings.memoryWindow.description':
|
||
'Сколько запомненного контекста OpenHuman добавляет в каждый новый запуск агента. Более широкие окна дают ощущение лучшей памяти о прошлых разговорах, но используют больше токенов — и стоят дороже — на каждом запуске.',
|
||
'settings.memoryWindow.extended.badge': 'Больше контекста',
|
||
'settings.memoryWindow.extended.hint':
|
||
'Больше долгосрочной памяти на каждый запуск. Выше расход токенов за ход.',
|
||
'settings.memoryWindow.extended.label': 'Расширенный',
|
||
'settings.memoryWindow.maximum.badge': 'Самый дорогой',
|
||
'settings.memoryWindow.maximum.hint':
|
||
'Самое большое безопасное окно. Лучшая непрерывность, заметно выше расход токенов на каждом запуске.',
|
||
'settings.memoryWindow.maximum.label': 'Максимум',
|
||
'settings.memoryWindow.minimal.badge': 'Самый дешёвый',
|
||
'settings.memoryWindow.minimal.hint':
|
||
'Самое маленькое окно памяти. Дешевле, быстрее, минимальная непрерывность между запусками.',
|
||
'settings.memoryWindow.minimal.label': 'Минимальный',
|
||
'settings.memoryWindow.title': 'Окно долгосрочной памяти',
|
||
'settings.screenIntel.permissions.accessibility': 'Доступность',
|
||
'settings.screenIntel.permissions.grantHint': 'Подсказка по предоставлению',
|
||
'settings.screenIntel.permissions.inputMonitoring': 'Мониторинг ввода',
|
||
'settings.screenIntel.permissions.macosAppliesPrivacy': 'macOS применяет конфиденциальность',
|
||
'settings.screenIntel.permissions.openInputMonitoring': 'Запрос…',
|
||
'settings.screenIntel.permissions.refreshStatus': 'Обновление…',
|
||
'settings.screenIntel.permissions.refreshing': 'Обновление…',
|
||
'settings.screenIntel.permissions.requestAccessibility': 'Запрос…',
|
||
'settings.screenIntel.permissions.requestScreenRecording': 'Запрос…',
|
||
'settings.screenIntel.permissions.requesting': 'Запрос…',
|
||
'settings.screenIntel.permissions.restartRefresh': 'Перезапуск ядра…',
|
||
'settings.screenIntel.permissions.restartingCore': 'Перезапуск ядра…',
|
||
'settings.screenIntel.permissions.screenRecording': 'Запись экрана',
|
||
'settings.screenIntel.permissions.title': 'Разрешения',
|
||
'skills.card.moreActions': 'Ещё действия',
|
||
'skills.create.allowedTools': 'Разрешённые инструменты',
|
||
'skills.create.author': 'Автор',
|
||
'skills.create.authorPlaceholder': 'Твоё имя',
|
||
'skills.create.commaSeparated': '(через запятую)',
|
||
'skills.create.createBtn': 'Создать навык',
|
||
'skills.create.createError': 'Не удалось создать навык',
|
||
'skills.create.creating': 'Создание…',
|
||
'skills.create.description': 'Описание',
|
||
'skills.create.descriptionPlaceholder': 'Что делает этот навык?',
|
||
'skills.create.optional': '(optional)',
|
||
'skills.create.inputs.heading': 'Inputs',
|
||
'skills.create.inputs.help':
|
||
'Declare parameters the skill needs. The Skills Runner will render a form for these at run time.',
|
||
'skills.create.inputs.add': 'Add input',
|
||
'skills.create.inputs.row.name': 'Input name',
|
||
'skills.create.inputs.row.namePlaceholder': 'e.g. repo',
|
||
'skills.create.inputs.row.nameError':
|
||
'Letters, digits, underscores, and dashes only; must start with a letter.',
|
||
'skills.create.inputs.row.description': 'Input description',
|
||
'skills.create.inputs.row.descriptionPlaceholder': 'What goes in this field?',
|
||
'skills.create.inputs.row.type': 'Type',
|
||
'skills.create.inputs.row.required': 'Required',
|
||
'skills.create.inputs.row.remove': 'Remove input',
|
||
'skills.create.inputs.type.string': 'Text',
|
||
'skills.create.inputs.type.integer': 'Number',
|
||
'skills.create.inputs.type.boolean': 'Yes / No',
|
||
'skills.create.license': 'Лицензия',
|
||
'skills.create.name': 'Название',
|
||
'skills.create.namePlaceholder': 'напр. Trade Journal',
|
||
'skills.create.scope': 'Область',
|
||
'skills.create.scopeProjectHint': '/.openhuman/skills/',
|
||
'skills.create.scopeUserHint':
|
||
'Записывается в ~/.openhuman/skills/<slug>/SKILL.md — доступно во всех рабочих пространствах.',
|
||
'skills.create.slugLabel': 'Slug',
|
||
'skills.create.subtitle': 'SKILL.md',
|
||
'skills.create.tags': 'Теги',
|
||
'skills.create.title': 'Новый навык',
|
||
'skills.detail.allowedTools': 'Разрешённые инструменты',
|
||
'skills.detail.author': 'Автор',
|
||
'skills.detail.bundledResources': 'Встроенные ресурсы',
|
||
'skills.detail.closeAriaLabel': 'Закрыть детали навыка',
|
||
'skills.detail.location': 'Расположение',
|
||
'skills.detail.noBundledResources': 'Встроенных ресурсов нет.',
|
||
'skills.detail.tags': 'Теги',
|
||
'skills.detail.warnings': 'Предупреждения',
|
||
'skills.install.fetchLog': 'Получить лог',
|
||
'skills.install.installBtn': 'Установка…',
|
||
'skills.install.installComplete': 'Установка завершена',
|
||
'skills.install.installing': 'Установка…',
|
||
'skills.install.parseWarnings': 'Предупреждения парсинга',
|
||
'skills.install.rawError': 'Необработанная ошибка',
|
||
'skills.install.timeoutHint': '(секунды, необязательно)',
|
||
'skills.install.timeoutLabel': 'Таймаут',
|
||
'skills.install.title': 'Установить навык по URL',
|
||
'skills.install.urlLabel': 'URL навыка',
|
||
'skills.meetingBots.bannerDesc': 'Описание баннера',
|
||
'skills.meetingBots.bannerTitle': 'Заголовок баннера',
|
||
'skills.meetingBots.busyTitle': 'OpenHuman занят',
|
||
'skills.meetingBots.comingSoon': 'Скоро',
|
||
'skills.meetingBots.couldNotStartTitle': 'Не удалось запустить OpenHuman',
|
||
'skills.meetingBots.displayName': 'Отображаемое имя',
|
||
'skills.meetingBots.failedToStart': 'Не удалось запустить OpenHuman.',
|
||
'skills.meetingBots.joiningMessage': 'Он должен появиться как участник через несколько секунд.',
|
||
'skills.meetingBots.joiningTitle': 'OpenHuman подключается к встрече',
|
||
'skills.meetingBots.meetingLink': 'Ссылка на встречу',
|
||
'skills.meetingBots.modalAriaLabel': 'Отправить OpenHuman на встречу',
|
||
'skills.meetingBots.modalDesc': 'Описание окна',
|
||
'skills.meetingBots.modalTitle': 'Отправить OpenHuman на встречу',
|
||
'skills.meetingBots.newBadge': 'Новое',
|
||
'skills.meetingBots.sendTo': 'Отправить',
|
||
'skills.meetingBots.starting': 'Запуск…',
|
||
'skills.resource.preview.closeAriaLabel': 'Закрыть предпросмотр',
|
||
'skills.resource.preview.failed': 'Не удалось показать превью',
|
||
'skills.resource.preview.loading': 'Загрузка предпросмотра…',
|
||
'skills.resource.tree.empty': 'Встроенных ресурсов нет.',
|
||
'skills.search.placeholder': 'Поиск',
|
||
'skills.setup.autocomplete.acceptKey': 'Клавиша принятия',
|
||
'skills.setup.autocomplete.activeDesc': 'Активно',
|
||
'skills.setup.autocomplete.activeTitle': 'Автодополнение активно',
|
||
'skills.setup.autocomplete.customizeSettings': 'Настроить параметры',
|
||
'skills.setup.autocomplete.debounce': 'Задержка',
|
||
'skills.setup.autocomplete.description': 'Описание',
|
||
'skills.setup.autocomplete.enableBtn': 'Включение...',
|
||
'skills.setup.autocomplete.enableError': 'Не удалось включить автодополнение',
|
||
'skills.setup.autocomplete.enabling': 'Включение...',
|
||
'skills.setup.autocomplete.notSupported': 'Не поддерживается',
|
||
'skills.setup.autocomplete.stepEnable': 'Включить встроенные подсказки',
|
||
'skills.setup.autocomplete.stepSuccess': 'Готово к работе',
|
||
'skills.setup.autocomplete.stylePreset': 'Пресет стиля',
|
||
'skills.setup.autocomplete.stylePresetValue': 'Сбалансированный (можно изменить позже)',
|
||
'skills.setup.autocomplete.title': 'Автодополнение текста',
|
||
'skills.setup.screenIntel.activeDesc': 'Активно',
|
||
'skills.setup.screenIntel.activeTitle': 'Интеллект экрана включён',
|
||
'skills.setup.screenIntel.advancedSettings': 'Дополнительные настройки',
|
||
'skills.setup.screenIntel.allGranted': 'Все разрешения предоставлены',
|
||
'skills.setup.screenIntel.captureMode': 'Режим захвата',
|
||
'skills.setup.screenIntel.captureModeValue': 'Все окна (можно изменить позже)',
|
||
'skills.setup.screenIntel.deniedHint':
|
||
'После предоставления разрешений в Системных настройках нажми ниже для перезапуска и применения изменений.',
|
||
'skills.setup.screenIntel.enableBtn': 'Включение...',
|
||
'skills.setup.screenIntel.enableDesc':
|
||
'Видеть, что происходит на вашем экране, и передавать полезный контекст вашему агенту',
|
||
'skills.setup.screenIntel.enableError': 'Не удалось включить интеллект экрана',
|
||
'skills.setup.screenIntel.enabling': 'Включение...',
|
||
'skills.setup.screenIntel.grant': 'Открытие...',
|
||
'skills.setup.screenIntel.granted': 'Предоставлено',
|
||
'skills.setup.screenIntel.macosOnly': 'Только macOS',
|
||
'skills.setup.screenIntel.opening': 'Открытие...',
|
||
'skills.setup.screenIntel.panicHotkey': 'Экстренная горячая клавиша',
|
||
'skills.setup.screenIntel.permAccessibility': 'Доступность',
|
||
'skills.setup.screenIntel.permInputMonitoring': 'Мониторинг ввода',
|
||
'skills.setup.screenIntel.permScreenRecording': 'Запись экрана',
|
||
'skills.setup.screenIntel.permissionsDesc': 'Описание разрешений',
|
||
'skills.setup.screenIntel.refreshStatus': 'Обновить статус',
|
||
'skills.setup.screenIntel.restartRefresh': 'Перезапуск...',
|
||
'skills.setup.screenIntel.restarting': 'Перезапуск...',
|
||
'skills.setup.screenIntel.stepEnable': 'Включить навык',
|
||
'skills.setup.screenIntel.stepPermissions': 'Предоставить разрешения',
|
||
'skills.setup.screenIntel.stepSuccess': 'Готово к работе',
|
||
'skills.setup.screenIntel.title': 'Интеллект экрана',
|
||
'skills.setup.screenIntel.visionModel': 'Визуальная модель',
|
||
'skills.setup.voice.activation': 'Активация',
|
||
'skills.setup.voice.activeDescPrefix': 'Fn',
|
||
'skills.setup.voice.activeDescSuffix': 'Fn',
|
||
'skills.setup.voice.activeTitle': 'Голосовой интеллект активен',
|
||
'skills.setup.voice.customizeSettings': 'Настроить параметры',
|
||
'skills.setup.voice.downloadSttBtn': 'Скачать STT-модель',
|
||
'skills.setup.voice.enableDesc': 'Включить',
|
||
'skills.setup.voice.hotkey': 'Горячая клавиша',
|
||
'skills.setup.voice.startBtn': 'Запуск...',
|
||
'skills.setup.voice.startError': 'Не удалось запустить голосовой сервер',
|
||
'skills.setup.voice.starting': 'Запуск...',
|
||
'skills.setup.voice.stepEnable': 'Запустить голосовой сервер',
|
||
'skills.setup.voice.stepSetup': 'Требуется загрузка модели',
|
||
'skills.setup.voice.stepSuccess': 'Готово к работе',
|
||
'skills.setup.voice.sttNotReady': 'Модель распознавания речи не готова',
|
||
'skills.setup.voice.sttNotReadyDesc':
|
||
'Голосовой интеллект требует локальной модели Whisper для транскрипции. Скачай её в настройках локальной модели.',
|
||
'skills.setup.voice.sttReady': 'Модель распознавания речи готова',
|
||
'skills.setup.voice.sttReturnHint': 'Подсказка возврата STT',
|
||
'skills.setup.voice.title': 'Голосовой интеллект',
|
||
'skills.uninstall.couldNotUninstall': 'Не удалось удалить',
|
||
'skills.uninstall.description':
|
||
'Это навсегда удалит каталог навыка и все его ресурсы. Агент перестанет видеть его на следующем ходу.',
|
||
'skills.uninstall.title': 'Удалить',
|
||
'skills.uninstall.uninstallBtn': 'Удалить',
|
||
'skills.uninstall.uninstalling': 'Удаление…',
|
||
'upsell.global.limitMessage': 'Улучши план или пополни кредиты для продолжения',
|
||
'upsell.global.limitTitle': 'Ты',
|
||
'upsell.global.nearLimitMessage':
|
||
'Ты использовал {pct}% лимита. Улучши план для увеличения лимитов.',
|
||
'upsell.global.nearLimitTitle': 'Лимит использования близко',
|
||
'upsell.usageLimit.bodyBudget':
|
||
'Вы достигли недельного лимита.{reset} Обновите план или пополните кредиты, чтобы избежать ограничений.',
|
||
'upsell.usageLimit.bodyRate':
|
||
'Вы достигли 10-часового лимита частоты инференса.{reset} Обновите план для более высоких лимитов.',
|
||
'upsell.usageLimit.heading': 'Лимит использования достигнут',
|
||
'upsell.usageLimit.notNow': 'Не сейчас',
|
||
'upsell.usageLimit.perWindow': '{amount}',
|
||
'upsell.usageLimit.planIncludes': '{plan}',
|
||
'upsell.usageLimit.resetsIn': 'Сбросится {time}.',
|
||
'upsell.usageLimit.upgradePlan': 'Улучшить план',
|
||
'upsell.usageLimit.weeklyInference': '{amount}',
|
||
'walkthrough.tooltip.letsGo': 'Поехали!',
|
||
'walkthrough.tooltip.next': 'Далее →',
|
||
'walkthrough.tooltip.skip': 'Пропустить тур',
|
||
'walkthrough.tooltip.stepCounter': '{n} из {total}',
|
||
'webhooks.activity.empty': 'Пусто',
|
||
'webhooks.activity.title': 'Последняя активность',
|
||
'webhooks.composioHistory.empty': 'Пусто',
|
||
'webhooks.composioHistory.metadataId': 'ID метаданных',
|
||
'webhooks.composioHistory.metadataUuid': 'UUID метаданных',
|
||
'webhooks.composioHistory.payload': 'Полезная нагрузка',
|
||
'webhooks.composioHistory.title': 'История триггеров ComposeIO',
|
||
'webhooks.tunnels.active': 'Активно',
|
||
'webhooks.tunnels.createFailed': 'Не удалось создать туннель',
|
||
'webhooks.tunnels.creating': 'Создание...',
|
||
'webhooks.tunnels.deleteFailed': 'Не удалось удалить туннель',
|
||
'webhooks.tunnels.descriptionPlaceholder': 'Описание (необязательно)',
|
||
'webhooks.tunnels.echo': 'Эхо',
|
||
'webhooks.tunnels.empty': 'Пусто',
|
||
'webhooks.tunnels.enableEcho': 'Включить эхо',
|
||
'webhooks.tunnels.inactive': 'Неактивно',
|
||
'webhooks.tunnels.namePlaceholder': 'Название туннеля (напр. telegram-bot)',
|
||
'webhooks.tunnels.newTunnel': 'Новый туннель',
|
||
'webhooks.tunnels.removeEcho': 'Убрать эхо',
|
||
'webhooks.tunnels.title': 'Вебхук-туннели',
|
||
'webhooks.tunnels.toggleFailed': 'Не удалось переключить эхо',
|
||
'composio.authExpired': 'Срок авторизации истёк',
|
||
'composio.reconnect': 'Переподключить',
|
||
'composio.previewBadge': 'Предварительный просмотр',
|
||
'composio.previewTooltip':
|
||
'Скоро интеграция агента — вы можете подключиться, но агент пока не может использовать этот набор инструментов.',
|
||
'composio.directModeRequiresKey': 'Не удалось сохранить. Прямой режим требует непустой API-ключ.',
|
||
'composio.notYetRouted': 'пока не маршрутизируется',
|
||
'composio.triggers.loading': 'Загрузка…',
|
||
'conversations.taskKanban.todo': 'К выполнению',
|
||
'settings.composio.loading': 'Загрузка…',
|
||
'settings.mascot.noCharactersAvailable': 'Персонажи OpenHuman пока недоступны',
|
||
'skills.uninstall.confirmTitle': 'Удалить {name}?',
|
||
'conversations.taskKanban.blocked': 'Заблокировано',
|
||
'conversations.taskKanban.done': 'Готово',
|
||
'conversations.taskKanban.inProgress': 'В работе',
|
||
'intelligence.memoryChunk.detail.copiedHint': 'скопировано',
|
||
'settings.composio.notYetRouted': 'пока не маршрутизируется',
|
||
'settings.localModel.download.manageExternal':
|
||
'Управляйте этой моделью во внешней среде выполнения.',
|
||
'settings.localModel.status.manageOllamaExternal':
|
||
'Управляйте процессом Ollama и загрузкой моделей вне OpenHuman, затем повторите диагностику.',
|
||
'settings.localModel.status.ollamaDocs': 'Документация Ollama',
|
||
'settings.localModel.status.thenRetry':
|
||
'для инструкций по настройке, затем повторите, когда среда выполнения станет доступна.',
|
||
'settings.appearance.title': 'Внешний вид',
|
||
'settings.appearance.themeHeading': 'Тема',
|
||
'settings.appearance.themeAria': 'Тема',
|
||
'settings.appearance.modeLight': 'Светлая',
|
||
'settings.appearance.modeLightDesc': 'Яркие поверхности, темный текст.',
|
||
'settings.appearance.modeDark': 'Темный',
|
||
'settings.appearance.modeDarkDesc':
|
||
'Тусклые поверхности, меньше раздражают глаза после наступления сумерек.',
|
||
'settings.appearance.modeSystem': 'Система соответствия',
|
||
'settings.appearance.modeSystemDesc': 'Следуйте настройкам внешнего вида вашей ОС.',
|
||
'settings.appearance.helperText':
|
||
'Темный режим переключает все приложение — чат, настройки, панели — на тусклую палитру. «Система сопоставления» следит за внешним видом вашей ОС и обновляет ее в реальном времени.',
|
||
'settings.mascot.characterPreview': 'Предварительный просмотр',
|
||
'settings.mascot.characterStates': 'содержит',
|
||
'settings.mascot.characterVisemes': 'виземы',
|
||
'settings.mascot.colorAria': 'OpenHuman цвет',
|
||
'settings.mascot.colorBlack': 'Черный',
|
||
'settings.mascot.colorBurgundy': 'Бордовый',
|
||
'settings.mascot.colorCustom': 'Custom',
|
||
'settings.mascot.colorNavy': 'Темно-синий',
|
||
'settings.mascot.primaryColor': 'Primary color',
|
||
'settings.mascot.secondaryColor': 'Secondary color',
|
||
'settings.mascot.colorYellow': 'Желтый',
|
||
'settings.mascot.libraryUnavailable': 'OpenHuman библиотека недоступна',
|
||
'settings.mascot.title': 'OpenHuman',
|
||
'settings.developerMenu.mcpServer.title': 'MCP Сервер',
|
||
'settings.developerMenu.mcpServer.desc':
|
||
'Настройка внешних клиентов MCP для подключения к серверу OpenHuman',
|
||
'settings.developerMenu.autonomy.title': 'Автономия агента',
|
||
'settings.developerMenu.autonomy.desc':
|
||
'Ограничения частоты действий инструментов и пороги безопасности',
|
||
'settings.mcpServer.title': 'MCP',
|
||
'settings.mcpServer.toolsSectionTitle': 'Доступные инструменты',
|
||
'settings.mcpServer.toolsSectionDesc':
|
||
'Инструменты, предоставляемые через сервер MCP stdio при запуске openhuman-core mcp',
|
||
'settings.mcpServer.configSectionTitle': 'Конфигурация клиента',
|
||
'settings.mcpServer.configSectionDesc':
|
||
'Выберите клиент MCP для создания правильного фрагмента конфигурации.',
|
||
'settings.mcpServer.copySnippet': 'Копировать в буфер обмена',
|
||
'settings.mcpServer.copied': 'Скопировано!',
|
||
'settings.mcpServer.openConfigFile': 'Открыть файл конфигурации.',
|
||
'settings.mcpServer.binaryPathNotFound':
|
||
'Двоичный файл OpenHuman не найден. При запуске из исходного кода выполните сборку с помощью: Cargo build --bin openhuman-core',
|
||
'settings.mcpServer.openConfigError': 'Не удалось открыть файл конфигурации',
|
||
'settings.mcpServer.clientClaudeDesktop': 'Claude Desktop',
|
||
'settings.mcpServer.clientCursor': 'Курсор',
|
||
'settings.mcpServer.clientCodex': 'Codex',
|
||
'settings.mcpServer.clientZed': 'Zed',
|
||
'settings.mcpServer.configFilePath': 'Файл конфигурации',
|
||
'settings.mcpServer.clientSelectorAriaLabel': 'MCP селектор клиента',
|
||
'settings.persona.title': 'Persona',
|
||
'settings.persona.menuTitle': 'Persona',
|
||
'settings.persona.menuDesc':
|
||
'Name, personality, avatar, and voice — your assistant as one identity',
|
||
'settings.persona.identityHeading': 'Identity',
|
||
'settings.persona.identityDesc':
|
||
'A display name and short description for your assistant. Shown in the app; does not change how the assistant reasons.',
|
||
'settings.persona.displayNameLabel': 'Display name',
|
||
'settings.persona.displayNamePlaceholder': 'e.g. Nova',
|
||
'settings.persona.descriptionLabel': 'Description',
|
||
'settings.persona.descriptionPlaceholder': 'e.g. A calm, concise assistant for my team.',
|
||
'settings.persona.soul.heading': 'Personality (SOUL.md)',
|
||
'settings.persona.soul.desc':
|
||
'The personality prompt the assistant follows in every conversation. Edits are saved to your workspace and take effect on the next reply.',
|
||
'settings.persona.soul.editorLabel': 'SOUL.md contents',
|
||
'settings.persona.soul.reset': 'Reset to default',
|
||
'settings.persona.soul.usingDefault': 'Using the bundled default',
|
||
'settings.persona.soul.loadError': 'Could not load SOUL.md',
|
||
'settings.persona.soul.saveError': 'Could not save SOUL.md',
|
||
'settings.persona.soul.resetError': 'Could not reset SOUL.md',
|
||
'settings.persona.appearanceHeading': 'Avatar & Voice',
|
||
'settings.persona.appearanceDesc':
|
||
'Mascot color, custom GIF avatar, and reply voice are configured in Mascot settings.',
|
||
'settings.persona.openMascotSettings': 'Open Mascot settings',
|
||
'settings.developerMenu.composio.title': 'Composio',
|
||
'settings.developerMenu.composio.desc':
|
||
'Режим маршрутизации, триггеры интеграции и архив истории триггеров.',
|
||
'settings.appearance.tabBarHeading': 'Нижняя панель вкладок',
|
||
'settings.appearance.tabBarAlwaysShowLabels': 'Всегда показывать метки',
|
||
'settings.appearance.tabBarAlwaysShowLabelsDesc':
|
||
'Если этот параметр отключен, метки отображаются только при наведении курсора мыши или на активной вкладке.',
|
||
'common.breadcrumb': 'Breadcrumb',
|
||
'settings.betaBuild': 'Бета-сборка — v{version}',
|
||
'migration.vendor.openclaw': 'OpenClaw',
|
||
'migration.vendor.hermes': 'Hermes Agent',
|
||
'onboarding.apiKeys.openaiOauthHint':
|
||
'Используйте ChatGPT Plus/Pro (подписка) или ключ OpenAI API — не оба обязательны.',
|
||
'onboarding.apiKeys.openaiOauthOpening': 'Открытие входа…',
|
||
'onboarding.apiKeys.finishSignIn': 'Завершите вход в ChatGPT',
|
||
'onboarding.apiKeys.orApiKey': 'или ключ API',
|
||
'app.localAiDownload.expandAria': 'Развернуть ход загрузки',
|
||
'app.localAiDownload.collapseAria': 'Свернуть ход загрузки',
|
||
'app.localAiDownload.dismissAria': 'Закрыть уведомление о загрузке.',
|
||
'mobile.nav.ariaLabel': 'Мобильная навигация',
|
||
'progress.stepsAria': 'Шаги выполнения',
|
||
'progress.stepAria': 'Шаг {current} из {total}',
|
||
'workspace.vaultsTitle': 'Хранилища знаний',
|
||
'workspace.vaultsDesc':
|
||
'Укажите локальную папку; файлы разбиваются на части и зеркально отображаются в памяти.',
|
||
'calls.title': 'Звонки',
|
||
'calls.comingSoonBody': 'Скоро появятся звонки с помощью ИИ. Следите за обновлениями.',
|
||
'art.rotatingTetrahedronAria': 'Вращающийся космический корабль в виде перевернутого тетраэдра',
|
||
'devOptions.sentryDisabled': '(идентификатор отсутствует — охрана отключена в этой сборке)',
|
||
'composio.expiredAuthorization': 'Срок действия авторизации {name} истек',
|
||
'composio.expiredDescription':
|
||
'Повторно подключитесь, чтобы повторно включить инструменты {name}. OpenHuman будет держать эту интеграцию недоступной, пока вы не обновите доступ к OAuth.',
|
||
'channels.telegram.remoteControlTitle': 'Удаленное управление (Telegram)',
|
||
'channels.telegram.remoteControlBody':
|
||
'Из разрешенного чата Telegram отправьте /status, /sessions, /new или /help. В маршрутизации моделей по-прежнему используются /model и /models.',
|
||
'rewards.referralSection.retry': 'Повторить',
|
||
'settings.ai.plannerSummary':
|
||
'Планировщик: исходные события {sourceEvents}, отправлено {sent}, дедуплицировано {deduped}.',
|
||
'settings.ai.routeLabel': 'маршрут: {route}',
|
||
'settings.ai.latestSpend': 'Последние расходы: {amount} в {time} ({action})',
|
||
'settings.ai.topActions': 'Популярные действия',
|
||
'settings.ai.noSpendRows': 'Строки расходов не загружены.',
|
||
'settings.ai.topHours': 'Максимальное количество часов',
|
||
'settings.ai.noHourlySpend': 'Почасовых затрат пока нет.',
|
||
'settings.autocomplete.appFilter.app': 'Приложение',
|
||
'settings.autocomplete.appFilter.currentSuggestion': 'Текущее предложение',
|
||
'settings.autocomplete.appFilter.debounce': 'Отладка',
|
||
'settings.autocomplete.appFilter.enabled': 'Включено',
|
||
'settings.autocomplete.appFilter.lastError': 'Последняя ошибка',
|
||
'settings.autocomplete.appFilter.model': 'Модель',
|
||
'settings.autocomplete.appFilter.phase': 'Фаза',
|
||
'settings.autocomplete.appFilter.platformSupported': 'Платформа поддерживается',
|
||
'settings.autocomplete.appFilter.running': 'Выполняется',
|
||
'settings.autocomplete.debug.acceptedPrefix': 'Принято: {value}',
|
||
'settings.autocomplete.debug.acceptFailed': 'Не удалось принять предложение',
|
||
'settings.autocomplete.debug.alreadyRunning': 'Автозаполнение уже запущено.',
|
||
'settings.autocomplete.debug.clearHistoryFailed': 'Не удалось очистить историю.',
|
||
'settings.autocomplete.debug.didNotStart': 'Автозаполнение не запустилось.',
|
||
'settings.autocomplete.debug.disabledInSettings':
|
||
'Автозаполнение отключено в настройках. Включите его и сначала сохраните.',
|
||
'settings.autocomplete.debug.fetchSuggestionFailed': 'Не удалось получить текущее предложение.',
|
||
'settings.autocomplete.debug.inspectFocusedElementFailed':
|
||
'Не удалось проверить элемент в фокусе.',
|
||
'settings.autocomplete.debug.loadSettingsFailed':
|
||
'Не удалось загрузить настройки автозаполнения.',
|
||
'settings.autocomplete.debug.noSuggestionApplied': 'Предложение не было применено.',
|
||
'settings.autocomplete.debug.noSuggestionReturned': 'Ни одно предложение не вернулось.',
|
||
'settings.autocomplete.debug.refreshStatusFailed': 'Не удалось обновить статус автозаполнения.',
|
||
'settings.autocomplete.debug.saveAdvancedSettingsFailed':
|
||
'Не удалось сохранить дополнительные настройки.',
|
||
'settings.autocomplete.debug.startFailed': 'Не удалось запустить автозаполнение.',
|
||
'settings.autocomplete.debug.stopFailed': 'Не удалось остановить автозаполнение.',
|
||
'settings.autocomplete.debug.suggestionPrefix': 'Предложение: {value}',
|
||
'settings.autocomplete.shared.none': 'Нет',
|
||
'settings.autocomplete.shared.notApplicable': 'н/д',
|
||
'settings.autocomplete.shared.unknown': 'Неизвестно',
|
||
'settings.billing.autoRecharge.expires': 'Срок действия истекает {date}',
|
||
'settings.billing.autoRecharge.spentThisWeek':
|
||
'${spent} из ${limit}, использовано на этой неделе',
|
||
'settings.localModel.deviceCapability.disabledLowercase': 'отключен',
|
||
'settings.localModel.deviceCapability.presetDetails':
|
||
'Чат: {chatModel} · Vision: {visionModel} · Целевая оперативная память: {targetRamGb} ГБ',
|
||
'settings.localModel.download.capabilityChat': 'Чат',
|
||
'settings.localModel.download.capabilityEmbedding': 'Встраивание',
|
||
'settings.localModel.download.capabilityStt': 'STT',
|
||
'settings.localModel.download.capabilityTts': 'TTS',
|
||
'settings.localModel.download.capabilityVision': 'Vision',
|
||
'settings.localModel.download.embeddingDimensions': 'Размеры: {dimensions}',
|
||
'settings.localModel.download.embeddingModel': 'Модель: {modelId}',
|
||
'settings.localModel.download.embeddingVectors': 'Векторы: {count}',
|
||
'settings.localModel.download.notAvailable': 'н/д',
|
||
'settings.localModel.download.summaryHelper':
|
||
'Вызовы `openhuman.inference_summarize` через ядро Rust',
|
||
'settings.localModel.download.transcript': 'Расшифровка:',
|
||
'settings.localModel.download.ttsOutput': 'Выход: {outputPath}',
|
||
'settings.localModel.download.ttsVoice': 'Голос: {voiceId}',
|
||
'settings.localModel.status.contextBelowMinimumBadge':
|
||
'{contextLength} ctx - ниже {required} мин.',
|
||
'settings.localModel.status.contextBelowMinimumTitle':
|
||
'Отклонено: количество токенов {contextLength} контекстного окна ниже минимального значения токена {required}, требуемого для уровня памяти. Напоминание будет повреждено молчаливым усечением.',
|
||
'settings.localModel.status.contextOkBadge': '{contextLength} ctx ✓',
|
||
'settings.localModel.status.contextOkTitle':
|
||
'Токены контекстного окна {contextLength} соответствуют минимуму уровня памяти для токенов {required}.',
|
||
'settings.localModel.status.contextUnknownBadge': 'ctx неизвестно',
|
||
'settings.localModel.status.contextUnknownTitle':
|
||
'Контекстное окно неизвестно; не удалось подтвердить, что он соответствует минимуму уровня памяти токена {required}.',
|
||
'settings.localModel.status.expectedChat': 'Чат: {model}',
|
||
'settings.localModel.status.expectedEmbedding': 'Встраивание: {model}',
|
||
'settings.localModel.status.expectedVision': 'Видение: {model}',
|
||
'settings.localModel.status.externalProcess': 'Внешний процесс',
|
||
'settings.localModel.status.notAvailable': 'н/д',
|
||
'settings.mascot.customGifPlaceholder': 'https://example.com/avatar.gif',
|
||
'settings.mascot.loadDetailError': 'Не удалось загрузить талисман.',
|
||
'settings.mascot.loadLibraryError': 'Не удалось загрузить библиотеку талисманов.',
|
||
'settings.mascot.voice.customPlaceholder': 'например. 21m00Tcm4TlvDq8ikWAM',
|
||
'settings.mascot.voice.previewText': "Hi, I'm your assistant. This is a voice preview.",
|
||
'skills.channelIcon.discord': 'Discord',
|
||
'skills.channelIcon.imessage': 'iMessage',
|
||
'skills.channelIcon.telegram': 'Telegram',
|
||
'skills.channelIcon.web': 'Интернет',
|
||
'skills.channelIcon.yuanbao': 'Yuanbao',
|
||
'skills.composio.poweredBy': 'Работает на Composio',
|
||
'skills.composio.staleStatusTitle': 'Соединения показывают устаревший статус',
|
||
'skills.create.allowedToolsHelp': 'Отображается в SKILL.md как',
|
||
'skills.create.allowedToolsPlaceholder': 'node_exec, fetch',
|
||
'skills.create.licensePlaceholder': 'MIT',
|
||
'skills.create.tagsPlaceholder': 'торговля, исследование',
|
||
'skills.install.errors.alreadyInstalledHint':
|
||
'Навык работы с этим пулеметом уже существует в рабочей области. Сначала удалите его или измените заголовок `metadata.id`/`name`.',
|
||
'skills.install.errors.alreadyInstalledTitle': 'Навык уже установлен.',
|
||
'skills.install.errors.fetchFailedHint':
|
||
'Запрос не выполнен успешно. Проверьте, что URL указывает на доступный общедоступный файл и что хост вернул ответ 2xx.',
|
||
'skills.install.errors.fetchFailedTitle': 'Ошибка получения.',
|
||
'skills.install.errors.fetchTimedOutHint':
|
||
'Удаленный хост не ответил вовремя. Попробуйте еще раз или увеличьте таймаут (1–600 с).',
|
||
'skills.install.errors.fetchTimedOutTitle': 'Время ожидания получения истекло',
|
||
'skills.install.errors.fetchTooLargeHint':
|
||
'Размер файла SKILL.md не должен превышать 1 МБ. Разделите связанные ресурсы на файлы `references/` или `scripts/` вместо их встраивания.',
|
||
'skills.install.errors.fetchTooLargeTitle': 'SKILL.md слишком велик.',
|
||
'skills.install.errors.genericHint':
|
||
'Серверная часть вернула ошибку. Необработанное сообщение показано ниже.',
|
||
'skills.install.errors.genericTitle': 'Не удалось установить навык.',
|
||
'skills.install.errors.invalidSkillHint':
|
||
'Вводный заголовок должен быть допустимым YAML с непустыми полями `name` и `description`, заканчивающимися `---`.',
|
||
'skills.install.errors.invalidSkillTitle': 'SKILL.md не анализировал',
|
||
'skills.install.errors.invalidUrlHint':
|
||
'Разрешены только общедоступные HTTPS URL. Частные узлы, узлы обратной связи и узлы метаданных блокируются.',
|
||
'skills.install.errors.invalidUrlTitle': 'URL отклонено',
|
||
'skills.install.errors.unsupportedUrlHint':
|
||
'Работают только прямые ссылки `.md`. Для GitHub ссылка на файл (github.com/owner/repo/blob/.../SKILL.md) — корни дерева и репо не установлены.',
|
||
'skills.install.errors.unsupportedUrlTitle': 'Форма URL не поддерживается.',
|
||
'skills.install.errors.writeFailedHint':
|
||
'Каталог навыков рабочей области не был доступен для записи. Проверьте разрешения файловой системы для `<workspace>/.openhuman/skills/`.',
|
||
'skills.install.errors.writeFailedTitle': 'Не удалось записать SKILL.md.',
|
||
'skills.install.fetchingPrefix': 'Получение',
|
||
'skills.install.fetchingSuffix': 'может занять заданное вами время ожидания.',
|
||
'skills.install.subtitleMiddle': 'поверх HTTPS и устанавливает его в',
|
||
'skills.install.subtitlePrefix': 'Выбирает только один',
|
||
'skills.install.subtitleSuffix': 'HTTPS; частные хосты и хосты обратной связи заблокированы.',
|
||
'skills.install.successDiscovered': 'Обнаружил {count} новых навыков.',
|
||
'skills.install.successNoNewIds':
|
||
'Навык установлен, но новые идентификаторы навыков не появились — возможно, в каталоге уже есть навык с таким же ярлыком.',
|
||
'skills.install.timeoutHelp':
|
||
'По умолчанию — 60 секунд. Значения за пределами 1–600 фиксируются на стороне сервера.',
|
||
'skills.install.timeoutInvalid': 'Должно быть целым числом от 1 до 600.',
|
||
'skills.install.timeoutPlaceholder': '60',
|
||
'skills.install.urlHelpMiddle': 'файл.',
|
||
'skills.install.urlHelpPrefix': 'Прямая ссылка на',
|
||
'skills.install.urlHelpSuffix': 'URLs автоматически перезаписывается на',
|
||
'skills.install.urlInvalidPrefix': 'URL должен быть правильно сформированным',
|
||
'skills.install.urlInvalidSuffix': 'связь.',
|
||
'skills.install.urlPlaceholder': 'https://raw.githubusercontent.com/owner/repo/main/SKILL.md',
|
||
'skills.meetingBots.platformComingSoon': 'Поддержка {label} скоро появится.',
|
||
'skills.meetingBots.platformHints.gmeet': 'meet.google.com/abc-defg-hij',
|
||
'skills.meetingBots.platformHints.teams': 'Teams.microsoft.com/...',
|
||
'skills.meetingBots.platformHints.zoom': 'Zoom.us/j/...',
|
||
'skills.meetingBots.platforms.gmeet': 'Google Встречайте',
|
||
'skills.meetingBots.platforms.teams': 'Microsoft Teams',
|
||
'skills.meetingBots.platforms.zoom': 'Zoom',
|
||
'skills.meetingBots.soonSuffix': 'скоро',
|
||
'skills.setup.screenIntel.permissionPathLabel': 'macOS применяет конфиденциальность к:',
|
||
'settings.agentAccess.title': 'Agent OS access',
|
||
'settings.agentAccess.menuDesc':
|
||
'Control where the agent can read/write and whether it can use the shell.',
|
||
'settings.agentAccess.loadError': 'Failed to load access settings',
|
||
'settings.agentAccess.saveError': 'Failed to save access settings',
|
||
'settings.agentAccess.saved': 'Saved — applies on your next message.',
|
||
'settings.agentAccess.desktopOnly': 'Access settings are only available in the desktop app.',
|
||
'settings.agentAccess.loading': 'Loading…',
|
||
'settings.agentAccess.accessMode': 'Access mode',
|
||
'settings.agentAccess.tier.readonly.title': 'Read-only',
|
||
'settings.agentAccess.tier.readonly.desc':
|
||
'Reads files and runs read-only commands to explore — but never writes, edits, or runs anything that changes state.',
|
||
'settings.agentAccess.tier.supervised.title': 'Ask before edit',
|
||
'settings.agentAccess.tier.supervised.desc':
|
||
'Creates new files freely, but asks for your approval before editing an existing file, running a command, reaching the network, or installing anything.',
|
||
'settings.agentAccess.tier.full.title': 'Full access',
|
||
'settings.agentAccess.tier.full.desc':
|
||
'Runs commands with your full user account access — it can read/write anywhere allowed, except credential and system stores. Destructive commands, network access, and installs still ask for approval.',
|
||
'settings.agentAccess.defaultTag': '(default)',
|
||
'settings.agentAccess.fullWarning':
|
||
'⚠ Full access runs commands with your full account access and is not sandboxed. Only enable it when you trust the agent with this machine. Credential and system directories stay blocked, and destructive, network, and install actions still ask for approval.',
|
||
'settings.agentAccess.confine.label': 'Confine to workspace',
|
||
'settings.agentAccess.confine.desc':
|
||
'Restrict the agent to the workspace directory (plus any granted folders), whichever access mode is selected. When off, it can reach anywhere your user can — except the always-blocked credential and system directories.',
|
||
'settings.agentAccess.grantedFolders': 'Granted folders',
|
||
'settings.agentAccess.alwaysAllow': 'Always-allowed tools',
|
||
'settings.agentAccess.alwaysAllowDesc':
|
||
'Tools you marked "Always allow" in chat run without asking. Remove one to be prompted again.',
|
||
'settings.agentAccess.alwaysAllowNone': 'No always-allowed tools yet.',
|
||
'settings.agentAccess.grantedDesc':
|
||
'Folders the agent may read and write, in addition to the workspace. Credential stores (~/.ssh, ~/.gnupg, ~/.aws, keychains) and system directories (/etc, /System, C:\\Windows, …) are always blocked, even inside a granted folder.',
|
||
'settings.agentAccess.noneGranted': 'No folders granted.',
|
||
'settings.agentAccess.readWrite': 'read + write',
|
||
'settings.agentAccess.readOnly': 'read-only',
|
||
'settings.agentAccess.remove': 'Remove',
|
||
'settings.agentAccess.pathPlaceholder': 'Абсолютный путь к папке',
|
||
'settings.agentAccess.accessLevelLabel': 'Access level',
|
||
'settings.agentAccess.add': 'Add',
|
||
'settings.agentAccess.saving': 'Saving…',
|
||
'settings.agentAccess.changesApply': 'Changes apply on your next message.',
|
||
'skills.tabs.runners': 'Runners',
|
||
'settings.developerMenu.skillsRunner.title': 'Skills Runner',
|
||
'settings.developerMenu.skillsRunner.desc':
|
||
'Run any bundled skill ad-hoc — fill its inputs and fire a background autonomous run',
|
||
'settings.developerMenu.skillsRunner.panelDesc':
|
||
'Pick a bundled skill, fill in its declared inputs, and fire a fire-and-forget background run. Use Dev Workflow instead if you want a cron-scheduled recurring job.',
|
||
'settings.skillsRunner.skill': 'Skill',
|
||
'settings.skillsRunner.selectSkill': 'Select a skill…',
|
||
'settings.skillsRunner.loadingSkills': 'Loading skills…',
|
||
'settings.skillsRunner.loadingDescription': 'Loading skill inputs…',
|
||
'settings.skillsRunner.noInputs': 'This skill declares no inputs.',
|
||
'settings.skillsRunner.placeholder.required': 'required',
|
||
'settings.skillsRunner.runNow': 'Run now',
|
||
'settings.skillsRunner.starting': 'Starting…',
|
||
'settings.skillsRunner.started': 'Started — run id:',
|
||
'settings.skillsRunner.logPath': 'Log:',
|
||
'settings.skillsRunner.error.listSkills': 'Failed to load skills:',
|
||
'settings.skillsRunner.error.describe': 'Failed to load inputs:',
|
||
'settings.skillsRunner.error.missingRequired': 'Missing required input(s):',
|
||
'settings.skillsRunner.error.run': 'Run failed to start:',
|
||
'settings.skillsRunner.error.preflightGate': 'Preflight gate failed',
|
||
'settings.skillsRunner.schedule.heading': 'Schedule (recurring)',
|
||
'settings.skillsRunner.schedule.help':
|
||
'Save this skill + inputs as a recurring cron job. The agent will call run_skill at each tick.',
|
||
'settings.skillsRunner.schedule.frequency': 'Frequency',
|
||
'settings.skillsRunner.schedule.every30min': 'Every 30 minutes',
|
||
'settings.skillsRunner.schedule.everyHour': 'Every hour',
|
||
'settings.skillsRunner.schedule.every2hours': 'Every 2 hours',
|
||
'settings.skillsRunner.schedule.every6hours': 'Every 6 hours',
|
||
'settings.skillsRunner.schedule.onceDaily': 'Once daily (9:00)',
|
||
'settings.skillsRunner.schedule.save': 'Save schedule',
|
||
'settings.skillsRunner.schedule.saving': 'Saving…',
|
||
'settings.skillsRunner.schedule.saved': 'Schedule saved.',
|
||
'settings.skillsRunner.schedule.error': 'Schedule save failed:',
|
||
'settings.skillsRunner.schedule.loadingJobs': 'Loading existing schedules…',
|
||
'settings.skillsRunner.schedule.noJobs': 'No schedules saved for this skill yet.',
|
||
'settings.skillsRunner.schedule.existing': 'Scheduled jobs for this skill:',
|
||
'settings.skillsRunner.schedule.runNow': 'Run',
|
||
'settings.skillsRunner.schedule.remove': 'Remove',
|
||
'settings.skillsRunner.recentRuns.headingForSkill': 'Recent runs for this skill',
|
||
'settings.skillsRunner.recentRuns.headingAll': 'Recent skill runs (all)',
|
||
'settings.skillsRunner.recentRuns.refresh': 'Refresh',
|
||
'settings.skillsRunner.recentRuns.loading': 'Loading recent runs…',
|
||
'settings.skillsRunner.recentRuns.empty': 'No recent runs.',
|
||
'settings.skillsRunner.viewer.loading': 'Loading log…',
|
||
'settings.skillsRunner.viewer.tailing': 'Live tailing',
|
||
'settings.skillsRunner.viewer.fetching': 'fetching',
|
||
'settings.skillsRunner.viewer.error': 'Log read failed:',
|
||
'settings.skillsRunner.repoPicker.loading': 'Loading repositories…',
|
||
'settings.skillsRunner.repoPicker.select': 'Select a repository…',
|
||
'settings.skillsRunner.repoPicker.empty':
|
||
'No repositories returned. Connect GitHub via Composio to populate this list.',
|
||
'settings.skillsRunner.repoPicker.notConnected':
|
||
'GitHub isn’t connected via Composio. Connect it under Skills → Composio first.',
|
||
'settings.skillsRunner.repoPicker.privateTag': '(private)',
|
||
'settings.skillsRunner.branchPicker.needRepo': 'Pick a repo first…',
|
||
'settings.skillsRunner.branchPicker.loading': 'Loading branches…',
|
||
'settings.skillsRunner.branchPicker.select': 'Select a branch…',
|
||
'settings.modelHealth.title': 'Model Health',
|
||
'settings.modelHealth.desc':
|
||
'Per-model quality, hallucination rate, and cost comparison across active models',
|
||
'settings.modelHealth.allStatuses': 'All statuses',
|
||
'settings.modelHealth.models': 'models',
|
||
'settings.modelHealth.loading': 'Loading model data...',
|
||
'settings.modelHealth.empty': 'No models registered',
|
||
'settings.modelHealth.col.model': 'Model',
|
||
'settings.modelHealth.col.quality': 'Quality',
|
||
'settings.modelHealth.col.halluc': 'Halluc. Rate',
|
||
'settings.modelHealth.col.cost': 'Cost / 1M out',
|
||
'settings.modelHealth.col.agents': 'Agents',
|
||
'settings.modelHealth.col.status': 'Status',
|
||
'settings.modelHealth.badge.keep': 'Keep',
|
||
'settings.modelHealth.badge.replace': 'Replace',
|
||
'settings.modelHealth.badge.staging': 'Staging test',
|
||
'settings.modelHealth.badge.vision': 'Vision only',
|
||
'settings.modelHealth.swap': 'Swap?',
|
||
'settings.modelHealth.modal.title': 'Replace Model?',
|
||
'settings.modelHealth.modal.hallucRate': 'Hallucination rate',
|
||
'settings.modelHealth.modal.cancel': 'Cancel',
|
||
'settings.modelHealth.modal.apply': 'Apply Replacement',
|
||
'settings.modelHealth.tag.cheaper': 'CHEAPER',
|
||
'settings.modelHealth.tag.better': 'BETTER',
|
||
|
||
// /skills IA restructure (Phase 2/3) — dashboard + new-skill page.
|
||
'skills.dashboard.title': 'Skills',
|
||
'skills.dashboard.scheduledHeading': 'Scheduled skills',
|
||
'skills.dashboard.emptyTitle': 'No scheduled skills',
|
||
'skills.dashboard.emptyBody':
|
||
'Run a bundled skill once or save a recurring schedule to see it here.',
|
||
'skills.dashboard.create': 'Create a Skill',
|
||
'skills.dashboard.run': 'Run a Skill',
|
||
'skills.dashboard.enable': 'Enable scheduled skill',
|
||
'skills.dashboard.disable': 'Disable scheduled skill',
|
||
'skills.dashboard.lastRun': 'Last run',
|
||
'skills.dashboard.nextRun': 'Next run',
|
||
'skills.dashboard.cardOpenRunner': 'Open in runner',
|
||
'skills.dashboard.loadError': 'Failed to load scheduled skills',
|
||
'skills.new.title': 'Create a skill',
|
||
'skills.new.placeholderBody':
|
||
'Authoring form arrives soon. For now, use the “New skill” button on the runner page.',
|
||
};
|
||
|
||
export default ru5;
|