feat(assistant): add multi-dialog UX, task-aware llm settings, and i18n cleanup

This commit is contained in:
2026-02-23 23:45:01 +03:00
parent ab1c87ffba
commit 7df7b4f98c
30 changed files with 1145 additions and 221 deletions

View File

@@ -1,6 +1,9 @@
{
"common": {
"save": "Сохранить",
"close": "Закрыть",
"back": "Назад",
"id": "ID",
"cancel": "Отмена",
"delete": "Удалить",
"edit": "Редактировать",
@@ -11,9 +14,25 @@
"search": "Поиск...",
"logout": "Выйти",
"refresh": "Обновить",
"retry": "Повторить"
"retry": "Повторить",
"toggle_menu": "Переключить меню",
"activity": "Активность",
"user_menu": "Меню пользователя",
"user": "Пользователь",
"unknown": "Неизвестно",
"not_available": "Н/Д",
"first": "Первая",
"last": "Последняя",
"per_page": "на страницу",
"close_modal": "Закрыть модальное окно"
},
"nav": {
"home": "Главная",
"breadcrumb_nav": "Навигационная цепочка",
"menu": "Меню",
"collapse": "Свернуть",
"expand": "Развернуть",
"expand_sidebar": "Развернуть боковую панель",
"dashboard": "Панель управления",
"dashboards": "Дашборды",
"datasets": "Датасеты",
@@ -63,6 +82,8 @@
"connection_success": "Подключение успешно!",
"connection_failed": "Ошибка подключения: {error}",
"no_providers": "Провайдеры не настроены.",
"multimodal": "Мультимодальная",
"text_only": "Только текст",
"doc_preview_title": "Предпросмотр документации",
"dataset_desc": "Описание датасета",
"column_doc": "Документация колонок",
@@ -98,6 +119,17 @@
"llm_prompt_documentation": "Промпт документации",
"llm_prompt_dashboard_validation": "Промпт проверки дашборда",
"llm_prompt_git_commit": "Промпт git-коммита",
"llm_chatbot_settings_title": "Настройки планировщика чат-бота",
"llm_chatbot_settings_description": "Выберите провайдера и опциональную модель для планирования интентов ассистента.",
"llm_chatbot_provider": "Провайдер чат-бота",
"llm_chatbot_model": "Переопределение модели чат-бота",
"llm_chatbot_model_placeholder": "Опционально, например gpt-4.1-mini",
"llm_provider_bindings_title": "Назначение провайдеров по задачам",
"llm_provider_bindings_description": "Выберите провайдера по умолчанию для каждой LLM-задачи.",
"llm_binding_dashboard_validation": "Провайдер проверки дашборда",
"llm_binding_documentation": "Провайдер документации",
"llm_binding_git_commit": "Провайдер git-коммита",
"llm_multimodal_warning": "Для проверки дашборда нужна мультимодальная модель (поддержка изображений).",
"save_llm_prompts": "Сохранить промпты LLM",
"logging": "Настройка логирования",
"logging_description": "Настройка уровней логирования задач.",
@@ -125,7 +157,31 @@
"server": "Git-сервер",
"not_linked": "Этот дашборд еще не привязан к Git-репозиторию.",
"manage": "Управление Git",
"generate_message": "Сгенерировать"
"generate_message": "Сгенерировать",
"select_dashboard": "Выберите дашборд для управления"
,
"commit_message_generated": "Сообщение коммита сгенерировано",
"commit_message_failed": "Не удалось сгенерировать сообщение коммита",
"load_changes_failed": "Не удалось загрузить изменения",
"commit_success": "Изменения успешно закоммичены",
"commit_message": "Сообщение коммита",
"generate_with_ai": "Сгенерировать с AI",
"describe_changes": "Опишите ваши изменения...",
"changed_files": "Измененные файлы",
"changes_preview": "Предпросмотр изменений",
"loading_diff": "Загрузка diff...",
"no_changes": "Изменения не обнаружены",
"committing": "Коммит...",
"deploy_success": "Деплой успешно запущен",
"no_deploy_envs": "Окружения для деплоя не настроены.",
"deploying": "Деплой...",
"init_validation_error": "Выберите Git-сервер и укажите URL удаленного репозитория",
"init_success": "Репозиторий успешно инициализирован",
"sync_success": "Состояние дашборда синхронизировано с Git",
"push_success": "Изменения отправлены в remote",
"pull_success": "Изменения получены из remote",
"no_servers_configured": "Git-серверы не настроены. Перейдите в Настройки -> Git для добавления.",
"remote_url_placeholder": "https://github.com/org/repo.git"
},
"dashboard": {
"search": "Поиск дашбордов...",
@@ -198,6 +254,37 @@
"last_task": "Последняя задача",
"actions": "Действия",
"action_map_columns": "Отобразить колонки",
"generate_docs": "Сгенерировать документацию",
"generate_documentation": "Сгенерировать документацию",
"search_placeholder": "Поиск датасетов...",
"select_all": "Выбрать все",
"deselect_all": "Снять выбор со всех",
"select_visible": "Выбрать видимые",
"deselect_visible": "Снять выбор с видимых",
"selected": "выбрано",
"selected_count": "Выбрано: {count}",
"bulk_map_columns": "Массовый маппинг колонок",
"bulk_docs_generation": "Массовая генерация документации",
"source_type": "Тип источника",
"source_postgresql_comments": "Комментарии PostgreSQL",
"source_xlsx": "XLSX-файл",
"connection_id": "ID подключения",
"connection_id_placeholder": "Введите ID подключения...",
"xlsx_file": "XLSX-файл",
"selected_datasets": "Выбранные датасеты",
"start_mapping": "Запустить маппинг",
"select_llm_provider_option": "Выберите LLM-провайдера...",
"select_llm_provider": "Выберите LLM-провайдера",
"mapping_task_failed": "Не удалось запустить задачу маппинга",
"docs_task_failed": "Не удалось запустить задачу генерации документации",
"load_failed": "Не удалось загрузить датасеты",
"load_detail_failed": "Не удалось загрузить детали датасета",
"missing_context": "Отсутствует ID датасета или окружения",
"sql_lab_view": "Представление SQL Lab",
"date_time": "Дата/время",
"inactive": "Неактивно",
"mapped": "Размечено",
"unmapped": "Не размечено",
"view_task": "Просмотреть задачу",
"task_running": "Выполняется...",
"task_done": "Готово",
@@ -224,7 +311,30 @@
"schedule_enabled": "Включено",
"cron_label": "Cron-выражение",
"cron_hint": "например, 0 0 * * * для ежедневного запуска в полночь",
"footer_text": "Задача продолжает работать в фоновом режиме"
"footer_text": "Задача продолжает работать в фоновом режиме",
"drawer": "Панель задач",
"close_drawer": "Закрыть панель задач",
"back_to_list": "Назад к списку задач"
},
"migration": {
"source_env": "Исходное окружение",
"target_env": "Целевое окружение",
"loading_envs": "Загрузка окружений...",
"select_both_envs": "Выберите исходное и целевое окружение.",
"different_envs": "Исходное и целевое окружения должны отличаться.",
"select_dashboards": "Выберите хотя бы один дашборд для миграции.",
"select_dashboards_title": "Выберите дашборды",
"replace_db": "Заменить БД (применить маппинги)",
"database_mappings": "Маппинги баз данных",
"loading_dbs": "Загрузка баз данных и подсказок...",
"refresh_dbs": "Обновить БД и подсказки",
"start": "Запустить миграцию",
"resume_failed": "Не удалось возобновить задачу",
"mapping_saved": "Маппинг успешно сохранен",
"mapping_management": "Управление маппингом БД",
"fetch_dbs": "Получить БД и подсказки",
"mapping_hint": "Выберите окружения и нажмите «Получить БД и подсказки», чтобы начать маппинг.",
"task_placeholder_warn": "Не удалось сразу получить детали задачи, используется временное состояние."
},
"assistant": {
"title": "AI Ассистент",
@@ -256,7 +366,14 @@
"create": "Создать подключение",
"saved": "Сохраненные подключения",
"no_saved": "Нет сохраненных подключений.",
"delete": "Удалить"
"delete": "Удалить",
"required_fields": "Заполните все обязательные поля",
"created_success": "Подключение успешно создано",
"fetch_failed": "Не удалось загрузить подключения",
"delete_confirm": "Вы уверены, что хотите удалить это подключение?",
"deleted_success": "Подключение удалено",
"name_placeholder": "например, Production DWH",
"host_placeholder": "10.0.0.1"
},
"storage": {
"management": "Управление хранилищем файлов",
@@ -306,16 +423,38 @@
"excel_path": "Путь к файлу Excel",
"run": "Запустить маппер",
"starting": "Запуск...",
"generating": "Генерация...",
"errors": {
"fetch_failed": "Не удалось загрузить данные",
"required_fields": "Пожалуйста, заполните обязательные поля",
"postgres_required": "Подключение и имя таблицы обязательны для источника PostgreSQL",
"excel_required": "Путь к Excel обязателен для источника Excel"
"excel_required": "Путь к Excel обязателен для источника Excel",
"no_active_llm_provider": "Не найден активный LLM-провайдер",
"docs_start_failed": "Не удалось запустить генерацию документации",
"docs_apply_failed": "Не удалось применить документацию"
},
"success": {
"started": "Задача маппинга запущена"
"started": "Задача маппинга запущена",
"docs_started": "Генерация документации запущена",
"docs_applied": "Документация успешно применена"
},
"auto_document": "Авто-документирование"
"auto_document": "Авто-документирование",
"excel_placeholder": "/path/to/mapping.xlsx"
},
"debug": {
"title": "Системная диагностика",
"action": "Действие отладки",
"test_db_api": "Проверить Database API (сравнение окружений)",
"get_dataset_structure": "Получить структуру датасета (JSON)",
"source_target_required": "Требуются исходное и целевое окружения",
"env_dataset_required": "Требуются окружение и ID датасета",
"fetch_env_failed": "Не удалось загрузить окружения",
"completed": "Задача диагностики завершена",
"failed": "Задача диагностики завершилась с ошибкой",
"run": "Запустить диагностику",
"output": "Результат диагностики",
"select_source": "-- Выберите источник --",
"select_target": "-- Выберите цель --"
},
"admin": {
"users": {