{
  "management": "Управление Git",
  "branch": "Ветка",
  "actions": "Действия",
  "sync": "Синхронизировать из Superset",
  "commit": "Зафиксировать изменения",
  "pull": "Pull (Получить)",
  "push": "Push (Отправить)",
  "deployment": "Развертывание",
  "deploy": "Развернуть в окружение",
  "history": "История коммитов",
  "no_commits": "Коммитов пока нет",
  "refresh": "Обновить",
  "new_branch": "Новая ветка",
  "create": "Создать",
  "init_repo": "Инициализировать репозиторий",
  "remote_url": "URL удаленного репозитория",
  "server": "Git-сервер",
  "not_linked": "Этот дашборд еще не привязан к Git-репозиторию.",
  "manage": "Управление Git",
  "manage_selected": "Управлять выбранным",
  "select_single_for_manage": "Выберите ровно один дашборд для управления",
  "selected_count": "{count} выбрано",
  "bulk_sync": "Массовый sync",
  "bulk_commit": "Массовый commit",
  "bulk_pull": "Массовый pull",
  "bulk_push": "Массовый push",
  "bulk_action_sync": "Sync",
  "bulk_action_commit": "Commit",
  "bulk_action_pull": "Pull",
  "bulk_action_push": "Push",
  "bulk_result": "{action}: успешно {success}, ошибок {failed}",
  "no_repositories_selected": "Для выбранных дашбордов нет доступных репозиториев",
  "generate_message": "Сгенерировать",
  "select_dashboard": "Выберите дашборд для управления",
  "commit_message_generated": "Сообщение коммита сгенерировано",
  "commit_message_failed": "Не удалось сгенерировать сообщение коммита",
  "load_changes_failed": "Не удалось загрузить изменения",
  "commit_success": "Изменения успешно закоммичены",
  "commit_and_push_success": "Изменения успешно закоммичены и отправлены в remote",
  "commit_message": "Сообщение коммита",
  "auto_push_after_commit": "Сделать push после commit в",
  "generate_with_ai": "Сгенерировать с AI",
  "describe_changes": "Опишите ваши изменения...",
  "changed_files": "Измененные файлы",
  "staged": "Подготовлено",
  "modified_unstaged": "Изменено (не подготовлено)",
  "untracked": "Новый файл",
  "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",
  "load_branches_failed": "Не удалось загрузить ветки",
  "switched_to": "Переключено на {branch}",
  "created_branch": "Создана ветка {branch}",
  "branch_name_placeholder": "имя-ветки",
  "repo_status": {
    "loading": "Загрузка",
    "no_repo": "Нет репозитория",
    "synced": "Синхронизирован",
    "changes": "Есть изменения",
    "behind_remote": "Отстает от remote",
    "ahead_remote": "Опережает remote",
    "diverged": "Расхождение",
    "error": "Ошибка"
  },
  "repo_changes_detected": "Обнаружены изменения конфигурации в Superset.",
  "repo_synced_with_branch": "Конфигурация Superset совпадает с веткой {branch}.",
  "charts_label": "чарты: {count}",
  "datasets_label": "датасеты: {count}",
  "files_label": "файлы: {count}",
  "sync_and_commit": "Синхронизировать и зафиксировать",
  "show_diff": "Показать diff",
  "init_repo_button": "Инициализировать Git-репозиторий",
  "hint_workspace": "Сначала синхронизируй дашборд с Git (Sync), затем напиши сообщение коммита и нажми Commit. Если нужно — включи автоотправку (Push) после коммита.",
  "hint_release": "Перенос изменений между ветками: выбери откуда → куда, укажи причину (при direct-режиме) и нажми Promote. Либо создай Merge Request.",
  "hint_operations": "Pull — забрать изменения из удалённого репозитория. Push — отправить локальные коммиты. Deploy — выкатить дашборд в целевое окружение.",
  "hint_branch_selector": "Переключение между ветками. Если есть незакоммиченные изменения — сначала зафиксируй их или отложи через stash.",
  "diff_loading": "Загрузка изменений...",
  "diff_show_more": "Показать ещё ({count} файлов)",
  "diff_all_shown": "Показаны все изменения ({count} файлов)",
  "unfinished_merge": {
    "title": "Незавершённое слияние в репозитории",
    "default_message": "В репозитории найдено незавершённое слияние. Завершите или отмените его вручную и повторите Pull.",
    "repository_path": "Путь к репозиторию",
    "branch": "Текущая ветка",
    "next_steps": "Рекомендуемые шаги",
    "manual_commands": "Команды для ручного восстановления",
    "copy_commands": "Скопировать команды",
    "copy_success": "Команды скопированы в буфер обмена",
    "copy_failed": "Не удалось скопировать команды",
    "copy_empty": "Команды для копирования отсутствуют"
  }
}
