// Russian (ru).
export default {
  'brand': 'WebBrain',

  'sp.status.disconnected': 'Отключено',
  'sp.status.connected': 'Подключено ({model})',
  'sp.status.error': 'Ошибка: {msg}',
  'sp.status.failed': 'Не удалось подключиться',
  'sp.btn.verbose': 'Переключить подробный журнал инструментов',
  'sp.btn.language': 'Язык',
  'sp.btn.settings': 'Настройки',
  'sp.btn.clear': 'Новый диалог (очистить историю)',
  'sp.btn.send': 'Отправить',
  'sp.btn.stop.title': 'Остановить агента',
  'sp.btn.stop.label': 'Стоп',

  'sp.inspection': 'WebBrain начал анализировать эту страницу',

  'sp.greeting.html': 'Привет! Я <strong>WebBrain</strong>. Я могу читать эту страницу, отвечать на вопросы, нажимать кнопки, заполнять формы и автоматизировать многошаговые задачи.',
  'sp.greeting.hint': 'Попробуйте: «Кратко изложи эту страницу» или «Найди все ссылки про цены»',
  'sp.help_message': 'Чем помочь на этой странице?',
  'sp.cleared_message': 'Диалог очищен. Чем могу помочь?',

  'sp.mode.ask': 'Спросить',
  'sp.mode.ask.title': 'Задавать вопросы о странице — без изменений',
  'sp.mode.act': 'Действовать',
  'sp.mode.act.title': 'WebBrain сам нажимает, печатает и переходит по ссылкам',
  'sp.mode.act.warning': 'Режим действия: WebBrain будет взаимодействовать со страницами от вашего имени. Используйте на свой риск.',
  'sp.mode.act.confirm': 'В режиме действия WebBrain будет нажимать, печатать, прокручивать и переходить по ссылкам от вашего имени.\n\nОн работает внутри вашей авторизованной сессии браузера, поэтому имеет такой же доступ к сайтам, на которых вы вошли в аккаунт.\n\nСледите за его действиями и в любой момент останавливайте его кнопкой ◼.\n\nПродолжить?',

  'sp.input.ask_placeholder': 'Спросите что угодно об этой странице...',
  'sp.input.act_placeholder': 'Скажите, что сделать на этой странице...',

  'sp.activity.thinking': 'Думаю...',
  'sp.activity.thinking_step': 'Думаю (шаг {step})...',
  'sp.activity.continuing': 'Продолжаю...',
  'sp.activity.stopping': 'Останавливаю...',

  'sp.copy': 'Копировать',
  'sp.copied': 'Скопировано!',
  'sp.copy.code.title': 'Копировать код',

  'sp.error_prefix': 'Ошибка: {msg}',
  'sp.stopped_by_user': '[Остановлено пользователем]',
  'sp.stopped_by_user_html': '<em>Остановлено пользователем.</em>',

  'sp.continue_bar': 'Достигнут лимит шагов ({steps} шагов). Продолжить?',
  'sp.continue_btn': 'Продолжить',

  'sp.step.details': 'подробности',
  'sp.step.input_label': 'Ввод',
  'sp.step.result_label': 'Результат',

  'sp.api.enabled_html': '🔓 <strong>Изменения через API включены</strong> для этого диалога. Агент теперь может использовать POST/PUT/PATCH/DELETE через fetch_url и execute_js, если посчитает API надёжнее интерфейса. По умолчанию используется интерфейс. Этот флаг сбрасывается при очистке диалога.',
  'sp.api.badge_html': '<span>🔓 Изменения через API разрешены</span>',

  'tool.read_page': 'Чтение страницы',
  'tool.get_interactive_elements': 'Сканирование интерактивных элементов',
  'tool.click': 'Нажатие',
  'tool.type_text': 'Ввод текста',
  'tool.scroll': 'Прокрутка',
  'tool.navigate': 'Переход',
  'tool.extract_data': 'Извлечение данных',
  'tool.wait_for_element': 'Ожидание элемента',
  'tool.get_selection': 'Чтение выделения',
  'tool.execute_js': 'Запуск скрипта',
  'tool.new_tab': 'Открытие новой вкладки',
  'tool.screenshot': 'Создание скриншота',
  'tool.done': 'Завершение',
  'tool.click.selector': 'Нажатие «{selector}»',
  'tool.click.index': 'Нажатие на элемент №{index}',
  'tool.type_text.text': 'Ввод «{text}»',
  'tool.navigate.url': 'Переход на {url}',
  'tool.new_tab.url': 'Открытие {url}',
  'tool.scroll.direction': 'Прокрутка {direction}',
  'tool.extract_data.type': 'Извлечение {type}',
  'tool.wait_for_element.selector': 'Ожидание «{selector}»',

  'st.title': 'Настройки WebBrain',
  'st.subtitle': 'Настройте провайдеров LLM и параметры отображения · v{version}',
  'st.tab.display': 'Отображение',
  'st.tab.providers': 'Провайдеры',
  'st.tab.vision': 'Зрение',
  'st.tab.profile': 'Профиль',
  'st.tab.account': 'Аккаунт',

  'st.account.not_signed_in': 'Вы не вошли',
  'st.account.sign_in': 'Войти / Зарегистрироваться',
  'st.account.sign_out': 'Выйти',
  'st.account.provider_name': 'WebBrain Cloud',

  'st.display.language.label': 'Язык',
  'st.display.language.desc': 'Язык интерфейса плагина WebBrain.',
  'st.display.verbose.label': 'Подробный режим',
  'st.display.verbose.desc': 'Показывать полные детали вызовов инструментов, аргументы и сырой JSON-результат. По умолчанию выключено для более чистого чата.',
  'st.display.screenshot.label': 'Скриншот как резерв',
  'st.display.screenshot.desc': 'Делать скриншот страницы, когда чтение DOM не удаётся или возвращает недостаточно содержимого. Требуется модель с поддержкой зрения.',
  'st.display.site_adapters.label': 'Адаптеры для сайтов',
  'st.display.site_adapters.desc': 'Вставлять короткие подобранные вручную подсказки для популярных сайтов (GitHub, Gmail, Stripe, AWS и др.) в первое сообщение агента. Помогает агенту избегать типичных тупиков. Добавляет небольшой расход токенов на первом шаге диалогов на этих сайтах.',
  'st.display.auto_screenshot.label': 'Авто-скриншот',
  'st.display.auto_screenshot.desc': 'Автоматически делать скриншот области просмотра после действий агента, чтобы модель с поддержкой зрения видела изменения. Расходует больше токенов. Тихо отключается, если активная модель не поддерживает изображения.',
  'st.display.auto_screenshot.off': 'Выкл.',
  'st.display.auto_screenshot.navigation': 'При навигации',
  'st.display.auto_screenshot.state_change': 'При изменении состояния (по умолчанию)',
  'st.display.auto_screenshot.every_step': 'Каждый шаг',
  'st.display.tracing.label': 'Записывать трассы (для сравнения моделей)',
  'st.display.tracing.desc_html': 'Сохранять каждый запуск (LLM-запросы, ответы, вызовы инструментов, скриншоты) в локальную IndexedDB, чтобы можно было разбирать и сравнивать модели бок о бок. Открывается в отдельной вкладке «Трассы». По умолчанию выключено, потому что добавляет запись на диск на каждом шаге. <a href="traces.html" target="_blank" style="color:var(--accent);">Открыть страницу трасс →</a>',
  'st.display.allow_local_network.label': 'Разрешить агенту доступ к локальной сети',
  'st.display.allow_local_network.desc': 'Разрешает инструменту fetch_url агента обращаться к loopback (127.0.0.1, localhost) и частным адресам RFC1918 (10.x, 192.168.x, 172.16–31.x). Полезно для локальных серверов разработки, интранет-инструментов и self-hosted API. По умолчанию выключено — когда выключено, страницы с prompt-инъекцией не смогут заставить агента сканировать вашу локальную сеть. Адреса метаданных облака (169.254.169.254) и имена *.internal/*.local остаются заблокированы даже когда включено.',
  'st.display.notify_sound.label': 'Звук завершения',
  'st.display.notify_sound.desc': 'Воспроизводить короткий звуковой сигнал в боковой панели, когда агент завершает задачу. Не звучит, если вы отменили запуск.',
  'st.display.max_steps.label': 'Максимум шагов агента',
  'st.display.max_steps.desc': 'Максимальное число шагов с использованием инструментов на одно сообщение. Большие значения позволяют решать более сложные многошаговые задачи, но могут расходовать больше токенов.',
  'st.display.traces_link.label': 'Трассы',
  'st.display.traces_link.desc': 'Просматривать записанные запуски бок о бок. Доступно только при включённой записи трасс.',
  'st.display.traces_link.open': 'Открыть трассы →',

  'st.providers.info.html': '<strong>Быстрый старт с llama.cpp:</strong><br>Запустите <code>llama-server -m your-model.gguf --port 8080</code>, чтобы поднять локальный сервер.<br>API-ключ не нужен — всё работает на вашей машине.',
  'st.providers.save': 'Сохранить',
  'st.providers.test': 'Проверить соединение',
  'st.providers.set_active': 'Сделать активным',
  'st.providers.active': 'АКТИВЕН',
  'st.providers.saved': 'Сохранено!',
  'st.providers.testing': 'Проверка...',
  'st.providers.connected': 'Подключено! Модель: {model}',
  'st.providers.unknown_model': 'неизвестно',
  'st.providers.failed': 'Сбой: {error}',
  'st.providers.load_models': 'Загрузить модели',
  'st.providers.loading': 'Загрузка…',
  'st.providers.models_loaded': 'Загружено моделей: {count}',

  'st.provider.field.server_url': 'URL сервера',
  'st.provider.field.api_base_url': 'Базовый URL API',
  'st.provider.field.api_key': 'API-ключ',
  'st.provider.field.model': 'Модель',
  'st.provider.field.model_optional': 'Модель (необязательно)',
  'st.provider.field.supports_vision': 'Модель поддерживает зрение (мультимодальная)',
  'st.provider.field.compact_prompt': 'Компактный prompt (рекомендуется для маленьких моделей, включено по умолчанию)',
  'st.provider.field.model_loaded_hint': 'оставьте пустым, чтобы использовать загруженную модель',

  'st.vision.desc': 'Если задано, скриншоты отправляются этой модели для чтения страницы, а активный провайдер занимается планированием и вызовами инструментов. Оставьте пустым, чтобы и для зрения использовался активный провайдер. Только эндпоинты, совместимые с OpenAI.',
  'st.vision.save': 'Сохранить',
  'st.vision.test': 'Проверить соединение',
  'st.vision.clear': 'Очистить',
  'st.vision.cleared': 'Очищено.',
  'st.vision.saved': 'Сохранено!',
  'st.vision.testing': 'Проверка...',
  'st.vision.connected': 'Подключено! Модель: {model}',
  'st.vision.failed': 'Сбой: {error}',
  'st.vision.fill_required': 'Сначала заполните базовый URL и модель.',

  'st.profile.desc_html': 'Сохраните короткое био, которое агент сможет использовать для заполнения форм регистрации, не спрашивая каждый раз — имя, рабочий email, компания и <em>одноразовый</em> пароль для малозначимых регистраций. Когда включено, текст ниже добавляется к системному prompt агента в каждом диалоге.',
  'st.profile.enabled.label': 'Включить автозаполнение профиля',
  'st.profile.enabled.desc': 'Вставлять текст профиля в системный prompt агента. Если выключено — агент никогда не увидит этот текст.',
  'st.profile.text.label': 'Текст профиля',
  'st.profile.text.placeholder': 'Меня зовут Jane Doe. Мой email — jane@example.com. Я работаю в Acme Inc. Мой пароль по умолчанию для малозначимых регистраций — SomePhrase-42!. Живу в Берлине.',
  'st.profile.save': 'Сохранить',
  'st.profile.clear': 'Очистить',
  'st.profile.saved': 'Сохранено.',
  'st.profile.cleared': 'Очищено.',
  'st.profile.security_html': '<strong>Безопасность — прочтите:</strong><br><ul style="margin:6px 0 0 18px;padding:0;line-height:1.55;"><li>Введённый здесь текст хранится <strong>в открытом виде</strong> в локальном хранилище браузера. Он <strong>не</strong> отправляется в проект WebBrain — но <strong>отправляется</strong> на каждом ходу как часть системного prompt тому LLM-провайдеру, которого вы настроили.</li><li><strong>Не размещайте здесь пароли от важных аккаунтов</strong> (Google, Apple, iCloud, банк, рабочий SSO, основная почта). Эти аккаунты должны быть с 2FA, и их в любом случае не стоит передавать агенту.</li><li>Целевой сценарий — <strong>одноразовый пароль</strong>, который вы повторно используете для регистраций с низкими ставками (рассылки, бесплатные пробные периоды, аккаунты на форумах).</li><li>Если этот профиль браузера будет скомпрометирован, атакующий с доступом к диску сможет прочитать этот текст. Держите его минимальным.</li></ul>',

  'tr.title': 'Трассы WebBrain',
  'tr.runs': 'запусков: {n}',
  'tr.run': 'запуск: {n}',
  'tr.btn.refresh': '↻ Обновить',
  'tr.btn.refresh.title': 'Перезагрузить список запусков',
  'tr.btn.compare': '⇔ Сравнить',
  'tr.btn.compare.title': 'Войти в режим сравнения (выбрать 2 запуска)',
  'tr.btn.compare.picking': '⇔ Сравнить (выберите 2)',
  'tr.btn.export': '⇩ Экспорт JSON',
  'tr.btn.export.title': 'Экспортировать выбранный запуск как JSON',
  'tr.btn.delete': '✕ Удалить',
  'tr.btn.delete.title': 'Удалить выбранный запуск',
  'tr.btn.clear_all': 'Очистить всё',
  'tr.btn.clear_all.title': 'Удалить все сохранённые запуски',

  'tr.filter.placeholder': 'Фильтр по задаче / модели / URL',
  'tr.filter.all_models': 'Все модели',
  'tr.no_match': 'Нет подходящих запусков.',
  'tr.no_task': '(нет задачи)',

  'tr.conversation.label': 'Диалог',
  'tr.conversation.turn_of': 'ход {n} из {total}',
  'tr.conversation.tooltip': 'Часть диалога из {n} ходов ({id}). Откройте запуск, чтобы переключаться между ходами.',

  'tr.cost.label': 'Стоимость:',
  'tr.cost.tooltip': 'Общая стоимость LLM по данным провайдера (USD). Подсвечивается оранжевым при ≥ $0.50 без финального ответа — вероятно, потраченный впустую запуск.',

  'tr.empty.title': 'Запуск не выбран.',
  'tr.empty.hint_html': 'Выберите запуск слева, чтобы увидеть его пошаговую хронологию. Нажмите <b>Сравнить</b>, чтобы выбрать два запуска и посмотреть их бок о бок.',

  'tr.compare_mode.title': 'Режим сравнения',
  'tr.compare_mode.picked': 'Выбрано {n}/2. Нажмите ещё один запуск, чтобы завершить сравнение.',
  'tr.compare_mode.hint': 'Нажмите два запуска в списке, чтобы сравнить их бок о бок.',

  'tr.status.label': 'статус',
  'tr.steps.label': 'шагов',
  'tr.step': 'шаг: {n}',
  'tr.steps_plural': 'шагов: {n}',
  'tr.duration.label': 'длительность',
  'tr.intokens.label': 'входные токены',
  'tr.outtokens.label': 'выходные токены',
  'tr.tokens_short': '{n} ток.',
  'tr.unknown_model': 'неизвестно',
  'tr.final_label': 'Итог:',

  'tr.deleted': 'Удалено.',
  'tr.all_deleted': 'Все запуски удалены.',
  'tr.select_first': 'Сначала выберите запуск.',
  'tr.confirm_delete': 'Удалить этот запуск?',
  'tr.confirm_delete_all': 'Удалить ВСЕ записанные запуски? Это нельзя отменить.',

  'tr.event.llm_request': '→ LLM-запрос',
  'tr.event.llm_response': '← LLM-ответ',
  'tr.event.vision_sub_call': '👁 подвызов зрения',
  'tr.event.error_kind': '⚠ ошибка',
  'tr.event.messages_tools': 'сообщений: {m}, инструментов: {t} · {model}',
  'tr.event.screenshot_caption': 'скриншот',
  'tr.event.screenshot_missing': '(blob скриншота отсутствует)',
  'tr.event.description_truncated': '... [обрезано в режиме сравнения]',
  'tr.event.vision_failed': 'подвызов зрения не удался: {error}',
  'tr.event.description': 'описание',
  'tr.event.args': 'аргументы',
  'tr.event.result': 'результат',
  'tr.event.step': 'шаг {step}',
};
