Files
ss-tools/frontend/src/lib/i18n/locales/ru/git.json

541 lines
39 KiB
JSON
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.

{
"management": "Управление Git",
"branch": "Ветка",
"branch_label": "Ветка:",
"changes_count": "{count} изменений",
"tab_workspace": "Фиксация изменений",
"tab_release": "Релиз",
"tab_operations": "Серверные операции",
"error_files_overwritten": "Файлы, которые будут перезаписаны ({count})",
"error_recommendations": "Рекомендации:",
"git_server_mismatch_title": "Привязка репозитория требует исправления",
"git_server_mismatch_desc": "Выбранный сервер: {configured}; репозиторий: {origin}.",
"git_server_mismatch_hint": "Push заблокирован, пока дашборд не будет перепривязан к репозиторию выбранного Git-сервера.",
"git_server_mismatch_fix": "Настроить",
"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": "Сообщение коммита",
"commit_button": "Сохранить версию (Commit)",
"commit_templates": "Шаблоны",
"commit_template_layout": "Макет",
"commit_template_layout_message": "Обновление макета и визуального расположения дашборда",
"commit_template_charts": "Графики",
"commit_template_charts_message": "Обновление графиков и метрик дашборда",
"commit_template_filters": "Фильтры",
"commit_template_filters_message": "Обновление фильтров и метаданных дашборда",
"files_with_changes": "Файлов с изменениями:",
"diff_title": "Diff (изменения)",
"files_count": "{count} файлов",
"diff_loading_hint": "Загрузка diff... (нажмите «Синхронизировать»)",
"no_changes_to_commit": "Нет изменений для коммита",
"sync_to_see_changes": "Синхронизируйте дашборд, чтобы увидеть изменения",
"diff_render_failed": "Не удалось отобразить diff",
"commit_success_banner": "✅ Изменения закоммичены.",
"commit_next_step": "Следующий шаг: вкладка «Релиз» для продвижения между ветками или «Серверные операции» для Pull/Push/Deploy.",
"auto_push_after_commit": "Автоматически отправить (Push) после фиксации в",
"generate_with_ai": "Сгенерировать с AI",
"generate_description": "Сгенерировать описание",
"describe_changes": "Опишите ваши изменения...",
"changed_files": "Измененные файлы",
"staged": "Подготовлено",
"modified_unstaged": "Изменено (не подготовлено)",
"untracked": "Новый файл",
"changes_preview": "Предпросмотр изменений",
"semantic_summary": "Сводка изменений",
"semantic_summary_more": "+{count} ещё",
"raw_diff_title": "Raw YAML diff",
"raw_diff_search": "Поиск по raw diff...",
"raw_diff_limited": "Показаны первые 600 подходящих строк.",
"change_categories": {
"charts": "Графики",
"datasets": "Датасеты",
"databases": "Базы данных",
"filters": "Фильтры",
"dashboard": "Метаданные дашборда",
"other": "Другие файлы"
},
"loading_diff": "Загрузка diff...",
"no_changes": "Изменения не обнаружены",
"committing": "Коммит...",
"deploy_success": "Деплой успешно запущен",
"deploy_confirm_intro": "Подтвердите деплой. Введите slug дашборда:",
"deploy_confirm_dashboard": "Дашборд",
"deploy_confirm_branch": "Исходная ветка",
"deploy_confirm_stage": "Lifecycle stage",
"deploy_confirm_target": "Цель",
"deploy_confirm_changes": "Изменённых файлов",
"deploy_confirm_last_commit": "Последний коммит",
"deploy_confirm_author": "Автор",
"deploy_confirm_message": "Сообщение коммита",
"rollback": "Rollback",
"rollback_reason_prompt": "Причина rollback для {hash}:",
"rollback_success": "Rollback-коммит создан",
"rollback_failed": "Rollback не выполнен",
"rollback_confirm_warning": "Будет создан новый коммит, отменяющий все изменения из выбранного коммита. Текущие рабочие изменения не будут затронуты.",
"prod_rollback_hint": "Rollback PROD доступен из истории коммитов.",
"open_history_for_rollback": "Открыть историю",
"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": "имя-ветки",
"branch_group_local": "Локальные",
"branch_group_remote": "Удалённые",
"branch_group_environment": "Окружения",
"branch_group_feature": "Feature-ветки",
"branch_group_hotfix": "Hotfix-ветки",
"branch_group_legacy": "Legacy",
"branch_group_other": "Другие",
"branch_group_remote_ref": "remote ref",
"branch_type_badges": "Типы веток",
"branch_badge_environment": "ENV",
"branch_badge_environment_title": "Ветки жизненного цикла dev/preprod/prod",
"branch_badge_feature": "FEATURE",
"branch_badge_feature_title": "Рабочие ветки задач от dev",
"branch_badge_hotfix": "HOTFIX",
"branch_badge_hotfix_title": "Срочные исправления",
"branch_badge_legacy": "LEGACY",
"branch_badge_legacy_title": "main/master сохранены для совместимости",
"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",
"hint_workspace": "Сначала синхронизируй дашборд с Git (Sync), затем напиши сообщение коммита и нажми Commit. Если нужно — включи автоотправку (Push) после коммита.",
"hint_release": "Перенос изменений между ветками: выбери откуда → куда, укажи причину (при direct-режиме) и нажми Promote. Либо создай Merge Request.",
"hint_operations": "Pull — забрать изменения из удалённого репозитория. Push — отправить локальные коммиты. Deploy — выкатить дашборд в целевое окружение.",
"hint_branch_selector": "Переключение между ветками. Если есть незакоммиченные изменения — сначала зафиксируй их или отложи через stash.",
"help_title": "Как это работает",
"help_summary": "Краткое руководство по пайплайну Git-управления дашбордами",
"help_step1_title": "Настройте Git-сервер",
"help_step1_desc": "Перейдите в Настройки → Git и добавьте подключение к Gitea/GitLab/GitHub.",
"help_step2_title": "Выберите дашборд",
"help_step2_desc": "Во вкладке «Управление Git» отметьте дашборд и нажмите «Управление Git».",
"help_step3_title": "Создайте или инициализируйте репозиторий",
"help_step3_desc": "«Create repo» создаёт удалённый репозиторий на сервере. «Инициализировать» привязывает существующий remote-URL к дашборду.",
"help_step4_title": "Синхронизируйте и зафиксируйте",
"help_step4_desc": "Во вкладке «Фиксация изменений»: Sync забирает конфигурацию из Superset, затем напишите сообщение и нажмите Commit.",
"help_step5_title": "Продвигайте и деплойте",
"help_step5_desc": "Во вкладке «Релиз» — перенос между ветками (MR или прямой). Во вкладке «Серверные операции» — Pull, Push и Deploy в окружение.",
"legend_title": "Статусы репозиториев",
"legend_synced": "Локальная ветка совпадает с remote — изменений нет.",
"legend_changes": "Есть незакоммиченные изменения в рабочей области.",
"legend_behind_remote": "Локальная ветка отстаёт от remote — выполните Pull.",
"legend_ahead_remote": "Локальная ветка опережает remote — выполните Push.",
"legend_diverged": "Локальная и remote ветки разошлись — требуется merge или rebase.",
"legend_no_repo": "Дашборд не привязан к Git-репозиторию.",
"legend_error": "Ошибка получения статуса — проверьте подключение и настройки.",
"create_repo": "Создать репозиторий",
"create_repo_desc": "Создать новый удалённый репозиторий на Git-сервере и привязать его к дашборду.",
"init_repo_desc": "Привязать существующий удалённый репозиторий по URL к дашборду (локальный init).",
"init_mode_create": "Создать новый",
"init_mode_connect": "Подключить существующий",
"init_mode_create_hint": "Сначала создайте remote-репозиторий; clone URL заполнится автоматически.",
"remote_url_invalid": "Remote URL должен начинаться с https://, ssh:// или git@.",
"init_sync_next": "После инициализации нажмите Sync, чтобы сохранить текущее состояние дашборда Superset.",
"init_summary_title": "Настройка GitFlow",
"init_summary_default_branch": "Ветка по умолчанию: prod",
"init_summary_branches": "Ветки окружений: dev → preprod → prod",
"repo_already_exists": "Репозиторий уже существует. Введите его URL ниже и нажмите «Инициализировать».",
"lifecycle": {
"title": "Жизненный цикл дашборда",
"subtitle": "Сохраняйте версии и продвигайте изменения Superset безопасно.",
"current_branch": "Текущая ветка",
"changes": "Изменения",
"no_changes": "Нет изменений",
"next_action": "Следующее действие",
"action_sync": "Синхронизировать",
"action_commit": "Сохранить версию",
"action_promote": "Продвинуть в {stage}",
"action_deploy": "Деплой",
"action_review": "Проверить состояние",
"promotion_path": "Маршрут продвижения: {from} -> {to}"
},
"conflict": {
"title": "Обнаружены конфликты слияния",
"description": "В следующих файлах есть конфликты. Выберите способ разрешения для каждого.",
"your_changes": "Ваши изменения (Mine)",
"remote_changes": "Удалённые изменения (Theirs)",
"keep_mine": "Оставить мои",
"keep_theirs": "Оставить их",
"resolved": "Разрешён: {strategy}",
"cancel": "Отмена",
"resolve_continue": "Разрешить и продолжить",
"unresolved_count": "Сначала разрешите все конфликты. (Осталось: {count})"
},
"release": {
"pipeline_status": "Текущий статус пайплайна",
"next_step": "Следующий шаг по GitFlow:",
"no_next_promotion": "Нет следующего продвижения",
"prod_no_next_step": "PROD — финальная ветка GitFlow. Следующее продвижение недоступно.",
"promote_direct": "Прямой перенос {from} ➔ {to} (unsafe)",
"promote_mr": "Создать Merge Request ({from} ➔ {to})",
"advanced_show": "▾ Расширенные настройки",
"advanced_hide": "▴ Скрыть расширенные настройки",
"from_branch": "Из ветки",
"to_branch": "В ветку",
"promotion_mode": "Режим переноса",
"mode_mr": "Создать MR/PR (безопасно)",
"mode_direct": "Прямой merge без MR (небезопасно)",
"direct_warning_title": "Внимание: прямой перенос без MR",
"direct_warning_desc": "Это обходит процесс аппрува и записывается в audit лог.",
"reason_label": "Причина (обязательно)",
"reason_placeholder": "Почему bypass MR?",
"reason_required": "Для direct merge нужна причина для audit trail."
},
"diff_loading": "Загрузка изменений...",
"diff_show_more": "Показать ещё ({count} файлов)",
"diff_all_shown": "Показаны все изменения ({count} файлов)",
"advanced_raw_diff_title": "Расширенно: raw YAML diff",
"advanced_status_title": "Расширенно: диагностика репозитория",
"repo_status_label": "Статус",
"upstream_branch": "Upstream",
"remote_delta": "Remote",
"unfinished_merge": {
"title": "Незавершённое слияние в репозитории",
"default_message": "В репозитории найдено незавершённое слияние. Завершите или отмените его вручную и повторите Pull.",
"repository_path": "Путь к репозиторию",
"branch": "Текущая ветка",
"next_steps": "Рекомендуемые шаги",
"manual_commands": "Команды для ручного восстановления",
"copy_commands": "Скопировать команды",
"copy_success": "Команды скопированы в буфер обмена",
"copy_failed": "Не удалось скопировать команды",
"copy_empty": "Команды для копирования отсутствуют",
"open_resolver": "Открыть разрешение конфликтов",
"abort_merge": "Отменить слияние",
"continue_merge": "Продолжить слияние",
"no_conflicts": "Неразрешённых конфликтов не найдено",
"resolve_empty": "Не выбрано разрешение конфликтов",
"resolve_success": "Конфликты разрешены и добавлены в индекс",
"abort_success": "Слияние отменено",
"continue_success": "Merge-коммит успешно создан"
},
"merge": {
"button": "Слить ветку",
"title": "Слияние {source} в {target}",
"source_branch": "Исходная ветка",
"target_branch": "Целевая ветка",
"message_placeholder": "Сообщение merge-коммита (необязательно)",
"auto_delete": "Удалить исходную ветку после слияния",
"auto_delete_hint": "Исходная ветка {branch} будет безвозвратно удалена.",
"preview": "Предпросмотр изменений",
"conflicts_detected": "Обнаружены конфликты слияния",
"conflicts_hint": "Разрешите конфликты вручную или отмените слияние.",
"conflict_files": "Конфликтующие файлы:",
"success": "{source} слита в {target}",
"already_merged": "Ветка уже актуальна",
"deleting_source": "Удаление исходной ветки...",
"source_deleted": "Исходная ветка {branch} удалена"
},
"delete_branch": {
"button": "Удалить ветку",
"title": "Удаление ветки {branch}",
"confirm_message": "Вы уверены, что хотите удалить ветку \"{branch}\"? Это действие нельзя отменить.",
"confirm_remote": "Ветка также будет удалена из удалённого репозитория.",
"protected": "Ветка окружения \"{branch}\" не может быть удалена.",
"success": "Ветка \"{branch}\" удалена",
"cancel": "Отмена",
"delete": "Удалить"
},
"create_branch_dialog": {
"title": "Создать новую ветку",
"name_label": "Имя ветки",
"name_placeholder": "feature/мой-фича",
"type_label": "Тип ветки",
"type_feature": "Feature",
"type_hotfix": "Hotfix",
"type_bugfix": "Bugfix",
"type_custom": "Произвольная",
"source_label": "Исходная ветка",
"validation_required": "Имя ветки обязательно",
"validation_pattern": "Используйте латиницу, цифры, точки, подчёркивания, дефисы и слеши",
"validation_no_dots": "Имя ветки не должно содержать \"..\"",
"validation_no_leading_slash": "Имя ветки не должно начинаться с \"/\"",
"name_preview": "Будет создана как: {name}",
"create": "Создать ветку"
},
"branch_type": {
"environment": "Окружение",
"feature": "Feature",
"hotfix": "Hotfix",
"bugfix": "Bugfix",
"legacy": "Legacy",
"other": "Другое"
},
"diff_view_mode": "Режим diff",
"diff_view_side_by_side": "Две колонки",
"diff_view_line_by_line": "Одна колонка",
"diff_region_label": "Просмотр изменений",
"skip_to_raw_diff": "Перейти к текстовому diff",
"diff_rendered_hidden_hint": "Визуальный diff скрыт от скринридера — используйте текстовый diff ниже.",
"bulk_commit_dialog": {
"title": "Массовый commit",
"message": "Введите сообщение коммита для выбранных дашбордов:",
"placeholder": "Сообщение коммита...",
"confirm": "Зафиксировать"
},
"create_repo_dialog": {
"title": "Создать репозиторий",
"name_label": "Имя репозитория",
"name_prompt": "Имя репозитория для {provider}:",
"confirm": "Создать"
},
"bulk_confirm": {
"sync_title": "Массовая синхронизация",
"sync_message": "Синхронизировать {count} дашбордов из Superset в Git?",
"pull_title": "Массовый pull",
"pull_message": "Получить изменения из remote для {count} дашбордов?",
"push_title": "Массовый push",
"push_message": "Отправить локальные коммиты в remote для {count} дашбордов?",
"confirm": "Подтвердить"
},
"numeric_id_forbidden": "GitManager требует slug дашборда. Числовой ID запрещён.",
"promote_branches_must_differ": "Выберите разные исходную и целевую ветки",
"direct_reason_required": "Для небезопасного прямого переноса укажите причину",
"direct_promote_done": "Прямой перенос выполнен. Нарушение политики записано в логи.",
"mr_created": "Merge Request создан на Git сервере",
"deploy_confirm_failed": "Подтверждение PROD не пройдено. Деплой отменён.",
"repo_url_empty": "Удалённый репозиторий создан, но URL пуст",
"env_required_for_init": "Для инициализации Git выберите окружение.",
"init_fields_required": "Заполните все поля",
"close_aria": "Закрыть",
"help_aria": "Справка",
"viz_title": "Аудит версий дашборда",
"viz_hint": "Последние версии и среды, в которых они были доступны. Основной статус миграции показан выше.",
"viz_working_branch": "Активная версия в разработке (ваша текущая работа)",
"viz_stage_dev": "Разработка",
"viz_stage_preprod": "Предпрод / Валидация",
"viz_stage_prod": "Продакшн (для пользователей)",
"viz_clear": "Очистить выбор",
"viz_no_versions": "Нет истории версий",
"viz_unreleased": "Нереализованные изменения (не продвинуты)",
"viz_unreleased_hint": "Черновики; появятся после мерджа в dev.",
"viz_selected": "Выбрано",
"viz_current": "текущая",
"viz_compare": "Сравнение двух версий",
"viz_compare_action": "Выбрать для сравнения (A/B)",
"viz_version_selected": "Выбрана версия",
"viz_details": "Информация о версии",
"viz_select_version": "Кликните по точке на таймлайне, чтобы посмотреть",
"viz_live_in": "Активна в",
"viz_impact": "Влияние на конфиг дашборда",
"viz_author": "Автор",
"viz_date": "Дата",
"viz_legend_current": "Текущая версия в стадии",
"viz_legend_promoted": "Бейдж PRE = продвинута (линия только для выбранной)",
"viz_choose_comparison": "Выберите версию для сравнения изменений",
"viz_status_dev": "Последние изменения (в разработке)",
"viz_status_up_to_date": "Актуальна относительно Разработки",
"viz_status_lag": "Отстаёт от Разработки на {count} обновлений",
"viz_status_stable_old": "Стабильная старая версия (в Разработке есть обновления)",
"viz_status_unknown": "Статус неизвестен",
"viz_live_downstream": "Эта версия уже активна в: {stages}",
"viz_status_current_stage": "Текущая в стадии",
"viz_status_historical": "Историческая версия в этой стадии",
"viz_prod_health": "Статус стадий:",
"viz_summary_no_prod": "Пока нет данных по продакшну",
"viz_summary_no_dev": "Нет данных разработки",
"viz_summary_prod_current": "Продакшн использует самую свежую версию из разработки.",
"viz_summary_lag": "Продакшн отстаёт на {count} обновлений дашборда от Разработки.",
"viz_summary_old_prod": "Продакшн на стабильной старой версии.",
"viz_quick_dev_vs_prod": "Сравнить с текущей в Разработке",
"viz_technical_id": "Технический ID",
"viz_comparison_hint": "Diff покажет, что изменилось в конфиге дашборда между выбранными версиями.",
"viz_no_versions_hint": "Инициализируйте репозиторий или синхронизируйте из Superset.",
"viz_bi_purpose": "Помогает аналитикам понять состояние развёртывания перед валидацией или промоушеном.",
"viz_lag_tooltip": "Количество более новых обновлений дашборда в Разработке, которых ещё нет в Продакшне",
"viz_lag": "отставание",
"viz_rec_up_to_date": "Продакшн актуален. Можно безопасно проводить валидацию и тестовые сценарии.",
"viz_rec_lag": "Продакшн отстаёт на {count} обновлений. Изучите изменения и промоутните после валидации.",
"viz_rec_no_prod": "Нет данных по продакшну. Инициализируйте/синхронизируйте репозиторий.",
"viz_rec_default": "Просмотрите таймлайн и сравните версии перед промоушеном.",
"viz_recommendation": "Рекомендация:",
"viz_how_to_read": "Точки = версии дашборда. Бейдж PRE = продвинута (без дублирования). Вертикаль только для выбранной. Preprod — только события промоушена.",
"viz_older": "Самая старая показанная",
"viz_newer": "Самая новая",
"viz_change_description": "Описание изменения",
"viz_comparing_with": "Сравнение с версией {hash}",
"viz_diff_ready": "Изменения дашборда загружены для сравнения",
"viz_view_changes": "Посмотреть точные изменения",
"viz_compare_to_dev": "Сравнить с последней в Разработке",
"viz_files": "Файлов изменено",
"viz_files_sample": "Примеры обновлённых файлов",
"viz_status_window": "За пределами окна истории (старше)",
"viz_primary_selected": "Выберите точку B на графике",
"viz_unique_versions": "уникальных версий",
"viz_recent_window": "окно недавних (более старые могут быть)",
"working_branch": "Рабочая ветка (текущие изменения):",
"viz_expand_timeline": "Показать аудит версий",
"viz_show_timeline": "Показать аудит",
"sync_compact": "Sync",
"viz_axis_older": "← Более старые версии дашборда",
"viz_axis_newer": "Новые версии (последние изменения) →",
"viz_no_version": "Нет версии в",
"viz_init": "Инициализировать",
"viz_arm_comparison": "Выбрать как A / B для сравнения",
"viz_compare_preprod": "Сравнить с текущей PREPROD",
"viz_compare_dev": "Сравнить с текущей DEV",
"viz_collapse_timeline": "Свернуть таймлайн",
"pipeline_title": "Путь публикации дашборда",
"pipeline_hint": "Версия проходит разработку, проверку и публикацию по содержимому дашборда.",
"pipeline_stage_dev": "DEV · Разработка",
"pipeline_stage_preprod": "PREPROD · Проверка",
"pipeline_stage_prod": "PROD · Пользователи",
"pipeline_compare": "Сравнить с PROD",
"pipeline_no_version": "Версия не синхронизирована",
"pipeline_dev_ready": "Версия готова к тестированию",
"pipeline_not_deployed": "Версия не развёрнута",
"pipeline_outdated": "Пользователи видят другую версию",
"pipeline_content_drift": "Содержимое PROD отличается",
"pipeline_same_revision_different_content": "Git-версия та же, но содержимое окружения отличается",
"pipeline_sync_required": "Требуется синхронизация версии",
"pipeline_message_resolve_drift": "Публикация перезапишет отличающееся содержимое PROD и устранит drift.",
"pipeline_validation_needed": "Ожидает проверки",
"pipeline_validated": "Проверка пройдена",
"pipeline_live": "Пользователи видят эту версию",
"pipeline_action_sync": "Синхронизировать дашборд",
"pipeline_action_deploy_preprod": "Отправить в PREPROD",
"pipeline_action_validate_preprod": "Подтвердить проверку PREPROD",
"pipeline_action_deploy_prod": "Опубликовать проверенную версию",
"pipeline_action_current": "Версия опубликована",
"pipeline_message_sync": "Сначала синхронизируйте текущее содержимое дашборда с Git.",
"pipeline_message_deploy_preprod": "В PREPROD нет текущей версии DEV. Отправьте её на проверку.",
"pipeline_message_validate_preprod": "Текущий кандидат развёрнут в PREPROD и ожидает подтверждения проверки.",
"pipeline_message_deploy_prod": "В PROD будет опубликована проверенная версия {version}.",
"pipeline_workspace_excluded": "Текущие несохранённые изменения в публикацию не войдут (затронуто файлов: {count}).",
"pipeline_candidate_replaced": "Новый кандидат заменит текущий кандидат PREPROD и потребует повторной проверки.",
"pipeline_message_current": "DEV, PREPROD и PROD используют одну проверенную версию.",
"pipeline_preprod_missing": "Сначала разверните версию в PREPROD",
"pipeline_preprod_validated": "Проверка PREPROD подтверждена",
"pipeline_prod_blocked": "PROD доступен только после проверки той же версии в PREPROD",
"pipeline_version": "Версия",
"pipeline_version_current": "текущая версия",
"pipeline_version_missing": "нет версии",
"pipeline_changed": "Обновлена",
"pipeline_deployed": "Развёрнута",
"pipeline_date_unknown": "неизвестно",
"pipeline_date_missing": "—",
"technical_details": "Технические детали",
"audit_when": "Когда",
"audit_version": "Версия",
"audit_stages": "Среды",
"audit_change": "Изменение",
"audit_events": "событий в истории",
"audit_action": "Действие",
"audit_deploy_preprod": "В PREPROD",
"deploy_selected_version": "Выбранная версия",
"candidate_source": "Источник кандидата",
"candidate_created": "создан",
"feature_flow_title": "Отдельные доработки",
"feature_flow_hint": "Здесь ведутся независимые изменения. Передайте готовую доработку в общую разработку, чтобы затем проверить и опубликовать её.",
"feature_flow_empty": "Нет отдельных доработок. Новую можно создать в технических деталях.",
"feature_flow_editing": "Открыт для доработки",
"feature_flow_ready": "Готов к передаче",
"feature_flow_open": "Открыть",
"feature_flow_opened": "Черновик открыт для доработки",
"feature_flow_transfer": "Передать в DEV",
"feature_flow_transfer_title": "Передать доработку в общую разработку DEV",
"feature_flow_draft": "Черновик",
"feature_flow_dev": "Общая разработка",
"feature_flow_create": "Новая доработка",
"feature_flow_current": "Открыта сейчас",
"feature_flow_continue": "Продолжить",
"feature_flow_commits": "коммитов сверх DEV",
"feature_flow_updated": "обновлена",
"feature_flow_date_unknown": "дата неизвестна",
"feature_flow_context": "Текущая работа",
"feature_flow_context_dev": "Вы работаете в общей разработке. Откройте черновик, чтобы продолжить отдельную доработку.",
"feature_flow_in_dev": "Уже в DEV",
"feature_flow_no_changes": "Нет изменений для передачи",
"feature_flow_archived": "Доработки уже включены в DEV",
"feature_flow_no_active": "Нет отдельных доработок, ожидающих передачи в DEV.",
"feature_flow_transfer_confirm": "Изменения из черновика станут доступны в DEV. В PREPROD и PROD они не попадут, пока вы не запустите публикацию.",
"feature_flow_transferred": "передана в DEV",
"feature_flow_transfer_failed": "Не удалось передать доработку в DEV",
"pipeline_preprod_candidate": "Кандидат на публикацию",
"pipeline_candidate_validated": "проверен",
"pipeline_candidate_pending": "ожидает проверки",
"pipeline_candidate_author": "Автор",
"pipeline_candidate_created": "Создан",
"pipeline_dev_ahead": "В DEV есть более новые изменения",
"pipeline_next_action": "Следующее действие",
"workspace_pending_title": "Есть несохранённые изменения",
"workspace_pending_hint": "{count} файлов изменены. Они не войдут в текущую публикацию, пока вы не сохраните новую версию.",
"workspace_pending_action": "Перейти к сохранению",
"workspace_save_title": "Сохранить версию",
"workspace_save_hint": "Опишите смысл изменений — это описание увидят при проверке и публикации.",
"workspace_version_description": "Описание версии",
"workspace_save_button": "Сохранить версию",
"workspace_save_options": "Параметры сохранения",
"workspace_refresh_changes": "Обновить изменения",
"workspace_description_required": "Добавьте описание версии, чтобы сохранить её.",
"workspace_changes_title": "Изменения версии",
"semantic_key_changes": "Ключевые изменения",
"workspace_summary_loading": "Агент анализирует изменения…",
"workspace_summary_loading_hint": "Это может занять несколько минут. Можно продолжать работу с версией.",
"workspace_summary_ai_notice": "Описание сформировано AI по текущему diff.",
"workspace_summary_regenerate": "Сформулировать иначе",
"workspace_summary_failed": "Не удалось описать изменения",
"workspace_summary_failed_hint": "Проверьте настройку LLM и повторите запрос.",
"workspace_summary_retry": "Повторить",
"workspace_summary_generate": "Описать изменения с помощью AI",
"technical_yaml_preview": "Технический YAML diff",
"open_raw_diff": "Открыть текстовый diff"
}