Files
openhuman/app/src/lib/i18n/ru.ts
T

4497 lines
356 KiB
TypeScript
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.
import type { TranslationMap } from './types';
// Russian (Русский) translations. Keys mirror en.ts; missing/
// English-identical values fall back to English via I18nContext.resolveEn().
const messages: TranslationMap = {
'nav.home': 'Главная',
'nav.human': 'Человек',
'nav.chat': 'Чат',
'nav.connections': 'Подключения',
'nav.memory': 'Интеллект',
'nav.alerts': 'Оповещения',
'nav.rewards': 'Награды',
'nav.settings': 'Настройки',
'common.cancel': 'Отмена',
'common.save': 'Сохранить',
'common.confirm': 'Подтвердить',
'common.delete': 'Удалить',
'common.edit': 'Редактировать',
'common.create': 'Создать',
'common.search': 'Поиск',
'common.loading': 'загрузка…',
'common.error': 'Ошибка',
'common.success': 'Готово',
'common.back': 'Назад',
'common.next': 'Далее',
'common.finish': 'Завершить',
'common.close': 'Закрыть',
'common.enabled': 'Включено',
'common.disabled': 'Отключено',
'common.on': 'Вкл',
'common.off': 'Выкл',
'common.yes': 'Да',
'common.no': 'Нет',
'common.ok': 'Понятно',
'common.name': 'Имя',
'common.retry': 'Повторить',
'common.copy': 'Копировать',
'common.copied': 'Скопировано',
'common.learnMore': 'Узнать больше',
'common.seeAll': 'Посмотреть',
'common.dismiss': 'Закрыть',
'common.clear': 'Очистить',
'common.reset': 'Сбросить',
'common.refresh': 'Обновить',
'common.export': 'Экспорт',
'common.import': 'Импорт',
'common.upload': 'Загрузить',
'common.download': 'Скачать',
'common.add': 'Добавить',
'common.remove': 'Убрать',
'common.showMore': 'Показать больше',
'common.showLess': 'Показать меньше',
'common.submit': 'Отправить',
'common.continue': 'Продолжить',
'common.comingSoon': 'Скоро',
'common.breadcrumb': 'Breadcrumb',
'settings.general': 'Общие',
'settings.featuresAndAI': 'Функции и AI',
'settings.billingAndRewards': 'Оплата и награды',
'settings.support': 'Поддержка',
'settings.advanced': 'Дополнительно',
'settings.dangerZone': 'Опасная зона',
'settings.account': 'Аккаунт',
'settings.accountDesc': 'Фраза восстановления, команда, подключения и конфиденциальность',
'settings.notifications': 'Уведомления',
'settings.notificationsDesc':
'Режим «Не беспокоить» и настройки уведомлений для каждого аккаунта',
'settings.notifications.tabs.preferences': 'Настройки',
'settings.notifications.tabs.routing': 'Маршрутизация',
'settings.features': 'Функции',
'settings.featuresDesc': 'Слежение за экраном, мессенджеры и инструменты',
'settings.aiModels': 'AI и модели',
'settings.aiModelsDesc': 'Настройка локальных AI-моделей, загрузки и LLM-провайдер',
'settings.ai': 'Настройки AI',
'settings.aiDesc': 'Облачные провайдеры, локальные модели Ollama и маршрутизация по задачам',
'settings.billingUsage': 'Оплата и использование',
'settings.billingUsageDesc': 'Подписка, кредиты и способы оплаты',
'settings.rewards': 'Награды',
'settings.rewardsDesc': 'Рефералы, купоны и заработанные кредиты',
'settings.restartTour': 'Повторить тур',
'settings.restartTourDesc': 'Запустить обучение заново с самого начала',
'settings.about': 'О приложении',
'settings.aboutDesc': 'Версия приложения и обновления',
'settings.developerOptions': 'Дополнительно',
'settings.developerOptionsDesc':
'Настройки AI, каналы связи, инструменты, диагностика и панели отладки',
'settings.clearAppData': 'Очистить данные приложения',
'settings.clearAppDataDesc': 'Выйти из аккаунта и удалить все локальные данные приложения',
'settings.logOut': 'Выйти',
'settings.logOutDesc': 'Выйти из своего аккаунта',
'settings.exitLocalSession': 'Выход из локального сеанса',
'settings.exitLocalSessionDesc': 'Возврат к экрану входа в систему',
'settings.language': 'Язык',
'settings.betaBuild': 'Бета-сборка — v{version}',
'settings.languageDesc': 'Язык отображения интерфейса',
'settings.alerts': 'Оповещения',
'settings.alertsDesc': 'Смотри последние оповещения и активность во входящих',
'settings.account.recoveryPhrase': 'Фраза восстановления',
'settings.account.recoveryPhraseDesc': 'Просмотр и резервное копирование фразы восстановления',
'settings.account.team': 'Команда',
'settings.account.teamDesc': 'Управление участниками команды и правами',
'settings.account.connections': 'Подключения',
'settings.account.connectionsDesc': 'Управление привязанными аккаунтами и сервисами',
'settings.account.privacy': 'Конфиденциальность',
'settings.account.privacyDesc': 'Контролируй, какие данные покидают твой компьютер',
'migration.title': 'Импорт из другого ассистента',
'migration.description':
'Перенесите память и заметки из другого локального ассистента в это рабочее пространство. Сначала запустите «Предпросмотр», чтобы увидеть, что изменится, затем нажмите «Применить», чтобы скопировать данные. Текущая память сохраняется в резервную копию первой.',
'migration.vendorLabel': 'Источник',
'migration.vendor.openclaw': 'OpenClaw',
'migration.vendor.hermes': 'Hermes Agent',
'migration.sourceLabel': 'Путь к исходному рабочему пространству (необязательно)',
'migration.sourcePlaceholder':
'Оставьте пустым для автоопределения (например, ~/.openclaw/workspace)',
'migration.sourcePlaceholderHermes': 'Оставьте пустым для автоопределения (например, ~/.hermes)',
'migration.sourceHint':
'Если пусто, используется стандартное расположение источника. Укажите явный путь, если вы перенесли рабочее пространство.',
'migration.previewAction': 'Предпросмотр',
'migration.previewRunning': 'Предпросмотр…',
'migration.applyAction': 'Применить импорт',
'migration.applyRunning': 'Импорт…',
'migration.applyDisclaimer':
'«Применить» разблокируется только после успешного предпросмотра того же источника. Существующая память сохраняется перед любым импортом.',
'migration.reportTitlePreview': 'Предпросмотр — ничего ещё не импортировано',
'migration.reportTitleApplied': 'Импорт завершён',
'migration.report.source': 'Исходное пространство',
'migration.report.target': 'Целевое пространство',
'migration.report.fromSqlite': 'Из SQLite (brain.db)',
'migration.report.fromMarkdown': 'Из Markdown',
'migration.report.imported': 'Импортировано',
'migration.report.skippedUnchanged': 'Пропущено (без изменений)',
'migration.report.renamedConflicts': 'Переименовано при конфликте',
'migration.report.warnings': 'Предупреждения',
'migration.report.previewHint':
'Данные ещё не импортированы. Нажмите «Применить импорт», чтобы скопировать.',
'migration.report.appliedHint':
'Импортированные записи теперь в вашей памяти. Запустите «Предпросмотр» снова для сравнения.',
'migration.confirmImport.singular':
'Импортировать {count} запись в текущее рабочее пространство?\n\nИсточник: {source}\nЦель: {target}\n\nПеред импортом будет сохранена резервная копия памяти.',
'migration.confirmImport.plural':
'Импортировать {count} записей в текущее рабочее пространство?\n\nИсточник: {source}\nЦель: {target}\n\nПеред импортом будет сохранена резервная копия памяти.',
'settings.notifications.doNotDisturb': 'Не беспокоить',
'settings.notifications.doNotDisturbDesc': 'Отключить все уведомления на заданный период',
'settings.notifications.channelControls': 'По каналам',
'settings.notifications.channelControlsDesc': 'Настройка уведомлений для каждого канала',
'settings.features.screenAwareness': 'Слежение за экраном',
'settings.features.screenAwarenessDesc': 'Разреши ассистенту видеть активное окно',
'settings.features.messaging': 'Мессенджеры',
'settings.features.messagingDesc': 'Настройки каналов и интеграции мессенджеров',
'settings.features.tools': 'Инструменты',
'settings.features.toolsDesc': 'Управление подключёнными инструментами и интеграциями',
'settings.ai.localSetup': 'Настройка локального AI',
'settings.ai.localSetupDesc': 'Загрузка и настройка локальных AI-моделей',
'settings.ai.llmProvider': 'LLM-провайдер',
'settings.ai.llmProviderDesc': 'Выбери и настрой своего AI-провайдера',
'clearData.title': 'Очистить данные приложения',
'clearData.warning': 'Это выйдет из аккаунта и навсегда удалит локальные данные, включая:',
'clearData.bulletSettings': 'Настройки и переписки',
'clearData.bulletCache': 'Все локальные кэши интеграций',
'clearData.bulletWorkspace': 'Данные рабочего пространства',
'clearData.bulletOther': 'Все прочие локальные данные',
'clearData.irreversible': 'Это действие нельзя отменить.',
'clearData.clearing': 'Очистка данных…',
'clearData.failed': 'Не удалось очистить данные и выйти. Попробуй ещё раз.',
'clearData.failedLogout': 'Не удалось выйти. Попробуй ещё раз.',
'clearData.failedPersist': 'Не удалось сбросить состояние приложения. Попробуй ещё раз.',
'welcome.title': 'Добро пожаловать в OpenHuman',
'welcome.subtitle': 'Твой персональный суперинтеллект. Приватный, простой и невероятно мощный.',
'welcome.connectPrompt': 'Настроить RPC URL (дополнительно)',
'welcome.selectRuntime': 'Выбрать среду выполнения',
'welcome.clearingAppData': 'Очистка данных приложения...',
'welcome.clearAppDataAndRestart': 'Очистка данных приложения и перезапуск',
'welcome.clearAppDataWarning':
'Это удалит локально сохранённые секреты и аккаунты на этом устройстве. Ваш облачный аккаунт не затрагивается — вы можете войти снова сразу после этого.',
'welcome.resetErrorFallback':
'Не удалось очистить данные приложения. Закройте и снова откройте OpenHuman, затем повторите попытку.',
'welcome.signingIn': 'Выполняете вход...',
'welcome.termsIntro': 'Продолжая, вы соглашаетесь с',
'welcome.termsOfUse': 'Условиями',
'welcome.termsJoiner': 'и',
'welcome.privacyPolicy': 'Политикой конфиденциальности.',
'welcome.termsOutro': '.',
'welcome.urlPlaceholder': 'http://localhost:8089',
'welcome.invalidUrl': 'Введи корректный URL (http или https)',
'welcome.connecting': 'Проверка',
'welcome.connect': 'Проверить',
'home.greeting': 'Доброе утро',
'home.greetingAfternoon': 'Добрый день',
'home.greetingEvening': 'Добрый вечер',
'home.askAssistant': 'Спроси ассистента о чём угодно...',
'home.statusOk':
'Устройство подключено. Не закрывай приложение, чтобы поддерживать соединение. Отправь сообщение агенту с помощью кнопки ниже.',
'home.statusBackendOnly': 'Переподключение к серверу… агент скоро снова будет доступен.',
'home.statusCoreUnreachable':
'Локальный процесс OpenHuman не отвечает. Возможно, он завис или не запустился.',
'home.statusInternetOffline':
'Нет подключения к интернету. Проверь сеть или перезапусти приложение.',
'home.restartCore': 'Перезапустить ядро',
'home.restartingCore': 'Перезапуск ядра…',
'home.themeToggle.toLight': 'Переключить на светлую тему',
'home.themeToggle.toDark': 'Переключить на тёмную тему',
'home.usageExhaustedTitle': 'Вы исчерпали лимит использования',
'home.usageExhaustedBody':
'Включённый объём использования пока исчерпан. Оформите подписку, чтобы получить больше постоянной мощности.',
'home.usageExhaustedCta': 'Оформить подписку',
'home.routinesCard': 'Ваши подпрограммы',
'home.routinesActive': '{count} активных',
'routines.title': 'Ваши рутины',
'routines.subtitle': 'Что ваш помощник делает автоматически',
'routines.loading': 'Загрузка процедур…',
'routines.empty': 'Пока нет процедур',
'routines.emptyHint':
'Ваш помощник может выполнять задачи по расписанию — например, утренние брифинги или ежедневные сводки.',
'routines.refresh': 'Обновить',
'routines.nextRun': 'Следующий запуск',
'routines.lastRunSuccess': 'Последний запуск удался',
'routines.lastRunFailed': 'Последний запуск не удался',
'routines.notRunYet': 'Еще не запущен',
'routines.runNow': 'Беги сейчас',
'routines.running': 'Бег…',
'routines.viewHistory': 'Посмотреть историю',
'routines.loadingHistory': 'Загрузка…',
'routines.noHistory': 'Истории запусков пока нет.',
'routines.statusSuccess': 'Успех',
'routines.statusError': 'Ошибка',
'routines.showOutput': 'Показать вывод',
'routines.hideOutput': 'Скрыть вывод',
'routines.toggleEnabled': 'Включить или отключить эту процедуру',
'routines.typeAgent': 'Агент',
'routines.typeCommand': 'Команда',
'nav.routines': 'Routines',
'chat.newThread': 'Новый чат',
'chat.typeMessage': 'Введи сообщение...',
'chat.send': 'Отправить сообщение',
'chat.thinking': 'Думаю...',
'chat.noMessages': 'Сообщений пока нет',
'chat.startConversation': 'Начни разговор',
'chat.regenerate': 'Сгенерировать снова',
'chat.copyResponse': 'Скопировать ответ',
'chat.citations': 'Источники',
'chat.toolUsed': 'Использован инструмент',
'scope.legacy': 'Устаревшее',
'scope.user': 'Пользователь',
'scope.project': 'Проект',
'skills.title': 'Подключения',
'skills.search': 'Поиск подключений...',
'skills.noResults': 'Подключения не найдены',
'skills.connect': 'Подключить',
'skills.disconnect': 'Отключить',
'skills.configure': 'Управление',
'skills.connected': 'Подключено',
'skills.available': 'Доступно',
'skills.addAccount': 'Добавить аккаунт',
'skills.channels': 'Каналы',
'skills.integrations': 'Интеграции',
'skills.integrationsSubtitle':
'Облачные OAuth-подключения — войдите в свой аккаунт, и Composio управляет токенами, чтобы агенты могли читать и действовать от вашего имени. Никаких API-ключей для управления.',
'skills.composio.noApiKeyTitle': 'Ключ API Composio не настроен',
'skills.composio.noApiKeyDescription':
'Локальный режим использует ваш собственный ключ API Composio. Откройте Настройки → Дополнительно → Composio, чтобы добавить ключ перед подключением интеграций здесь.',
'skills.composio.noApiKeyCta': 'Открыть в настройках',
'skills.tabs.composio': 'Composio',
'skills.tabs.channels': 'Каналы',
'skills.tabs.mcp': 'MCP Серверы',
'skills.tabs.runners': 'Runners',
'memory.title': 'Память',
'memory.search': 'Поиск воспоминаний...',
'memory.noResults': 'Воспоминания не найдены',
'memory.empty': 'Воспоминаний пока нет. Они создаются автоматически в процессе общения.',
'memory.tab.memory': 'Память',
'memory.tab.memoryTree': 'Дерево памяти',
'memory.tab.tasks': 'Задачи агента',
'memory.tab.tasksDescription':
'Создавайте и отслеживайте задачи — ваши личные дела и доски, которые агенты формируют в ходе разговоров.',
'memory.tab.subconscious': 'Подсознание',
'memory.tab.workflows': 'Workflows',
'memory.tab.workflowsDescription':
'Lifecycle-bound rule sets that guide how the agent behaves during tasks.',
'memory.tab.dreams': 'Сны',
'memory.tab.calls': 'Звонки',
'memory.tab.diagram': 'Diagram',
'memory.tab.centrality': 'Centrality',
'memory.tab.namespaces': 'Пространства имён',
'memory.tab.timeline': 'Timeline',
'memory.tab.settings': 'Настройки',
'memory.analyzeNow': 'Анализировать сейчас',
'memoryTimeline.title': 'Memory Timeline',
'memoryTimeline.intro':
'When the assistant learned about you — facts grouped by the month they were last reinforced. Surfaces growth, bursts of activity, and quiet stretches.',
'memoryTimeline.loading': 'Building the timeline…',
'memoryTimeline.errorPrefix': 'Could not load the graph:',
'memoryTimeline.retry': 'Retry',
'memoryTimeline.namespaceLabel': 'Namespace',
'memoryTimeline.namespaceAll': 'All namespaces',
'memoryTimeline.empty': 'No knowledge graph yet.',
'memoryTimeline.emptyHint':
'As the assistant records facts about you, their timeline will appear here.',
'memoryTimeline.metricTotal': 'Facts',
'memoryTimeline.metricMonths': 'Active months',
'memoryTimeline.metricRecent': 'Last 30 days',
'memoryTimeline.heading': 'Facts learned per month',
'memoryTimeline.busiestCaption': 'Busiest: {period} ({count})',
'memoryTimeline.undatedNote': '{count} fact(s) have no recorded date.',
'memoryTimeline.truncated': 'Showing the {shown} most recent of {total} months.',
'namespaceOverview.title': 'Обзор пространств имён',
'namespaceOverview.intro':
'Как ваши знания распределены по контекстам — количество фактов и уникальных сущностей, записанных в каждом пространстве имён.',
'namespaceOverview.loading': 'Агрегирование пространств имён…',
'namespaceOverview.errorPrefix': 'Не удалось загрузить график:',
'namespaceOverview.retry': 'Повторить попытку',
'namespaceOverview.empty': 'Графа знаний пока нет.',
'namespaceOverview.emptyHint':
'По мере того как ассистент записывает факты в разных контекстах, каждое пространство имён будет появляться здесь.',
'namespaceOverview.metricNamespaces': 'Пространства имён',
'namespaceOverview.metricFacts': 'Факты',
'namespaceOverview.metricEntities': 'Сущности',
'namespaceOverview.heading': 'По пространству имён',
'namespaceOverview.unnamespaced': '(без пространства имён)',
'namespaceOverview.factsLabel': '{count} фактов',
'namespaceOverview.entitiesLabel': '{count} сущностей',
'namespaceOverview.entitiesShort': '{count} сущ.',
'namespaceOverview.truncated': 'Показаны топ-{shown} из {total} пространств имён.',
'graphCentrality.title': 'Централизованность графа знаний',
'graphCentrality.intro':
'PageRank по вашему графику памяти отображает несущие нагрузку концентраторы — и объекты-соединители, которые связывают отдельные кластеры, которые не может выявить необработанный подсчет частоты.',
'graphCentrality.loading': 'Вычислительная центральность…',
'graphCentrality.errorPrefix': 'Не удалось загрузить график:',
'graphCentrality.retry': 'Повторить попытку',
'graphCentrality.empty': 'Графа знаний пока нет.',
'graphCentrality.emptyHint':
'По мере того, как помощник записывает факты о вас, здесь всплывают наиболее связанные между собой сущности.',
'graphCentrality.namespaceLabel': 'Пространство имен',
'graphCentrality.namespaceAll': 'Все пространства имен',
'graphCentrality.metricEntities': 'Сущности',
'graphCentrality.metricConnections': 'Соединения',
'graphCentrality.metricClusters': 'Кластеры',
'graphCentrality.clustersCaption': 'Кластеры {components} · крупнейшие холдинги {largest}',
'graphCentrality.approximateBadge': 'approximate',
'graphCentrality.approximateTitle': 'Остановился на пределе итерации перед полной сходимостью',
'graphCentrality.rankedHeading': 'Лучшие организации по влиянию',
'graphCentrality.colRank': '#',
'graphCentrality.colEntity': 'Сущность',
'graphCentrality.colInfluence': 'Влияние',
'graphCentrality.colLinks': 'Ссылки',
'graphCentrality.bridgeBadge': 'connector',
'graphCentrality.bridgeTitle':
'Коннектор — более влиятельный, чем предполагает количество ссылок.',
'graphCentrality.degreeTitle': '{in} вход · {out} выход',
'memory.tab.associations': 'Associations',
'entityAssociations.title': 'Entity Associations',
'entityAssociations.intro':
'Entities that share many of the same connections are associated — even when no single fact links them directly. Jaccard similarity surfaces these hidden pairings.',
'entityAssociations.loading': 'Scoring associations…',
'entityAssociations.errorPrefix': 'Could not load the graph:',
'entityAssociations.retry': 'Retry',
'entityAssociations.empty': 'No associations yet.',
'entityAssociations.emptyHint':
'When entities start sharing connections, the strongest pairings will surface here.',
'entityAssociations.namespaceLabel': 'Namespace',
'entityAssociations.namespaceAll': 'All namespaces',
'entityAssociations.metricEntities': 'Entities',
'entityAssociations.metricPairs': 'Associations',
'entityAssociations.rankedHeading': 'Strongest associations',
'entityAssociations.linkedBadge': 'linked',
'entityAssociations.inferredBadge': 'inferred',
'entityAssociations.linkedTitle': 'These entities are directly connected.',
'entityAssociations.inferredTitle':
'No direct link — associated only through shared connections.',
'entityAssociations.sharedLabel': '{shared} shared',
'entityAssociations.pairTitle': '{jaccard}% similar · {shared} of {union} connections shared',
'entityAssociations.truncated': 'Showing {shown} of {total} — strongest first.',
'memory.tab.freshness': 'Freshness',
'memoryFreshness.title': 'Knowledge Freshness',
'memoryFreshness.intro':
'Facts the assistant has not reconfirmed lately decay along a forgetting curve. This surfaces what is going stale and worth re-checking, so old facts are not treated as still-certain.',
'memoryFreshness.loading': 'Scoring freshness…',
'memoryFreshness.errorPrefix': 'Could not load the graph:',
'memoryFreshness.retry': 'Retry',
'memoryFreshness.empty': 'No knowledge graph yet.',
'memoryFreshness.emptyHint':
'As the assistant records facts about you, their freshness will be tracked here.',
'memoryFreshness.namespaceLabel': 'Namespace',
'memoryFreshness.namespaceAll': 'All namespaces',
'memoryFreshness.metricFresh': 'Fresh',
'memoryFreshness.metricFading': 'Fading',
'memoryFreshness.metricStale': 'Stale',
'memoryFreshness.recallCaption': 'Average recall {recall}% across {total} facts',
'memoryFreshness.queueHeading': 'Re-confirm queue',
'memoryFreshness.queueTruncated': 'Showing {shown} of {total} — address these first.',
'memoryFreshness.allFresh': 'Every fact is still fresh — nothing to re-confirm.',
'memoryFreshness.statusFading': 'fading',
'memoryFreshness.statusStale': 'stale',
'memoryFreshness.ageLabel': '{days}d old',
'memoryFreshness.recallTitle': '{recall}% recall · half-life {halfLife}d',
'memory.tab.path': 'Пути',
'connectionPath.title': 'Путь связи',
'connectionPath.intro':
'Проследите кратчайшую цепочку связей между любыми двумя сущностями — как граф соединяет их, даже через несколько переходов.',
'connectionPath.loading': 'Загрузка графа…',
'connectionPath.errorPrefix': 'Не удалось загрузить граф:',
'connectionPath.retry': 'Повторить',
'connectionPath.namespaceLabel': 'Пространство имён',
'connectionPath.namespaceAll': 'Все пространства имён',
'connectionPath.sourceLabel': 'От',
'connectionPath.targetLabel': 'До',
'connectionPath.sourcePlaceholder': 'Начальная сущность',
'connectionPath.targetPlaceholder': 'Конечная сущность',
'connectionPath.prompt': 'Выберите две сущности, чтобы проследить, как они связаны.',
'connectionPath.empty': 'Граф знаний пока пуст.',
'connectionPath.emptyHint':
'Как только ассистент запишет связанные факты, вы сможете прослеживать связи здесь.',
'connectionPath.resultHeading': 'Кратчайший путь',
'connectionPath.pathSummary': 'расстояние — {length} переход(ов)',
'connectionPath.sameMessage': 'Выберите две разные сущности.',
'connectionPath.missingSource': '«{entity}» отсутствует в графе.',
'connectionPath.missingTarget': '«{entity}» отсутствует в графе.',
'connectionPath.noPath': 'Связь между «{source}» и «{target}» не найдена.',
'memoryTree.status.title': 'Дерево памяти',
'memoryTree.status.autoSyncLabel': 'Автосинхронизация',
'memoryTree.status.autoSyncDescription':
'Пауза, чтобы остановить новый прием. Существующая вики остается доступной для запросов.',
'memoryTree.status.statusTile': 'Статус',
'memoryTree.status.lastSyncTile': 'Последняя синхронизация',
'memoryTree.status.totalChunksTile': 'Всего кусков',
'memoryTree.status.wikiSizeTile': 'Размер вики',
'memoryTree.status.statusRunning': 'Бег',
'memoryTree.status.statusPaused': 'Приостановлено',
'memoryTree.status.statusSyncing': 'Синхронизация',
'memoryTree.status.statusError': 'Ошибка',
'memoryTree.status.statusIdle': 'Праздный',
'memoryTree.status.never': 'Никогда',
'memoryTree.status.fetchError': 'Не удалось получить статус дерева памяти.',
'memoryTree.status.retry': 'Повторить попытку',
'memoryTree.status.toggleFailed': 'Не удалось включить автосинхронизацию.',
'memoryTree.status.justNow': 'прямо сейчас',
'memoryTree.status.secondsAgo': '{count} сек. назад',
'memoryTree.status.minuteAgo': '1 минуту назад',
'memoryTree.status.minutesAgo': '{count} мин назад',
'memoryTree.status.hourAgo': '1 час назад',
'memoryTree.status.hoursAgo': '{count} час назад',
'memoryTree.status.dayAgo': '1 день назад',
'memoryTree.status.daysAgo': '{count} дней назад',
'alerts.title': 'Оповещения',
'alerts.empty': 'Оповещений пока нет',
'alerts.markAllRead': 'Отметить всё прочитанным',
'alerts.unread': 'непрочитано',
'rewards.title': 'Награды',
'rewards.referrals': 'Рефералы',
'rewards.coupons': 'Активировать',
'rewards.localUnavailable':
'Локальный вход не приносит награды, купоны или реферальный кредит. Выйдите и войдите с аккаунтом OpenHuman, если хотите, чтобы награды начислялись.',
'rewards.localUnavailableCta': 'Открыть настройки аккаунта',
'rewards.credits': 'Кредиты',
'rewards.referralCode': 'Твой реферальный код',
'rewards.copyCode': 'Скопировать код',
'rewards.share': 'Поделиться',
'onboarding.welcome': 'Привет. Я OpenHuman.',
'onboarding.welcomeDesc':
'Твой суперинтеллектуальный AI-ассистент, работающий прямо на твоём компьютере. Приватный, простой и невероятно мощный.',
'onboarding.context': 'Сбор контекста',
'onboarding.contextDesc': 'Подключи инструменты и сервисы, которыми пользуешься каждый день.',
'onboarding.localAI': 'Локальный AI',
'onboarding.localAIDesc': 'Настрой локальную AI-модель, работающую прямо на твоём устройстве.',
'onboarding.chatProvider': 'Чат-провайдер',
'onboarding.chatProviderDesc': 'Выбери, как хочешь общаться с ассистентом.',
'onboarding.referral': 'Реферал',
'onboarding.referralDesc': 'Введи реферальный код, если он у тебя есть.',
'onboarding.finish': 'Завершить настройку',
'onboarding.finishDesc': 'Всё готово! Начни пользоваться OpenHuman.',
'onboarding.skip': 'Пропустить',
'onboarding.getStarted': 'Начать',
'onboarding.runtimeChoice.title': 'Как ты хочешь запустить OpenHuman?',
'onboarding.runtimeChoice.subtitle':
'Выбери подходящий вариант. Изменить можно позже в Настройках.',
'onboarding.runtimeChoice.cloud.title': 'Просто',
'onboarding.runtimeChoice.cloud.tagline': 'Пусть OpenHuman сам обо всём позаботится.',
'onboarding.runtimeChoice.cloud.f1': 'Встроенная безопасность',
'onboarding.runtimeChoice.cloud.f2': 'Сжатие токенов для экономии ресурсов',
'onboarding.runtimeChoice.cloud.f3': 'Одна подписка — все модели включены',
'onboarding.runtimeChoice.cloud.f4': 'Никаких API-ключей',
'onboarding.runtimeChoice.cloud.f5': 'Простая настройка',
'onboarding.runtimeChoice.custom.title': 'Свои настройки',
'onboarding.runtimeChoice.custom.tagline':
'Используй свои ключи. Полный контроль над тем, что используется.',
'onboarding.runtimeChoice.custom.f1': 'Для большинства функций потребуются API-ключи',
'onboarding.runtimeChoice.custom.f2': 'Переиспользует сервисы, за которые ты уже платишь',
'onboarding.runtimeChoice.custom.f3': 'Может быть бесплатным, если всё запускать локально',
'onboarding.runtimeChoice.custom.f4': 'Больше настроек и параметров',
'onboarding.runtimeChoice.custom.f5':
'Лучший выбор для продвинутых пользователей и разработчиков',
'onboarding.runtimeChoice.cloud.creditHighlight': '$1 бесплатный кредит для знакомства',
'onboarding.runtimeChoice.continueCloud': 'Продолжить с простым режимом',
'onboarding.runtimeChoice.continueCustom': 'Продолжить со своими настройками',
'onboarding.runtimeChoice.recommended': 'Рекомендуется',
'onboarding.apiKeys.title': 'Добавь свои API-ключи',
'onboarding.apiKeys.subtitle':
'Вставь их сейчас или пропусти и добавь позже в Настройки › AI. Ключи хранятся на этом устройстве в зашифрованном виде.',
'onboarding.apiKeys.openaiLabel': 'API-ключ OpenAI',
'onboarding.apiKeys.openaiPlaceholder': 'sk-...',
'onboarding.apiKeys.openaiOauthHint':
'Используйте ChatGPT Plus/Pro (подписка) или ключ OpenAI API — не оба обязательны.',
'onboarding.apiKeys.openaiOauthOpening': 'Открытие входа…',
'onboarding.apiKeys.openaiOauthConnect': 'Войти через ChatGPT',
'onboarding.apiKeys.openaiOauthConnected': 'Подключено через ChatGPT',
'onboarding.apiKeys.openaiOauthCallbackHint':
'После входа вставьте полный URL перенаправления из браузера (начинается с {url}).',
'onboarding.apiKeys.oauthDesktopOnly':
'Вход через ChatGPT доступен только в десктопном приложении.',
'onboarding.apiKeys.oauthStartFailed':
'Не удалось начать вход через ChatGPT. Повторите попытку или используйте ключ API.',
'onboarding.apiKeys.oauthPasteRedirect': 'Вставьте URL перенаправления из браузера после входа.',
'onboarding.apiKeys.oauthCompleteFailed':
'Вход через ChatGPT не завершён. Проверьте URL перенаправления и повторите попытку.',
'onboarding.apiKeys.finishSignIn': 'Завершите вход в ChatGPT',
'onboarding.apiKeys.orApiKey': 'или ключ API',
'onboarding.apiKeys.anthropicLabel': 'API-ключ Anthropic',
'onboarding.apiKeys.anthropicPlaceholder': 'sk-ant-...',
'onboarding.apiKeys.saveError': 'Не удалось сохранить ключ. Проверь его и попробуй снова.',
'onboarding.apiKeys.skipForNow': 'Пропустить',
'onboarding.apiKeys.continue': 'Сохранить и продолжить',
'onboarding.apiKeys.saving': 'Сохранение…',
'onboarding.custom.stepperInference': 'Инференс',
'onboarding.custom.stepperVoice': 'Голос',
'onboarding.custom.stepperOAuth': 'OAuth',
'onboarding.custom.stepperSearch': 'Поиск',
'onboarding.custom.stepperEmbeddings': 'Embeddings',
'onboarding.custom.stepperMemory': 'Память',
'onboarding.custom.stepCounter': 'Шаг {n} из {total}',
'onboarding.custom.defaultTitle': 'По умолчанию',
'onboarding.custom.defaultSubtitle': 'Пусть OpenHuman сам управляет этим.',
'onboarding.custom.configureTitle': 'Настроить',
'onboarding.custom.configureSubtitle': 'Я сам выберу, что использовать.',
'onboarding.custom.progressAriaLabel': 'Прогресс настройки',
'onboarding.custom.continue': 'Продолжить',
'onboarding.custom.back': 'Назад',
'onboarding.custom.finish': 'Завершить настройку',
'onboarding.custom.configureLater':
'Можно завершить настройку после онбординга. Мы откроем нужную страницу настроек.',
'onboarding.custom.openSettings': 'Открыть в настройках',
'onboarding.custom.inference.title': 'Инференс (текст)',
'onboarding.custom.inference.subtitle':
'Какая языковая модель будет отвечать на вопросы и запускать агентов?',
'onboarding.custom.inference.defaultDesc':
'OpenHuman автоматически выбирает подходящую модель. Без ключей и настроек.',
'onboarding.custom.inference.configureDesc':
'Используй свой ключ OpenAI или Anthropic для всех текстовых задач.',
'onboarding.custom.voice.title': 'Голос',
'onboarding.custom.voice.subtitle': 'Распознавание и синтез речи для голосового режима.',
'onboarding.custom.voice.defaultDesc':
'OpenHuman поставляется с управляемым STT/TTS, который работает сразу. Ничего настраивать не нужно.',
'onboarding.custom.voice.configureDesc':
'Используй свой ElevenLabs / OpenAI Whisper / другой сервис. Настрой в Настройки › Голос.',
'onboarding.custom.oauth.title': 'Подключения (OAuth)',
'onboarding.custom.oauth.subtitle': 'Gmail, Slack, Notion и другие сервисы, требующие OAuth.',
'onboarding.custom.oauth.defaultDesc':
'OpenHuman использует управляемое рабочее пространство Composio. Один клик для подключения каждого сервиса.',
'onboarding.custom.oauth.configureDesc':
'Используй свой аккаунт Composio / API-ключ. Настрой в Настройки › Подключения.',
'onboarding.custom.search.title': 'Поиск в интернете',
'onboarding.custom.search.subtitle': 'Как OpenHuman ищет информацию в интернете.',
'onboarding.custom.search.defaultDesc':
'OpenHuman использует управляемый поисковый бэкенд. Ключи не нужны.',
'onboarding.custom.search.configureDesc':
'Используй свой ключ поискового провайдера (Tavily, Brave и др.). Настрой в Настройки › Инструменты.',
'onboarding.custom.embeddings.title': 'Embeddings',
'onboarding.custom.embeddings.subtitle':
'Как OpenHuman создаёт векторные эмбеддинги для семантического поиска в памяти.',
'onboarding.custom.embeddings.defaultDesc':
'OpenHuman использует управляемый сервис эмбеддингов. API-ключ не требуется.',
'onboarding.custom.embeddings.configureDesc':
'Используйте собственного провайдера эмбеддингов (OpenAI, Voyage, Ollama и др.).',
'onboarding.custom.memory.title': 'Память',
'onboarding.custom.memory.subtitle':
'Как OpenHuman запоминает контекст, предпочтения и предыдущие разговоры.',
'onboarding.custom.memory.defaultDesc':
'OpenHuman автоматически управляет хранением и извлечением воспоминаний. Ничего настраивать не нужно.',
'onboarding.custom.memory.configureDesc':
'Просматривай, экспортируй или очищай память самостоятельно. Настрой в Настройки › Память.',
'accounts.addAccount': 'Добавить аккаунт',
'accounts.manageAccounts': 'Управление аккаунтами',
'accounts.noAccounts': 'Аккаунты не подключены',
'accounts.connectAccount': 'Подключи аккаунт для начала работы',
'accounts.agent': 'Агент',
'accounts.respondQueue': 'Очередь ответов',
'accounts.disconnect': 'Отключить',
'accounts.disconnectConfirm': 'Ты уверен, что хочешь отключить этот аккаунт?',
'accounts.disconnectClearMemory': 'Также удалить память из этого источника',
'accounts.disconnectClearMemoryHint':
'Навсегда удаляет локальные фрагменты памяти, связанные с этим подключением.',
'accounts.searchAccounts': 'Поиск аккаунтов...',
'channels.title': 'Каналы',
'channels.configure': 'Настроить канал',
'channels.setup': 'Настройка',
'channels.noChannels': 'Каналы не настроены',
'channels.localManagedUnavailable': 'Управляемые каналы недоступны для локальных пользователей.',
'channels.addChannel': 'Добавить канал',
'channels.status.connected': 'Подключено',
'channels.status.disconnected': 'Отключено',
'channels.status.error': 'Ошибка',
'channels.status.configuring': 'Настройка',
'channels.defaultMessaging': 'Канал по умолчанию',
'webhooks.title': 'Вебхуки',
'webhooks.create': 'Создать вебхук',
'webhooks.noWebhooks': 'Вебхуки не настроены',
'webhooks.url': 'URL',
'webhooks.secret': 'Секрет',
'webhooks.events': 'События',
'webhooks.archiveDirectory': 'Директория архива',
'webhooks.todayFile': 'Файл за сегодня',
'invites.title': 'Приглашения',
'invites.create': 'Создать приглашение',
'invites.noInvites': 'Активных приглашений нет',
'invites.code': 'Код приглашения',
'invites.copyLink': 'Скопировать ссылку',
'invites.generate': 'Создать приглашение',
'invites.generating': 'Создание...',
'invites.refreshing': 'Обновление приглашений...',
'invites.loading': 'Загрузка приглашений...',
'invites.copyCodeAria': 'Скопировать код приглашения',
'invites.revokeAria': 'Отозвать приглашение',
'invites.usedUp': 'Использовано',
'invites.uses': 'Используется: {current}{max}',
'invites.expiresOn': 'Срок действия истекает {date}',
'invites.empty': 'Пока нет приглашений',
'invites.emptyHint': 'Создайте код приглашения для обмена с другими',
'invites.revokeTitle': 'Отозвать код приглашения',
'invites.revokePromptPrefix': 'Вы уверены, что хотите отозвать код приглашения?',
'invites.revokeWarning':
'Этот код приглашения станет недействительным и не может быть использован для вступления в команду.',
'invites.revoking': 'Отзыв...',
'invites.revokeAction': 'Отозвать приглашение',
'invites.failedGenerate': 'Не удалось создать приглашение.',
'invites.failedRevoke': 'Не удалось отозвать приглашение.',
'team.refreshingMembers': 'Обновление участников...',
'team.loadingMembers': 'Загрузка участников...',
'team.memberCount': '{count} участник',
'team.memberCountPlural': '{count} участников',
'team.you': '(Вы)',
'team.removeAria': 'Удалить {name}',
'team.noMembers': 'Участники не найдены.',
'team.removeTitle': 'Удалить участника команды',
'team.removePromptPrefix': 'Вы уверены, что хотите удалить',
'team.removePromptSuffix': 'из команды?',
'team.removeWarning': 'Они потеряют доступ к команде и всем ее ресурсам.',
'team.removing': 'Удаление...',
'team.removeAction': 'Удалить участника',
'team.changeRoleTitle': 'Изменить роль участника',
'team.changeRolePrompt': 'Изменить роль {name} с {oldRole} на {newRole}?',
'team.changeRoleAdminGrant':
'Это предоставит им полные права администратора, включая возможность управлять участниками команды.',
'team.changeRoleAdminRemove':
'Это лишит их прав администратора, и они больше не смогут управлять командой.',
'team.changing': 'Изменение...',
'team.changeRoleAction': 'Изменить роль',
'team.failedChangeRole': 'Не удалось изменить роль.',
'team.failedRemoveMember': 'Не удалось удалить участника.',
'devOptions.title': 'Дополнительно',
'devOptions.diagnostics': 'Диагностика',
'devOptions.diagnosticsDesc': 'Состояние системы, логи и метрики производительности',
'devOptions.toolPolicyDiagnosticsDesc':
'Инвентаризация инструментов, положение политики, белые списки MCP и недавние блокировки',
'devOptions.toolPolicyDiagnostics.loading': 'Загрузка…',
'devOptions.toolPolicyDiagnostics.unavailable': 'Диагностика недоступна',
'devOptions.toolPolicyDiagnostics.posture.title': 'Политическая позиция',
'devOptions.toolPolicyDiagnostics.posture.autonomy': 'Автономия:',
'devOptions.toolPolicyDiagnostics.posture.workspaceOnly': 'Только рабочее пространство:',
'devOptions.toolPolicyDiagnostics.posture.maxActionsPerHour': 'Макс actions/hr:',
'devOptions.toolPolicyDiagnostics.posture.approvalMediumRisk': 'Одобрение (средний риск):',
'devOptions.toolPolicyDiagnostics.posture.blockHighRisk': 'Блокировать высокий риск:',
'devOptions.toolPolicyDiagnostics.inventory.title': 'Инвентарь',
'devOptions.toolPolicyDiagnostics.inventory.totalTools': 'Всего инструментов',
'devOptions.toolPolicyDiagnostics.inventory.enabledTools': 'Включенные инструменты',
'devOptions.toolPolicyDiagnostics.inventory.mcpStdioTools': 'MCP инструменты stdio',
'devOptions.toolPolicyDiagnostics.inventory.jsonRpcTools': 'JSON-RPC инструменты',
'devOptions.toolPolicyDiagnostics.mcpAllowlists.title': 'Белые списки MCP',
'devOptions.toolPolicyDiagnostics.mcpAllowlists.summary':
'Включено: {enabled} · Серверы: ZXHOLD1ZX/ZXHOLD2ZX',
'devOptions.toolPolicyDiagnostics.mcpAllowlists.unnamed': '<без имени>',
'devOptions.toolPolicyDiagnostics.mcpAllowlists.allowDeny':
'разрешить = {allowCount} запретить = {denyCount}',
'devOptions.toolPolicyDiagnostics.mcpWriteAudit.title': 'MCP аудит записи',
'devOptions.toolPolicyDiagnostics.mcpWriteAudit.summary':
'Включено: {enabled} · Последние (24 часа): {recentRows}',
'devOptions.toolPolicyDiagnostics.recentBlocked.title': 'Недавние заблокированные вызовы',
'devOptions.toolPolicyDiagnostics.recentBlocked.empty':
'Заблокированных вызовов не зарегистрировано.',
'devOptions.toolPolicyDiagnostics.redactedSurfaces.title': 'Отредактированные поверхности',
'devOptions.toolPolicyDiagnostics.redactedSurfaces.summary':
'Возможность записи: {writeCount} · Поверхности политик: {policyCount}',
'devOptions.debugPanels': 'Панели отладки',
'devOptions.debugPanelsDesc': 'Флаги функций, инспекция состояния и инструменты отладки',
'devOptions.webhooks': 'Вебхуки',
'devOptions.webhooksDesc': 'Настройка и тестирование вебхуков',
'devOptions.memoryInspection': 'Инспекция памяти',
'devOptions.memoryInspectionDesc': 'Просмотр, запросы и управление записями памяти',
'voice.pushToTalk': 'Нажми и говори',
'voice.recording': 'Запись...',
'voice.processing': 'Обработка...',
'voice.languageHint': 'Язык',
'misc.rehydrating': 'Загрузка данных...',
'misc.checkingServices': 'Проверка сервисов...',
'misc.serviceUnavailable': 'Сервис недоступен',
'misc.somethingWentWrong': 'Что-то пошло не так',
'misc.tryAgainLater': 'Попробуй позже.',
'misc.restartApp': 'Перезапустить приложение',
'misc.updateAvailable': 'Доступно обновление',
'misc.updateNow': 'Обновить сейчас',
'misc.updateLater': 'Позже',
'misc.downloading': 'Загрузка...',
'misc.installing': 'Установка...',
'misc.beta':
'OpenHuman находится в стадии раннего бета-тестирования. Делись отзывами и сообщай об ошибках — каждый репорт помогает нам двигаться быстрее.',
'misc.betaFeedback': 'Отправить отзыв',
'mnemonic.title': 'Фраза восстановления',
'mnemonic.warning': 'Запиши эти слова по порядку и храни в надёжном месте.',
'mnemonic.copyWarning':
'Никогда не делись фразой восстановления. Любой, кто её знает, получит доступ к твоему аккаунту.',
'mnemonic.copied': 'Фраза восстановления скопирована в буфер обмена',
'mnemonic.reveal': 'Показать фразу',
'mnemonic.revealPhrase': 'Показать фразу восстановления',
'mnemonic.hidden': 'Фраза восстановления скрыта',
'privacy.title': 'Конфиденциальность и безопасность',
'privacy.description': 'Отчёт о данных, отправляемых во внешние сервисы.',
'privacy.empty': 'Передачи данных во внешние сервисы не обнаружены.',
'privacy.whatLeavesComputer': 'Что покидает твой компьютер',
'privacy.loading': 'Загрузка данных о конфиденциальности...',
'privacy.loadError':
'Не удалось загрузить список. Настройки аналитики ниже по-прежнему работают.',
'privacy.noCapabilities': 'Ни одна функция не передаёт данные.',
'privacy.sentTo': 'Отправляется в',
'privacy.leavesDevice': 'Покидает устройство',
'privacy.staysLocal': 'Остаётся локально',
'privacy.anonymizedAnalytics': 'Анонимная аналитика',
'privacy.shareAnonymizedData': 'Делиться анонимными данными об использовании',
'privacy.shareAnonymizedDataDesc':
'Помоги улучшить OpenHuman, отправляя анонимные отчёты об ошибках и данные об использовании. Все данные полностью анонимизированы — личные данные, сообщения, ключи кошелька и информация о сессии никогда не собираются.',
'privacy.meetingFollowUps': 'Действия после встреч',
'privacy.autoHandoffMeet': 'Автоматически передавать транскрипты Google Meet оркестратору',
'privacy.autoHandoffMeetDesc':
'Когда звонок в Google Meet заканчивается, оркестратор OpenHuman может прочитать транскрипт и выполнить действия: составить сообщения, запланировать задачи или опубликовать итоги в Slack. По умолчанию выключено.',
'privacy.analyticsDisclaimer':
'Вся аналитика и отчёты об ошибках полностью анонимизированы. При включении мы собираем только информацию об ошибках, тип устройства и расположение файлов с ошибками. Мы никогда не получаем доступ к твоим сообщениям, данным сессии, ключам кошелька, API-ключам или любой личной информации. Ты можешь изменить этот параметр в любое время.',
'settings.about.version': 'Версия',
'settings.about.updateAvailable': 'доступна',
'settings.about.softwareUpdates': 'Обновления ПО',
'settings.about.lastChecked': 'Последняя проверка',
'settings.about.checking': 'Проверка...',
'settings.about.checkForUpdates': 'Проверить обновления',
'settings.about.releases': 'Релизы',
'settings.about.releasesDesc': 'Просмотр заметок к релизам и предыдущих сборок на GitHub.',
'settings.about.openReleases': 'Открыть релизы на GitHub',
'settings.about.connection': 'Соединение',
'settings.about.connectionMode': 'Режим',
'settings.about.connectionModeLocal': 'Локальный',
'settings.about.connectionModeCloud': 'Облачный',
'settings.about.connectionModeUnset': 'Не выбран',
'settings.about.serverUrl': 'Сервер URL',
'settings.about.serverUrlUnavailable': 'Недоступно',
'settings.about.connectionHelperLocal':
'Создается внутри процесса оболочкой Tauri при запуске приложения. Порт выбирается при запуске, поэтому этот URL меняется между запусками.',
'settings.about.connectionHelperCloud':
'Подключен к удаленному ядру. Измените это в BootCheck или в средстве выбора облачного режима.',
'settings.heartbeat.title': 'Heartbeat и циклы',
'settings.heartbeat.desc': 'Управляйте частотой фонового планирования и проверяйте карту циклов.',
'settings.ledgerUsage.title': 'Журнал использования',
'settings.ledgerUsage.desc':
'Недавние расходы по кредитам, математические расчеты бюджета и предыстория. API читает бюджет.',
'settings.costDashboard.title': 'Панель затрат',
'settings.costDashboard.desc':
'7-дневные расходы и сжигание токенов по всему множеству, с указанием темпа бюджета и разбивки по моделям.',
'settings.costDashboard.sevenDayCost': '7-дневная ежедневная стоимость',
'settings.costDashboard.sevenDayTokens': '7-дневное использование токена',
'settings.costDashboard.totalSpend': 'всего 7 дней',
'settings.costDashboard.monthlyPace': 'Ежемесячный темп',
'settings.costDashboard.budgetLimit': 'Ограничение бюджета',
'settings.costDashboard.utilization': 'Использование',
'settings.costDashboard.modelBreakdown': 'Разбивка по моделям',
'settings.costDashboard.model': 'Модель',
'settings.costDashboard.provider': 'Поставщик',
'settings.costDashboard.cost': 'Расходы',
'settings.costDashboard.tokens': 'Токены',
'settings.costDashboard.requests': 'Запросы',
'settings.costDashboard.percentOfTotal': '% от общего количества',
'settings.costDashboard.inputTokens': 'Вход',
'settings.costDashboard.outputTokens': 'Выход',
'settings.costDashboard.budgetNormal': 'На ходу',
'settings.costDashboard.budgetWarning': 'Предупреждение',
'settings.costDashboard.budgetExceeded': 'Превышение бюджета',
'settings.costDashboard.noBudget': 'Ограничение не установлено',
'settings.costDashboard.noData': 'За последние 7 дней стоимость еще не зафиксирована.',
'settings.costDashboard.noModels': 'Никакой активности модели за последние 7 дней.',
'settings.costDashboard.loading': 'Загрузка сводки расходов…',
'settings.costDashboard.disabledHint':
'Панель затрат отключена в конфигурации. Установите [cost.dashboard] Enabled = True в config.toml, чтобы повторно включить.',
'settings.costDashboard.subtitle':
'Расходы в реальном времени и сжигание токенов по всему множеству. Бары автоматически обновляются каждые несколько секунд — перезагрузка страницы не требуется.',
'settings.costDashboard.summaryAriaLabel': 'Сводные показатели затрат',
'settings.costDashboard.lastSevenDays': 'последние 7 дней',
'settings.costDashboard.utilizationOf': 'из',
'settings.costDashboard.thisMonth': 'в этом месяце',
'settings.costDashboard.monthlyPaceHint':
'Прогнозируемые ежемесячные расходы при текущем ежедневном расходе (в среднем × 30).',
'settings.costDashboard.budgetLimitHint':
'Ежемесячный бюджет считывается из Cost.monthly_limit_usd в config.toml.',
'settings.costDashboard.dailyTarget': 'Ежедневная цель',
'settings.costDashboard.today': 'Сегодня',
'settings.costDashboard.todayBadge': 'TODAY',
'settings.costDashboard.unknownProvider': '—',
'settings.costDashboard.justNow': 'Прямо сейчас',
'settings.costDashboard.secondsAgo': '{value} сек. назад',
'settings.costDashboard.minutesAgo': '{value}мин назад',
'settings.costDashboard.hoursAgo': '{value}ч назад',
'settings.costDashboard.daysAgo': '{value} дней назад',
'settings.costDashboard.updated': 'Обновлено',
'settings.costDashboard.refresh': 'Обновить',
'settings.costDashboard.utcNote': 'Дни, разбитые по UTC',
'settings.costDashboard.stackedNote': 'Вход + выход сложены',
'settings.costDashboard.modelBreakdownHint': 'Совокупно за последние 7 дней.',
'settings.costDashboard.noDataHint':
'Отправьте сообщение агенту — использование токена при следующем вызове провайдера заполнит диаграмму в течение примерно 10 секунд.',
'settings.search.title': 'Поисковая система',
'settings.search.menuDesc':
'По умолчанию используется поиск, управляемый OpenHuman, или подключите собственного провайдера с помощью ключа API.',
'settings.search.description':
'Выберите поисковую систему, которую использует агент, или полностью отключите инструменты поиска. Управляемый режим использует серверную часть OpenHuman (настройка не требуется). Parallel, Brave и Querit работают напрямую с вашего устройства, используя ваш API-ключ.',
'settings.search.engineAria': 'Поисковая система',
'settings.search.engineDisabledLabel': 'Disabled',
'settings.search.engineDisabledDesc':
'Удалить инструменты поиска из контекста агента и списка доступных инструментов.',
'settings.search.engineManagedLabel': 'OpenHuman Управляемый',
'settings.search.engineManagedDesc':
'По умолчанию. Маршрутизируется через серверную часть OpenHuman — ключ API не ​​требуется.',
'settings.search.localManagedUnavailable':
'Поиск OpenHuman Managed недоступен для локальных пользователей. Добавьте свой ключ API Parallel или Brave, чтобы включить веб-поиск.',
'settings.search.engineParallelLabel': 'Параллельно',
'settings.search.engineParallelDesc':
'Direct Parallel API: инструменты поиска, извлечения, общения, исследования, обогащения и набора данных.',
'settings.search.engineBraveLabel': 'Brave Поиск',
'settings.search.engineBraveDesc':
'Прямой поиск Brave API: инструменты для Интернета, новостей, изображений и видео.',
'settings.search.engineQueritLabel': 'Керит',
'settings.search.engineQueritDesc':
'Direct Querit API: поиск в Интернете с фильтрами по сайту, временному диапазону, стране и языку.',
'settings.search.statusConfigured': 'Настроено',
'settings.search.statusNeedsKey': 'Требуется ключ API',
'settings.search.fallbackToManaged':
'Ключ не настроен — поиск будет переведен в режим «Управляемый», пока ключ не будет сохранен.',
'settings.search.getApiKey': 'Получите ключ API',
'settings.search.save': 'Сохранить',
'settings.search.clear': 'Очистить',
'settings.search.show': 'Показать',
'settings.search.hide': 'Скрыть',
'settings.search.statusSaving': 'Сохранение…',
'settings.search.statusSaved': 'Сохранено.',
'settings.search.statusError': 'Ошибка',
'settings.search.parallelKeyLabel': 'Parallel API ключ',
'settings.search.braveKeyLabel': 'Brave Поиск API ключ',
'settings.search.queritKeyLabel': 'Запросить ключ API',
'settings.search.placeholderStored': '•••••••• (сохранено)',
'settings.search.placeholderParallel': 'pk_...',
'settings.search.placeholderBrave': 'BSA...',
'settings.search.placeholderQuerit': 'Запросить ключ API',
'settings.search.allowedSitesLabel': 'Разрешенные веб-сайты',
'settings.search.allowedSitesHint':
'Хосты, которые ассистент может открывать и читать — через веб-запросы и браузерный инструмент — по одному на строку, например reuters.com. Хост также охватывает все его поддомены. Веб-поиск не ограничивается этим списком.',
'settings.search.allowedSitesAllOn':
'Помощник может открыть любой общедоступный веб-сайт. Локальные и частные адреса остаются заблокированными.',
'settings.search.allowedSitesPlaceholder': 'reuters.com\napnews.com\ngithub.com',
'settings.search.allowedSitesSave': 'Сохранение веб-сайтов',
'settings.search.accessModeAria': 'Режим веб-доступа',
'settings.search.accessAllowAll': 'Разрешить все',
'settings.search.accessCustom': 'Обычай',
'settings.search.accessBlockAll': 'Блокировать все',
'settings.search.accessBlockAllHint':
'Весь веб-доступ заблокирован — помощник не может открыть или прочитать какой-либо веб-сайт.',
'settings.embeddings.title': 'Эмбеддинги',
'settings.embeddings.description':
'Выберите провайдера эмбеддингов, который преобразует память в векторы для семантического поиска. Изменение провайдера, модели или размерности делает сохранённые векторы недействительными и требует полного сброса памяти.',
'settings.embeddings.providerAria': 'Провайдер эмбеддингов',
'settings.embeddings.statusConfigured': 'Настроено',
'settings.embeddings.statusNeedsKey': 'Нужен API-ключ',
'settings.embeddings.apiKeyLabel': 'API-ключ {provider}',
'settings.embeddings.placeholderStored': '•••••••• (сохранено)',
'settings.embeddings.placeholderKey': 'Вставьте API-ключ…',
'settings.embeddings.keyStoredEncrypted':
'Ваш API-ключ хранится в зашифрованном виде на этом устройстве.',
'settings.embeddings.show': 'Показать',
'settings.embeddings.hide': 'Скрыть',
'settings.embeddings.save': 'Сохранить',
'settings.embeddings.clear': 'Очистить',
'settings.embeddings.model': 'Модель',
'settings.embeddings.dimensions': 'Размерность',
'settings.embeddings.customEndpoint': 'Пользовательский эндпоинт',
'settings.embeddings.customModelPlaceholder': 'Название модели',
'settings.embeddings.customDimsPlaceholder': 'Разм.',
'settings.embeddings.applyCustom': 'Применить',
'settings.embeddings.testConnection': 'Проверить подключение',
'settings.embeddings.testing': 'Проверка…',
'settings.embeddings.testSuccess': 'Подключено — {dims} измерений',
'settings.embeddings.testFailed': 'Ошибка: {error}',
'settings.embeddings.saving': 'Сохранение…',
'settings.embeddings.saved': 'Сохранено.',
'settings.embeddings.errorPrefix': 'Ошибка',
'settings.embeddings.wipeTitle': 'Сбросить векторы памяти?',
'settings.embeddings.wipeBody':
'Изменение провайдера эмбеддингов, модели или размерности удалит все сохранённые векторы памяти. Память должна быть перестроена, прежде чем поиск снова заработает. Это действие нельзя отменить.',
'settings.embeddings.cancel': 'Отмена',
'settings.embeddings.confirmWipe': 'Очистить и применить',
'settings.embeddings.setupTitle': 'Настройка {provider}',
'settings.embeddings.saveAndSwitch': 'Сохранить и переключить',
'settings.embeddings.optional': 'необязательно',
'settings.embeddings.vectorSearchDisabled':
'Векторный поиск отключен. При вызове из памяти будут использоваться только сопоставление ключевых слов и актуальность — без семантического ранжирования.',
'settings.embeddings.clearKey': 'Удалить API-ключ',
'pages.settings.ai.embeddings': 'Эмбеддинги',
'pages.settings.ai.embeddingsDesc': 'Модель векторного кодирования для извлечения из памяти',
'mcp.alphaBadge': 'Альфа',
'mcp.alphaBannerText':
'Поддержка сервера MCP находится в ранней альфа-версии. Реестр Smithery, процесс установки и подключение инструментов могут работать неправильно или изменять форму между выпусками.',
'mcp.toolList.noTools': 'Инструменты недоступны.',
'mcp.setup.secretDialog.title': 'MCP Настройка — введите секретный код',
'mcp.setup.secretDialog.bodyPrefix': 'Агенту установки MCP требуется',
'mcp.setup.secretDialog.bodySuffix':
'. Ваше значение отправляется непосредственно в основной процесс и никогда не попадает в диалог AI.',
'mcp.setup.secretDialog.inputLabel': 'Значение',
'mcp.setup.secretDialog.inputPlaceholder': 'Вставить сюда',
'mcp.setup.secretDialog.show': 'Показать',
'mcp.setup.secretDialog.hide': 'Скрыть',
'mcp.setup.secretDialog.submit': 'Отправить',
'mcp.setup.secretDialog.cancel': 'Отмена',
'mcp.setup.secretDialog.submitting': 'Отправка…',
'mcp.setup.secretDialog.errorPrefix': 'Не удалось отправить:',
'mcp.setup.secretDialog.privacyNote':
'Хранится в зашифрованном виде в локальной таблице секретов MCP. Никогда не регистрировался и не отправлялся модели.',
'devices.betaBadge': 'Бета-версия',
'devices.betaText':
'Эта функция находится в стадии бета-тестирования. Подключите iPhone к этому OpenHuman для использования в качестве удалённого клиента.',
'devices.comingSoonDescription':
'Сопряжение устройств скоро появится. Эта страница будет местом для подключения iPhone и управления подключёнными устройствами.',
'devices.title': 'Устройства',
'devices.pairIphone': 'Сопряжение с iPhone',
'devices.noPaired': 'Нет сопряженных устройств',
'devices.emptyState':
'Отсканируйте QR-код на своём iPhone, чтобы подключить его к текущей сессии OpenHuman.',
'devices.devicePairedTitle': 'Устройство сопряжено.',
'devices.devicePairedMessage': 'iPhone успешно подключен.',
'devices.deviceRevokedTitle': 'Устройство отозвано.',
'devices.deviceRevokedMessage': '{label} удалено.',
'devices.revokeFailedTitle': 'Не удалось отозвать',
'devices.online': 'В сети',
'devices.offline': 'Не в сети',
'devices.lastSeenNever': 'Никогда',
'devices.lastSeenNow': 'Только сейчас',
'devices.lastSeenMinutes': '{count}м назад',
'devices.lastSeenHours': '{count}ч назад',
'devices.lastSeenDays': '{count}д назад',
'devices.revoke': 'Отозвать',
'devices.revokeAria': 'Отозвать {label}',
'devices.confirmRevokeTitle': 'Отозвать устройство?',
'devices.confirmRevokeBody': '{label} больше не сможет подключиться. Это невозможно отменить.',
'devices.loadFailed': 'Не удалось загрузить устройства: {message}',
'devices.pairModal.title': 'Сопряжение с iPhone',
'devices.pairModal.loading': 'Генерация кода сопряжения…',
'devices.pairModal.instructions':
'Откройте приложение OpenHuman на iPhone и отсканируйте этот код.',
'devices.pairModal.expiresIn': 'Срок действия кода истекает через ~{count} минуту.',
'devices.pairModal.expiresInPlural': 'Срок действия кода истекает через ~{count} минут.',
'devices.pairModal.showDetails': 'Показать подробности',
'devices.pairModal.hideDetails': 'Скрыть подробности',
'devices.pairModal.channelId': 'Идентификатор канала',
'devices.pairModal.pairingUrl': 'Сопряжение URL',
'devices.pairModal.expiredTitle': 'Срок действия QR code истек',
'devices.pairModal.expiredBody': 'Создайте новый код для продолжения сопряжения.',
'devices.pairModal.generateNewCode': 'Создать новый код.',
'devices.pairModal.successTitle': 'Соединение с iPhone.',
'devices.pairModal.autoClose': 'Автоматическое закрытие…',
'devices.pairModal.errorPrefix': 'Не удалось создать соединение: {message}',
'devices.pairModal.errorTitle': 'Что-то пошло не так',
'devices.pairModal.copyUrl': 'Копировать',
'mcp.catalog.searchAria': 'Поиск в каталоге кузнечного дела',
'mcp.catalog.searchPlaceholder': 'Поиск в каталоге кузнечного дела...',
'mcp.catalog.loadFailed': 'Не удалось загрузить каталог.',
'mcp.catalog.noResults': 'Серверы не найдены.',
'mcp.catalog.noResultsFor': 'Серверы для «{query}» не найдены.',
'mcp.catalog.loadMore': 'Загрузить больше',
'mcp.configAssistant.title': 'Помощник по настройке',
'mcp.configAssistant.empty':
'Спросите о конфигурации, необходимых переменных окружения или этапах настройки.',
'mcp.configAssistant.suggestedValues': 'Рекомендуемые значения:',
'mcp.configAssistant.valueHidden': '(значение скрыто)',
'mcp.configAssistant.applySuggested': 'Примените предложенные значения.',
'mcp.configAssistant.reinstallHint': 'Переустановите с этими значениями, чтобы применить их.',
'mcp.configAssistant.thinking': 'Думаю...',
'mcp.configAssistant.inputPlaceholder':
'Задайте вопрос (Enter для отправки, Shift+Enter для перевода строки)',
'mcp.configAssistant.send': 'Отправить',
'mcp.configAssistant.failedResponse': 'Не удалось получить ответ',
'mcp.toolList.availableSingular': 'Доступен инструмент {count}',
'mcp.toolList.availablePlural': 'Доступен инструмент {count}',
'mcp.toolList.tryTool': 'Пытаться',
'mcp.toolList.tryToolAria': 'Открытая площадка для исполнения {name}',
'mcp.playground.title': 'Запустите {name}',
'mcp.playground.close': 'Закрыть игровую площадку',
'mcp.playground.inputSchema': 'Входная схема',
'mcp.playground.argsLabel': 'Аргументы (JSON)',
'mcp.playground.argsHelp':
'Введите JSON, соответствующий входной схеме. Пустой ввод рассматривается как {}.',
'mcp.playground.runShortcut': '⌘/Ctrl + Enter для запуска',
'mcp.playground.format': 'Формат',
'mcp.playground.invalidJson': 'Неверный JSON',
'mcp.playground.run': 'Запустить инструмент',
'mcp.playground.running': 'Бег…',
'mcp.playground.result': 'Результат',
'mcp.playground.resultError': 'Инструмент возвратил ошибку',
'mcp.playground.copyResult': 'Копировать результат',
'mcp.playground.copied': 'Скопировано',
'mcp.playground.history': 'История',
'mcp.playground.historyEmpty': 'В этом сеансе пока нет вызовов.',
'mcp.playground.historyLoad': 'Нагрузка',
'mcp.playground.unexpectedError': 'Неожиданная ошибка при вызове инструмента.',
'mcp.catalog.deployed': 'Развернуто',
'mcp.catalog.installCount': '{count} устанавливает',
'app.update.dismissNotification': 'Отклонить уведомление об обновлении',
'bootCheck.rpcAuthSuffix': 'каждый раз RPC.',
'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': 'Вращающийся космический корабль в виде перевернутого тетраэдра',
'mcp.installed.title': 'Установлен',
'mcp.installed.browseCatalog': 'Просмотр каталога',
'mcp.installed.empty': 'Серверы MCP пока не установлены.',
'mcp.installed.toolSingular': '{count} инструмент',
'mcp.installed.toolPlural': '{count} инструменты',
'mcp.health.title': 'Здоровье',
'mcp.health.summaryAria': 'Сводная информация о состоянии соединения MCP',
'mcp.health.connectedCount': '{count} подключен',
'mcp.health.connectingCount': '{count} подключение',
'mcp.health.errorCount': 'Ошибка {count}',
'mcp.health.disconnectedCount': '{count} простой',
'mcp.health.retryAll': 'Повторить все ({count})',
'mcp.health.retryAllAria': 'Повторить попытку на всех серверах {count} с ошибкой MCP.',
'mcp.health.disconnectAll': 'Отключить все ({count})',
'mcp.health.disconnectAllAria': 'Отключите все подключенные к {count} серверы MCP.',
'mcp.health.disconnectConfirm.title': 'Отключить все серверы MCP?',
'mcp.health.disconnectConfirm.body':
'Это отключит {count}, подключенные в данный момент серверы MCP. Установленные конфигурации и секреты сохраняются; вы можете повторно подключить любой сервер позже.',
'mcp.health.disconnectConfirm.cancel': 'Отмена',
'mcp.health.disconnectConfirm.confirm': 'Отключить все',
'mcp.health.opErrorGeneric': 'Массовая операция не удалась. Смотрите журналы.',
'mcp.health.bulkPartialFailure': '{failed} из {total} серверов дали сбой. Смотрите журналы.',
'mcp.installed.search.landmarkAria': 'Поиск установленных серверов MCP',
'mcp.installed.search.inputAria': 'Фильтровать установленные серверы MCP по имени',
'mcp.installed.search.placeholder': 'Фильтровать серверы…',
'mcp.installed.search.clearAria': 'Очистить фильтр',
'mcp.installed.search.countMatches': '{shown} из серверов {total}',
'mcp.installed.search.noMatches': 'Нет серверов, соответствующих «{query}».',
'mcp.inventory.openButton': 'Инвентарь',
'mcp.inventory.openAria': 'Откройте общую панель инвентаря MCP.',
'mcp.inventory.title': 'Общий инвентарь MCP',
'mcp.inventory.subtitle':
'Экспортируйте установленные серверы MCP в виде переносимого, несекретного манифеста или импортируйте его у товарища по команде. Секретные значения env никогда не включаются и не импортируются.',
'mcp.inventory.close': 'Закрыть панель инвентаря',
'mcp.inventory.tablistAria': 'Разделы инвентаря',
'mcp.inventory.tab.export': 'Экспорт',
'mcp.inventory.tab.import': 'Импорт',
'mcp.inventory.export.empty':
'Серверы MCP пока не установлены — экспортировать нечего. Сначала установите один из каталога.',
'mcp.inventory.export.privacyTitle': 'Что в этом манифесте',
'mcp.inventory.export.privacyBody':
'Только имена серверов, полные имена, ИМЕНА КЛЮЧЕЙ переменных env и несекретная конфигурация. Секретные значения, идентификаторы вашего компьютера и временные метки каждой установки намеренно удаляются.',
'mcp.inventory.export.serverCount': 'Серверы {count} в этом манифесте',
'mcp.inventory.export.copy': 'Копировать',
'mcp.inventory.export.copied': 'Скопировано',
'mcp.inventory.export.copyAria': 'Скопируйте манифест JSON в буфер обмена.',
'mcp.inventory.export.download': 'Скачать',
'mcp.inventory.export.downloadAria': 'Загрузите манифест в виде файла JSON.',
'mcp.inventory.import.trustTitle': 'Считайте импортированные манифесты ненадежным кодом.',
'mcp.inventory.import.trustBody':
'Сервер MCP — это инструмент, который вы предоставляете своему агенту. Импортируйте манифесты только из источников, которым вы доверяете. Каждая установка требует вашего явного щелчка мышью; ничего не устанавливается автоматически.',
'mcp.inventory.import.pasteLabel': 'Вставить манифест JSON',
'mcp.inventory.import.pastePlaceholder': 'Вставьте манифест сюда или загрузите файл.json ниже.',
'mcp.inventory.import.preview': 'Предварительный просмотр',
'mcp.inventory.import.clear': 'Прозрачный',
'mcp.inventory.import.uploadFile': 'или загрузите файл.json',
'mcp.inventory.import.uploadFileAria': 'Загрузите файл манифеста.json.',
'mcp.inventory.import.fileTooLarge': 'Файл слишком велик (более 1 МБ). Отказ загружаться.',
'mcp.inventory.import.fileReadFailed': 'Не удалось прочитать файл.',
'mcp.inventory.import.parseErrorPrefix': 'Не удалось разобрать манифест:',
'mcp.inventory.import.previewHeading': 'Предварительный просмотр',
'mcp.inventory.import.previewCounts': 'Серверы {total} — {newly} новый, {already} уже установлен',
'mcp.inventory.import.previewEmpty': 'Манифест не содержит серверов.',
'mcp.inventory.import.exportedFrom': 'Экспортировано из {exporter}.',
'mcp.inventory.import.exportedAt': 'в {when}',
'mcp.inventory.import.statusNew': 'Новый',
'mcp.inventory.import.statusAlreadyInstalled': 'Уже установлено',
'mcp.inventory.import.envKeysLabel': 'Ключи окружения',
'mcp.inventory.import.install': 'Установить',
'mcp.inventory.import.installAria': 'Установите {name} из этого манифеста.',
'mcp.inventory.import.skipped': 'skipped',
'mcp.inventory.parseError.empty': 'Манифест пуст.',
'mcp.inventory.parseError.invalidJson': 'Неверный JSON.',
'mcp.inventory.parseError.rootNotObject': 'Манифест должен быть объектом JSON в корне.',
'mcp.inventory.parseError.unsupportedSchema':
'Неподдерживаемая схема манифеста — этот файл не был создан совместимым экспортером.',
'mcp.inventory.parseError.missingExportedAt': 'Поле `exported_at` отсутствует или неверно.',
'mcp.inventory.parseError.missingExportedBy': 'Поле `exported_by` отсутствует или неверно.',
'mcp.inventory.parseError.invalidServers': 'Массив `servers` отсутствует или недействителен.',
'mcp.inventory.parseError.serverNotObject': 'Запись сервера не является объектом.',
'mcp.inventory.parseError.serverMissingQualifiedName':
'В записи сервера отсутствует квалифицированное_имя.',
'mcp.inventory.parseError.serverMissingDisplayName':
'В записи сервера отсутствует отображаемое_имя.',
'mcp.inventory.parseError.serverEnvKeysNotArray':
'Запись сервера имеет поле env_keys, которое не является массивом строк.',
'mcp.inventory.parseError.serverContainsEnv':
'Запись сервера содержит карту значений `env`. Отказ от импорта — манифесты должны содержать только env_keys (имена), а не секретные значения.',
'mcp.inventory.parseError.duplicateQualifiedName':
'В манифесте найдено повторяющееся квалифицированное_имя. Каждый сервер должен появиться не более одного раза.',
'mcp.tab.loading': 'Загрузка серверов MCP...',
'mcp.tab.emptyDetail': 'Выберите сервер или просмотрите каталог.',
'mcp.install.loadingDetail': 'Загрузка сведений о сервере...',
'mcp.install.back': 'Вернитесь назад',
'mcp.install.title': 'Установите {name}',
'mcp.install.requiredEnv': 'Необходимые переменные среды',
'mcp.install.enterValue': 'Введите {key}',
'mcp.install.show': 'Показать',
'mcp.install.hide': 'Скрыть',
'mcp.install.configLabel': 'Конфигурация (необязательный JSON)',
'mcp.install.configPlaceholder': '{"ключ": "значение"}',
'mcp.install.missingRequired': 'Требуется «{key}»',
'mcp.install.invalidJson': 'Конфигурация JSON недействительна. JSON',
'mcp.install.failedDetail': 'Не удалось загрузить сведения о сервере.',
'mcp.install.failedInstall': 'Не удалось установить',
'mcp.install.button': 'Установить',
'mcp.install.installing': 'Установка...',
'mcp.detail.suggestedEnvReady': 'Рекомендуемые значения среды готовы',
'mcp.detail.suggestedEnvBody':
'Чтобы применить их, переустановите этот сервер с предложенными значениями: {keys}.',
'mcp.detail.connect': 'Подключитесь',
'mcp.detail.connecting': 'Подключение...',
'mcp.detail.disconnect': 'Отключите',
'mcp.detail.hideAssistant': 'Скрыть помощника',
'mcp.detail.helpConfigure': 'Помогите мне настроить',
'mcp.detail.confirmUninstall': 'Подтвердить удаление?',
'mcp.detail.confirmUninstallAction': 'Да, удалить',
'mcp.detail.uninstall': 'Удалить',
'mcp.detail.envVars': 'Переменные среды',
'mcp.detail.reconfigure': 'Перенастроить',
'mcp.detail.reconfigureHint':
'Введите новые значения для каждой переменной, затем переподключитесь. Это заменит сохранённые значения.',
'mcp.detail.saveReconnect': 'Сохранить и переподключиться',
'mcp.detail.reconfigureSaving': 'Сохранение…',
'mcp.detail.reconfigureSuccess': 'Окружение обновлено, выполнено переподключение.',
'mcp.detail.reconfigureReconnectFailed':
'Сохранено, но переподключиться с новыми значениями не удалось.',
'mcp.detail.tools': 'Инструменты',
'onboarding.skipForNow': 'Пропустить сейчас',
'onboarding.localAI.continueWithCloud': 'Продолжить с Облако',
'onboarding.localAI.useLocalAnyway':
'Всё равно использовать локальный ИИ (не рекомендуется для вашего устройства)',
'onboarding.localAI.useLocalInstead': 'Использовать локальный ИИ (подключить Ollama сейчас)',
'onboarding.localAI.setupIssue': 'При настройке локального AI возникла проблема',
'autonomy.title': 'Автономия агента.',
'autonomy.maxActionsLabel': 'Максимальное количество действий в час.',
'autonomy.maxActionsHelp':
'Максимальное количество действий инструментов, которое агент может выполнить за скользящий час. Новое значение применяется к следующему чату. Задания cron и слушатели каналов сохраняют текущий лимит до перезапуска OpenHuman.',
'autonomy.statusSaving': 'Сохранение…',
'autonomy.statusSaved': 'Сохранено.',
'autonomy.statusFailed': 'Ошибка',
'autonomy.unlimitedNote': 'Unlimited — ограничение скорости отключено.',
'autonomy.invalidIntegerMsg':
'Должно быть положительным целым числом (используйте пресет «Без ограничений» для отключения лимита).',
'autonomy.presetUnlimited': 'Неограниченно (по умолчанию)',
'triggers.toggleFailed': '{action} не удалось для {trigger}: {message}',
'settings.ai.overview': 'Обзор AI-системы',
'settings.ai.configStatus': 'Статус конфигурации',
'settings.ai.fallbackMode': 'Резервный режим',
'settings.ai.loadedFromRuntime': 'Загружено из среды выполнения',
'settings.ai.loadingDuration': 'Время загрузки',
'settings.ai.localRuntime': 'Локальная среда выполнения модели',
'settings.ai.openManager': 'Открыть менеджер',
'settings.ai.retryDownload': 'Повторить загрузку',
'settings.ai.state': 'Состояние',
'settings.ai.targetModel': 'Целевая модель',
'settings.ai.download': 'Скачать',
'settings.ai.localModelUnavailable': 'Статус локальной модели недоступен.',
'settings.ai.soulConfig': 'Конфигурация персоны SOUL',
'settings.ai.refreshing': 'Обновление...',
'settings.ai.refreshSoul': 'Обновить SOUL',
'settings.ai.loadingSoul': 'Загрузка конфигурации SOUL...',
'settings.ai.identity': 'Идентичность',
'settings.ai.personality': 'Личность',
'settings.ai.safetyRules': 'Правила безопасности',
'settings.ai.source': 'Источник',
'settings.ai.loaded': 'Загружено',
'settings.ai.toolsConfig': 'Конфигурация TOOLS',
'settings.ai.refreshTools': 'Обновить TOOLS',
'settings.ai.toolsAvailable': 'Доступно инструментов',
'settings.ai.tools': 'инструменты',
'settings.ai.activeSkills': 'Активные навыки',
'settings.ai.skills': 'навыки',
'settings.ai.skillsOverview': 'Обзор навыков',
'settings.ai.refreshingAll': 'Обновление всего...',
'settings.ai.refreshAll': 'Обновить всю конфигурацию AI',
'settings.notifications.suppressAll': 'Отключить все уведомления',
'settings.notifications.suppressAllDesc':
'Блокировать все всплывающие уведомления ОС из встроенных приложений независимо от фокуса.',
'settings.notifications.toggleDnd': 'Включить/выключить «Не беспокоить»',
'settings.notifications.categories': 'Категории',
'settings.notifications.categoryFooter':
'Отключение категории останавливает появление новых уведомлений этого типа в центре уведомлений. Существующие уведомления остаются до их очистки.',
'settings.billing.movedToWeb': 'Оплата перенесена на сайт',
'settings.billing.openDashboard': 'Открыть панель оплаты',
'settings.billing.movedToWebDesc':
'Изменение подписки, способы оплаты, кредиты и счета теперь управляются в TinyHumans на сайте.',
'settings.billing.backToSettings': 'Назад к настройкам',
'settings.billing.openingBrowser': 'Открытие браузера...',
'settings.billing.browserNotOpen': 'Если браузер не открылся, используй кнопку выше.',
'settings.billing.browserOpenFailed': 'Браузер не открылся автоматически. Используй кнопку выше.',
'settings.tools.chooseCapabilities':
'Выбери, какие возможности OpenHuman может использовать от твоего имени.',
'settings.tools.saveChanges': 'Сохранить изменения',
'settings.tools.preferencesSaved': 'Настройки сохранены',
'settings.tools.saveFailed': 'Не удалось сохранить настройки. Попробуй ещё раз.',
'settings.screenAwareness.mode': 'Режим',
'settings.screenAwareness.allExceptBlacklist': 'Всё, кроме исключений',
'settings.screenAwareness.whitelistOnly': 'Только разрешённые',
'settings.screenAwareness.screenMonitoring': 'Мониторинг экрана',
'settings.screenAwareness.saveSettings': 'Сохранить настройки',
'settings.screenAwareness.session': 'Сессия',
'settings.screenAwareness.status': 'Статус',
'settings.screenAwareness.active': 'Активно',
'settings.screenAwareness.stopped': 'Остановлено',
'settings.screenAwareness.remaining': 'Осталось',
'settings.screenAwareness.startSession': 'Начать сессию',
'settings.screenAwareness.stopSession': 'Завершить сессию',
'settings.screenAwareness.analyzeNow': 'Анализировать сейчас',
'settings.screenAwareness.macosOnly':
'Захват экрана и управление разрешениями поддерживаются только на macOS.',
'connections.comingSoon': 'Скоро',
'connections.setUp': 'Настроить',
'connections.configured': 'Настроено',
'connections.unavailable': 'Недоступно',
'connections.checking': 'Проверка…',
'connections.walletConfigured':
'Локальные идентификаторы EVM, BTC, Solana и Tron настроены на основе твоей фразы восстановления.',
'connections.walletReady':
'Настрой локальные идентификаторы EVM, BTC, Solana и Tron из одной фразы восстановления.',
'connections.walletError':
'Не удалось проверить статус кошелька. Нажми, чтобы повторить в панели фразы восстановления.',
'connections.walletChecking': 'Проверка статуса кошелька...',
'connections.walletIdentities': 'Идентификаторы кошелька',
'connections.walletDerived':
'Вычислено локально из фразы восстановления и хранится только как безопасные метаданные.',
'connections.privacySecurity': 'Конфиденциальность и безопасность',
'connections.privacySecurityDesc':
'Все данные и учётные данные хранятся локально по политике нулевого хранения. Информация зашифрована и никогда не передаётся третьим лицам.',
'channels.status.connecting': 'Подключение',
'channels.status.notConfigured': 'Не настроено',
'channels.noActiveRoute': 'Нет активного маршрута',
'channels.activeRoute': 'Активный маршрут',
'channels.loadingDefinitions': 'Загрузка определений каналов...',
'channels.channelConnections': 'Подключения каналов',
'channels.configureAuthModes': 'Настрой режимы авторизации для каждого канала связи.',
'channels.configNotAvailable': 'Конфигурация для',
'channels.channel': 'канал',
'devOptions.coreModeNotSet': 'Режим ядра: не задан',
'devOptions.coreModeNotSetDesc':
'Выбор в загрузочном экране ещё не подтверждён. Используй «Сменить режим» для выбора между «Локальный» и «Облако».',
'devOptions.local': 'Локальный',
'devOptions.embeddedCoreSidecar': 'Встроенный процесс ядра',
'devOptions.sidecarSpawned': 'Запущен внутри процесса Tauri при старте приложения.',
'devOptions.cloud': 'Облако',
'devOptions.remoteCoreRpc': 'Удалённый RPC ядра',
'devOptions.token': 'Токен',
'devOptions.tokenNotSet': 'не задан — RPC вернёт 401',
'devOptions.triggerSentryTest': 'Тест Sentry (staging)',
'devOptions.triggerSentryTestDesc':
'Отправляет тегированную ошибку для проверки пайплайна Sentry. Issue #1072 — удалить после проверки.',
'devOptions.sendTestEvent': 'Отправить тестовое событие',
'devOptions.sending': 'Отправка…',
'devOptions.eventSent': 'Событие отправлено',
'devOptions.sentryDisabled': '(идентификатор отсутствует — охрана отключена в этой сборке)',
'devOptions.failed': 'Ошибка',
'devOptions.appLogs': 'Логи приложения',
'devOptions.appLogsDesc':
'Открыть папку с ежедневными лог-файлами. Прикрепляй последний файл при сообщении об ошибке.',
'devOptions.openLogsFolder': 'Открыть папку с логами',
'mnemonic.phraseSaved': 'Фраза восстановления сохранена',
'mnemonic.walletReady': 'Мультичейн-идентификаторы готовы. Возврат к настройкам...',
'mnemonic.writeDownWords': 'Запиши эти',
'mnemonic.wordsInOrder':
'слова по порядку и храни в надёжном месте. Эта фраза защищает твой локальный ключ шифрования и идентификаторы кошельков EVM, BTC, Solana и Tron.',
'mnemonic.cannotRecover':
'Эту фразу невозможно восстановить при потере — она должна оставаться только на твоём устройстве.',
'mnemonic.copyToClipboard': 'Скопировать в буфер обмена',
'mnemonic.alreadyHavePhrase': 'У меня уже есть фраза восстановления',
'mnemonic.consentSaved':
'Я сохранил эту фразу и соглашаюсь использовать её для настройки локального кошелька',
'mnemonic.enterPhraseToRestore':
'Введи фразу восстановления ниже для восстановления идентификаторов кошелька, или вставь полную фразу в любое поле (12 слов для новых бэкапов; фразы из 24 слов от старых версий тоже работают).',
'mnemonic.words': 'Слова',
'mnemonic.validPhrase': 'Верная фраза восстановления',
'mnemonic.generateNewPhrase': 'Сгенерировать новую фразу восстановления',
'mnemonic.securingData': 'Защита данных...',
'mnemonic.saveRecoveryPhrase': 'Сохранить фразу восстановления',
'mnemonic.userNotLoaded': 'Пользователь не загружен. Войди снова или обнови страницу.',
'mnemonic.invalidPhrase': 'Неверная фраза восстановления. Проверь слова и попробуй снова.',
'mnemonic.somethingWentWrong': 'Что-то пошло не так. Попробуй ещё раз.',
'team.failedToCreate': 'Не удалось создать команду',
'team.invalidInviteCode': 'Неверный или устаревший код приглашения',
'team.failedToSwitch': 'Не удалось переключить команду',
'team.failedToLeave': 'Не удалось покинуть команду',
'team.role.owner': 'Владелец',
'team.role.admin': 'Администратор',
'team.role.billingManager': 'Менеджер по оплате',
'team.role.member': 'Участник',
'team.active': 'Активная',
'team.personalTeam': 'Личная команда',
'team.manageTeam': 'Управление командой',
'team.switching': 'Переключение...',
'team.switch': 'Переключить',
'team.leaving': 'Выход...',
'team.leave': 'Покинуть',
'team.yourTeams': 'Твои команды',
'team.createNewTeam': 'Создать новую команду',
'team.teamName': 'Название команды',
'team.creating': 'Создание...',
'team.joinExistingTeam': 'Вступить в существующую команду',
'team.inviteCode': 'Код приглашения',
'team.joining': 'Вход...',
'team.join': 'Вступить',
'team.leaveTeam': 'Покинуть команду',
'team.confirmLeave': 'Ты уверен, что хочешь покинуть',
'team.leaveWarning':
'Ты потеряешь доступ к команде и всем её ресурсам. Для повторного входа потребуется новое приглашение.',
'team.management': 'Управление командой',
'team.notFound': 'Команда не найдена',
'team.accessDenied': 'Доступ запрещён',
'team.members': 'Участники',
'team.membersDesc': 'Управление участниками и ролями команды',
'team.invites': 'Приглашения',
'team.invitesDesc': 'Создание кодов приглашения и управление ими',
'team.settings': 'Настройки группы',
'team.settingsDesc': 'Изменить название и настройки команды',
'team.editSettings': 'Изменить настройки группы',
'team.enterName': 'Введите название команды',
'team.saving': 'Сохранение...',
'team.saveChanges': 'Сохранить изменения',
'team.delete': 'Удалить команду',
'team.deleteDesc': 'Удалить эту команду навсегда',
'team.deleting': 'Удаление...',
'team.failedToUpdate': 'Не удалось обновить команду.',
'team.failedToDelete': 'Не удалось удалить команду.',
'team.manageTitle': 'Управление {name}',
'team.planCreated': '{plan} План • Создано {date}',
'team.confirmDelete': 'Вы уверены, что хотите удалить {name}?',
'team.deleteWarning': 'Это действие нельзя отменить. Все данные команды будут навсегда удалены.',
'voice.title': 'Голосовой ввод',
'voice.settings': 'Настройки голоса',
'voice.settingsDesc': 'Удерживай горячую клавишу для диктовки и вставки текста в активное поле.',
'voice.hotkey': 'Горячая клавиша',
'voice.activationMode': 'Режим активации',
'voice.tapToToggle': 'Нажать для переключения',
'voice.writingStyle': 'Стиль письма',
'voice.verbatimTranscription': 'Дословная транскрипция',
'voice.naturalCleanup': 'Естественная обработка',
'voice.autoStart': 'Запускать голосовой сервер автоматически вместе с ядром',
'voice.customDictionary': 'Пользовательский словарь',
'voice.customDictionaryDesc':
'Добавляй имена, технические термины и специальные слова для улучшения точности распознавания.',
'voice.addWord': 'Добавить слово...',
'voice.sttDisabled':
'Голосовой ввод отключён, пока локальная STT-модель не загружена и не готова.',
'voice.openLocalAiModel': 'Открыть локальную AI-модель',
'voice.serverRestarted': 'Голосовой сервер перезапущен с новыми настройками.',
'voice.settingsSaved': 'Настройки голоса сохранены.',
'voice.serverStarted': 'Голосовой сервер запущен.',
'voice.serverStopped': 'Голосовой сервер остановлен.',
'voice.saveVoiceSettings': 'Сохранить настройки голоса',
'voice.startVoiceServer': 'Запустить голосовой сервер',
'voice.stopVoiceServer': 'Остановить голосовой сервер',
'voice.debugTitle': 'Отладка голоса',
'voice.failedToLoadSettings': 'Не удалось загрузить голосовые настройки.',
'voice.failedToSaveSettings': 'Не удалось сохранить голосовые настройки.',
'voice.failedToStartServer': 'Не удалось запустить голосовой сервер.',
'voice.failedToStopServer': 'Не удалось остановить голосовой сервер.',
'voice.sttDisabledPrefix':
'Голосовой ввод отключён, пока не загружена локальная модель STT. Используйте',
'voice.sttDisabledSuffix': 'выше, чтобы установить Whisper.',
'voice.debug.failedToLoadVoiceDebugData': 'Не удалось загрузить данные голосовой отладки.',
'voice.debug.settingsSaved': 'Настройки отладки сохранены.',
'voice.debug.failedToSaveSettings': 'Не удалось сохранить голосовые настройки.',
'voice.debug.runtimeStatus': 'Статус выполнения.',
'voice.debug.runtimeStatusDesc':
'Живая диагностика голосового сервера и движка преобразования речи в текст.',
'voice.debug.server': 'Сервер',
'voice.debug.unavailable': 'Недоступно',
'voice.debug.ready': 'Готов',
'voice.debug.notReady': 'Не готов',
'voice.debug.hotkey': 'Горячая клавиша',
'voice.debug.notAvailable': 'н/д',
'voice.debug.mode': 'Режим',
'voice.debug.transcriptions': 'Транскрипции',
'voice.debug.serverError': 'Ошибка сервера',
'voice.debug.advancedSettings': 'Расширенные настройки',
'voice.debug.advancedSettingsDesc':
'Низкоуровневые параметры настройки записи и определения тишины.',
'voice.debug.minimumRecordingSeconds': 'Минимальное количество секунд записи',
'voice.debug.silenceThreshold': 'Порог тишины (RMS)',
'voice.debug.silenceThresholdDesc':
'Записи с энергией ниже этого значения считаются тишиной и пропускаются. Меньше = чувствительнее.',
'voice.providers.saved': 'Поставщики голосовой связи сохранены.',
'voice.providers.failedToSave': 'Не удалось сохранить поставщиков голосовой связи.',
'voice.providers.ellipsis': '…',
'voice.providers.installing': 'Установка',
'voice.providers.installingBusy': 'Установка…',
'voice.providers.reinstallLocally': 'Переустановить локально',
'voice.providers.repair': 'Восстановить',
'voice.providers.retryLocally': 'Повторить локально.',
'voice.providers.installLocally': 'Установить локально.',
'voice.providers.whisperReady': 'Whisper готов.',
'voice.providers.whisperInstallStarted': 'Установка Whisper началась.',
'voice.providers.queued': 'поставлен в очередь.',
'voice.providers.failedToInstallWhisper': 'Не удалось установить Whisper.',
'voice.providers.piperReady': 'Piper готов.',
'voice.providers.piperInstallStarted': 'Началась установка Piper.',
'voice.providers.failedToInstallPiper': 'Не удалось установить Piper.',
'voice.providers.title': 'Поставщики голоса.',
'voice.providers.desc':
'Выберите, где выполняется транскрипция и синтез речи. Используйте кнопки «Установить локально» для загрузки бинарных файлов и моделей в вашу рабочую область. Локальные провайдеры можно сохранить до завершения установки — ручная настройка WHISPER_BIN или PIPER_BIN не требуется.',
'voice.providers.sttProvider': 'Поставщик преобразования речи в текст',
'voice.providers.sttProviderAria': 'Поставщик STT',
'voice.providers.cloudWhisperProxy': 'Облако (прокси-сервер Whisper)',
'voice.providers.localWhisper': 'Локальный Whisper',
'voice.providers.installRequired': '(требуется установка)',
'voice.providers.whisperInstalledTitle': 'Whisper установлен. Нажмите, чтобы переустановить.',
'voice.providers.whisperDownloadTitle':
'Загрузить whisper.cpp и модель GGML в вашу рабочую область.',
'voice.providers.installed': 'Установлено',
'voice.providers.installFailed': 'Не удалось установить',
'voice.providers.notInstalled': 'Не установлено',
'voice.providers.whisperModel': 'Модель Whisper',
'voice.providers.whisperModelAria': 'Модель Whisper',
'voice.providers.whisperModelTiny': 'Tiny (39 МБ, самый быстрый)',
'voice.providers.whisperModelBase': 'Базовый (74 МБ)',
'voice.providers.whisperModelSmall': 'Маленький (244 МБ)',
'voice.providers.whisperModelMedium': 'Средний (769 МБ, рекомендуется)',
'voice.providers.whisperModelLargeTurbo': 'Large v3 Turbo (1,5 ГБ, наилучшая точность)',
'voice.providers.ttsProvider': 'Поставщик преобразования текста в речь',
'voice.providers.ttsProviderAria': 'Поставщик TTS',
'voice.providers.cloudElevenLabsProxy': 'Облако (прокси-сервер ElevenLabs)',
'voice.providers.localPiper': 'Локальный Piper',
'voice.providers.piperInstalledTitle': 'Piper установлен. Нажмите, чтобы переустановить.',
'voice.providers.piperDownloadTitle':
'Загрузить Piper и встроенный голос en_US-lessac-medium в вашу рабочую область.',
'voice.providers.piperVoice': 'Голос Пайпера',
'voice.providers.piperVoiceAria': 'Голос Пайпера',
'voice.providers.customVoiceOption': 'Другое (введите ниже)…',
'voice.providers.customVoiceAria': 'Идентификатор голоса Пайпера (пользовательский)',
'voice.providers.customVoicePlaceholder': 'en_US-lessac-medium',
'voice.providers.piperVoicesDesc':
'Голоса поставляются с huggingface.co/rhasspy/piper-voices. Переключение голосов может потребовать нажатия «Установить/Переустановить» для загрузки нового файла .onnx.',
'voice.providers.mascotVoice': 'Голос талисмана',
'voice.providers.mascotVoiceDescPrefix':
'Голос ElevenLabs, используемый маскотом для устных ответов, настраивается в разделе',
'voice.providers.mascotSettings': 'Настройки талисмана',
'voice.providers.mascotVoiceDescSuffix': '.',
'voice.providers.hotkeyPlaceholder': 'Fn',
'voice.providers.piperPreset.lessacMedium': 'US · Лессак (нейтральный, рекомендуется)',
'voice.providers.piperPreset.lessacHigh': 'США · Лессак (более высокое качество, больше)',
'voice.providers.piperPreset.ryanMedium': 'США · Райан (мужчина)',
'voice.providers.piperPreset.amyMedium': 'США · Эми (женщина)',
'voice.providers.piperPreset.librittsHigh': 'США · LibriTTS (мультидинамик)',
'voice.providers.piperPreset.alanMedium': 'ГБ · Алан (мужчина)',
'voice.providers.piperPreset.jennyDiocoMedium': 'ГБ · Дженни Диоко (женщина)',
'voice.providers.piperPreset.northernEnglishMaleMedium': 'ГБ · Северный английский (мужчина)',
'voice.providers.chip.cloud': 'OpenHuman (управляемый)',
'voice.providers.chip.cloudAria': 'Управляемый провайдер OpenHuman всегда включён',
'voice.providers.chip.whisper': 'Whisper (локальный)',
'voice.providers.chip.enableWhisper': 'Включить локальный Whisper STT',
'voice.providers.chip.disableWhisper': 'Отключить локальный Whisper STT',
'voice.providers.chip.piper': 'Piper (локальный)',
'voice.providers.chip.enablePiper': 'Включить локальный Piper TTS',
'voice.providers.chip.disablePiper': 'Отключить локальный Piper TTS',
'voice.providers.chip.enableProvider': 'Enable',
'voice.providers.chip.disableProvider': 'Disable',
'voice.providers.chip.apiKeyLabel': 'API-ключ',
'voice.providers.chip.apiKeyPlaceholder': 'sk-…',
'voice.providers.chip.comingSoon': 'скоро',
'voice.modal.title': 'Configure',
'voice.modal.desc':
'Введите API-ключ для активации этого провайдера. Можно проверить подключение перед сохранением.',
'voice.modal.testKey': 'Проверить ключ',
'voice.modal.testing': 'Тестирование…',
'voice.modal.saveAndEnable': 'Сохранить и включить',
'voice.modal.enable': 'Enable',
'voice.modal.whisperDesc':
'Выберите размер модели и установите бинарный файл Whisper и модель GGML в вашу рабочую область. Более крупные модели точнее, но медленнее.',
'voice.modal.piperDesc':
'Выберите голос и установите бинарный файл Piper и модель ONNX в вашу рабочую область. Piper работает полностью офлайн с низкой задержкой.',
'voice.routing.title': 'Маршрутизация голоса',
'voice.routing.desc':
'Выберите, какие включённые провайдеры обрабатывают преобразование речи в текст и текста в речь.',
'voice.routing.save': 'Save',
'voice.routing.testStt': 'Тест STT',
'voice.routing.testTts': 'Тест TTS',
'voice.routing.elevenlabsVoice': 'Голос ElevenLabs',
'voice.routing.elevenlabsVoiceAria': 'Выбор голоса ElevenLabs',
'voice.routing.elevenlabsVoiceIdAria': 'ID голоса ElevenLabs (пользовательский)',
'voice.routing.elevenlabsVoiceDesc':
'Выберите подобранный голос или вставьте пользовательский ID голоса из вашей панели ElevenLabs.',
'voice.externalProviders.title': 'Внешние голосовые провайдеры',
'voice.externalProviders.desc':
'Подключайте сторонние STT/TTS API, такие как Deepgram, ElevenLabs или OpenAI, напрямую.',
'voice.externalProviders.keySet': 'Ключ установлен',
'voice.externalProviders.noKey': 'Нет API-ключа',
'voice.externalProviders.test': 'Test',
'voice.externalProviders.testing': 'Тестирование…',
'voice.externalProviders.remove': 'Remove',
'voice.externalProviders.provider': 'Provider',
'voice.externalProviders.selectProvider': 'Выберите провайдера…',
'voice.externalProviders.apiKey': 'API-ключ',
'voice.externalProviders.apiKeyPlaceholder': 'sk-…',
'voice.externalProviders.add': 'Add',
'autocomplete.title': 'Автодополнение',
'autocomplete.settings': 'Настройки',
'autocomplete.acceptWithTab': 'Принять с помощью Tab',
'autocomplete.stylePreset': 'Стиль',
'autocomplete.style.balanced': 'Сбалансированный',
'autocomplete.style.concise': 'Краткий',
'autocomplete.style.formal': 'Официальный',
'autocomplete.style.casual': 'Неформальный',
'autocomplete.style.custom': 'Пользовательский',
'autocomplete.disabledApps': 'Отключённые приложения (по одному bundle/токену на строку)',
'autocomplete.saveSettings': 'Сохранить настройки',
'autocomplete.saving': 'Сохранение…',
'autocomplete.runtime': 'Среда выполнения',
'autocomplete.running': 'Работает',
'autocomplete.start': 'Запустить',
'autocomplete.stop': 'Остановить',
'autocomplete.settingsSaved': 'Настройки автодополнения сохранены.',
'autocomplete.started': 'Автодополнение запущено.',
'autocomplete.didNotStart': 'Автодополнение не запустилось. Проверь, включено ли оно.',
'autocomplete.stopped': 'Автодополнение остановлено.',
'autocomplete.advancedSettings': 'Дополнительные настройки',
'autocomplete.debugTitle': 'Отладка автодополнения',
'chat.agentChat': 'Чат с агентом',
'chat.overrides': 'Переопределения',
'chat.model': 'Модель',
'chat.temperature': 'Температура',
'chat.conversation': 'Разговор',
'chat.startAgentConversation': 'Начни разговор с агентом.',
'chat.you': 'Ты',
'chat.agent': 'Агент',
'chat.askAgent': 'Спроси агента о чём угодно...',
'chat.sendMessage': 'Отправить сообщение',
'composio.triageTitle': 'Триггеры интеграций',
'composio.triageDesc':
'Когда активно, каждый входящий триггер Composio проходит через шаг AI-сортировки, который классифицирует событие и может запустить автоматические действия — один локальный LLM-запрос на триггер. Отключи глобально или для конкретных интеграций, если предпочитаешь ручной просмотр. Если переменная окружения',
'composio.disableAllTriage': 'Отключить AI-сортировку для всех триггеров',
'composio.triggersStillRecorded':
'Триггеры по-прежнему записываются в историю — LLM-запросы не выполняются.',
'composio.disableSpecificIntegrations': 'Отключить AI-сортировку для конкретных интеграций',
'composio.settingsSaved': 'Настройки сохранены',
'composio.saveFailed': 'Не удалось сохранить. Попробуй ещё раз.',
'cron.title': 'Задания по расписанию',
'cron.scheduledJobs': 'Запланированные задания',
'cron.manageCronJobs': 'Управление заданиями из основного планировщика.',
'cron.refreshCronJobs': 'Обновить задания',
'localModel.modelStatus': 'Статус модели',
'localModel.downloadModels': 'Скачать модели',
'localModel.usage': 'Использование',
'localModel.usageDesc':
'Выбери, какие подсистемы используют локальную модель. Остальное использует облако.',
'localModel.enableRuntime': 'Включить локальную AI-среду',
'localModel.enableRuntimeDesc':
'Главный переключатель. По умолчанию выключен — Ollama простаивает. При включении суммаризатор деревьев, интеллект экрана и автодополнение всегда используют локальную модель.',
'localModel.advancedSettings': 'Дополнительные настройки',
'localModel.debugTitle': 'Отладка локальной модели',
'screenAwareness.debugTitle': 'Отладка слежения за экраном',
'screenAwareness.debug.debugAndDiagnostics': 'Отладка и диагностика',
'screenAwareness.debug.collapse': 'Свернуть',
'screenAwareness.debug.expand': 'Развернуть',
'screenAwareness.debug.failedToSave': 'Не удалось сохранить интеллект экрана.',
'screenAwareness.debug.policyTitle': 'Политика интеллекта экрана',
'screenAwareness.debug.baselineFps': 'Базовый показатель FPS',
'screenAwareness.debug.useVisionModel': 'Использовать модель концепции.',
'screenAwareness.debug.useVisionModelDesc':
'Отправлять снимки экрана в визуальную языковую модель для более богатого контекста. Если отключено, используется только OCR-текст с текстовой моделью — быстрее и без требований к визуальной модели.',
'screenAwareness.debug.keepScreenshots': 'Сохранять снимки экрана.',
'screenAwareness.debug.keepScreenshotsDesc':
'Сохранять снимки экрана в рабочей области вместо удаления после обработки',
'screenAwareness.debug.allowlist': 'Список разрешенных (одно правило в строке)',
'screenAwareness.debug.denylist': 'Список запрещенных (одно правило в строке)',
'screenAwareness.debug.saveSettings': 'Сохранить настройки интеллекта экрана',
'screenAwareness.debug.sessionStats': 'Статистика сеанса',
'screenAwareness.debug.framesEphemeral': 'Кадры (эфемерные)',
'screenAwareness.debug.panicStop': 'Паника-стоп',
'screenAwareness.debug.defaultPanicHotkey': 'Cmd+Shift+.',
'screenAwareness.debug.vision': 'Видение',
'screenAwareness.debug.idle': 'бездействующее',
'screenAwareness.debug.visionQueue': 'Очередь видений',
'screenAwareness.debug.lastVision': 'Последнее видение',
'screenAwareness.debug.notAvailable': 'н/д',
'screenAwareness.debug.visionSummaries': 'Сводки видений',
'screenAwareness.debug.refreshing': 'Обновление…',
'screenAwareness.debug.noSummaries': 'Сводок пока нет.',
'screenAwareness.debug.unknownApp': 'Неизвестное приложение.',
'screenAwareness.debug.macosOnly':
'Screen Intelligence V1 в настоящее время поддерживается только на macOS.',
'memory.debugTitle': 'Отладка памяти',
'memory.documents': 'Документы',
'memory.filterByNamespace': 'Фильтровать по пространству имен...',
'memory.refresh': 'Обновить',
'memory.noDocumentsFound': 'Документы не найдены.',
'memory.delete': 'Удалить',
'memory.rawResponse': 'Необработанный ответ',
'memory.namespaces': 'Пространства имен',
'memory.noNamespacesFound': 'Пространства имен не найдены.',
'memory.queryRecall': 'Запрос и вызов',
'memory.namespace': 'Пространство имен',
'memory.queryText': 'Текст запроса...',
'memory.defaultMaxChunks': '10',
'memory.maxChunks': 'максимальное количество фрагментов',
'memory.query': 'Запрос',
'memory.recall': 'Вызов',
'memory.queryLabel': 'Запрос',
'memory.recallLabel': 'Вызов',
'memory.queryResult': 'Результат запроса',
'memory.recallResult': 'Результат вызова',
'memory.clearNamespace': 'Очистить пространство имен',
'memory.clearNamespaceDescription': 'Безвозвратно удалить все документы в пространстве имен.',
'memory.selectNamespace': 'Выберите пространство имен...',
'memory.exampleNamespace': 'например. навык:gmail:user@example.com',
'memory.clear': 'Очистить',
'memory.deleteConfirm': 'Удалить документ «{documentId}» в пространстве имен «{namespace}»?',
'memory.clearNamespaceConfirm':
'Это навсегда удалит ВСЕ документы в пространстве имён «{namespace}». Продолжить?',
'memory.clearNamespaceSuccess': 'Пространство имен «{namespace}» очищено.',
'memory.clearNamespaceEmpty': 'В «{namespace}» нечего очищать.',
'webhooks.debugTitle': 'Отладка вебхуков',
'webhooks.failedToLoadDebugData': 'Не удалось загрузить данные отладки веб-перехватчика.',
'webhooks.clearLogsConfirm': 'Очистить все записанные журналы отладки веб-перехватчиков?',
'webhooks.failedToClearLogs': 'Не удалось очистить журналы веб-перехватчиков.',
'webhooks.loading': 'Загрузка...',
'webhooks.refresh': 'Обновить',
'webhooks.clearing': 'Очистка...',
'webhooks.clearLogs': 'Очистить журналы',
'webhooks.registered': 'зарегистрирован',
'webhooks.captured': 'захвачен',
'webhooks.live': 'в прямом эфире',
'webhooks.disconnected': 'отключен',
'webhooks.lastEvent': 'Последнее событие',
'webhooks.at': 'в',
'webhooks.registeredWebhooks': 'Зарегистрированные вебхуки.',
'webhooks.noActiveRegistrations': 'Активных регистраций нет.',
'webhooks.resolvingBackendUrl': 'Разрешение серверной части URL…',
'webhooks.capturedRequests': 'Захваченные запросы',
'webhooks.noRequestsCaptured': 'Запросы веб-перехватчика еще не зафиксированы.',
'webhooks.unrouted': 'не маршрутизировано',
'webhooks.pending': 'в ожидании',
'webhooks.requestHeaders': 'Заголовки запроса',
'webhooks.queryParams': 'Параметры запроса',
'webhooks.requestBody': 'Тело запроса',
'webhooks.responseHeaders': 'Заголовки ответа',
'webhooks.responseBody': 'Тело ответа',
'webhooks.rawPayload': 'Необработанные полезные данные',
'webhooks.empty': '[пусто]',
'providerSetup.error.defaultDetails': 'Не удалось настроить поставщика.',
'providerSetup.error.providerFallback': 'Поставщик',
'providerSetup.error.credentialsRejected':
'{provider} отклонил учётные данные. Проверьте API-ключ и повторите попытку.',
'providerSetup.error.endpointNotRecognized':
'{provider} не распознал конечную точку. Проверьте базовый URL и повторите попытку.',
'providerSetup.error.providerUnavailable':
'{provider} временно недоступен. Повторите попытку или проверьте статус провайдера.',
'providerSetup.error.unreachable':
'Не удалось подключиться к {provider}. Проверьте URL конечной точки и сетевое подключение, затем повторите попытку.',
'providerSetup.error.couldNotReachWithMessage': 'Не удалось связаться с {provider}: {message}',
'providerSetup.error.technicalDetails': 'Технические подробности',
'notifications.routingTitle': 'Маршрутизация уведомлений',
'notifications.routing.pipelineStats': 'Статистика конвейера',
'notifications.routing.total': 'Всего',
'notifications.routing.unread': 'Непрочитано',
'notifications.routing.unscored': 'Без оценок',
'notifications.routing.intelligenceTitle': 'Аналитика уведомлений',
'notifications.routing.intelligenceDesc':
'Каждое уведомление из подключённых аккаунтов оценивается локальной моделью ИИ. Важные уведомления автоматически передаются агенту-оркестратору, чтобы ничто критическое не осталось незамеченным.',
'notifications.routing.howItWorks': 'Как это работает',
'notifications.routing.level.drop': 'Удаление',
'notifications.routing.level.dropDesc': 'Шум/спам — сохраняется, но не отображается',
'notifications.routing.level.acknowledge': 'Подтверждение',
'notifications.routing.level.acknowledgeDesc':
'Низкий приоритет — отображается в центре уведомлений',
'notifications.routing.level.react': 'Реагировать',
'notifications.routing.level.reactDesc':
'Средний приоритет — запускает сфокусированный ответ агента',
'notifications.routing.level.escalate': 'Эскалация',
'notifications.routing.level.escalateDesc': 'Высокий приоритет — передаётся агенту-оркестратору',
'notifications.routing.perProvider': 'Маршрутизация для каждого поставщика',
'notifications.routing.threshold': 'Порог',
'notifications.routing.routeToOrchestrator': 'Маршрут к оркестратору',
'notifications.routing.loadSettingsError':
'Не удалось загрузить настройки. Закройте и повторно откройте эту панель.',
'common.reload': 'Перезагрузить',
'common.skip': 'Пропустить',
'common.disable': 'Отключить',
'common.enable': 'Включить',
'chat.safetyTimeout':
'Агент не ответил в течение 2 минут. Попробуй снова или проверь соединение.',
'chat.filter.all': 'Все',
'chat.filter.work': 'Работа',
'chat.filter.briefing': 'Брифинг',
'chat.filter.notification': 'Уведомление',
'chat.filter.workers': 'Воркеры',
'chat.selectThread': 'Выбери чат',
'chat.threads': 'Чаты',
'chat.noThreads': 'Чатов пока нет',
'chat.noLabelThreads': 'Нет чатов «{label}»',
'chat.noWorkerThreads': 'Чатов воркеров пока нет',
'chat.deleteThread': 'Удалить чат',
'chat.deleteThreadConfirm': 'Удалить «{title}»?',
'chat.untitledThread': 'Чат без названия',
'chat.editThreadTitle': 'Изменить название ветки',
'chat.hideSidebar': 'Скрыть боковую панель',
'chat.showSidebar': 'Показать боковую панель',
'chat.newThreadShortcut': 'Новый чат (/new)',
'chat.new': 'Новый',
'chat.failedToLoadMessages': 'Не удалось загрузить сообщения',
'chat.thinkingIteration': 'Думаю... ({n})',
'chat.thinkingDots': 'Думаю...',
'chat.approachingLimit': 'Лимит использования близко',
'chat.approachingLimitMsg': 'Ты использовал {pct}% доступной квоты.',
'chat.upgrade': 'Улучшить',
'chat.weeklyLimitHit': 'Ты достиг еженедельного лимита.',
'chat.resets': 'Сбросится',
'chat.topUpToContinue': 'Пополни баланс для продолжения.',
'chat.budgetComplete':
'Включённый бюджет исчерпан. Добавь кредиты или улучши план для продолжения.',
'chat.topUp': 'Пополнить',
'chat.cycle': 'Цикл',
'chat.cycleSpent': 'Потрачено за цикл',
'chat.cycleRemaining': 'Осталось',
'chat.left': 'осталось',
'chat.setup': 'Настроить',
'chat.switchToText': 'Переключиться на текст',
'chat.transcribing': 'Транскрипция...',
'chat.stopAndSend': 'Остановить и отправить',
'chat.startTalking': 'Начни говорить',
'chat.playingVoiceReply': 'Воспроизведение голосового ответа',
'chat.voiceHint': 'Используй микрофон для речи',
'chat.micUnavailable': 'Микрофон недоступен',
'chat.turn': 'ход',
'chat.turns': 'ходов',
'chat.openWorkerThread': 'Открыть чат воркера',
'chat.attachment.attach': 'Прикрепить изображение',
'chat.attachment.remove': 'Удалить {name}',
'chat.attachment.tooMany': 'Максимум {max} изображений на сообщение',
'chat.attachment.tooLarge': 'Изображение превышает ограничение размера {max}',
'chat.attachment.unsupportedType':
'Неподдерживаемый тип файла. Используйте PNG, JPEG, WebP, GIF или BMP.',
'chat.attachment.readFailed': 'Не удалось прочитать файл',
'memory.searchAria': 'Поиск в памяти',
'memory.searchPlaceholder': 'Поиск записей памяти...',
'memory.sourceFilter.all': 'Все источники',
'memory.sourceFilter.email': 'Электронная почта',
'memory.sourceFilter.calendar': 'Календарь',
'memory.sourceFilter.telegram': 'Telegram',
'memory.sourceFilter.aiInsight': 'AI-инсайт',
'memory.sourceFilter.system': 'Система',
'memory.sourceFilter.trading': 'Трейдинг',
'memory.sourceFilter.security': 'Безопасность',
'memory.ingestionActivity': 'Активность загрузки',
'memory.events': 'событий',
'memory.event': 'событие',
'memory.overTheLast': 'за последние',
'memory.months': 'месяцев',
'memory.peak': 'Пик',
'memory.perDay': '/день',
'memory.less': 'Меньше',
'memory.more': 'Больше',
'memory.on': 'в',
'memory.loading': 'Загрузка памяти',
'memory.fetching': 'Получение записей памяти...',
'memory.analyzing': 'Анализ памяти',
'memory.analyzingHint': 'Обработка воспоминаний для извлечения инсайтов...',
'memory.noMatches': 'Ничего не найдено',
'memory.noMatchesHint': 'Попробуй изменить условия поиска или фильтры.',
'memory.allCaughtUp': 'Всё просмотрено',
'memory.allCaughtUpHint': 'Новых записей для обработки нет.',
'memory.noAnalysis': 'Анализа ещё нет',
'memory.noAnalysisHint': 'Запусти анализ, чтобы найти закономерности в воспоминаниях.',
'memory.emptyHint': 'Начни общаться, чтобы создать первые воспоминания.',
'mic.unavailable': 'Микрофон недоступен',
'mic.permissionDenied': 'Доступ к микрофону запрещён',
'mic.failedToStartRecorder': 'Не удалось запустить запись',
'mic.deviceUnavailable': 'Выбранный микрофон недоступен — попробуйте другое устройство.',
'mic.deviceInUse': 'Микрофон используется другим приложением.',
'mic.error': 'Ошибка микрофона',
'mic.transcribing': 'Транскрипция...',
'mic.retryingTranscription': 'Retrying... ({attempt} of {max})',
'mic.tapToSend': 'Нажми для отправки',
'mic.waitingForAgent': 'Ожидание агента...',
'mic.tapAndSpeak': 'Нажми и говори',
'mic.stopRecording': 'Остановить запись и отправить',
'mic.startRecording': 'Начать запись',
'mic.deviceSelector': 'Микрофонное устройство',
'mic.tapToSendCountdown': 'Нажми для отправки ({seconds}с)',
'token.usageLimitReached': 'Лимит использования достигнут',
'token.approachingLimit': 'Лимит близко',
'token.planClickForDetails': 'план — нажми для подробностей',
'token.sessionTokens': 'Вход: {in} | Выход: {out} | Ходов: {turns}',
'token.limit': 'Лимит достигнут',
'catalog.noCapabilityBinding': 'Нет привязки возможностей',
'catalog.downloadFailed': 'Загрузка не удалась',
'catalog.active': 'Активно',
'catalog.installed': 'Установлено',
'catalog.notDownloaded': 'Не загружено',
'catalog.inUse': 'Используется',
'catalog.use': 'Использовать',
'catalog.deleteModel': 'Удалить модель',
'catalog.download': 'Скачать',
'navigator.recent': 'Недавние',
'navigator.today': 'Сегодня',
'navigator.thisWeek': 'На этой неделе',
'navigator.sources': 'Источники',
'navigator.email': 'Электронная почта',
'navigator.slack': 'Slack',
'navigator.chat': 'Чат',
'navigator.documents': 'Документы',
'navigator.people': 'Люди',
'navigator.topics': 'Темы',
'dreams.description':
'Сны — это AI-отражения, которые синтезируют закономерности из твоих воспоминаний.',
'dreams.comingSoon': 'Скоро',
'assignment.memoryLlm': 'LLM памяти',
'assignment.memoryLlmAria': 'Выбор Memory LLM',
'assignment.embedder': 'Эмбеддер',
'assignment.loaded': 'Загружено',
'assignment.notDownloaded': 'Не загружено',
'assignment.usedForExtractSummarise': 'Используется для извлечения и суммаризации',
'insights.knownFacts': 'Известные факты',
'insights.preferences': 'Предпочтения',
'insights.relationships': 'Отношения',
'insights.skills': 'Навыки',
'insights.opinions': 'Мнения',
'insights.other': 'Другое',
'insights.title': 'Инсайты',
'insights.empty': 'Инсайтов пока нет. Они появляются по мере роста памяти.',
'insights.description': 'На основе {count} связей в твоём графе памяти.',
'insights.items': 'элементов',
'insights.more': 'ещё',
'calls.joiningCall': 'Подключение к звонку',
'calls.meetWindowOpening': 'Окно Meet открывается...',
'calls.failedToStart': 'Не удалось начать звонок Meet',
'calls.couldNotStart': 'Не удалось начать звонок',
'calls.failedToClose': 'Не удалось завершить звонок',
'calls.couldNotClose': 'Не удалось закрыть звонок',
'calls.joinMeet': 'Подключиться к звонку Google Meet',
'calls.joinMeetDescription': 'Введи ссылку Google Meet для подключения.',
'calls.meetLink': 'Ссылка Meet',
'calls.displayName': 'Отображаемое имя',
'calls.openingMeet': 'Открытие Meet...',
'calls.joinCall': 'Подключиться к звонку',
'calls.activeCalls': 'Активные звонки',
'calls.leave': 'Выйти',
'workspace.wipeConfirm': 'Ты уверен, что хочешь очистить всю память? Это нельзя отменить.',
'workspace.resetTreeConfirm': 'Ты уверен, что хочешь перестроить дерево памяти?',
'workspace.wipeTitle': 'Очистить память',
'workspace.resetting': 'Сброс...',
'workspace.resetMemory': 'Сбросить память',
'workspace.resetTreeTitle': 'Перестроить дерево памяти',
'workspace.rebuilding': 'Перестройка...',
'workspace.resetMemoryTree': 'Сбросить дерево памяти',
'workspace.building': 'Построение...',
'workspace.buildSummaryTrees': 'Построить деревья суммаризации',
'workspace.viewVault': 'Открыть хранилище',
'workspace.openingVaultTitle': 'Открытие хранилища в Obsidian',
'workspace.openingVaultMessage':
'Если Obsidian не открывается, установите его с obsidian.md или используйте «Показать папку». Путь к хранилищу:',
'workspace.openVaultFailedTitle': 'Не удалось открыть хранилище в Obsidian',
'workspace.openVaultFailedMessage':
'Используйте Reveal Folder, чтобы напрямую открыть каталог хранилища. Путь к хранилищу:',
'workspace.revealVaultFailed': 'Не удалось показать папку хранилища',
'workspace.revealFolder': 'Показать папку',
'workspace.checkingVault': 'Проверка…',
'workspace.vaultNotRegisteredHelp':
'Obsidian открывает только папки, добавленные как хранилище. В Obsidian выберите «Открыть папку как хранилище» и укажите папку ниже — это нужно сделать только один раз. Затем нажмите «Просмотр хранилища» снова.',
'workspace.obsidianNotFoundHelp':
'Obsidian не найден на этом устройстве. Установите его или — если он установлен в нестандартном месте — укажите папку конфигурации в разделе «Дополнительно».',
'workspace.openAnyway': 'Всё равно открыть в Obsidian',
'workspace.installObsidian': 'Установить Obsidian',
'workspace.obsidianAdvanced': 'Obsidian установлен в другом месте?',
'workspace.obsidianConfigDirLabel': 'Папка конфигурации Obsidian',
'workspace.obsidianConfigDirHint':
'Путь к папке, содержащей obsidian.json (например, ~/.config/obsidian). Оставьте пустым для автоопределения.',
'workspace.obsidianConfigDirPlaceholder': '~/.config/obsidian',
'workspace.graphLoadFailed': 'Не удалось загрузить граф памяти',
'workspace.loadingGraph': 'Загрузка графа памяти...',
'workspace.graphViewMode': 'Режим просмотра графа памяти',
'workspace.trees': 'Деревья',
'workspace.contacts': 'Контакты',
'graph.noContactMentions': 'Нет упоминаний контактов',
'graph.noMemory': 'Памяти нет',
'graph.source': 'Источник',
'graph.topic': 'Тема',
'graph.global': 'Глобальное',
'graph.document': 'Документ',
'graph.contact': 'Контакт',
'graph.nodes': 'узлов',
'graph.parentChild': 'родитель-потомок',
'graph.documentContact': 'документ-контакт',
'graph.link': 'связь',
'graph.links': 'связей',
'graph.children': 'потомки',
'graph.clickToOpenObsidian': 'Нажми, чтобы открыть в Obsidian',
'graph.person': 'Человек',
'graph.resetView': 'Сбросить вид',
'modal.dontShowAgain': 'Не показывать похожие предложения',
'reflections.loading': 'Загрузка рефлексий...',
'reflections.empty': 'Рефлексий пока нет',
'reflections.title': 'Рефлексии',
'reflections.proposedAction': 'Предлагаемое действие',
'reflections.act': 'Выполнить',
'reflections.dismiss': 'Закрыть',
'whatsapp.chatsSynced': 'чатов синхронизировано',
'whatsapp.chatSynced': 'чат синхронизирован',
'sync.active': 'Активно',
'sync.recent': 'Недавние',
'sync.idle': 'Ожидание',
'sync.memorySources': 'Источники памяти',
'sync.noConnectedSources': 'Нет подключённых источников',
'sync.chunks': 'блоков',
'sync.lastChunk': 'Последний блок:',
'sync.pending': 'ожидает',
'sync.processed': 'обработано',
'sync.syncing': 'Синхронизация…',
'sync.sync': 'Синхронизировать',
'sync.failedToLoad': 'Не удалось загрузить статус синхронизации',
'sync.noContent': 'Контент в память ещё не синхронизирован. Подключи интеграцию для начала.',
'memorySources.title': 'Источники памяти',
'memorySources.empty': 'Источников памяти пока нет. Добавьте один, чтобы начать кормить память.',
'memorySources.customSources': 'Пользовательские источники',
'memorySources.addSource': 'Добавить источник',
'memorySources.noCustomSources':
'Пользовательских источников пока нет. Для начала добавьте папку, репозиторий GitHub, канал RSS или веб-страницу.',
'memorySources.loadingConnections': 'Загрузка подключений…',
'memorySources.noConnections':
'Активных соединений Composio не ​​найдено. Сначала подключите интеграцию.',
'memorySources.pickConnection': 'Выберите соединение',
'memorySources.selectConnection': '— Выберите соединение —',
'memorySources.composioListFailed': 'Не удалось загрузить соединения Composio.',
'memorySources.browse': 'Просматривать…',
'memorySources.folderPathPlaceholder': '/Users/you/notes',
'memorySources.globPatternPlaceholder': '**/*.md',
'memorySources.repoUrlPlaceholder': 'https://github.com/org/repo',
'memorySources.branchPlaceholder': 'main',
'memorySources.feedUrlPlaceholder': 'https://example.com/feed.xml',
'memorySources.pageUrlPlaceholder': 'https://example.com/article',
'memorySources.cssSelectorPlaceholder': 'article',
'memorySources.searchQueryPlaceholder': 'от:пользователь AI безопасность',
'memorySources.kind.composio': 'Интеграция',
'memorySources.kind.folder': 'Локальная папка',
'memorySources.kind.github_repo': 'Репо GitHub',
'memorySources.kind.twitter_query': 'Поиск в Твиттере',
'memorySources.kind.rss_feed': 'RSS Лента',
'memorySources.kind.web_page': 'Веб-страница',
'memorySources.sync.successTitle': 'Синхронизация',
'memorySources.sync.successMessage': 'Прогресс появится в ближайшее время.',
'memorySources.sync.failedTitle': 'Синхронизация не удалась:',
'time.justNow': 'только что',
'time.secondsAgoSuffix': 'с назад',
'time.minutesAgoSuffix': 'мин назад',
'time.hoursAgoSuffix': 'ч назад',
'time.daysAgoSuffix': 'д назад',
'memorySources.pickKind': 'Какой источник вы хотите добавить?',
'memorySources.backToKinds': 'Вернуться к типам источников',
'memorySources.label': 'Этикетка',
'memorySources.labelPlaceholder': 'Мои исследовательские заметки',
'memorySources.add': 'Добавлять',
'memorySources.adding': 'Добавление…',
'memorySources.added': 'Источник добавлен',
'memorySources.removed': 'Источник удален.',
'memorySources.remove': 'Удалять',
'memorySources.enable': 'Давать возможность',
'memorySources.disable': 'Запрещать',
'memorySources.toggleFailed': 'Переключить не удалось',
'memorySources.removeFailed': 'Удалить не удалось',
'memorySources.folderPath': 'Путь к папке',
'memorySources.globPattern': 'Шаблон глобуса',
'memorySources.repoUrl': 'Репозиторий URL',
'memorySources.branch': 'Ветвь',
'memorySources.feedUrl': 'Подача URL',
'memorySources.pageUrl': 'Страница URL',
'memorySources.cssSelector': 'Селектор CSS (опционально)',
'memorySources.searchQuery': 'Поисковый запрос',
'memorySources.build.title': 'Построить',
'memorySources.build.building': 'Построение…',
'memorySources.build.successTitle': 'Дерево построено',
'memorySources.build.failedTitle': 'Ошибка построения',
'memorySources.build.sealsMessage': 'запечатывание завершено',
'backend.aiBackend': 'AI-бэкенд',
'backend.cloud': 'Облако',
'backend.recommended': 'Рекомендуется',
'backend.cloudDescription':
'Быстрые и мощные модели на наших серверах. Готовы к использованию сразу.',
'backend.privacyNote':
'Личные данные, сообщения и ключи никогда не отправляются на наши серверы.',
'backend.local': 'Локально',
'backend.advanced': 'Дополнительно',
'backend.localDescription':
'Запускай модели на своём устройстве с помощью Ollama. Полная приватность, требует настройки.',
'backend.ramRecommended': 'Рекомендуется 16 ГБ+ RAM',
'subconscious.tasks': 'задач',
'subconscious.ticks': 'тиков',
'subconscious.last': 'Последний',
'subconscious.failed': 'ошибка',
'subconscious.tickInterval': 'Интервал тика',
'subconscious.runNow': 'Запустить сейчас',
'subconscious.providerUnavailableTitle': 'Подсознание приостановлено',
'subconscious.providerSettings': 'Настройки ИИ',
'subconscious.approvalNeeded': 'Требуется подтверждение',
'subconscious.requiresApproval': 'Требует подтверждения',
'subconscious.fixInConnections': 'Исправить в подключениях',
'subconscious.goAhead': 'Продолжить',
'subconscious.activeTasks': 'Активные задачи',
'subconscious.noActiveTasks': 'Активных задач нет',
'subconscious.default': 'По умолчанию',
'subconscious.addTaskPlaceholder': 'Добавить новую задачу...',
'subconscious.activityLog': 'Журнал активности',
'subconscious.noActivity': 'Активности пока нет',
'subconscious.decision.nothingNew': 'Ничего нового',
'subconscious.decision.completed': 'Завершено',
'subconscious.decision.evaluating': 'Оценка',
'subconscious.decision.waitingApproval': 'Ожидание подтверждения',
'subconscious.decision.failed': 'Ошибка',
'subconscious.decision.cancelled': 'Отменено',
'subconscious.decision.skipped': 'Пропущено',
'actionable.complete': 'Выполнить',
'actionable.dismiss': 'Закрыть',
'actionable.snooze': 'Отложить',
'actionable.new': 'Новое',
'stats.storage': 'Хранилище',
'stats.files': 'файлов',
'stats.documents': 'Документы',
'stats.today': 'сегодня',
'stats.namespaces': 'Пространства имён',
'stats.relations': 'Связи',
'stats.firstMemory': 'Первое воспоминание',
'stats.latest': 'Последнее',
'stats.sessions': 'Сессии',
'stats.tokens': 'токенов',
'bootCheck.invalidUrl': 'Введи URL среды выполнения.',
'bootCheck.urlMustStartWith': 'URL должен начинаться с http:// или https://',
'bootCheck.validUrlRequired':
'Похоже, это не корректный URL (попробуй https://core.example.com/rpc)',
'bootCheck.tokenRequired': 'Для подключения нужен токен авторизации.',
'bootCheck.httpPublicWarning':
'Это обычный HTTP-адрес на публичном хосте — трафик не будет зашифрован. Используйте HTTPS, если вы не доверяете этой сети.',
'bootCheck.chooseCoreMode': 'Выбрать среду выполнения',
'bootCheck.connectToCore': 'Подключиться к среде выполнения',
'bootCheck.desktopDescription':
'OpenHuman нужна среда выполнения для работы. Выбери, где она должна находиться.',
'bootCheck.webDescription':
'В браузере OpenHuman подключается к среде выполнения под твоим управлением. Введи URL и токен авторизации, или скачай настольное приложение для локального запуска.',
'bootCheck.preferDesktop': 'Хочешь держать всё на своём устройстве?',
'bootCheck.downloadDesktop': 'Скачать настольное приложение',
'bootCheck.localRecommended': 'Запустить локально (рекомендуется)',
'bootCheck.localDescription':
'Работает прямо на твоём компьютере. Быстро, полностью приватно, ничего настраивать не нужно.',
'bootCheck.cloudMode': 'Запустить в облаке (сложно)',
'bootCheck.cloudDescription':
'Подключись к среде выполнения, которую ты размещаешь в другом месте. Работает 24×7, не нужно держать это устройство включённым.',
'bootCheck.coreRpcUrl': 'URL среды выполнения',
'bootCheck.rpcUrlPlaceholder': 'https://core.example.com/rpc',
'bootCheck.authToken': 'Токен авторизации',
'bootCheck.bearerTokenPlaceholder': 'Bearer-токен от твоей удалённой среды выполнения',
'bootCheck.storedLocally': 'Хранится только на этом устройстве. Отправляется как ',
'bootCheck.testing': 'Проверка…',
'bootCheck.testConnection': 'Проверить соединение',
'bootCheck.connectedOk': 'Подключено. Всё готово.',
'bootCheck.authFailed': 'Токен не подошёл. Проверь его и попробуй снова.',
'bootCheck.unreachablePrefix': 'Не удалось достучаться:',
'bootCheck.checkingCore': 'Пробуждение среды выполнения…',
'bootCheck.cannotReach': 'Нет доступа к среде выполнения',
'bootCheck.cannotReachDesc': 'Не удалось подключиться к среде выполнения. Попробовать другую?',
'bootCheck.switchMode': 'Выбрать другую среду',
'bootCheck.quit': 'Выйти',
'bootCheck.legacyDetected': 'Обнаружена устаревшая фоновая среда',
'bootCheck.legacyDescription':
'На этом устройстве уже запущен отдельно установленный демон OpenHuman. Нужно его убрать, прежде чем встроенная среда сможет взять управление.',
'bootCheck.removing': 'Удаление…',
'bootCheck.removeContinue': 'Удалить и продолжить',
'bootCheck.localNeedsRestart': 'Требуется перезапуск локальной среды',
'bootCheck.localNeedsRestartDesc':
'Локальная среда выполнения и приложение используют разные версии. Быстрый перезапуск синхронизирует их.',
'bootCheck.restarting': 'Перезапуск…',
'bootCheck.restartCore': 'Перезапустить среду',
'bootCheck.cloudNeedsUpdate': 'Требуется обновление облачной среды',
'bootCheck.cloudNeedsUpdateDesc':
'Облачная среда и приложение используют разные версии. Запусти обновление для синхронизации.',
'bootCheck.updating': 'Обновление…',
'bootCheck.updateCloudCore': 'Обновить облачную среду',
'bootCheck.versionCheckFailed': 'Проверка версии среды не удалась',
'bootCheck.versionCheckFailedDesc':
'Среда работает, но не сообщает свою версию. Возможно, она устарела. Перезапусти или обнови её для продолжения.',
'bootCheck.working': 'Работаю…',
'bootCheck.restartUpdateCore': 'Перезапустить / обновить среду',
'bootCheck.unexpectedError': 'Неожиданная ошибка при загрузке',
'bootCheck.actionFailed': 'Что-то пошло не так. Попробуй ещё раз.',
'bootCheck.portConflictTitle': 'Не удалось запустить движок приложения',
'bootCheck.portConflictBody':
'Другой процесс использует сетевой порт, необходимый OpenHuman. Попробуем устранить это автоматически.',
'bootCheck.portConflictFixButton': 'Исправить автоматически',
'bootCheck.portConflictFixing': 'Исправление…',
'bootCheck.portConflictFixFailed':
'Автоматическое исправление не сработало. Перезагрузите компьютер и попробуйте снова.',
'notifications.justNow': 'только что',
'notifications.minAgo': '{n} мин назад',
'notifications.hrAgo': '{n} ч назад',
'notifications.dayAgo': '{n} д назад',
'notifications.category.messages': 'Сообщения',
'notifications.category.agents': 'Агенты',
'notifications.category.skills': 'Навыки',
'notifications.category.system': 'Система',
'notifications.category.meetings': 'Встречи',
'notifications.category.reminders': 'Напоминания',
'notifications.category.important': 'Важное',
'about.update.status.checking': 'Проверка...',
'about.update.status.available': 'доступна v{version}',
'about.update.status.availableNoVersion': 'Доступно обновление',
'about.update.status.downloading': 'Загрузка...',
'about.update.status.readyToInstall': 'v{version} готова к установке',
'about.update.status.readyToInstallNoVersion':
'Новая версия загружена и готова. Перезапусти для применения.',
'about.update.status.installing': 'Установка...',
'about.update.status.restarting': 'Перезапуск...',
'about.update.status.upToDate': 'У тебя установлена последняя версия.',
'about.update.status.error': 'Ошибка проверки обновлений',
'about.update.status.default': 'Проверить обновления',
'welcome.connectionFailed': 'Ошибка подключения: {status} {statusText}',
'welcome.connectionFailedMsg': 'Ошибка подключения: {message}',
'welcome.continueLocally': 'Продолжить локально',
'welcome.continueLocallyExperimental': 'Продолжить локально (Экспериментально)',
'welcome.localSessionStarting': 'Запуск локального сеанса...',
'welcome.localSessionDesc':
'Использует автономный локальный профиль и пропускает TinyHumans OAuth.',
'chat.agentChatDesc': 'Открыть прямой чат с агентом.',
'chat.modelPlaceholder': 'gpt-4o',
'channels.activeRouteValue': '{channel} через {authMode}',
'privacy.dataKind.messages': 'Сообщения',
'privacy.dataKind.agents': 'Агенты',
'privacy.dataKind.skills': 'Навыки',
'privacy.dataKind.system': 'Система',
'privacy.dataKind.meetings': 'Встречи',
'privacy.dataKind.reminders': 'Напоминания',
'privacy.dataKind.important': 'Важное',
'onboarding.enableLocalAI': 'Включить локальный AI',
'onboarding.skills.status.available': 'Доступно',
'onboarding.skills.status.connected': 'Подключено',
'onboarding.skills.status.connecting': 'Подключение',
'onboarding.skills.status.error': 'Ошибка',
'onboarding.skills.status.unavailable': 'Недоступно',
'composio.statusUnavailable': 'Статус недоступен',
'composio.authExpired': 'Срок авторизации истёк',
'composio.reconnect': 'Переподключить',
'composio.expiredAuthorization': 'Срок действия авторизации {name} истек',
'composio.expiredDescription':
'Повторно подключитесь, чтобы повторно включить инструменты {name}. OpenHuman будет держать эту интеграцию недоступной, пока вы не обновите доступ к OAuth.',
'composio.envVarOverrides': 'задана, она переопределяет этот параметр.',
'composio.previewBadge': 'Предварительный просмотр',
'composio.previewTooltip':
'Скоро интеграция агента — вы можете подключиться, но агент пока не может использовать этот набор инструментов.',
'memory.day.sun': 'Вс',
'memory.day.mon': 'Пн',
'memory.day.tue': 'Вт',
'memory.day.wed': 'Ср',
'memory.day.thu': 'Чт',
'memory.day.fri': 'Пт',
'memory.day.sat': 'Сб',
'memory.ingesting': 'Загрузка',
'memory.ingestionQueued': 'В очереди',
'memory.ingestingTitle': 'Загрузка {title}',
'mic.noAudioCaptured': 'Аудио не захвачено',
'mic.noSpeechDetected': 'Речь не обнаружена',
'mic.lowConfidenceResult': 'Не удалось чётко распознать аудио — попробуйте ещё раз',
'mic.failedToStopRecording': 'Не удалось остановить запись: {message}',
'mic.transcriptionFailed': 'Ошибка транскрипции: {message}',
'reflections.kind.retrospective': 'Ретроспектива',
'reflections.kind.derivedFact': 'Выведенный факт',
'reflections.kind.moodInsight': 'Инсайт о настроении',
'reflections.kind.relationshipInsight': 'Инсайт об отношениях',
'graph.tooltip.summary': 'Краткое содержание',
'graph.tooltip.contact': 'Контакт',
'localModel.usage.never': 'Никогда',
'localModel.usage.mediumLoad': 'Средняя нагрузка',
'localModel.usage.lowLoad': 'Низкая нагрузка',
'localModel.usage.idleMode': 'Режим ожидания',
'localModel.rebootstrapComplete': 'Повторная инициализация модели завершена.',
'localModel.modelsVerified': 'Локальные модели проверены.',
'accounts.addModal.allConnected': 'Все подключены',
'accounts.addModal.title': 'Добавить аккаунт',
'accounts.respondQueue.empty': 'Пусто',
'accounts.respondQueue.hide': 'Скрыть очередь ответов',
'accounts.respondQueue.loadFailed': 'Не удалось загрузить очередь ответов',
'accounts.respondQueue.loading': 'Загрузка очереди…',
'accounts.respondQueue.pending': 'Ожидает',
'accounts.respondQueue.show': 'Показать очередь ответов',
'accounts.respondQueue.title': 'Очередь ответов',
'accounts.webviewHost.almostReady': 'Почти готово...',
'accounts.webviewHost.loadTimeout': 'Таймаут загрузки',
'accounts.webviewHost.loading': 'Загрузка {providerName}...',
'accounts.webviewHost.loadingAccount': 'Загрузка аккаунта',
'accounts.webviewHost.restoringSession': 'Восстановление сессии...',
'accounts.webviewHost.retryLoading': 'Повторить загрузку',
'accounts.webviewHost.takingLonger': '{providerName} загружается дольше обычного.',
'accounts.webviewHost.timeoutHint': 'Подсказка по таймауту',
'app.connectionBadge.composio': 'Composio',
'app.connectionBadge.messaging': 'Мессенджеры',
'app.connectionIndicator.connected': 'Подключено к OpenHuman AI 🚀',
'app.connectionIndicator.connecting': 'Подключение',
'app.connectionIndicator.coreOffline': 'Ядро офлайн',
'app.connectionIndicator.disconnected': 'Отключено',
'app.connectionIndicator.offline': 'Офлайн',
'app.connectionIndicator.reconnecting': 'Переподключение…',
'app.errorFallback.componentStack': 'Стек компонентов',
'app.errorFallback.downloadLatest': 'Скачать последнюю версию',
'app.errorFallback.heading': 'Заголовок',
'app.errorFallback.hint': 'Подсказка',
'app.errorFallback.reloadApp': 'Перезагрузить приложение',
'app.errorFallback.subheading': 'Подзаголовок',
'app.errorFallback.tryRecover': 'Попробовать восстановить',
'app.localAiDownload.installing': 'Установка...',
'app.localAiDownload.preparing': 'Подготовка...',
'app.openhumanLink.accounts.continueWith': 'Продолжить со входом через {label}',
'app.openhumanLink.accounts.done': 'Готово',
'app.openhumanLink.accounts.intro': 'Введение',
'app.openhumanLink.accounts.webviewNote': 'Примечание о Webview',
'app.openhumanLink.billing.openDashboard': 'Открыть панель',
'app.openhumanLink.billing.stayOnTrial': 'Остаться на пробном периоде',
'app.openhumanLink.billing.trialCredit': 'Пробный кредит',
'app.openhumanLink.billing.trialDesc': 'Описание пробного периода',
'app.openhumanLink.defaultBody':
'Ещё не готово во всплывающем окне. Откройте полную страницу настроек, когда понадобится.',
'app.openhumanLink.discord.intro': 'Введение',
'app.openhumanLink.discord.openInvite': 'Открыть приглашение',
'app.openhumanLink.discord.perk1': 'Преимущество 1',
'app.openhumanLink.discord.perk2': 'Преимущество 2',
'app.openhumanLink.discord.perk3': 'Преимущество 3',
'app.openhumanLink.discord.perk4': 'Преимущество 4',
'app.openhumanLink.done': 'Готово',
'app.openhumanLink.loadingChannelSetup': 'Загрузка настроек канала',
'app.openhumanLink.maybeLater': 'Может, потом',
'app.openhumanLink.notifications.asking': 'Запрос у ОС…',
'app.openhumanLink.notifications.blocked': 'Заблокировано',
'app.openhumanLink.notifications.blockedStep1': 'Заблокировано, шаг 1',
'app.openhumanLink.notifications.blockedStep2': 'Заблокировано, шаг 2',
'app.openhumanLink.notifications.blockedStep3': 'Заблокировано, шаг 3',
'app.openhumanLink.notifications.intro': 'Введение',
'app.openhumanLink.notifications.promptHint': 'Подсказка',
'app.openhumanLink.notifications.retry': 'Повторить тестовое уведомление',
'app.openhumanLink.notifications.send': 'Отправить тестовое уведомление',
'app.openhumanLink.notifications.sendFailed': 'Не удалось отправить: {error}',
'app.openhumanLink.notifications.sent':
'Тестовое уведомление отправлено. Если вы его не получили, откройте «Системные настройки» → «Уведомления» → OpenHuman, включите «Разрешить уведомления» и установите стиль баннера «Постоянный».',
'app.openhumanLink.skipForNow': 'Пропустить',
'app.openhumanLink.telegramUnavailable': 'Telegram недоступен',
'app.openhumanLink.title.accounts': 'Подключи свои приложения',
'app.openhumanLink.title.billing': 'Оплата и кредиты',
'app.openhumanLink.title.discord': 'Вступи в сообщество',
'app.openhumanLink.title.messaging': 'Подключи канал связи',
'app.openhumanLink.title.notifications': 'Разрешить уведомления',
'app.persistRehydration.body': 'Текст',
'app.persistRehydration.heading': 'Заголовок',
'app.persistRehydration.resetCta': 'Сброс…',
'app.persistRehydration.resetting': 'Сброс…',
'app.routeLoading.initializing': 'Инициализация OpenHuman...',
'app.update.currentlyOn': '{version}',
'app.update.errorFallback': 'Что-то пошло не так при обновлении.',
'app.update.header.default': 'Обновление',
'app.update.header.error': 'Ошибка обновления',
'app.update.header.installing': 'Установка обновления',
'app.update.header.readyToInstall': 'Обновление готово к установке',
'app.update.header.restarting': 'Перезапуск…',
'app.update.later': 'Позже',
'app.update.newVersionReady': 'Новая версия готова к установке.',
'app.update.progress.downloaded': 'Загружено: {amount}',
'app.update.progress.installing': 'Установка новой версии…',
'app.update.progress.restarting': 'Перезапуск приложения…',
'app.update.progress.working': '{percent}%',
'app.update.restartNote': 'Примечание о перезапуске',
'app.update.restartNow': 'Перезапустить сейчас',
'app.update.versionReady': 'Версия {newVersion} готова к установке.',
'channels.discord.accountLinked': 'Аккаунт привязан',
'channels.discord.connect': 'Подключить',
'channels.discord.linkTokenExpired': 'Токен привязки истёк. Попробуй ещё раз.',
'channels.discord.linkTokenInstruction': '{token}',
'channels.discord.linkTokenLabel': 'Метка токена привязки',
'channels.discord.linkTokenOnce': 'Токен привязки (однократно)',
'channels.discord.picker.allPermissionsOk': 'Бот имеет все необходимые права в этом канале.',
'channels.discord.picker.botNotInServers': 'Бот не на серверах',
'channels.discord.picker.category': 'Категория',
'channels.discord.picker.channel': 'Канал',
'channels.discord.picker.checkingPermissions': 'Проверка прав',
'channels.discord.picker.loadingChannels': 'Загрузка каналов...',
'channels.discord.picker.loadingServers': 'Загрузка серверов...',
'channels.discord.picker.missingPermissions': 'Недостаточно прав',
'channels.discord.picker.noChannels': 'Текстовые каналы не найдены',
'channels.discord.picker.noServers': 'Серверы не найдены',
'channels.discord.picker.selectChannel': 'Выбери канал',
'channels.discord.picker.selectServer': 'Выбери сервер',
'channels.discord.picker.server': 'Сервер',
'channels.discord.picker.serverChannelSelection': 'Выбор сервера и канала',
'channels.discord.savedRestartRequired': 'Канал сохранён. Перезапусти приложение для активации.',
'channels.telegram.connect': 'Подключить',
'channels.telegram.managedDmConnecting': 'Подключение управляемого DM',
'channels.telegram.managedDmTimeout': 'Таймаут управляемого DM',
'channels.telegram.reconnect': 'Переподключить',
'channels.telegram.savedRestartRequired': 'Канал сохранён. Перезапусти приложение для активации.',
'channels.web.alwaysAvailable': 'Всегда доступно',
'chat.approval.approve': 'Утвердить',
'chat.approval.alwaysAllow': 'Всегда разрешать',
'chat.approval.alwaysAllowHint':
'Перестаньте запрашивать этот инструмент — добавьте его в свой список «Всегда разрешено».',
'chat.approval.deciding': 'Работающий…',
'chat.approval.deny': 'Отрицать',
'chat.approval.error': 'Не удалось записать свое решение — попробуйте еще раз.',
'chat.approval.fallback': 'Агент хочет выполнить действие, требующее вашего одобрения.',
'chat.approval.title': 'Требуется одобрение',
'chat.approval.tool': 'Инструмент:',
'channels.authMode.managed_dm': 'Войдите с помощью OpenHuman',
'channels.authMode.oauth': 'OAuth Вход в систему',
'channels.authMode.bot_token': 'Используйте свой собственный токен бота',
'channels.authMode.api_key': 'Используйте свой собственный ключ API',
'channels.fieldRequired': 'Требуется {field}',
'channels.mcp.title': 'MCP Серверы',
'channels.mcp.description':
'Просматривайте серверы протокола контекста модели и управляйте ими — они расширяют возможности ИИ новыми инструментами.',
'channels.discord.displayName': 'Discord',
'channels.discord.description': 'Отправляйте и получайте сообщения через Discord.',
'channels.discord.authMode.bot_token.description':
'Предоставьте свой собственный токен бота Discord.',
'channels.discord.authMode.oauth.description':
'Установите бот OpenHuman на свой сервер Discord через OAuth.',
'channels.discord.authMode.managed_dm.description':
'Свяжите свою личную учетную запись Discord с ботом OpenHuman.',
'channels.discord.fields.bot_token.label': 'Токен бота',
'channels.discord.fields.bot_token.placeholder': 'Ваш токен бота Discord',
'channels.discord.fields.guild_id.label': 'Идентификатор сервера (гильдии)',
'channels.discord.fields.guild_id.placeholder': 'Необязательно: ограничить конкретным сервером',
'channels.telegram.displayName': 'Telegram',
'channels.telegram.description': 'Отправка и получение сообщений через Telegram.',
'channels.telegram.authMode.managed_dm.description':
'Отправьте сообщение боту OpenHuman Telegram напрямую.',
'channels.telegram.authMode.bot_token.description':
'Предоставьте свой собственный токен бота Telegram от @BotFather.',
'channels.telegram.fields.bot_token.label': 'Токен бота',
'channels.telegram.fields.bot_token.placeholder': '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11',
'channels.telegram.fields.allowed_users.label': 'Разрешенные пользователи',
'channels.telegram.fields.allowed_users.placeholder':
'Имена пользователей Telegram, разделенные запятыми',
'channels.telegram.remoteControlTitle': 'Удаленное управление (Telegram)',
'channels.telegram.remoteControlBody':
'Из разрешенного чата Telegram отправьте /status, /sessions, /new или /help. В маршрутизации моделей по-прежнему используются /model и /models.',
'channels.web.displayName': 'Интернет',
'channels.web.description': 'Общайтесь через встроенный веб-интерфейс.',
'channels.web.authMode.managed_dm.description':
'Используйте встроенный веб-чат — настройка не требуется.',
'channels.yuanbao.connect': 'Connect',
'channels.yuanbao.connecting': 'Подключение…',
'channels.yuanbao.fieldRequired': '{field} обязателен',
'channels.yuanbao.reconnect': 'Reconnect',
'channels.yuanbao.savedRestartRequired':
'Канал сохранён. Перезапустите приложение для его активации.',
'channels.yuanbao.unexpectedStatus': 'Неожиданный статус подключения: {status}',
'chat.unsubscribeApproval.approve': 'Подтвердить и отписаться',
'chat.unsubscribeApproval.approved': '✓ Подписка успешно отменена.',
'chat.unsubscribeApproval.denied': '✕ Запрос отклонён.',
'chat.unsubscribeApproval.deny': 'Отклонить',
'chat.unsubscribeApproval.processing': 'Обработка...',
'chat.unsubscribeApproval.title': 'Запрос на отписку',
'commandPalette.ariaLabel': 'Палитра команд',
'commandPalette.description': 'Описание',
'commandPalette.label': 'Команды',
'commandPalette.noResults': 'Ничего не найдено',
'commandPalette.placeholder': 'Введи команду или поиск…',
'commandPalette.searchAria': 'Поиск команд',
'commandPalette.shortcutHint': 'Нажмите ?, чтобы увидеть все сочетания',
'commandPalette.title': 'Палитра команд',
'kbd.ariaLabel': 'Сочетание клавиш: {shortcut}',
'iosMascot.connectedTo': 'Подключен к',
'iosMascot.defaultPairedLabel': 'Рабочий стол',
'iosMascot.disconnect': 'Отключиться',
'iosMascot.error.generic': 'Что-то пошло не так. Пожалуйста, попробуйте еще раз.',
'iosMascot.error.sendFailed': 'Не удалось отправить. Проверьте свое соединение.',
'iosMascot.pushToTalk': 'Нажми и говори',
'iosMascot.sendMessage': 'Отправить сообщение',
'iosMascot.thinking': 'Думаю...',
'iosMascot.typeMessage': 'Введите a сообщение...',
'iosPair.connectedLoading': 'Подключено! Загрузка... Срок действия',
'iosPair.connecting': 'Подключение к рабочему столу...',
'iosPair.desktopLabel': 'Рабочий стол',
'iosPair.error.camera':
'Сканирование камерой не удалось. Проверьте разрешения камеры и повторите попытку.',
'iosPair.error.connectionFailed':
'Не удалось подключиться. Убедитесь, что десктопное приложение запущено, и повторите попытку.',
'iosPair.error.invalidQr':
'Неверный QR-код. Убедитесь, что вы сканируете код сопряжения OpenHuman.',
'iosPair.error.unreachableDesktop':
'Не удалось подключиться к рабочему столу. Убедитесь, что оба устройства в сети, и повторите попытку.',
'iosPair.expired': 'QR code истек. Попросите рабочий стол повторно сгенерировать код.',
'iosPair.instructions':
'Откройте OpenHuman на рабочем столе, перейдите в Настройки > Устройства и нажмите «Привязать телефон», чтобы показать QR-код.',
'iosPair.retryScan': 'Повторить сканирование',
'iosPair.scanQrCode': 'Сканирование QR code',
'iosPair.scannerOpening': 'Открытие сканера...',
'iosPair.step.openDesktop': 'Откройте OpenHuman на рабочем столе',
'iosPair.step.openSettings': 'Перейдите в «Настройки» > «Устройства»',
'iosPair.step.showQr': 'Нажмите «Подключить телефон», чтобы отобразить QR',
'iosPair.title': 'Сопряжение с рабочим столом',
'composio.connect.additionalConfigRequired': 'Требуется дополнительная настройка',
'composio.connect.atlassianSubdomainHint': 'acme',
'composio.connect.atlassianSubdomainLabel': 'Поддомен Atlassian',
'composio.connect.connect': 'Подключить',
'composio.connect.dynamicsOrgNameHint':
'Например, "myorg" для myorg.crm.dynamics.com. Введите только короткое название организации, а не полный URL.',
'composio.connect.dynamicsOrgNameLabel': 'Название организации Dynamics 365',
'composio.connect.connectionFailed': 'Не удалось подключиться (статус: {status}).',
'composio.connect.disconnectFailed': 'Ошибка отключения: {msg}',
'composio.connect.disconnecting': 'Отключение…',
'composio.connect.idleDescription': 'Подключите свой',
'composio.connect.idleDescriptionSuffix':
'аккаунт. Мы откроем окно браузера, вы предоставите доступ там, и приложение автоматически обнаружит подключение.',
'composio.connect.isConnected': 'подключён.',
'composio.connect.manage': 'Управлять',
'composio.connect.needsFieldsPrefix': 'Чтобы подключить',
'composio.connect.needsFieldsSuffix':
'нам нужно немного больше информации. Заполните недостающие поля ниже и повторите попытку.',
'composio.connect.needsSubdomain': 'Чтобы подключить',
'composio.connect.needsSubdomainSuffix':
'введите ваш поддомен Atlassian (например, acme для acme.atlassian.net) и попробуйте снова.',
'composio.connect.oauthComplete': 'Ожидание завершения OAuth…',
'composio.connect.oauthTimeout': 'Таймаут OAuth',
'composio.connect.permissions': 'Разрешения',
'composio.connect.permissionsDefault': 'Чтение + запись включены по умолчанию',
'composio.connect.permissionsNote': 'может раскрыть',
'composio.connect.permissionsNoteSuffix':
'Собственные права агента OpenHuman настраиваются ниже переключателями чтения, записи и администратора.',
'composio.connect.reopenBrowser': 'Открыть браузер снова',
'composio.connect.requestingUrl': 'Запрос URL подключения…',
'composio.connect.requiredFieldEmpty': 'Это поле обязательно для заполнения.',
'composio.connect.retryConnection': 'Повторить подключение',
'composio.connect.scopeLoadError': 'Не удалось загрузить настройки области: {msg}',
'composio.connect.scopeSaveError': 'Не удалось сохранить область {key}: {msg}',
'composio.connect.scope.read': 'Чтение',
'composio.connect.scope.readHint': 'Разрешить агенту читать данные из этого соединения.',
'composio.connect.scope.write': 'Запись',
'composio.connect.scope.writeHint':
'Разрешить агенту создавать или изменять данные через это соединение.',
'composio.connect.scope.admin': 'Администратор',
'composio.connect.scope.adminHint':
'Разрешить агенту управлять настройками, разрешениями или деструктивными действиями.',
'composio.connect.subdomainInvalid':
'Введите только короткий поддомен (например, "acme"), а не полный URL. Допустимы только буквы, цифры и дефисы.',
'composio.connect.subdomainRequired': 'Введи свой поддомен Atlassian для продолжения.',
'composio.connect.wabaIdHint':
'Найдите его через GET /me/businesses, затем GET /{business_id}/owned_whatsapp_business_accounts, используя ваш токен доступа Meta.',
'composio.connect.wabaIdLabel': 'ID аккаунта WhatsApp Business',
'composio.connect.wabaIdRequired':
'Введи ID аккаунта WhatsApp Business (WABA ID) для продолжения.',
'composio.connect.waitingFor': 'Ожидание',
'composio.connect.waitingHint': 'Подсказка ожидания',
'composio.triggers.heading': 'Триггеры',
'composio.triggers.listenFrom': 'Слушать события от',
'composio.triggers.loadError': 'Не удалось загрузить триггеры',
'composio.triggers.needsConfiguration': 'Требуется настройка',
'composio.triggers.noneAvailable': 'Сейчас нет доступных триггеров для',
'conversations.taskKanban.moveLeft': 'Переместить влево',
'conversations.taskKanban.moveRight': 'Переместить вправо',
'conversations.taskKanban.title': 'Задачи',
'conversations.taskKanban.approval.default': 'По умолчанию',
'conversations.taskKanban.approval.notRequired': 'Не требуется',
'conversations.taskKanban.approval.notRequiredBadge': 'нет одобрения',
'conversations.taskKanban.approval.required': 'Необходимый',
'conversations.taskKanban.approval.requiredBadge': 'approval',
'conversations.taskKanban.approval.requiredBeforeExecution': 'Требуется перед выполнением',
'conversations.taskKanban.briefButton': 'Краткое описание задачи',
'conversations.taskKanban.briefTitle': 'Краткое описание задачи',
'conversations.taskKanban.closeBrief': 'Закрыть краткое описание задачи',
'conversations.taskKanban.field.acceptanceCriteria': 'Критерии приемки',
'conversations.taskKanban.field.allowedTools': 'Разрешенные инструменты',
'conversations.taskKanban.field.approval': 'Одобрение',
'conversations.taskKanban.field.assignedAgent': 'Назначенный агент',
'conversations.taskKanban.field.blocker': 'Блокатор',
'conversations.taskKanban.field.evidence': 'Доказательство',
'conversations.taskKanban.field.notes': 'Примечания',
'conversations.taskKanban.field.objective': 'Цель',
'conversations.taskKanban.field.plan': 'План',
'conversations.taskKanban.field.status': 'Статус',
'conversations.taskKanban.field.title': 'Заголовок',
'conversations.taskKanban.saveChanges': 'Сохранить изменения',
'conversations.taskKanban.deleteCard': 'Удалить',
'conversations.taskKanban.updateFailed': 'Не удалось обновить задачу; изменения не сохранились.',
'conversations.toolTimeline.turn': 'ход',
'conversations.toolTimeline.step': 'Шаг',
'conversations.toolTimeline.workerThread': 'чат воркера',
'conversations.subagent.viewProcessing': 'Посмотреть весь процесс',
'conversations.subagent.parent': 'Родительский',
'conversations.subagent.thinking': 'Думает',
'conversations.subagent.response': 'Ответ',
'conversations.subagent.toolCalls': 'Вызовы инструментов',
'conversations.subagent.working': 'Выполняется…',
'conversations.subagent.noOutputYet': 'Пока нет результата',
'conversations.subagent.close': 'Закрыть',
'conversations.subagent.statusRunning': 'выполняется',
'conversations.subagent.statusCompleted': 'завершено',
'conversations.subagent.statusFailed': 'ошибка',
'conversations.subagent.statusAwaitingUser': 'ожидание пользователя',
'daemon.serviceBlockingGate.body': 'Текст',
'daemon.serviceBlockingGate.downloadHint': 'Подсказка по загрузке',
'daemon.serviceBlockingGate.downloadLatest': 'Скачать последнюю версию',
'daemon.serviceBlockingGate.retryCore': 'Повторить запуск Core',
'daemon.serviceBlockingGate.retryFailed':
'Повтор не удался. Скачай последнюю версию и попробуй снова.',
'daemon.serviceBlockingGate.retrying': 'Повтор...',
'daemon.serviceBlockingGate.title': 'Ядро OpenHuman недоступно',
'home.banners.discordSubtitle': 'Подзаголовок Discord',
'home.banners.discordTitle': 'Вступи в наш Discord',
'home.banners.earlyBirdDismiss': 'Закрыть баннер',
'home.banners.earlyBirdFirstSub': 'первую подписку.',
'home.banners.earlyBirdOn': 'Скидка раннего доступа на',
'home.banners.earlyBirdTitle': 'Первые 1 000 пользователей получают скидку 60%.',
'home.banners.earlyBirdUseCode': 'Используйте промокод для раннего доступа',
'home.banners.getSubscription': 'оформить подписку',
'home.banners.promoCreditsBody': 'Описание промо-кредитов',
'home.banners.promoCreditsTitle': '{amount}',
'home.banners.promoCreditsUsage': 'Использование промо-кредитов',
'intelligence.memoryChunk.detail.chunk': 'Блок',
'intelligence.memoryChunk.detail.copyChunkId': 'Скопировать ID блока',
'intelligence.memoryChunk.detail.embeddingInfo': 'bge-m3 1024dim',
'intelligence.memoryChunk.detail.noEmbedding': 'Векторного вложения нет',
'intelligence.memoryChunk.letterhead.from': 'от',
'intelligence.memoryChunk.letterhead.to': 'кому',
'intelligence.memoryChunk.mentioned.chunkOne': '1 фрагмент',
'intelligence.memoryChunk.mentioned.chunkOther': '{count} фрагментов',
'intelligence.memoryChunk.mentioned.heading': 'у п о м я н у т о',
'intelligence.memoryChunk.scoreBars.ariaScore': '{name} оценка {pct} процентов',
'intelligence.memoryChunk.scoreBars.atThreshold': 'при {threshold}',
'intelligence.memoryChunk.scoreBars.dropped': 'отброшено',
'intelligence.memoryChunk.scoreBars.heading': 'п о ч е м у с о х р а н е н о',
'intelligence.memoryChunk.scoreBars.kept': 'сохранено',
'intelligence.diagram.title': 'Архитектурная диаграмма',
'intelligence.diagram.description':
'Последний локальный результат архитектуры с настроенного конечного точки диаграммы.',
'intelligence.diagram.refresh': 'Refresh',
'intelligence.diagram.refreshAria': 'Обновить диаграмму',
'intelligence.diagram.emptyTitle': 'Диаграмма пока недоступна',
'intelligence.diagram.emptyDescription':
'Создайте архитектурную диаграмму из оркестратора, и эта панель обновится с настроенной локальной конечной точки.',
'intelligence.diagram.skillInstallCommand': 'npx skills add yizhiyanhua-ai/fireworks-tech-graph',
'intelligence.diagram.promptExample':
'Создай архитектурную диаграмму текущего роя в тёмном терминальном стиле',
'intelligence.diagram.imageAlt': 'Последняя сгенерированная архитектурная диаграмма OpenHuman',
'intelligence.diagram.refreshesEvery': 'Обновляется каждые {seconds} с',
'intelligence.memoryText.entityTypePrefix': 'Тип сущности',
'intelligence.screenDebug.active': 'Активно',
'intelligence.screenDebug.app': 'Приложение',
'intelligence.screenDebug.bounds': 'Границы',
'intelligence.screenDebug.captureAlt': 'Результат тестового захвата',
'intelligence.screenDebug.captureFailed': 'Ошибка',
'intelligence.screenDebug.captureSuccess': 'Успех',
'intelligence.screenDebug.captureTest': 'Тест захвата',
'intelligence.screenDebug.capturing': 'Захват',
'intelligence.screenDebug.frames': 'Кадры',
'intelligence.screenDebug.idle': 'Ожидание',
'intelligence.screenDebug.lastApp': 'Последнее приложение',
'intelligence.screenDebug.mode': 'Режим',
'intelligence.screenDebug.permAccessibility': 'Доступность',
'intelligence.screenDebug.permInput': 'Ввод',
'intelligence.screenDebug.permScreen': 'Доступность',
'intelligence.screenDebug.permissions': 'Разрешения',
'intelligence.screenDebug.platformNotSupported': 'Платформа не поддерживается',
'intelligence.screenDebug.recentVisionSummaries': 'Недавние визуальные резюме',
'intelligence.screenDebug.session': 'Сессия',
'intelligence.screenDebug.size': 'Размер',
'intelligence.screenDebug.status': 'Статус',
'intelligence.screenDebug.testCapture': 'Тестовый захват',
'intelligence.screenDebug.time': 'Время',
'intelligence.screenDebug.title': 'Заголовок',
'intelligence.screenDebug.unknown': 'Неизвестно',
'intelligence.screenDebug.visionQueue': 'Очередь обработки изображений',
'intelligence.screenDebug.visionState': 'Состояние обработки изображений',
'intelligence.tasks.activeBoardOne': '1 активная доска в разговорах',
'intelligence.tasks.activeBoardOther': '{count} активных досок в разговорах',
'intelligence.tasks.empty': 'Досок задач агента пока нет',
'intelligence.tasks.emptyHint': 'Пусто',
'intelligence.tasks.failedToLoad': 'Не удалось загрузить',
'intelligence.tasks.live': 'в реальном времени',
'intelligence.tasks.loadingBoards': 'Загрузка досок задач…',
'intelligence.tasks.threadPrefix': 'Тред {thread}',
'intelligence.tasks.subtitle': 'Ваши задачи и доски задач агентов в рабочей области.',
'intelligence.tasks.newTask': 'Новая задача',
'intelligence.tasks.personalBoardTitle': 'Задачи агента',
'intelligence.tasks.personalEmpty': 'Личных задач пока нет',
'intelligence.tasks.composer.title': 'Новая задача',
'intelligence.tasks.composer.titleLabel': 'Заголовок',
'intelligence.tasks.composer.titlePlaceholder': 'Что нужно сделать?',
'intelligence.tasks.composer.statusLabel': 'Статус',
'intelligence.tasks.composer.attachLabel': 'Прикрепить к беседе',
'intelligence.tasks.composer.attachNone': 'Личное (без разговора)',
'intelligence.tasks.composer.objectiveLabel': 'Цель',
'intelligence.tasks.composer.objectivePlaceholder': 'Необязательно — желаемый результат',
'intelligence.tasks.composer.notesLabel': 'Примечания',
'intelligence.tasks.composer.notesPlaceholder': 'Дополнительные примечания',
'intelligence.tasks.composer.create': 'Создать задачу',
'intelligence.tasks.composer.creating': 'Создание…',
'intelligence.tasks.composer.createFailed': 'Не удалось создать задачу',
'notifications.card.dismiss': 'Закрыть уведомление',
'notifications.card.importanceTitle': 'Важность: {pct}%',
'notifications.center.empty': 'Уведомлений пока нет',
'notifications.center.emptyHint': 'Пусто',
'notifications.center.filterAll': 'Все',
'notifications.center.markAllRead': 'Отметить всё прочитанным',
'notifications.center.title': 'Уведомления',
'oauth.button.connecting': 'Подключение...',
'oauth.button.loopbackTimeout':
'Время входа истекло — браузер не завершил перенаправление OAuth. Пожалуйста, попробуйте снова.',
'oauth.login.continueWith': 'Продолжить через',
'onboarding.contextGathering.buildingDesc': 'Сборка профиля',
'onboarding.contextGathering.buildingProfile': 'Составление профиля...',
'onboarding.contextGathering.continueToChat': 'Перейти в чат',
'onboarding.contextGathering.coreAlive': 'Ядро доступно — первый запуск может занять минуту.',
'onboarding.contextGathering.coreAliveProbing': 'Проверка соединения с ядром…',
'onboarding.contextGathering.coreUnreachable':
'Ядро не отвечает. Можно продолжить и попробовать позже.',
'onboarding.contextGathering.errorDesc':
'Мы не смогли построить ваш полный профиль прямо сейчас, но это нормально — вы можете продолжить, и профиль будет дополняться со временем.',
'onboarding.contextGathering.stillWorkingDesc':
'Первый запуск может занять 30–60 секунд, пока мы прогреваем локальную модель и инструменты. Вы можете перейти в чат в любой момент — построение профиля продолжится в фоне.',
'onboarding.contextGathering.stillWorkingTitle': 'Профиль ещё составляется…',
'onboarding.contextGathering.title': 'Сбор контекста',
'openhuman.team_list_teams': 'Список команд',
'overlay.ariaAttention': 'Сообщение',
'overlay.ariaCompanion': 'Спутник активен',
'overlay.ariaOrb': 'Оверлей OpenHuman',
'overlay.ariaVoiceActive': 'Голосовой ввод активен',
'overlay.companion.error': 'Ошибка',
'overlay.companion.listening': 'Слушает…',
'overlay.companion.pointing': 'Указывает…',
'overlay.companion.speaking': 'Говорит…',
'overlay.companion.thinking': 'Думает…',
'overlay.orbTitle': 'Перетащи для перемещения · Двойной клик для сброса позиции',
'pages.settings.account.connections': 'Подключения',
'pages.settings.account.connectionsDesc': 'Описание подключений',
'pages.settings.account.migration': 'Импорт из другого ассистента',
'pages.settings.account.migrationDesc':
'Перенесите память и заметки из OpenClaw (а вскоре и Hermes) в это рабочее пространство.',
'pages.settings.account.privacy': 'Конфиденциальность',
'pages.settings.account.privacyDesc': 'Описание конфиденциальности',
'pages.settings.account.recoveryPhrase': 'Фраза восстановления',
'pages.settings.account.recoveryPhraseDesc': 'Описание фразы восстановления',
'pages.settings.account.team': 'Команда',
'pages.settings.account.teamDesc': 'Описание команды',
'pages.settings.accountSection.description':
'Фраза восстановления, команда, подключения и настройки конфиденциальности.',
'pages.settings.accountSection.title': 'Аккаунт',
'pages.settings.ai.llm': 'LLM',
'pages.settings.ai.llmDesc': 'Описание LLM',
'pages.settings.ai.voice': 'Голос',
'pages.settings.ai.voiceDesc': 'Описание голоса',
'pages.settings.aiSection.description': 'Языковые модели, локальный Ollama и голос (STT / TTS).',
'pages.settings.aiSection.title': 'ИИ',
'pages.settings.composioSection.title': 'Composio',
'pages.settings.composioSection.description':
'Маршрутизация, триггеры и история интеграций на базе Composio.',
'settings.developerMenu.composio.title': 'Composio',
'settings.developerMenu.composio.desc':
'Режим маршрутизации, триггеры интеграции и архив истории триггеров.',
'pages.settings.features.desktopCompanion': 'Десктоп-спутник',
'pages.settings.features.desktopCompanionDesc':
'Голосовой ассистент с распознаванием экрана — слушает, видит, говорит, указывает',
'pages.settings.features.messagingChannels': 'Каналы мессенджеров',
'pages.settings.features.messagingChannelsDesc': 'Описание каналов сообщений',
'pages.settings.features.notifications': 'Уведомления',
'pages.settings.features.notificationsDesc': 'Описание уведомлений',
'pages.settings.features.screenAwareness': 'Слежение за экраном',
'pages.settings.features.screenAwarenessDesc': 'Описание распознавания экрана',
'pages.settings.features.tools': 'Инструменты',
'pages.settings.features.toolsDesc': 'Описание инструментов',
'pages.settings.featuresSection.description': 'Слежение за экраном, мессенджеры и инструменты.',
'pages.settings.featuresSection.title': 'Функции',
'privacy.dataKind.credentials': 'Учётные данные',
'privacy.dataKind.derived': 'Производные данные',
'privacy.dataKind.diagnostics': 'Диагностика',
'privacy.dataKind.metadata': 'Метаданные',
'privacy.dataKind.raw': 'Необработанные данные',
'privacy.whatLeaves.link.label': 'Что покидает мой компьютер?',
'rewards.community.achievementsUnlocked': 'Открыто достижений: {unlocked} из {total}',
'rewards.community.connectDiscord': 'Подключить Discord',
'rewards.community.cumulativeTokens': 'Токенов всего',
'rewards.community.currentStreak': 'Текущая серия',
'rewards.community.discordLinkedNotInGuild': 'Discord привязан, но не в сервере',
'rewards.community.discordMember': 'Присоединился к серверу',
'rewards.community.discordNotLinked': 'Discord не привязан',
'rewards.community.discordServer': 'Сервер Discord',
'rewards.community.discordStatusUnavailable': 'Статус Discord недоступен',
'rewards.community.discordWaiting': 'Ожидание Discord',
'rewards.community.heroSubtitle': 'Подзаголовок',
'rewards.community.heroTitle': 'Заголовок',
'rewards.community.joinDiscord': 'Присоединиться к Discord',
'rewards.community.loadingRewards': 'Загрузка наград…',
'rewards.community.locked': 'Разблокировано',
'rewards.community.retrying': 'Повтор…',
'rewards.community.rolesAndRewards': 'Роли и награды',
'rewards.community.streakDays': '{n}',
'rewards.community.syncPending': 'Синхронизация наград ожидает',
'rewards.community.syncPendingDesc': 'Ожидание синхронизации',
'rewards.community.syncUnavailable': 'Синхронизация недоступна',
'rewards.community.tryAgain': 'Повтор…',
'rewards.community.unknown': 'Неизвестно',
'rewards.community.unlocked': 'Разблокировано',
'rewards.community.yourProgress': 'Твой прогресс',
'rewards.coupon.colCode': 'Код',
'rewards.coupon.colRedeemed': 'Активирован',
'rewards.coupon.colReward': 'Награда',
'rewards.coupon.colStatus': 'Статус',
'rewards.coupon.loadingHistory': 'Загрузка истории наград…',
'rewards.coupon.noCodes': 'Промокоды ещё не использованы.',
'rewards.coupon.pending': 'Ожидает',
'rewards.coupon.placeholder': 'Промокод',
'rewards.coupon.promoCredits': 'Промокредиты',
'rewards.coupon.recentRedemptions': 'Недавние активации',
'rewards.coupon.redeemAccepted':
'{code} принят. {amount} разблокируется после выполнения требуемого действия.',
'rewards.coupon.redeemButton': 'Использовать код',
'rewards.coupon.redeemSuccess': '{code} применён. {amount} добавлено к вашим кредитам.',
'rewards.coupon.redeemedCodes': 'Активированные коды',
'rewards.coupon.redeeming': 'Активация...',
'rewards.coupon.statusApplied': 'Применён',
'rewards.coupon.statusPendingAction': 'Ожидает действия',
'rewards.coupon.statusRedeemed': 'Использован',
'rewards.coupon.subtitle': 'Подзаголовок',
'rewards.coupon.title': 'Активировать промокод',
'rewards.referralSection.activity': 'Реферальная активность',
'rewards.referralSection.apply': 'Применение…',
'rewards.referralSection.applying': 'Применение…',
'rewards.referralSection.colReferredUser': 'Приглашённый пользователь',
'rewards.referralSection.colReward': 'Награда',
'rewards.referralSection.colStatus': 'Статус',
'rewards.referralSection.colUpdated': 'Обновлено',
'rewards.referralSection.completed': 'Завершено',
'rewards.referralSection.copyCode': 'Скопировать код',
'rewards.referralSection.copyFailed': 'Не удалось скопировать',
'rewards.referralSection.haveCode': 'Есть реферальный код?',
'rewards.referralSection.haveCodeDesc': 'Есть код',
'rewards.referralSection.linked': 'Привязан',
'rewards.referralSection.linkedCode': '(код {code})',
'rewards.referralSection.loading': 'Загрузка реферальной программы…',
'rewards.referralSection.retry': 'Повторить',
'rewards.referralSection.noReferrals': 'Рефералов нет',
'rewards.referralSection.pendingReferrals': 'Ожидающие рефералы',
'rewards.referralSection.placeholder': 'Реферальный код',
'rewards.referralSection.share': 'Поделиться',
'rewards.referralSection.statusCompleted': 'Завершено',
'rewards.referralSection.statusExpired': 'Истёк срок',
'rewards.referralSection.statusJoined': 'Вступил',
'rewards.referralSection.subtitle': 'Подзаголовок',
'rewards.referralSection.title': 'Приглашай друзей, зарабатывай кредиты',
'rewards.referralSection.totalEarned': 'Заработано всего',
'rewards.referralSection.yourCode': 'Твой код',
'settings.ai.addCloudProvider': 'Добавить облачного провайдера',
'settings.ai.addProvider': 'Сохранение…',
'settings.ai.apiKeyFieldLabel': 'Поле API-ключа',
'settings.ai.apiKeyRequired': 'Вставь свой API-ключ для продолжения.',
'settings.ai.apiKeyStoredEncrypted': 'API-ключ хранится в зашифрованном виде',
'settings.ai.apiKeysEncrypted': 'auth-profiles.json',
'settings.ai.clearStoredKey': 'Очистить сохранённый ключ',
'settings.ai.connectProvider': 'Подключить провайдера',
'settings.ai.customRouting': 'Пользовательская маршрутизация',
'settings.ai.defaultResolvesTo': 'По умолчанию используется',
'settings.ai.discard': 'Отменить',
'settings.ai.editProvider': 'Изменить провайдера',
'settings.ai.llmProviders': 'LLM-провайдеры',
'settings.ai.llmProvidersDesc': 'Описание провайдеров LLM',
'settings.ai.localOllama': 'Локально (Ollama)',
'settings.ai.modelLabel': 'Модель',
'settings.ai.noCustomProviders': 'Нет пользовательских провайдеров',
'settings.ai.openAiCompat.authHeaderExample': 'Авторизация: Носитель <ваш ключ>',
'settings.ai.openAiCompat.authHeaderLabel': 'Заголовок аутентификации',
'settings.ai.openAiCompat.baseUrlLabel': 'База URL',
'settings.ai.openAiCompat.baseUrlUnavailable': 'Недоступно',
'settings.ai.openAiCompat.clearKey': 'Очистить ключ',
'settings.ai.openAiCompat.description':
'Направьте локальные жгуты на этот сервер /v1 для маршрутизации через поставщиков, настроенных ниже. Для аутентификации используется стабильный ключ, который вы здесь установили, а не внутренний основной носитель приложения.',
'settings.ai.openAiCompat.keyConfigured': 'Ключ настроен',
'settings.ai.openAiCompat.keyRequired': 'Требуется ключ',
'settings.ai.openAiCompat.rotateKey': 'Повернуть ключ',
'settings.ai.openAiCompat.setKey': 'Установить ключ',
'settings.ai.openAiCompat.title': 'OpenAI-совместимая конечная точка',
'settings.ai.providerLabel': 'Провайдер',
'skills.mcpComingSoon.title': 'MCP Серверы',
'skills.mcpComingSoon.description':
'Управление MCP-серверами скоро появится. Этот раздел станет центром для обнаружения, подключения и мониторинга интеграций с MCP-серверами.',
'settings.ai.routing': 'Маршрутизация',
'settings.ai.routingCustom': 'Пользовательская маршрутизация',
'settings.ai.routingDefault': 'По умолчанию',
'settings.ai.routingDesc': 'Описание маршрутизации',
'settings.ai.saveChanges': 'Сохранение…',
'settings.ai.saving': 'Сохранение…',
'settings.ai.unsavedChange': 'несохранённое изменение',
'settings.ai.unsavedChanges': 'несохранённые изменения',
'settings.ai.workloadGroupBackground': 'Фоновые задачи',
'settings.ai.workloadGroupChat': 'Чат',
'settings.ai.disconnectProvider': 'Отключить {label}',
'settings.ai.connectProviderLabel': 'Подключить {label}',
'settings.ai.defaultLocalEndpoint': 'http://localhost:11434/v1',
'settings.ai.endpointUrlLabel': 'Конечная точка URL',
'settings.ai.localRuntimeHelper':
'Где доступен {label}. По умолчанию используется локальный хост; укажите это на удаленном хосте (например, http://10.0.0.4:11434/v1), чтобы использовать общий экземпляр.',
'settings.ai.endpointUrlRequired': 'Требуется конечная точка URL.',
'settings.ai.endpointProtocolRequired':
'Конечная точка должна начинаться с http:// или https://..',
'settings.ai.connectProviderDialog': 'Подключиться {label}',
'settings.ai.or': 'Или',
'settings.ai.codexOauthMissingAuthUrl':
'Codex OAuth не вернул URL авторизации. Попробуйте войти снова.',
'settings.ai.codexOauthMissingCallbackUrl':
'Вставьте URL перенаправления из браузера после входа.',
'settings.ai.openRouterOauthDescription':
'Войдите в систему с помощью OpenRouter и импортируйте управляемый пользователем ключ API с помощью PKCE.',
'settings.ai.connecting': 'Подключение...',
'settings.ai.backgroundLoops': 'Фоновые циклы',
'settings.ai.backgroundLoopsDesc':
'Посмотрите, что выполняется без сообщения чата, приостановите работу Heartbeat и проверьте последние строки кредитной книги.',
'settings.ai.heartbeatControls': 'Управление пульсом.',
'settings.ai.heartbeatControlsDesc':
'По умолчанию выключено. Включение запускает цикл; отключение прерывает выполняемую задачу.',
'settings.ai.heartbeatLoop': 'Цикл Heartbeat',
'settings.ai.heartbeatLoopDesc':
'Главный планировщик для планировщика + дополнительный подсознательный вывод.',
'settings.ai.subconsciousInference': 'Подсознательный вывод.',
'settings.ai.subconsciousInferenceDesc':
'Выполняет оценку task/reflection на основе модели по тактам пульса.',
'settings.ai.calendarMeetingChecks': 'Проверка собраний в календаре.',
'settings.ai.calendarMeetingChecksDesc':
'Вызывает список событий календаря для активных соединений календаря Google.',
'settings.ai.calendarCap': 'Окончание календаря',
'settings.ai.connectionsPerTick': '{count} подкл./тик',
'settings.ai.meetingLookahead': 'Предварительный просмотр собрания',
'settings.ai.minutesShort': '{count} мин',
'settings.ai.reminderLookahead': 'Предварительный просмотр напоминания',
'settings.ai.cronReminderChecks': 'Проверка напоминаний Cron.',
'settings.ai.cronReminderChecksDesc':
'Сканирование включает задания cron для предстоящих элементов, похожих на напоминания.',
'settings.ai.relevantNotificationChecks': 'Соответствующие проверки уведомлений.',
'settings.ai.relevantNotificationChecksDesc':
'Превращает срочные локальные уведомления в упреждающие оповещения.',
'settings.ai.externalDelivery': 'Внешняя доставка.',
'settings.ai.externalDeliveryDesc':
'Позволяет оповещениям о пульсе отправлять упреждающие сообщения во внешние каналы.',
'settings.ai.interval': 'Интервал',
'settings.ai.running': 'Выполняется...',
'settings.ai.plannerTickNow': 'Планировщик отметьте сейчас',
'settings.ai.loadingHeartbeatControls': 'Загрузка элементов управления пульсом...',
'settings.ai.heartbeatControlsUnavailable': 'Элементы управления пульсом недоступны.',
'settings.ai.loopMap': 'Карта цикла',
'settings.ai.plannerSummary':
'Планировщик: исходные события {sourceEvents}, отправлено {sent}, дедуплицировано {deduped}.',
'settings.ai.routeLabel': 'маршрут: {route}',
'settings.ai.on': 'на',
'settings.ai.off': 'выкл.',
'settings.ai.recentUsageLedger': 'Журнал недавнего использования',
'settings.ai.recentUsageLedgerDesc':
'Внутренние строки сегодня предоставляют доступ к action/time; исходные теги нуждаются в внутренней поддержке.',
'settings.ai.latestSpend': 'Последние расходы: {amount} в {time} ({action})',
'settings.ai.topActions': 'Популярные действия',
'settings.ai.noSpendRows': 'Строки расходов не загружены.',
'settings.ai.topHours': 'Максимальное количество часов',
'settings.ai.noHourlySpend': 'Почасовых затрат пока нет.',
'settings.ai.openhumanDefault': 'OpenHuman (по умолчанию)',
'settings.ai.localModelResolved': 'Ollama · {model}',
'settings.ai.customRoutingForWorkload': 'Пользовательская маршрутизация для {label}',
'settings.ai.loadingModels': 'Загрузка моделей...',
'settings.ai.enterModelIdManually': 'или введите идентификатор модели вручную:',
'settings.ai.modelIdPlaceholderForProvider': '{slug} идентификатор модели',
'settings.ai.modelIdPlaceholder': 'model-id',
'settings.ai.selectModel': 'Выберите модель...',
'settings.ai.temperatureOverride': 'Переопределение температуры',
'settings.ai.temperatureOverrideSlider': 'Переопределение температуры (ползунок)',
'settings.ai.temperatureOverrideValue': 'Переопределение температуры (значение)',
'settings.ai.temperatureOverrideDesc':
'Ниже = более детерминированно. Оставьте флажок неактивным, чтобы использовать поставщика по умолчанию.',
'settings.ai.testFailed': 'Тест не пройден.',
'settings.ai.testingModel': 'Модель тестирования...',
'settings.ai.modelResponse': 'Ответ модели',
'settings.ai.providerWithValue': 'Поставщик: {value}',
'settings.ai.noneDash': '—',
'settings.ai.promptHelloWorld': 'Подсказка: Привет, мир.',
'settings.ai.startedAt': 'Начало: {value}',
'settings.ai.waitingForModelResponse': 'Ожидание ответа от выбранной модели...',
'settings.ai.response': 'Ответ',
'settings.ai.testing': 'Тестирование...',
'settings.ai.test': 'Тест',
'settings.ai.slugMissingError': 'Введите имя провайдера для создания пула.',
'settings.ai.slugInUseError': 'Это имя провайдера уже используется.',
'settings.ai.slugReservedError': 'Выберите другое имя провайдера.',
'settings.ai.providerNamePlaceholder': 'Мой провайдер',
'settings.ai.slugLabel': 'Слаг:',
'settings.ai.openAiUrlLabel': 'URL OpenAI',
'settings.ai.openAiUrlPlaceholder': 'https://api.openai.com/v1',
'settings.ai.keepExistingKeyPlaceholder': 'Оставьте пустым, чтобы сохранить существующий ключ.',
'settings.ai.reindexingMemory': 'Переиндексация памяти',
'settings.ai.reindexingMemoryMessage':
'Вложения перерабатываются. Элементы памяти {pending} повторно встраиваются в текущую модель — семантический вызов снижается до тех пор, пока это не завершится. Поиск по ключевым словам продолжает работать, и повторное встраивание продолжается в фоновом режиме, если вы закроете это.',
'settings.ai.signInWithOpenRouter': 'Войдите с помощью OpenRouter',
'settings.ai.weekBudget': 'Недельный бюджет',
'settings.ai.cycleRemaining': 'Оставшийся цикл',
'settings.ai.cycleTotalSpend': 'Общие расходы за цикл',
'settings.ai.avgSpendRow': 'Строка средних расходов',
'settings.ai.backgroundApiReads': 'Bg API читает',
'settings.ai.backgroundWakeups': 'Bg пробуждения',
'settings.ai.budgetMath': 'Математические расчеты бюджета',
'settings.ai.rowsLeft': 'Осталось строк',
'settings.ai.rowsPerFullWeekBudget': 'Строков на полную неделю бюджета',
'settings.ai.sampleBurnRate': 'Скорость записи выборки',
'settings.ai.projectedEmpty': 'Прогнозируемая пустая',
'settings.ai.apiReadsPerDollarRemaining': 'API операций чтения на каждый оставшийся доллар',
'settings.ai.loopCallBudget': 'Бюджет циклических вызовов',
'settings.ai.heartbeatTicks': 'Тактов контрольного сигнала',
'settings.ai.calendarPlannerCalls': 'Звонки планировщика календаря',
'settings.ai.calendarFanoutCap': 'Крышка разветвления календаря',
'settings.ai.subconsciousModelCalls': 'Звонки модели подсознания',
'settings.ai.composioSyncScans': 'Composio синхронизируют сканирование',
'settings.ai.totalBackgroundApiReadBudget': 'Общий бюджет чтения API',
'settings.ai.memoryWorkerPolls': 'Опросы работников памяти',
'settings.ai.defaultProviderName': 'OpenHuman',
'settings.ai.routing.managed': 'Управляемый',
'settings.ai.routing.managedDesc':
'OpenHuman выполнит все логические выводы в облаке, выберет лучшую модель для задачи, оптимизирует затраты и сохранит самые безопасные настройки маршрутизации по умолчанию.',
'settings.ai.routing.managedMsg':
'OpenHuman будет обрабатывать все выводы для каждой рабочей нагрузки и автоматически выбирать лучший маршрут с точки зрения стоимости, качества и безопасности.',
'settings.ai.routing.useYourOwn': 'Используйте свои собственные модели',
'settings.ai.routing.useYourOwnDesc':
'Выберите одного поставщика + модель и направляйте через него всю рабочую нагрузку. Это просто, но может быть неэффективно, поскольку легкий и тяжелый вывод используют один и тот же маршрут.',
'settings.ai.routing.advanced': 'Расширенный',
'settings.ai.routing.advancedDesc':
'Выбирайте разные модели для разных задач. Это лучший вариант для жесткой оптимизации затрат и максимального контроля.',
'settings.ai.routing.customDesc':
'Детальная маршрутизация обеспечивает наилучшую оптимизацию затрат и максимальный контроль. Используйте строки ниже, чтобы решить, какие рабочие нагрузки остаются управляемыми, какие используют общие настройки по умолчанию и какие привязываются к конкретной модели.',
'settings.ai.routing.chatAndConversations': 'Чат и беседы',
'settings.ai.routing.chatDesc':
'Модели, используемые во время прямого взаимодействия с пользователем, ответов, рассуждений, циклов агента и помощи в кодировании.',
'settings.ai.routing.backgroundTasks': 'Фоновые задачи',
'settings.ai.routing.bgTasksDesc':
'Модели, используемые вне основного потока разговора для подведения итогов, сердцебиения, обучения и подсознательной оценки.',
'settings.ai.routing.addCustomProvider': 'Добавить специального поставщика.',
'settings.ai.globalModel.title': 'Выберите одну модель для всего.',
'settings.ai.globalModel.desc':
'Это направляет все выводы через одну модель. Это проще, но может оказаться неэффективным с точки зрения стоимости и качества, поскольку легкие и тяжелые задачи будут использовать один и тот же маршрут.',
'settings.ai.globalModel.noProviders':
'Сначала добавьте или подключите провайдера. Тогда вы сможете маршрутизировать каждую рабочую нагрузку через одну модель здесь.',
'settings.ai.globalModel.provider': 'Поставщик',
'settings.ai.globalModel.model': 'Модель',
'settings.ai.globalModel.loadingModels': 'Загрузка моделей…',
'settings.ai.globalModel.enterModelId': 'Введите идентификатор модели',
'settings.ai.globalModel.appliesToAll':
'Применяет один и тот же поставщик + модель к чату, рассуждениям, кодированию, памяти, сердцебиению, обучению и подсознанию. Вложения настраиваются отдельно. Изменения сохраняются при нажатии кнопки «Сохранить».',
'settings.ai.globalModel.saving': 'Сохранение…',
'settings.ai.globalModel.saved': 'Сохранено',
'settings.ai.workload.noModel': 'Модель не выбрана',
'settings.ai.workload.changeModel': 'Изменить модель',
'settings.ai.workload.chooseModel': 'Выберите модель',
'settings.ai.provider.ollama': 'Ollama',
'settings.autocomplete.appFilter.acceptSuggestion': 'Принять предложение',
'settings.autocomplete.appFilter.app': 'Приложение',
'settings.autocomplete.appFilter.currentSuggestion': 'Текущее предложение',
'settings.autocomplete.appFilter.contextOverride': 'Переопределение контекста (необязательно)',
'settings.autocomplete.appFilter.debounce': 'Отладка',
'settings.autocomplete.appFilter.debugFocus': 'Отладка фокуса',
'settings.autocomplete.appFilter.enabled': 'Включено',
'settings.autocomplete.appFilter.getSuggestion': 'Получить предложение',
'settings.autocomplete.appFilter.lastError': 'Последняя ошибка',
'settings.autocomplete.appFilter.liveLogs': 'Логи в реальном времени',
'settings.autocomplete.appFilter.model': 'Модель',
'settings.autocomplete.appFilter.noLogs': '):',
'settings.autocomplete.appFilter.phase': 'Фаза',
'settings.autocomplete.appFilter.platformSupported': 'Платформа поддерживается',
'settings.autocomplete.appFilter.refreshStatus': 'Обновление…',
'settings.autocomplete.appFilter.refreshing': 'Обновление…',
'settings.autocomplete.appFilter.running': 'Выполняется',
'settings.autocomplete.appFilter.runtime': 'Среда выполнения',
'settings.autocomplete.appFilter.test': 'Тест',
'settings.autocomplete.completionStyle.acceptedCompletion':
'Сохранено {count} принятое автозаполнение — используется для персонализации будущих подсказок.',
'settings.autocomplete.completionStyle.acceptedCompletions':
'Сохранено {count} принятых автозаполнений — используется для персонализации будущих подсказок.',
'settings.autocomplete.completionStyle.clearHistory': 'Очистка…',
'settings.autocomplete.completionStyle.clearing': 'Очистка…',
'settings.autocomplete.completionStyle.debounce': 'Задержка (ms)',
'settings.autocomplete.completionStyle.enabled': 'Включено',
'settings.autocomplete.completionStyle.maxChars': 'Макс. символов',
'settings.autocomplete.completionStyle.noHistory':
'Принятых предложений пока нет. Принимай предложения с помощью Tab, чтобы начать персонализацию.',
'settings.autocomplete.completionStyle.overlayTtl': 'Время отображения (ms)',
'settings.autocomplete.completionStyle.personalizationHistory': 'История персонализации',
'settings.autocomplete.completionStyle.styleExamples': 'Примеры стиля (по одному на строку)',
'settings.autocomplete.completionStyle.styleInstructions': 'Инструкции по стилю',
'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.addAmount': 'Добавить эту сумму',
'settings.billing.autoRecharge.addCard': 'Добавить карту',
'settings.billing.autoRecharge.amountHint': 'Подсказка по сумме',
'settings.billing.autoRecharge.defaultCard': 'Карта по умолчанию',
'settings.billing.autoRecharge.lastRechargeFailed': 'Последнее пополнение не удалось',
'settings.billing.autoRecharge.lastRecharged': 'Последнее пополнение',
'settings.billing.autoRecharge.expires': 'Срок действия истекает {date}',
'settings.billing.autoRecharge.noCards': 'Нет карт',
'settings.billing.autoRecharge.paymentMethods': 'Способы оплаты',
'settings.billing.autoRecharge.rechargeInProgress': 'Пополнение в процессе',
'settings.billing.autoRecharge.spentThisWeek':
'${spent} из ${limit}, использовано на этой неделе',
'settings.billing.autoRecharge.rechargeWhen': 'Пополнять, когда баланс ниже',
'settings.billing.autoRecharge.saveSettings': 'Сохранение…',
'settings.billing.autoRecharge.saving': 'Сохранение…',
'settings.billing.autoRecharge.setDefault': ':',
'settings.billing.autoRecharge.subtitle': 'Подзаголовок',
'settings.billing.autoRecharge.title': 'Включить автопополнение',
'settings.billing.autoRecharge.toggleAriaLabel': 'Переключить автопополнение',
'settings.billing.autoRecharge.weeklyLimit': 'Еженедельный лимит расходов',
'settings.billing.history.desc': 'Описание',
'settings.billing.history.empty': 'Пусто',
'settings.billing.history.openPortal': 'Открыть портал',
'settings.billing.history.posted': 'Проведено',
'settings.billing.history.title': 'Заголовок',
'settings.billing.inferenceBudget.cycleEnds': 'Цикл заканчивается',
'settings.billing.inferenceBudget.exhausted': 'Исчерпан',
'settings.billing.inferenceBudget.loadError': 'Ошибка загрузки',
'settings.billing.inferenceBudget.noBudgetDesc': 'Бюджет не задан',
'settings.billing.inferenceBudget.noRecurringBudget': 'Нет регулярного бюджета',
'settings.billing.inferenceBudget.noRecurringPlanBudget': 'Нет повторяющегося бюджета плана.',
'settings.billing.inferenceBudget.noRecurringWeeklyDesc':
'Ваш текущий план не включает повторяющийся еженедельный бюджет вывода. Вместо этого использование оплачивается из имеющихся кредитов.',
'settings.billing.inferenceBudget.remaining': 'Осталось',
'settings.billing.inferenceBudget.remainingSummary': 'Осталось {remaining} / {budget}',
'settings.billing.inferenceBudget.spentThisCycle': 'В этом цикле потрачено {amount}',
'settings.billing.inferenceBudget.cycleEndsOn': 'Цикл заканчивается {date}',
'settings.billing.inferenceBudget.exhaustedDesc':
'Использование включенной подписки исчерпано. Пополняйте кредиты, чтобы продолжать использовать AI, не дожидаясь следующего цикла.',
'settings.billing.inferenceBudget.discountVsPayg':
'{pct}% дешевле за звонок, чем при оплате по мере использования.',
'settings.billing.inferenceBudget.cycleSpend': 'Циклические расходы',
'settings.billing.inferenceBudget.totalAmount': '{amount} всего',
'settings.billing.inferenceBudget.inference': 'Вывод',
'settings.billing.inferenceBudget.integrations': 'Интеграции',
'settings.billing.inferenceBudget.calls': '{count} вызовы',
'settings.billing.inferenceBudget.dailySpend': 'Ежедневные расходы',
'settings.billing.inferenceBudget.dailySpendPoint': '{date}: {amount}',
'settings.billing.inferenceBudget.topModels': 'Лучшие модели',
'settings.billing.inferenceBudget.noInferenceUsage': 'В этом цикле не используются выводы.',
'settings.billing.inferenceBudget.topIntegrations': 'Топ интеграций',
'settings.billing.inferenceBudget.noIntegrationUsage': 'В этом цикле интеграция не используется.',
'settings.billing.inferenceBudget.tenHourCap': 'Ограничение 10 часов',
'settings.billing.inferenceBudget.title': 'Заголовок',
'settings.billing.inferenceBudget.unableToLoad': 'Невозможно загрузить данные об использовании.',
'settings.billing.inferenceBudget.notAvailable': 'н/д',
'settings.billing.payAsYouGo.available': 'Доступно',
'settings.billing.payAsYouGo.chargeCustomAmount': 'Открытие…',
'settings.billing.payAsYouGo.chooseTopUpDesc': 'Описание выбора пополнения',
'settings.billing.payAsYouGo.chooseTopUpTitle': 'Выберите сумму пополнения',
'settings.billing.payAsYouGo.creditBalanceDesc': 'Описание баланса кредитов',
'settings.billing.payAsYouGo.creditBalanceTitle': 'Баланс кредитов',
'settings.billing.payAsYouGo.customAmount': 'Произвольная сумма',
'settings.billing.payAsYouGo.enterAmount': 'Введи сумму',
'settings.billing.payAsYouGo.opening': 'Открытие',
'settings.billing.payAsYouGo.promotionalCredits': 'Промокредиты',
'settings.billing.payAsYouGo.topUpBalance': 'Пополнение баланса',
'settings.billing.payAsYouGo.topUpCredits': 'Пополнить кредиты',
'settings.billing.payAsYouGo.unableToLoad': 'Не удалось загрузить баланс.',
'settings.billing.subscription.annual': 'Годовая',
'settings.billing.subscription.billedAnnually': 'Оплата раз в год',
'settings.billing.subscription.chooseSubtitle': 'Подзаголовок выбора',
'settings.billing.subscription.chooseTitle': 'Заголовок выбора',
'settings.billing.subscription.cryptoDesc': 'Описание крипто',
'settings.billing.subscription.cryptoQuestion': 'Вопрос о крипто',
'settings.billing.subscription.current': 'Текущий',
'settings.billing.subscription.currentPlan': 'Текущий план',
'settings.billing.subscription.monthly': 'Ежемесячная',
'settings.billing.subscription.paymentConfirmed': 'Оплата подтверждена',
'settings.billing.subscription.perMonth': 'В месяц',
'settings.billing.subscription.popular': 'Популярное',
'settings.billing.subscription.save': '{pct}',
'settings.billing.subscription.upgrade': 'Улучшить',
'settings.billing.subscription.waiting': 'Ожидание',
'settings.billing.subscription.waitingPayment': 'Ожидание оплаты',
'settings.composio.apiKeyDesc': 'API-ключ Composio сейчас сохранён на этом устройстве.',
'settings.composio.apiKeyExamplePlaceholder': 'ck_live_xxxxxxxxxxxxxxxx',
'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.title': 'Composio',
'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.companion.title': 'Настольный компаньон',
'settings.companion.session': 'Сеанс',
'settings.companion.activeLabel': 'Активен',
'settings.companion.inactiveStatus': 'Неактивен',
'settings.companion.stopping': 'Остановка…',
'settings.companion.stopSession': 'Остановить сеанс',
'settings.companion.starting': 'Начало…',
'settings.companion.startSession': 'Начало сеанса',
'settings.companion.sessionId': 'Идентификатор сеанса',
'settings.companion.turns': 'Выключает',
'settings.companion.remaining': 'Оставшуюся',
'settings.companion.configuration': 'конфигурацию',
'settings.companion.hotkey': 'Горячая клавиша',
'settings.companion.activationMode': 'Режим активации',
'settings.companion.sessionTtl': 'TTL сеанса',
'settings.companion.screenCapture': 'Снимок экрана',
'settings.companion.appContext': 'Контекст приложения',
'settings.cron.jobs.commandRequired': 'Для shell-задач требуется команда',
'settings.cron.jobs.createJob': 'Новая запланированная задача',
'settings.cron.jobs.created': 'Задача создана',
'settings.cron.jobs.custom': 'Свой вариант',
'settings.cron.jobs.desc': 'Описание',
'settings.cron.jobs.edit': 'Изменить',
'settings.cron.jobs.editJob': 'Изменить запланированную задачу',
'settings.cron.jobs.empty': 'Заданий по расписанию не найдено.',
'settings.cron.jobs.errorCreate': 'Не удалось создать cron-задачу: {message}',
'settings.cron.jobs.errorLoadList': 'Не удалось загрузить cron-задачи ядра: {message}',
'settings.cron.jobs.errorLoadRuns': 'Не удалось загрузить историю запусков: {message}',
'settings.cron.jobs.errorRemove': 'Не удалось удалить cron-задачу ядра: {message}',
'settings.cron.jobs.errorRun': 'Не удалось запустить cron-задачу ядра: {message}',
'settings.cron.jobs.errorToggle': 'Не удалось обновить cron-задачу ядра: {message}',
'settings.cron.jobs.errorUpdate': 'Не удалось обновить cron-задачу: {message}',
'settings.cron.jobs.formAtLabel': 'Запустить в',
'settings.cron.jobs.formCancel': 'Отмена',
'settings.cron.jobs.formCommand': 'Shell-команда',
'settings.cron.jobs.formCommandPlaceholder': 'напр. curl https://example.com/health',
'settings.cron.jobs.formCreate': 'Создать',
'settings.cron.jobs.formCronCustom': 'Своё выражение',
'settings.cron.jobs.formCronCustomPlaceholder': 'напр. */30 * * * *',
'settings.cron.jobs.formCronPreset': 'Шаблон',
'settings.cron.jobs.formCronPreview': 'Запуски: {preview}',
'settings.cron.jobs.formDeleteAfterRun': 'Удалить после первого запуска',
'settings.cron.jobs.formDelivery': 'Режим доставки',
'settings.cron.jobs.formDeliveryNone': 'Нет (только вывод)',
'settings.cron.jobs.formDeliveryProactive': 'Проактивный (push-уведомление)',
'settings.cron.jobs.formError': 'Не удалось сохранить задачу',
'settings.cron.jobs.formEveryLabel': 'Интервал (миллисекунды)',
'settings.cron.jobs.formEveryPlaceholder': 'напр. 3600000',
'settings.cron.jobs.formJobType': 'Тип задачи',
'settings.cron.jobs.formJobTypeAgent': 'Agent (запрос к ИИ)',
'settings.cron.jobs.formJobTypeShell': 'Shell-команда',
'settings.cron.jobs.formName': 'Название задачи',
'settings.cron.jobs.formNamePlaceholder': 'напр. daily-report, cleanup-task',
'settings.cron.jobs.formPrompt': 'Запрос для агента',
'settings.cron.jobs.formPromptPlaceholder': 'Что агент должен делать при каждом запуске?',
'settings.cron.jobs.formPromptRequired': 'Для задач агента требуется запрос',
'settings.cron.jobs.formSave': 'Сохранить',
'settings.cron.jobs.formSaving': 'Сохранение…',
'settings.cron.jobs.formScheduleAt': 'Однократно (запуск в)',
'settings.cron.jobs.formScheduleCron': 'Повторяющаяся (cron)',
'settings.cron.jobs.formScheduleEvery': 'Интервал (каждые N мс)',
'settings.cron.jobs.formScheduleRequired': 'Требуется расписание',
'settings.cron.jobs.formScheduleType': 'Тип расписания',
'settings.cron.jobs.formSessionIsolated': 'Изолированная (рекомендуется)',
'settings.cron.jobs.formSessionMain': 'Основная сессия',
'settings.cron.jobs.formSessionTarget': 'Целевая сессия',
'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.updated': 'Задача обновлена',
'settings.cron.jobs.viewRuns': 'Посмотреть запуски',
'settings.cron.schedule.every2hours': 'Каждые 2 часа',
'settings.cron.schedule.every30min': 'Каждые 30 минут',
'settings.cron.schedule.every6hours': 'Каждые 6 часов',
'settings.cron.schedule.everyHour': 'Каждый час',
'settings.cron.schedule.onceDaily': 'Раз в день (9:00)',
'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.disabledLowercase': 'отключен',
'settings.localModel.deviceCapability.presetDetails':
'Чат: {chatModel} · Vision: {visionModel} · Целевая оперативная память: {targetRamGb} ГБ',
'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.capabilityChat': 'Чат',
'settings.localModel.download.capabilityEmbedding': 'Встраивание',
'settings.localModel.download.capabilityAssets': 'Ресурсы возможностей',
'settings.localModel.download.capabilityStt': 'STT',
'settings.localModel.download.capabilityTts': 'TTS',
'settings.localModel.download.capabilityVision': 'Зрение',
'settings.localModel.download.downloading': 'Загрузка...',
'settings.localModel.download.embeddingDimensions': 'Размеры: {dimensions}',
'settings.localModel.download.embeddingModel': 'Модель: {modelId}',
'settings.localModel.download.embeddingPlaceholder': 'По одной строке на вход...',
'settings.localModel.download.embeddingVectors': 'Векторы: {count}',
'settings.localModel.download.noThinkMode': 'Без режима обдумывания',
'settings.localModel.download.notAvailable': 'н/д',
'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.summaryHelper':
'Вызовы `openhuman.inference_summarize` через ядро Rust',
'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.transcript': 'Расшифровка:',
'settings.localModel.download.ttsOutput': 'Выход: {outputPath}',
'settings.localModel.download.ttsOutputPlaceholder': 'Необязательный путь к выходному WAV-файлу',
'settings.localModel.download.ttsPlaceholder': 'Введи текст для синтеза...',
'settings.localModel.download.ttsVoice': 'Голос: {voiceId}',
'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.contextBelowMinimumBadge':
'{contextLength} ctx - ниже {required} мин.',
'settings.localModel.status.contextBelowMinimumTitle':
'Отклонено: количество токенов {contextLength} контекстного окна ниже минимального значения токена {required}, требуемого для уровня памяти. Напоминание будет повреждено молчаливым усечением.',
'settings.localModel.status.contextOkBadge': '{contextLength} контекст ✓',
'settings.localModel.status.contextOkTitle':
'Токены контекстного окна {contextLength} соответствуют минимуму уровня памяти для токенов {required}.',
'settings.localModel.status.contextUnknownBadge': 'ctx неизвестно',
'settings.localModel.status.contextUnknownTitle':
'Контекстное окно неизвестно; не удалось подтвердить, что он соответствует минимуму уровня памяти токена {required}.',
'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.expectedChat': 'Чат: {model}',
'settings.localModel.status.expectedEmbedding': 'Встраивание: {model}',
'settings.localModel.status.expectedVision': 'Видение: {model}',
'settings.localModel.status.externalProcess': 'Внешний процесс',
'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.notAvailable': 'н/д',
'settings.localModel.status.notFound': 'Не найдено',
'settings.localModel.status.notRunning': 'Не запущено',
'settings.localModel.status.ollamaBinaryPath': 'Путь к бинарному файлу Ollama',
'localModel.ollamaServer.helperText': 'Пример: http://192.168.1.5:11434',
'localModel.ollamaServer.label': 'URL сервера Ollama',
'localModel.ollamaServer.modelCount': 'моделей',
'localModel.ollamaServer.placeholder': 'http://localhost:11434',
'localModel.ollamaServer.reachable': 'Доступен',
'localModel.ollamaServer.resetButton': 'Сбросить до значения по умолчанию',
'localModel.ollamaServer.saveButton': 'Сохранить',
'localModel.ollamaServer.testButton': 'Проверить соединение',
'localModel.ollamaServer.unreachable': 'Недоступен',
'localModel.ollamaServer.validationError':
'Должен быть допустимым URL с протоколом http:// или https://',
'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': 'Рабочий процесс разработки',
'settings.developerMenu.devWorkflow.desc':
'Автономный агент, который выбирает ваши проблемы с GitHub и поднимает PR по расписанию.',
'settings.developerMenu.devWorkflow.panelDesc':
'Настройте автономный агент разработчика, который выбирает назначенные вам проблемы GitHub и автоматически отправляет запросы на включение по расписанию.',
'settings.developerMenu.skillsRunner.title': 'Навыки бегуна',
'settings.developerMenu.skillsRunner.desc':
'Запустите любой связанный навык в произвольном порядке — заполните его входные данные и запустите фоновый автономный запуск.',
'settings.developerMenu.skillsRunner.panelDesc':
'Выберите связанный навык, заполните его заявленные входные данные и запустите фоновый прогон по принципу «выстрелил и забыл». Вместо этого используйте Dev Workflow, если вам нужно повторяющееся задание, запланированное cron.',
'settings.skillsRunner.skill': 'Навык',
'settings.skillsRunner.selectSkill': 'Выберите навык…',
'settings.skillsRunner.loadingSkills': 'Загрузка навыков…',
'settings.skillsRunner.loadingDescription': 'Загрузка входных данных о навыках…',
'settings.skillsRunner.noInputs': 'Этот навык не декларирует никаких входных данных.',
'settings.skillsRunner.placeholder.required': 'необходимый',
'settings.skillsRunner.runNow': 'Беги сейчас',
'settings.skillsRunner.starting': 'Начало…',
'settings.skillsRunner.started': 'Запущено — идентификатор запуска:',
'settings.skillsRunner.logPath': 'Бревно:',
'settings.skillsRunner.error.listSkills': 'Не удалось загрузить навыки:',
'settings.skillsRunner.error.describe': 'Не удалось загрузить входные данные:',
'settings.skillsRunner.error.missingRequired': 'Отсутствуют необходимые входные данные:',
'settings.skillsRunner.error.run': 'Не удалось запустить запуск:',
'settings.skillsRunner.error.preflightGate': 'Предполетный шлюз вышел из строя',
'settings.skillsRunner.schedule.heading': 'Расписание (повторяющееся)',
'settings.skillsRunner.schedule.help':
'Сохраните этот навык + входные данные как повторяющееся задание cron. Агент будет вызывать run_skill при каждом тике.',
'settings.skillsRunner.schedule.frequency': 'Частота',
'settings.skillsRunner.schedule.every30min': 'Каждые 30 минут',
'settings.skillsRunner.schedule.everyHour': 'Каждый час',
'settings.skillsRunner.schedule.every2hours': 'Каждые 2 часа',
'settings.skillsRunner.schedule.every6hours': 'Каждые 6 часов',
'settings.skillsRunner.schedule.onceDaily': 'Один раз в день (9:00)',
'settings.skillsRunner.schedule.save': 'Сохранить расписание',
'settings.skillsRunner.schedule.saving': 'Сохранение…',
'settings.skillsRunner.schedule.saved': 'Расписание сохранено.',
'settings.skillsRunner.schedule.error': 'Не удалось сохранить расписание:',
'settings.skillsRunner.schedule.loadingJobs': 'Загрузка существующих расписаний…',
'settings.skillsRunner.schedule.noJobs': 'Для этого навыка пока не сохранено расписание.',
'settings.skillsRunner.schedule.existing': 'Запланированные задания для этого навыка:',
'settings.skillsRunner.schedule.runNow': 'Бегать',
'settings.skillsRunner.schedule.remove': 'Удалять',
'settings.skillsRunner.scheduleEnabled': 'Включено',
'settings.skillsRunner.scheduleDisabled': 'Приостановлено',
'settings.skillsRunner.scheduleToggleAria': 'Переключить расписание включено',
'settings.skillsRunner.schedule.history': 'История',
'settings.skillsRunner.schedule.historyLoading': 'Загрузка истории…',
'settings.skillsRunner.schedule.historyEmpty': 'По этому расписанию пока нет запусков.',
'settings.skillsRunner.schedule.historyNoOutput': 'Выходные данные не зафиксированы.',
'settings.skillsRunner.schedule.active': 'Активный',
'settings.skillsRunner.schedule.lastRunLabel': 'последний:',
'settings.skillsRunner.recentRuns.headingForSkill': 'Недавние запуски этого навыка',
'settings.skillsRunner.recentRuns.headingAll': 'Недавние прогоны навыков (все)',
'settings.skillsRunner.recentRuns.refresh': 'Обновить',
'settings.skillsRunner.recentRuns.loading': 'Загрузка последних запусков…',
'settings.skillsRunner.recentRuns.empty': 'Нет недавних запусков.',
'settings.skillsRunner.viewer.loading': 'Загрузка журнала…',
'settings.skillsRunner.viewer.tailing': 'Живой хвостохранилище',
'settings.skillsRunner.viewer.fetching': 'fetching',
'settings.skillsRunner.viewer.error': 'Не удалось прочитать журнал:',
'settings.skillsRunner.repoPicker.loading': 'Загрузка репозиториев…',
'settings.skillsRunner.repoPicker.select': 'Выберите репозиторий…',
'settings.skillsRunner.repoPicker.empty':
'Ни один репозиторий не вернулся. Подключите GitHub через Composio, чтобы заполнить этот список.',
'settings.skillsRunner.repoPicker.notConnected':
'GitHub не ​​подключен через Composio. Сначала подключите его в разделе «Навыки» → Composio.',
'settings.skillsRunner.repoPicker.privateTag': '(частный)',
'settings.skillsRunner.branchPicker.needRepo': 'Сначала выберите репозиторий…',
'settings.skillsRunner.branchPicker.loading': 'Загрузка веток…',
'settings.skillsRunner.branchPicker.select': 'Выберите филиал…',
'settings.devWorkflow.githubRepository': 'Репозиторий GitHub',
'settings.devWorkflow.loadingRepositories': 'Загрузка репозиториев...',
'settings.devWorkflow.selectRepository': 'Выберите репозиторий',
'settings.devWorkflow.privateTag': '(частный)',
'settings.devWorkflow.detectingForkInfo': 'Обнаружение информации о вилке...',
'settings.devWorkflow.forkDetected': 'Обнаружена вилка',
'settings.devWorkflow.upstream': 'Вверх по течению:',
'settings.devWorkflow.forkPrNote': 'ОР будут выдвинуты против вышестоящего хранилища.',
'settings.devWorkflow.notForkNote':
'Не вилка. PR будут выдвинуты непосредственно против этого хранилища.',
'settings.devWorkflow.targetBranch': 'Целевой филиал',
'settings.devWorkflow.targetBranchNote': 'Против этой ветки будут подняты ПР',
'settings.devWorkflow.loadingBranches': 'Загрузка веток...',
'settings.devWorkflow.runFrequency': 'Частота запуска',
'settings.devWorkflow.runFrequencyNote':
'Как часто агент должен проверять наличие проблем и поднимать PR.',
'settings.devWorkflow.updateConfiguration': 'Обновить конфигурацию',
'settings.devWorkflow.saveConfiguration': 'Сохранить конфигурацию',
'settings.devWorkflow.remove': 'Удалять',
'settings.devWorkflow.saved': 'Сохранено',
'settings.devWorkflow.activeConfiguration': 'Активная конфигурация',
'settings.devWorkflow.activeConfigRepository': 'Репозиторий:',
'settings.devWorkflow.activeConfigUpstream': 'Вверх по течению:',
'settings.devWorkflow.activeConfigTargetBranch': 'Целевая ветка:',
'settings.devWorkflow.activeConfigSchedule': 'Расписание:',
'settings.devWorkflow.enabled': 'Включено',
'settings.devWorkflow.paused': 'Приостановлено',
'settings.devWorkflow.nextRun': 'Следующий запуск',
'settings.devWorkflow.lastRun': 'Последний запуск',
'settings.devWorkflow.runNow': 'Беги сейчас',
'settings.devWorkflow.running': 'Бег…',
'settings.devWorkflow.recentRuns': 'Недавние запуски',
'settings.devWorkflow.cronSaveError': 'Не удалось сохранить конфигурацию.',
'settings.devWorkflow.lastOutput': 'Последний вывод',
'settings.devWorkflow.noOutput': 'Выходные данные не зафиксированы',
'settings.devWorkflow.runningStatus':
'Агент работает — выбирает проблему и работает над ее исправлением...',
'settings.devWorkflow.errorNotConnected':
'GitHub не ​​подключен. Сначала подключите GitHub через «Настройки» > «Дополнительно» > Composio.',
'settings.devWorkflow.errorToolNotEnabled':
'Инструмент GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER не включён на этом сервере. Попросите своего администратора включить его в интеграции Composio (backend#842).',
'settings.devWorkflow.errorNotAuthenticated':
'Не аутентифицирован. Пожалуйста, сначала войдите в систему.',
'settings.devWorkflow.errorNoRepositories':
'Для этой учетной записи GitHub не ​​найдено репозиториев.',
'settings.devWorkflow.schedule.every30min': 'Каждые 30 минут',
'settings.devWorkflow.schedule.everyHour': 'Каждый час',
'settings.devWorkflow.schedule.every2hours': 'Каждые 2 часа',
'settings.devWorkflow.schedule.every6hours': 'Каждые 6 часов',
'settings.devWorkflow.schedule.onceDaily': 'Один раз в день (9 утра)',
'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': 'Журнал событий',
'settings.developerMenu.eventLog.desc':
'Живой поток с цветовой кодировкой обо всех событиях агента, инструмента и системы.',
'settings.developerMenu.eventLog.allTypes': 'Все типы',
'settings.developerMenu.eventLog.filterAgent': 'Фильтр...',
'settings.developerMenu.eventLog.download': 'Скачать',
'settings.developerMenu.eventLog.events': 'events',
'settings.developerMenu.eventLog.live': 'Жить',
'settings.developerMenu.eventLog.disconnected': 'Отключено',
'settings.developerMenu.eventLog.waiting': 'Ждем событий...',
'settings.developerMenu.eventLog.notConnected': 'Не подключен к ядру',
'settings.developerMenu.eventLog.jumpToLatest': 'Перейти к последней версии',
'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.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 Рабочий стол',
'settings.mcpServer.clientCursor': 'Курсор',
'settings.mcpServer.clientCodex': 'Кодекс',
'settings.mcpServer.clientZed': 'Зед',
'settings.mcpServer.configFilePath': 'Файл конфигурации',
'settings.mcpServer.clientSelectorAriaLabel': 'MCP селектор клиента',
'settings.appearance.menuDesc': 'Выберите светлую, темную или системную тему',
'settings.agentAccess.title': 'Доступ агента к ОС',
'settings.agentAccess.menuDesc':
'Контролируйте, где агент может использовать read/write и может ли он использовать оболочку.',
'settings.agentAccess.loadError': 'Не удалось загрузить настройки доступа.',
'settings.agentAccess.saveError': 'Не удалось сохранить настройки доступа.',
'settings.agentAccess.saved': 'Сохранено — применяется к следующему сообщению.',
'settings.agentAccess.desktopOnly': 'Настройки доступа доступны только в настольном приложении.',
'settings.agentAccess.loading': 'Загрузка…',
'settings.agentAccess.accessMode': 'Режим доступа',
'settings.agentAccess.tier.readonly.title': 'Только чтение',
'settings.agentAccess.tier.readonly.desc':
'Читает файлы и запускает команды только для чтения для изучения, но никогда не записывает, не редактирует и не запускает ничего, что меняет состояние.',
'settings.agentAccess.tier.supervised.title': 'Спросить перед редактированием',
'settings.agentAccess.tier.supervised.desc':
'Свободно создает новые файлы, но запрашивает ваше одобрение перед редактированием существующего файла, запуском команды, подключением к сети или установкой чего-либо.',
'settings.agentAccess.tier.full.title': 'Полный доступ',
'settings.agentAccess.tier.full.desc':
'Выполняет команды с полным доступом к вашей учетной записи пользователя — read/write может работать где угодно, кроме учетных данных и системных хранилищ. Деструктивные команды, доступ к сети и установки по-прежнему требуют одобрения.',
'settings.agentAccess.defaultTag': '(по умолчанию)',
'settings.agentAccess.fullWarning':
'⚠ Полный доступ запускает команды с полным доступом к вашей учетной записи и не находится в изолированной программной среде. Включайте его только в том случае, если вы доверяете агенту эту машину. Каталоги учетных данных и системные каталоги остаются заблокированными, а деструктивные, сетевые действия и действия по установке по-прежнему требуют одобрения.',
'settings.agentAccess.confine.label': 'Ограничить рабочее пространство',
'settings.agentAccess.confine.desc':
'Ограничьте агента каталогом рабочей области (плюс всеми предоставленными папками), независимо от выбранного режима доступа. Когда этот параметр отключен, он может получить доступ к любому месту, доступному вашему пользователю, за исключением всегда блокируемых учетных данных и системных каталогов.',
'settings.agentAccess.requireTaskPlanApproval.label': 'Требовать утверждения плана задач',
'settings.agentAccess.requireTaskPlanApproval.desc':
'Сделайте паузу перед тем, как назначенный агент выполнит задание, созданное агентом.',
'settings.agentAccess.timeout.label': 'Тайм-аут действия',
'settings.agentAccess.timeout.desc':
'Сколько времени может выполняться отдельный инструмент или действие до отмены. Увеличьте это значение, если крупная локальная модель прерывается до завершения ответа.',
'settings.agentAccess.timeout.unit': 'секунды',
'settings.agentAccess.timeout.invalid':
'Введите целое число секунд в пределах допустимого диапазона',
'settings.agentAccess.timeout.envOverride':
'Переменная окружения OPENHUMAN_TOOL_TIMEOUT_SECS переопределяет эту настройку, поэтому изменения здесь не вступят в силу, пока она не будет сброшена.',
'settings.agentAccess.grantedFolders': 'Предоставленные папки',
'settings.agentAccess.alwaysAllow': 'Всегда разрешенные инструменты',
'settings.agentAccess.alwaysAllowDesc':
'Инструменты, которые вы отметили в чате как «Всегда разрешать», запускаются без запроса. Удалите один, чтобы запрос появился снова.',
'settings.agentAccess.alwaysAllowNone': 'Всегда разрешенных инструментов пока нет.',
'settings.agentAccess.grantedDesc':
'Папки, которые агент может читать и записывать, помимо рабочей области. Хранилища учетных данных (~/.ssh, ~/.gnupg, ~/.aws, цепочки для ключей) и системные каталоги (/etc, /System, C:\\Windows,…) всегда блокируются, даже внутри предоставленной папки.',
'settings.agentAccess.noneGranted': 'Папки не предоставлены.',
'settings.agentAccess.readWrite': 'читать + писать',
'settings.agentAccess.readOnly': 'read-only',
'settings.agentAccess.remove': 'Удалять',
'settings.agentAccess.pathPlaceholder': 'Абсолютный путь к папке',
'settings.agentAccess.accessLevelLabel': 'Уровень доступа',
'settings.agentAccess.add': 'Добавлять',
'settings.agentAccess.saving': 'Сохранение…',
'settings.agentAccess.changesApply': 'Изменения вступят в силу в следующем сообщении.',
'settings.agentAccess.directories': 'Каталоги',
'settings.agentAccess.actionSandbox': 'Песочница действий',
'settings.agentAccess.readWriteAccess': 'чтение + запись',
'settings.agentAccess.actionSandboxDesc':
'Рабочий каталог по умолчанию для инструментов оболочки, файлов и git.',
'settings.agentAccess.internalState': 'Внутреннее состояние',
'settings.agentAccess.agentBlocked': 'заблокировано для агента',
'settings.agentAccess.internalStateDesc':
'Базы данных памяти, сеансы, токены и другие основные данные. Недоступно для инструментов агента.',
'settings.agentAccess.approvalHistory': 'Approval history',
'settings.agentAccess.approvalHistoryDesc':
'Review past Approve / Deny decisions the agent requested.',
'settings.agentAccess.viewApprovalHistory': 'View approval history',
'settings.approvalHistory.title': 'Approval history',
'settings.approvalHistory.subtitle': 'Recent tool-approval decisions, newest first.',
'settings.approvalHistory.refresh': 'Refresh',
'settings.approvalHistory.loading': 'Loading approval history…',
'settings.approvalHistory.retry': 'Retry',
'settings.approvalHistory.emptyState': 'No approval decisions recorded yet.',
'settings.approvalHistory.errorGeneric': 'Unable to load approval history. Try again.',
'settings.approvalHistory.decidedAt': 'Decided {date}',
'settings.approvalHistory.decision.approveOnce': 'Approved once',
'settings.approvalHistory.decision.approveAlways': 'Always allowed',
'settings.approvalHistory.decision.deny': 'Denied',
'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.appearance.tabBarHeading': 'Нижняя панель вкладок',
'settings.appearance.tabBarAlwaysShowLabels': 'Всегда показывать метки',
'settings.appearance.tabBarAlwaysShowLabelsDesc':
'Если этот параметр отключен, метки отображаются только при наведении курсора мыши или на активной вкладке.',
'settings.mascot.active': 'Активно',
'settings.mascot.characterDesc': 'Описание персонажа',
'settings.mascot.characterHeading': 'Персонаж',
'settings.mascot.customGifError':
'Введите HTTPS .gif URL, петлевой путь HTTP .gif URL, file:// .gif URL или локальный путь .gif.',
'settings.mascot.customGifHeading': 'Пользовательский аватар GIF',
'settings.mascot.customGifLabel': 'Пользовательский аватар GIF URL',
'settings.mascot.customGifPlaceholder': 'https://example.com/avatar.gif',
'settings.mascot.characterPreview': 'Предварительный просмотр',
'settings.mascot.characterStates': 'содержит',
'settings.mascot.characterVisemes': 'виземы',
'settings.mascot.colorAria': 'OpenHuman цвет',
'settings.mascot.colorDesc': 'Описание цвета',
'settings.mascot.colorHeading': 'Цвет',
'settings.mascot.colorBlack': 'Черный',
'settings.mascot.colorBurgundy': 'Бордовый',
'settings.mascot.colorCustom': 'Обычай',
'settings.mascot.colorNavy': 'Темно-синий',
'settings.mascot.primaryColor': 'Основной цвет',
'settings.mascot.secondaryColor': 'Вторичный цвет',
'settings.mascot.colorYellow': 'Желтый',
'settings.mascot.libraryUnavailable': 'OpenHuman библиотека недоступна',
'settings.mascot.title': 'OpenHuman',
'settings.mascot.loadingLibrary': 'Загрузка библиотеки OpenHuman…',
'settings.mascot.loadDetailError': 'Не удалось загрузить талисман.',
'settings.mascot.loadLibraryError': 'Не удалось загрузить библиотеку талисманов.',
'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.customPlaceholder': 'например. 21m00Tcm4TlvDq8ikWAM',
'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.previewText':
'Привет, я твой помощник. Это голосовой предварительный просмотр.',
'settings.mascot.voice.previewing': 'Воспроизведение предпросмотра…',
'settings.mascot.voice.reset': 'Сбросить к значениям по умолчанию',
'settings.mascot.voice.useLocaleDefault': 'Соответствовать языку приложения',
'settings.mascot.voice.useLocaleDefaultDesc':
'Автоматически выбрать голос для текущего языка интерфейса.',
'settings.persona.title': 'Персона',
'settings.persona.menuTitle': 'Персона',
'settings.persona.menuDesc': 'Имя, личность, аватар и голос — ваш помощник как одна личность',
'settings.persona.identityHeading': 'Личность',
'settings.persona.identityDesc':
'Отображаемое имя и краткое описание вашего помощника. Отображается в приложении; не меняет того, как рассуждает помощник.',
'settings.persona.displayNameLabel': 'Отображаемое имя',
'settings.persona.displayNamePlaceholder': 'например Новая звезда',
'settings.persona.descriptionLabel': 'Описание',
'settings.persona.descriptionPlaceholder':
'например Спокойный, лаконичный помощник для моей команды.',
'settings.persona.soul.heading': 'Личность (SOUL.md)',
'settings.persona.soul.desc':
'Личностные подсказки помощника следует в каждом разговоре. Изменения сохраняются в вашем рабочем пространстве и вступают в силу при следующем ответе.',
'settings.persona.soul.editorLabel': 'Содержимое SOUL.md',
'settings.persona.soul.reset': 'Сбросить настройки по умолчанию',
'settings.persona.soul.usingDefault': 'Использование встроенного по умолчанию',
'settings.persona.soul.loadError': 'Не удалось загрузить SOUL.md.',
'settings.persona.soul.saveError': 'Не удалось сохранить SOUL.md.',
'settings.persona.soul.resetError': 'Не удалось сбросить SOUL.md.',
'settings.persona.appearanceHeading': 'Аватар и голос',
'settings.persona.appearanceDesc':
'Цвет талисмана, пользовательский аватар GIF и голос ответа настраиваются в настройках талисмана.',
'settings.persona.openMascotSettings': 'Открыть настройки талисмана',
'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.modelHealth.title': 'Модель здоровья',
'settings.modelHealth.desc':
'Качество каждой модели, уровень галлюцинаций и сравнение стоимости активных моделей.',
'settings.modelHealth.allStatuses': 'Все статусы',
'settings.modelHealth.models': 'models',
'settings.modelHealth.loading': 'Загрузка данных модели...',
'settings.modelHealth.empty': 'Ни одна модель не зарегистрирована',
'settings.modelHealth.col.model': 'Модель',
'settings.modelHealth.col.quality': 'Качество',
'settings.modelHealth.col.halluc': 'Халлюк. Ставка',
'settings.modelHealth.col.cost': 'Стоимость / выход 1 миллион',
'settings.modelHealth.col.agents': 'Агенты',
'settings.modelHealth.col.status': 'Статус',
'settings.modelHealth.badge.keep': 'Держать',
'settings.modelHealth.badge.replace': 'Заменять',
'settings.modelHealth.badge.staging': 'Постановочный тест',
'settings.modelHealth.badge.vision': 'Только видение',
'settings.modelHealth.swap': 'Менять?',
'settings.modelHealth.modal.title': 'Заменить модель?',
'settings.modelHealth.modal.hallucRate': 'Частота галлюцинаций',
'settings.modelHealth.modal.cancel': 'Отмена',
'settings.modelHealth.modal.apply': 'Применить замену',
'settings.modelHealth.tag.cheaper': 'CHEAPER',
'settings.modelHealth.tag.better': 'BETTER',
'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.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.allowedTools': 'Разрешённые инструменты',
'skills.create.allowedToolsHelp': 'Отображается в SKILL.md как',
'skills.create.allowedToolsPlaceholder': 'node_exec, fetch',
'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': '(необязательно)',
'skills.create.inputs.heading': 'Inputs',
'skills.create.inputs.help':
'Объявите параметры, необходимые навыку. Skills Runner сформирует форму для них во время выполнения.',
'skills.create.inputs.add': 'Добавить входной параметр',
'skills.create.inputs.row.name': 'Имя входного параметра',
'skills.create.inputs.row.namePlaceholder': 'например, repo',
'skills.create.inputs.row.nameError':
'Только буквы, цифры, подчёркивания и дефисы; должно начинаться с буквы.',
'skills.create.inputs.row.description': 'Описание входного параметра',
'skills.create.inputs.row.descriptionPlaceholder': 'Что вводится в это поле?',
'skills.create.inputs.row.type': 'Type',
'skills.create.inputs.row.required': 'Required',
'skills.create.inputs.row.remove': 'Удалить входной параметр',
'skills.create.inputs.type.string': 'Text',
'skills.create.inputs.type.integer': 'Number',
'skills.create.inputs.type.boolean': 'Да / Нет',
'skills.create.license': 'Лицензия',
'skills.create.licensePlaceholder': 'MIT',
'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.tagsPlaceholder': 'торговля, исследование',
'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.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.fetchLog': 'Получить лог',
'skills.install.fetchingPrefix': 'Получение',
'skills.install.fetchingSuffix': 'может занять заданное вами время ожидания.',
'skills.install.installBtn': 'Установка…',
'skills.install.installComplete': 'Установка завершена',
'skills.install.installing': 'Установка…',
'skills.install.parseWarnings': 'Предупреждения парсинга',
'skills.install.rawError': 'Необработанная ошибка',
'skills.install.subtitleMiddle': 'поверх HTTPS и устанавливает его в',
'skills.install.subtitlePrefix': 'Выбирает только один',
'skills.install.subtitleSuffix': 'HTTPS; частные хосты и хосты обратной связи заблокированы.',
'skills.install.successDiscovered': 'Обнаружил {count} новых навыков.',
'skills.install.successNoNewIds':
'Навык установлен, но новые идентификаторы навыков не появились — возможно, в каталоге уже есть навык с таким же ярлыком.',
'skills.install.timeoutHint': '(секунды, необязательно)',
'skills.install.timeoutHelp':
'По умолчанию — 60 секунд. Значения за пределами 1–600 фиксируются на стороне сервера.',
'skills.install.timeoutInvalid': 'Должно быть целым числом от 1 до 600.',
'skills.install.timeoutLabel': 'Таймаут',
'skills.install.timeoutPlaceholder': '60',
'skills.install.title': 'Установить навык по URL',
'skills.install.urlHelpMiddle': 'файл.',
'skills.install.urlHelpPrefix': 'Прямая ссылка на',
'skills.install.urlHelpSuffix': 'URLs автоматически перезаписывается на',
'skills.install.urlInvalidPrefix': 'URL должен быть правильно сформированным',
'skills.install.urlInvalidSuffix': 'связь.',
'skills.install.urlLabel': 'URL навыка',
'skills.install.urlPlaceholder': 'https://raw.githubusercontent.com/owner/repo/main/SKILL.md',
'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.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.sendTo': 'Отправить',
'skills.meetingBots.soonSuffix': 'скоро',
'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.permissionPathLabel': 'macOS применяет конфиденциальность к:',
'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.directModeRequiresKey': 'Не удалось сохранить. Прямой режим требует непустой API-ключ.',
'composio.integrationSlugsHelp': 'Интеграция через запятую слизни, напр.',
'composio.integrationSlugsExample': 'gmail, slack',
'composio.integrationSlugsCaseInsensitive': 'Регистронезависим.',
'composio.integrationSlugsPlaceholder': 'gmail, slack, ...',
'composio.notYetRouted': 'пока не маршрутизируется',
'composio.triggers.loading': 'Загрузка…',
'conversations.taskKanban.todo': 'К выполнению',
'chat.addReaction': 'Добавить реакцию',
'chat.agentProfile.create': 'Создать профиль агента',
'chat.agentProfile.createFailed': 'Не удалось создать профиль агента.',
'chat.agentProfile.customDescription': 'Пользовательский профиль агента',
'chat.agentProfile.defaultAgentLabel': 'Оркестратор',
'chat.agentProfile.exists': 'Профиль агента «{name}» уже существует.',
'chat.agentProfile.label': 'Профиль агента',
'chat.agentProfile.namePlaceholder': 'Имя профиля',
'chat.agentProfile.promptStylePlaceholder': 'Стиль подсказки',
'chat.agentProfile.allowedToolsPlaceholder': 'Разрешенные инструменты',
'chat.backToThread': 'вернуться к {title}',
'chat.parentThread': 'родительский поток',
'chat.removeReaction': 'Удалить {emoji}',
'settings.composio.loading': 'Загрузка…',
'settings.mascot.noCharactersAvailable': 'Персонажи OpenHuman пока недоступны',
'skills.uninstall.confirmTitle': 'Удалить {name}?',
'conversations.taskKanban.blocked': 'Заблокировано',
'conversations.taskKanban.done': 'Готово',
'conversations.taskKanban.pending': 'В ожидании',
'conversations.taskKanban.working': 'Работающий',
'conversations.taskKanban.awaitingApproval': 'Ожидает одобрения',
'conversations.taskKanban.ready': 'Готовый',
'conversations.taskKanban.rejected': 'Отклоненный',
'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':
'для инструкций по настройке, затем повторите, когда среда выполнения станет доступна.',
'devOptions.menuAi': 'Конфигурация AI',
'devOptions.menuAiDesc':
'Облачные поставщики, локальные модели Ollama и маршрутизация для каждой рабочей нагрузки',
'devOptions.menuScreenAware': 'Функция Screen Aware',
'devOptions.menuScreenAwareDesc':
'Разрешения на захват экрана, мониторинг политика и элементы управления сеансом',
'devOptions.menuMessaging': 'Каналы обмена сообщениями',
'devOptions.menuMessagingDesc':
'Настройка режимов аутентификации Telegram/Discord и маршрутизации каналов по умолчанию',
'devOptions.menuTools': 'Инструменты',
'devOptions.menuToolsDesc':
'Включение или отключение возможностей, которые OpenHuman может использовать от вашего имени',
'devOptions.menuAgentChat': 'Чат агента',
'devOptions.menuAgentChatDesc':
'Диалог агента тестирования с переопределением модели и температуры',
'devOptions.menuCronJobs': 'Задания Cron',
'devOptions.menuCronJobsDesc':
'Просмотр и настройка запланированных заданий для навыков выполнения',
'devOptions.menuLocalModelDebug': 'Отладка локальной модели',
'devOptions.menuLocalModelDebugDesc':
'Конфигурация Ollama, загрузка ресурсов, тесты моделей и диагностика',
'devOptions.menuWebhooksDebug': 'Веб-перехватчики',
'devOptions.menuWebhooksDebugDesc':
'Проверка регистрации веб-перехватчиков во время выполнения и записанные журналы запросов',
'devOptions.menuIntelligence': 'Аналитика',
'devOptions.menuIntelligenceDesc':
'Рабочая область памяти, механизм подсознания, сны и настройки',
'devOptions.menuNotificationRouting': 'Маршрутизация уведомлений',
'devOptions.menuNotificationRoutingDesc':
'Оценка важности ИИ и эскалация оркестратора для предупреждений интеграции',
'devOptions.menuComposeIOTriggers': 'Триггеры ComposeIO',
'devOptions.menuComposeIOTriggersDesc': 'Просмотр истории и архива триггеров ComposeIO.',
'devOptions.menuComposioRouting': 'Composio Маршрутизация (прямой режим)',
'devOptions.menuComposioRoutingDesc':
'Используйте свой собственный ключ Composio API и направляйте вызовы непосредственно на backend.composio.dev',
'devOptions.menuComposioTriggers': 'Интеграция Триггеры',
'devOptions.menuComposioTriggersDesc':
'Настройка параметров сортировки AI для триггеров интеграции Composio',
'memory.sourceFilterAria': 'Фильтровать по источнику',
'calls.comingSoonDescription': 'Звонки с поддержкой ИИ скоро появятся. Следите за обновлениями.',
'whatsapp.title': 'WhatsApp',
'subconscious.interval.fiveMinutes': '5 минут',
'subconscious.interval.tenMinutes': '10 минут',
'subconscious.interval.fifteenMinutes': '15 минут',
'subconscious.interval.thirtyMinutes': '30 минут',
'subconscious.interval.oneHour': '1 час',
'subconscious.interval.sixHours': '6 часов',
'subconscious.interval.twelveHours': '12 часов',
'subconscious.interval.oneDay': '1 день',
'subconscious.priority.critical': 'критический',
'subconscious.priority.important': 'важный',
'subconscious.priority.normal': 'нормальный',
'subconscious.durationSeconds': '{seconds} с',
'subconscious.durationMilliseconds': '{milliseconds} мс',
'settings.appearance': 'Внешний вид',
'settings.appearanceDesc': 'Выберите светлую, темную или соответствующую теме вашей системы.',
'settings.mascot': 'Талисман',
'settings.mascotDesc': 'Выберите цвет талисмана, используемый в приложении.',
'pages.settings.account.walletBalances': 'Баланс кошелька',
'pages.settings.account.walletBalancesDesc':
'Просмотр мультичейн-балансов вашего локального кошелька',
'walletBalances.title': 'Баланс кошелька',
'walletBalances.refresh': 'Refresh',
'walletBalances.loading': 'Загрузка балансов…',
'walletBalances.retry': 'Retry',
'walletBalances.emptyState':
'Аккаунтов кошелька пока нет — настройте кошелёк в разделе «Фраза восстановления».',
'walletBalances.copyAddress': 'Копировать адрес',
'walletBalances.providerMissing': 'провайдер недоступен',
'walletBalances.rawBalance': 'Исходный: {raw}',
'walletBalances.errorGeneric':
'Не удалось загрузить балансы кошелька. Настройте кошелёк в разделе «Фраза восстановления» и повторите попытку.',
'walletBalances.setupHint':
'Ваша фраза восстановления ещё не настроена. Настройте её, чтобы включить кошелёк и видеть актуальные балансы.',
'walletBalances.setupCta': 'Настроить фразу восстановления',
'walletBalances.notSetUp': 'Не настроено',
'walletBalances.send': 'Отправить',
'walletBalances.receive': 'Получить',
'walletReceive.scanHint':
'Отсканируйте этот код или скопируйте адрес ниже, чтобы получить средства.',
'walletReceive.addressLabel': 'Адрес {network}',
'walletReceive.onlyChainWarning':
'Отправляйте на этот адрес только активы сети {network}. Отправка активов из другой сети может привести к безвозвратной потере.',
'walletSend.available': 'Доступно',
'walletSend.recipient': 'Адрес получателя',
'walletSend.recipientPlaceholder': 'Вставьте адрес назначения',
'walletSend.recipientRequired': 'Введите адрес получателя',
'walletSend.amount': 'Сумма',
'walletSend.invalidAmount': 'Введите корректную сумму',
'walletSend.review': 'Проверить',
'walletSend.preparing': 'Подготовка…',
'walletSend.confirmHint':
'Проверьте детали ниже. Подпись выполняется локально — ничего не отправляется, пока вы не подтвердите.',
'walletSend.estimatedFee': 'Ориентировочная комиссия сети',
'walletSend.confirmSend': 'Подтвердить и отправить',
'walletSend.sending': 'Отправка…',
'walletSend.sent': 'Транзакция отправлена',
'walletSend.txHash': 'Хеш транзакции',
'walletSend.viewExplorer': 'Открыть в обозревателе',
'walletSend.done': 'Готово',
'walletSend.genericError': 'Не удалось выполнить перевод. Повторите попытку.',
'settings.taskSources.title': 'Источники задач',
'settings.taskSources.subtitle': 'Переносите задачи из своих инструментов на доску задач агента.',
'settings.taskSources.description':
'Собирайте рабочие элементы из GitHub, Notion, Linear и ClickUp, обогащайте их и направляйте на доску задач агента.',
'settings.taskSources.connectHint':
'Источники задач используют ваши подключенные учетные записи. Сначала подключите их в разделе «Интеграции».',
'settings.taskSources.disabledBanner':
'Источники задач отключены в настройках. Разрешите им автоматически проводить опросы.',
'settings.taskSources.loadError': 'Не удалось загрузить источники задач.',
'settings.taskSources.addTitle': 'Добавить источник задачи',
'settings.taskSources.provider': 'Поставщик',
'settings.taskSources.name': 'Имя (необязательно)',
'settings.taskSources.namePlaceholder': 'например Мои открытые вопросы',
'settings.taskSources.github.repo': 'Репозиторий (владелец/имя, необязательно)',
'settings.taskSources.github.labels': 'Ярлыки (через запятую)',
'settings.taskSources.notion.database': 'Идентификатор базы данных (доски)',
'settings.taskSources.linear.team': 'Идентификатор команды (необязательно)',
'settings.taskSources.clickup.team': 'Идентификатор рабочей области (команды) (необязательно)',
'settings.taskSources.assignedToMe': 'Только элементы, назначенные мне',
'settings.taskSources.add': 'Добавить источник',
'settings.taskSources.adding': 'Добавление…',
'settings.taskSources.preview': 'Предварительный просмотр',
'settings.taskSources.previewResult': 'Задачи {count} соответствуют этому фильтру',
'settings.taskSources.fetchNow': 'Получить сейчас',
'settings.taskSources.fetching': 'Получение…',
'settings.taskSources.fetchResult': 'Маршрутизация {routed} из задач {fetched}',
'settings.taskSources.configured': 'Настроенные источники',
'settings.taskSources.empty': 'Источники задач пока не настроены.',
'settings.taskSources.proactive': 'Проактивный',
'settings.taskSources.lastFetch': 'Последняя выборка',
'settings.taskSources.never': 'Никогда',
'settings.taskSources.statusEnabled': 'Включено',
'settings.taskSources.statusDisabled': 'Неполноценный',
'settings.taskSources.enable': 'Давать возможность',
'settings.taskSources.disable': 'Запрещать',
'settings.taskSources.remove': 'Удалять',
'settings.taskSources.removeConfirm':
'Удалить этот источник задачи? Вся загруженная история задач будет удалена, и ее нельзя будет отменить.',
'settings.taskSources.refresh': 'Обновить',
'settings.taskSources.providers.github': 'GitHub',
'settings.taskSources.providers.notion': 'Понятие',
'settings.taskSources.providers.linear': 'Линейный',
'settings.taskSources.providers.clickup': 'КликАп',
'skills.dashboard.title': 'Skills',
'skills.dashboard.scheduledHeading': 'Запланированные навыки',
'skills.dashboard.emptyTitle': 'Нет запланированных навыков',
'skills.dashboard.emptyBody':
'Запустите встроенный навык однократно или сохраните расписание, чтобы увидеть его здесь.',
'skills.dashboard.create': 'Создать навык',
'skills.dashboard.run': 'Запустить навык',
'skills.dashboard.enable': 'Включить запланированный навык',
'skills.dashboard.disable': 'Отключить запланированный навык',
'skills.dashboard.lastRun': 'Последний запуск',
'skills.dashboard.nextRun': 'Следующий запуск',
'skills.dashboard.cardOpenRunner': 'Открыть в исполнителе',
'skills.dashboard.loadError': 'Не удалось загрузить запланированные навыки',
'skills.new.title': 'Создать навык',
'skills.new.placeholderBody':
'Форма создания скоро появится. Пока используйте кнопку «Новый навык» на странице исполнителя.',
'settings.agents.title': 'Агенты',
'settings.agents.subtitle':
'Управляйте агентами, доступными для делегирования — встроенными агентами по умолчанию и вашими собственными агентами.',
'settings.agents.menuDesc': 'Управление встроенными и пользовательскими агентами',
'settings.agents.newAgent': 'Новый агент',
'settings.agents.loadError': 'Не удалось загрузить агенты',
'settings.agents.empty': 'Агентов пока нет',
'settings.agents.sourceDefault': 'Встроенный',
'settings.agents.sourceCustom': 'Обычай',
'settings.agents.enable': 'Включить агент',
'settings.agents.disable': 'Отключить агент',
'settings.agents.edit': 'Редактировать',
'settings.agents.delete': 'Удалить',
'settings.agents.reset': 'Сбросить настройки по умолчанию',
'settings.agents.modelLabel': 'Модель',
'settings.agents.toolsLabel': 'Инструменты',
'settings.agents.toolsAll': 'Все инструменты',
'settings.agents.toolsCount': '{count} инструменты',
'settings.agents.actionFailed': 'Не удалось обновить агент',
'settings.agents.orchestratorLocked': 'Оркестратор всегда включен.',
'settings.agents.editor.createTitle': 'Новый агент',
'settings.agents.editor.editTitle': 'Редактировать агента',
'settings.agents.editor.id': 'ID',
'settings.agents.editor.idHint': 'Только строчные буквы, цифры, _ и -.',
'settings.agents.editor.name': 'Имя',
'settings.agents.editor.description': 'Описание',
'settings.agents.editor.model': 'Модель (необязательно)',
'settings.agents.editor.modelPlaceholder':
'например наследовать, подсказку: быстро или идентификатор модели',
'settings.agents.editor.systemPrompt': 'Системное приглашение (необязательно)',
'settings.agents.editor.tools': 'Разрешенные инструменты',
'settings.agents.editor.toolsHint':
'Одно имя инструмента в строке. Используйте * для всех инструментов.',
'settings.agents.editor.defaultsNote':
'При редактировании встроенного агента сохраняется переопределение, которое можно сбросить позже.',
'settings.agents.editor.save': 'Сохранять',
'settings.agents.editor.create': 'Создать агента',
'settings.agents.editor.saving': 'Сохранение…',
'nav.workflows': 'Workflows',
'workflows.title': 'Agent Workflows',
'workflows.subtitle': 'Lifecycle-bound rule sets that guide how the agent behaves during tasks.',
'workflows.createNew': 'New Workflow',
'workflows.listHeading': 'Workflows',
'workflows.delete': 'Delete Workflow',
'workflows.deleteError': 'Failed to delete workflow',
'workflows.warnings': '{count} warning(s)',
'workflows.empty.title': 'No workflows yet',
'workflows.empty.body':
'Create a workflow to define rules and scripts for task lifecycle phases.',
'workflows.create.title': 'New Workflow',
'workflows.create.subtitle': 'Define a lifecycle-bound rule set for the agent.',
'workflows.create.name': 'Name',
'workflows.create.namePlaceholder': 'e.g. Python project workflow',
'workflows.create.description': 'Description',
'workflows.create.descriptionPlaceholder': 'What does this workflow do?',
'workflows.create.whenToUse': 'When to use',
'workflows.create.whenToUsePlaceholder': 'When should the agent pick up this workflow?',
'workflows.create.optional': '(optional)',
'workflows.create.createBtn': 'Create workflow',
'workflows.create.creating': 'Creating…',
'workflows.create.createError': 'Could not create workflow',
'workflows.create.successTitle': 'Workflow created',
'workflows.create.successMessage': 'was created successfully.',
'workflows.deleteConfirm.title': 'Delete workflow',
'workflows.deleteConfirm.body': 'Remove "{name}"? This cannot be undone.',
'workflows.detail.tags': 'Tags',
'workflows.detail.location': 'Location',
'workflows.detail.warnings': 'Warnings',
'workflows.detail.phases': 'Phases',
'workflows.detail.noPhases': 'No phases defined.',
'workflows.detail.loadError': 'Failed to load full workflow',
'workflows.phase.rules': 'Rules',
'workflows.phase.rules.empty': 'No rules.',
'workflows.phase.scripts': 'Scripts',
'workflows.phase.scripts.empty': 'No scripts.',
'workflows.phase.toolScope': 'Tool scope',
'workflows.phase.toolScope.allow': 'Allow',
'workflows.phase.toolScope.deny': 'Deny',
'workflows.phase.toolScope.inherited': 'Inherited from workflow default.',
'workflows.phase.toolScope.empty': 'No tool restrictions.',
'workflows.phase.context': 'Context',
'workflows.phase.context.empty': 'No context providers.',
'settings.agentsSection.title': 'Agents',
'settings.agentsSection.description':
'Управляйте агентами, их автономностью и доступом к ресурсам компьютера.',
'settings.agentsSection.menuDesc': 'Реестр, автономность и доступ к ОС',
'settings.cryptoSection.title': 'Крипто',
'settings.cryptoSection.description':
'Управляйте секретной фразой восстановления и просматривайте балансы своих кошельковых счетов.',
'settings.cryptoSection.menuDesc': 'Фраза восстановления и балансы кошелька',
'settings.notificationsHub.title': 'Уведомления',
'settings.notificationsHub.description':
'Просматривайте папку оповещений и управляйте настройками уведомлений и маршрутизацией.',
'settings.notificationsHub.menuDesc': 'Папка оповещений и настройки уведомлений',
'settings.notificationsHub.settingsItem': 'Настройки уведомлений',
'settings.notificationsHub.settingsItemDesc': 'Настройки и маршрутизация',
'settings.agents.editor.notFound': 'Агент не найден.',
'settings.agents.editor.modelInherit': 'Унаследовать (системное по умолчанию)',
'settings.agents.editor.modelHints': 'Подсказки маршрутизации',
'settings.agents.editor.modelTiers': 'Уровни моделей',
'settings.agents.editor.modelCustom': 'Идентификатор модели…',
'settings.agents.editor.modelCustomPlaceholder': 'напр. anthropic/claude-sonnet-4',
'settings.agents.editor.selectTools': 'Добавить инструменты',
'settings.agents.editor.toolsAllSelected': 'Все инструменты',
'settings.agents.editor.toolsNoneSelected': 'Инструменты не выбраны',
'settings.agents.editor.removeToolAria': 'Удалить {tool}',
'settings.agents.editor.toolsModalTitle': 'Разрешённые инструменты',
'settings.agents.editor.toolsSelectedCount': 'Выбрано: {count}',
'settings.agents.editor.toolsSearchPlaceholder': 'Поиск инструментов…',
'settings.agents.editor.toolsAllowAll': 'Разрешить все инструменты (*)',
'settings.agents.editor.toolsAllowAllHint':
'Этот агент может использовать любой доступный инструмент.',
'settings.agents.editor.toolsLoading': 'Загрузка инструментов…',
'settings.agents.editor.toolsLoadError': 'Не удалось загрузить инструменты',
'settings.agents.editor.toolsEmpty': 'Инструменты по вашему запросу не найдены.',
'settings.agents.editor.toolsDone': 'Done',
'settings.agents.editor.builtInReadonly':
'Встроенные агенты нельзя редактировать. Вы можете включить, отключить или сбросить их в списке агентов.',
'autocomplete.debounceMs': 'Задержка (мс)',
'autocomplete.maxChars': 'Макс. символов контекста',
'autocomplete.overlayTtlMs': 'Тайм-аут наложения (мс)',
'memory.tab.council': 'Council',
'modelCouncil.title': 'Model Council',
'modelCouncil.intro':
'Ask one question, get independent answers from several models in parallel, then a chair model synthesizes where they agree, where they disagree, and what each uniquely adds.',
'modelCouncil.questionLabel': 'Question',
'modelCouncil.questionPlaceholder': 'Ask the council a question…',
'modelCouncil.membersLabel': 'Member models',
'modelCouncil.maxMembersNote': 'up to {max}',
'modelCouncil.memberPlaceholder': 'e.g. gpt-5.2',
'modelCouncil.memberAria': 'Member model {n}',
'modelCouncil.removeMemberAria': 'Remove member model {n}',
'modelCouncil.addMember': '+ Add model',
'modelCouncil.chairLabel': 'Chair model',
'modelCouncil.chairPlaceholder': 'e.g. claude-opus-4-8',
'modelCouncil.chairHelp': 'The chair reads every member answer and writes the synthesis.',
'modelCouncil.run': 'Convene council',
'modelCouncil.running': 'Convening…',
'modelCouncil.runningHint': 'Querying members in parallel, then synthesizing…',
'modelCouncil.errorPrefix': 'Council failed:',
'modelCouncil.resultsHeading': 'Council results',
'modelCouncil.memberAnswered': 'Answered',
'modelCouncil.memberFailed': 'Failed',
'modelCouncil.synthesisHeading': 'Synthesis',
'modelCouncil.synthesisBy': 'by {model}',
'graphCohesion.brokerBadge': 'брокер',
'graphCohesion.brokerTitle':
'Структурная дыра: соседи этой сущности не связаны друг с другом — она единственная связь между ними.',
'graphCohesion.colCohesion': 'Связность',
'graphCohesion.colEntity': 'Сущность',
'graphCohesion.colLinks': 'Связки',
'graphCohesion.colRank': '#',
'graphCohesion.empty': 'Пока нет графа знаний.',
'graphCohesion.emptyHint':
'По мере того как ассистент фиксирует связанные факты о вас, здесь появится их кластерная структура.',
'graphCohesion.errorPrefix': 'Не удалось загрузить граф:',
'graphCohesion.intro':
'Насколько плотно сплетено окружение каждой сущности. Брокеры — сущности, чьи соседи не связаны друг с другом, — это единичные точки, удерживающие вместе иначе разделённые кластеры, чего сортировка по частоте или PageRank не вскроет.',
'graphCohesion.loading': 'Вычисление связности…',
'graphCohesion.metricConnections': 'Связи',
'graphCohesion.metricEntities': 'Сущности',
'graphCohesion.metricTriangles': 'Треугольники',
'graphCohesion.namespaceAll': 'Все пространства имён',
'graphCohesion.namespaceLabel': 'Пространство имён',
'graphCohesion.noBrokers': 'Пока нет сущностей с двумя или более связями.',
'graphCohesion.rankedHeading': 'Брокеры — самые разреженные окрестности',
'graphCohesion.retry': 'Повторить',
'graphCohesion.summaryCaption': 'Средняя кластеризация {avg} · транзитивность {transitivity}',
'graphCohesion.title': 'Связность графа',
'memory.tab.cohesion': 'Cohesion',
'keyring.consent.title': 'Безопасное хранилище недоступно',
'keyring.consent.description':
'Связка ключей вашей операционной системы недоступна. OpenHuman необходимо ваше разрешение на хранение секретов в локальном зашифрованном хранилище.',
'keyring.consent.reasonPrefix': 'Причина:',
'keyring.consent.showDetails': 'Что это значит?',
'keyring.consent.hideDetails': 'Скрыть подробности',
'keyring.consent.tradeoffTitle': 'Компромисс безопасности',
'keyring.consent.tradeoffBody':
'При локальном зашифрованном хранении ваши секреты шифруются на диске с помощью мастер-ключа, который хранится рядом с данными. Это менее безопасно, чем связка ключей ОС, которая использует аппаратную защиту. Резервные копии или синхронизация файлов могут включать зашифрованные данные.',
'keyring.consent.consentButton': 'Использовать локальное зашифрованное хранилище',
'keyring.consent.retryButton': 'Повторить OS Keychain',
'keyring.consent.declineButton': 'Отклонить',
'keyring.consent.retrying': 'Повторная попытка…',
'keyring.consent.error': 'Не удалось сохранить настройку. Попробуйте снова.',
'keyring.consent.retryFailed': 'Связка ключей по-прежнему недоступна.',
'keyring.settings.title': 'Безопасность',
'keyring.settings.storageMode': 'Режим хранения секретов',
'keyring.settings.mode.osKeychain': 'Связка ключей ОС',
'keyring.settings.mode.encryptedFile': 'Локальное шифрование',
'keyring.settings.mode.consentPending': 'Не настроено',
'keyring.settings.mode.declined': 'Отклонено',
'keyring.settings.availability': 'Доступность связки ключей',
'keyring.settings.available': 'Связка ключей ОС доступна',
'keyring.settings.unavailable': 'Связка ключей ОС недоступна',
'keyring.settings.backend': 'Движок',
'keyring.settings.retryButton': 'Повторить обнаружение связки ключей',
'keyring.settings.retryFailed':
'Повторная попытка не удалась. Связка ключей по-прежнему недоступна.',
'keyring.settings.consentTitle': 'Согласие на хранение',
'keyring.settings.consentDescription':
'Выберите способ хранения секретов, когда связка ключей ОС недоступна.',
'keyring.settings.grantConsent': 'Разрешить локальное зашифрованное хранилище',
'keyring.settings.revokeConsent': 'Отклонить локальное хранилище',
'pages.settings.account.security': 'Безопасность',
'pages.settings.account.securityDesc': 'Режим хранения секретов и статус связки ключей',
};
export default messages;