Merge branch 'dev' into feature/20260602_connection_driver_i18n

This commit is contained in:
tianqijiuyun-latiao
2026-06-23 23:34:16 +08:00
39 changed files with 3045 additions and 1840 deletions

View File

@@ -405,10 +405,10 @@
"ai_chat.input.status.provider_fallback_name": "Текущий провайдер",
"ai_chat.input.status.provider_incomplete.description": "Перед отправкой завершите настройку провайдера, чтобы запрос не завершился ошибкой сразу.",
"ai_chat.input.status.provider_incomplete.title": "У {{provider}} не хватает: {{issues}}",
"ai_chat.input.status.ready.auto_model": "Выбрано автоматически",
"ai_chat.input.status.ready.description.no_context": "Можно отправлять запрос. Для более точных рекомендаций по базе данных сначала выберите подключение или добавьте контекст со схемой таблиц.",
"ai_chat.input.status.ready.description.with_connection": "Текущее подключение уже выбрано. Для более точных рекомендаций по базе данных добавьте и контекст со схемой таблиц.",
"ai_chat.input.status.ready.description.with_context": "Сейчас подключено {{count}} контекстов со схемами таблиц. Можно отправлять запрос.",
"ai_chat.input.status.ready.auto_model": "Выбрано автоматически",
"ai_chat.input.status.ready.title": "AI готов: {{provider}} / {{model}}",
"ai_chat.input.tooltip.attach_table_context": "Добавить контекст таблиц базы данных",
"ai_chat.input.tooltip.slash_command": "Слэш-команды",
@@ -1577,9 +1577,9 @@
"ai_service.backend.error.mcp_transport_unsupported": "Неподдерживаемый transport MCP: {{transport}}",
"ai_service.backend.error.models_http_status_failed": "Эндпоинт списка моделей вернул неожиданный статус (HTTP {{status}}){{body}}",
"ai_service.backend.error.models_parse_failed": "Не удалось разобрать список моделей: {{detail}}",
"ai_service.backend.error.models_remote_unsupported": "Текущий провайдер не поддерживает удаленный список моделей",
"ai_service.backend.error.models_request_create_failed": "Не удалось создать запрос списка моделей: {{detail}}",
"ai_service.backend.error.models_request_failed": "Не удалось запросить список моделей: {{detail}}",
"ai_service.backend.error.models_remote_unsupported": "Текущий провайдер не поддерживает удаленный список моделей",
"ai_service.backend.error.provider_auth_failed": "API Key недействителен или запрос был отклонен (HTTP {{status}}){{body}}",
"ai_service.backend.error.provider_http_server_error": "Вышестоящий сервер вернул внутреннюю ошибку (HTTP {{status}}){{body}}",
"ai_service.backend.error.provider_http_status_failed": "Эндпоинт вернул неожиданный статус (HTTP {{status}}){{body}}",
@@ -1625,17 +1625,17 @@
"ai_settings.context.with_samples.desc": "Добавляет небольшой объем примеров данных, чтобы AI лучше понимал их особенности",
"ai_settings.context.with_samples.label": "С примерами данных",
"ai_settings.form.api_endpoint": "API Endpoint (URL)",
"ai_settings.form.api_endpoint_required": "Введите корректный URL конечной точки",
"ai_settings.form.api_endpoint_placeholder.codebuddy": "Оставьте пустым, чтобы использовать шлюз CodeBuddy CLI по умолчанию",
"ai_settings.form.api_endpoint_required": "Введите корректный URL конечной точки",
"ai_settings.form.api_format": "Формат API",
"ai_settings.form.api_key": "API Key",
"ai_settings.form.api_key.codebuddy_optional": "API Key / Auth Token (необязательно)",
"ai_settings.form.api_key.codebuddy_hint": "Оставьте пустым, чтобы использовать уже выполненный на этом компьютере вход в CodeBuddy CLI; если заполнить, приоритет будет у текущих учётных данных.",
"ai_settings.form.api_key_keep_placeholder": "Оставьте пустым, чтобы продолжить использовать сохраненный секрет",
"ai_settings.form.api_key_placeholder": "sk-... / ваш API Key",
"ai_settings.form.api_key_placeholder.codebuddy": "Оставьте пустым для локальной сессии входа или введите API Key / Token для переопределения",
"ai_settings.form.api_key_required": "Введите API Key",
"ai_settings.form.api_key_saved_hint": "API Key уже сохранен. Оставьте поле пустым, чтобы использовать его дальше, или введите новое значение для замены.",
"ai_settings.form.api_key.codebuddy_hint": "Оставьте пустым, чтобы использовать уже выполненный на этом компьютере вход в CodeBuddy CLI; если заполнить, приоритет будет у текущих учётных данных.",
"ai_settings.form.api_key.codebuddy_optional": "API Key / Auth Token (необязательно)",
"ai_settings.form.clear_saved_api_key": "Очистить сохраненный API Key",
"ai_settings.form.model_list": "Список доступных моделей (необязательно)",
"ai_settings.form.model_list_placeholder": "Укажите ID моделей; оставьте пустым, чтобы получить их с сервера",
@@ -2311,6 +2311,7 @@
"ai_settings.provider.action.add": "Добавить поставщика модели",
"ai_settings.provider.action.delete": "Удалить",
"ai_settings.provider.action.edit": "Редактировать",
"ai_settings.provider.auto_model": "Выбрано автоматически",
"ai_settings.provider.confirm_delete": "Удалить этого поставщика?",
"ai_settings.provider.editor.add_title": "Добавить поставщика модели",
"ai_settings.provider.editor.edit_title": "Редактировать поставщика модели",
@@ -2318,7 +2319,6 @@
"ai_settings.provider.empty.title": "Поставщик модели не настроен",
"ai_settings.provider.next_provider": "следующий поставщик",
"ai_settings.provider.no_model": "Модель не выбрана",
"ai_settings.provider.auto_model": "Выбрано автоматически",
"ai_settings.safety.description": "Управляет типами SQL-операций, которые AI может выполнять, чтобы защитить данные",
"ai_settings.safety.full.desc": "AI может выполнять все операции, включая DDL. Для операций высокого риска предупреждения показываются автоматически.",
"ai_settings.safety.full.label": "Полный режим",
@@ -2954,6 +2954,24 @@
"connection_modal.field.proxy_password_optional": "Пароль прокси (необязательно)",
"connection_modal.field.proxy_type": "Тип прокси",
"connection_modal.field.proxy_username_optional": "Имя пользователя прокси (необязательно)",
"connection_modal.field.readOnly.checkbox": "Пометить это подключение как продакшн и разрешить только запросы",
"connection_modal.field.readOnly.compatibility": "Если включить все опции, поведение будет соответствовать прежней защите прод-подключения «только запросы».",
"connection_modal.field.readOnly.help": "Выберите только те ограничения, которые нужны для редактирования результатов, изменения структуры, выполнения скриптов и операций импорта или синхронизации.",
"connection_modal.field.readOnly.label": "Защита прод-подключения",
"connection_modal.field.readOnly.option.dataEdit.help": "Запретить прямое редактирование в таблице результатов, массовую очистку и операции записи при публикации сообщений для этого подключения.",
"connection_modal.field.readOnly.option.dataEdit.label": "Ограничить редактирование данных",
"connection_modal.field.readOnly.option.dataImport.help": "Запретить импорт файлов, массовую загрузку и использование этого подключения как цели синхронизации.",
"connection_modal.field.readOnly.option.dataImport.label": "Ограничить импорт данных",
"connection_modal.field.readOnly.option.scriptExecution.help": "Запретить выполнять в SQL-редакторе SQL-запросы и команды MongoDB, которые изменяют данные.",
"connection_modal.field.readOnly.option.scriptExecution.label": "Ограничить выполнение скриптов",
"connection_modal.field.readOnly.option.structureEdit.help": "Запретить создание, переименование и удаление объектов базы данных, а конструктор таблиц открывать только в режиме чтения.",
"connection_modal.field.readOnly.option.structureEdit.label": "Ограничить изменение структуры",
"connection_modal.field.readOnly.status.disabled": "Ограничений нет",
"connection_modal.field.readOnly.status.enabledCount": "Включено ограничений: {{count}}",
"connection_modal.field.readOnly.summary.empty": "Если не выбрано ни одного ограничения, это подключение работает как обычное.",
"connection_modal.field.readOnly.summary.selected": "Включено {{count}} ограничений. Невыбранные возможности продолжают работать как у обычного подключения.",
"connection_modal.field.readOnly.summary.title": "Текущая политика",
"connection_modal.field.readOnly.tip": "Рекомендуется для продакшн-, резервных и регулируемых баз данных. Эти ограничения влияют только на поведение текущего подключения в GoNavi и не изменяют права на стороне сервера базы данных.",
"connection_modal.field.replica_hosts": "Список хостов реплик",
"connection_modal.field.replica_password_optional": "Пароль реплики (необязательно)",
"connection_modal.field.replica_set_optional": "Replica Set (необязательно)",
@@ -3324,6 +3342,8 @@
"connection_modal.section.network.description": "Настройте SSL/TLS, SSH Tunnel, прокси и HTTP Tunnel.",
"connection_modal.section.network.nav_description": "Настройте сеть и безопасность для этого подключения.",
"connection_modal.section.network.title": "Сеть и безопасность",
"connection_modal.section.readOnly.description": "Выберите только высокорисковые ограничения для прод-подключения вместо одного общего переключателя только для чтения.",
"connection_modal.section.readOnly.title": "Защита прод-подключения",
"connection_modal.ssl_hint.dameng": "Для SSL в Dameng нужны пути к клиентскому сертификату и закрытому ключу (sslCertPath / sslKeyPath).",
"connection_modal.ssl_hint.default": "Предпочитайте Required. Используйте Skip Verify только для тестов или самоподписанных сертификатов.",
"connection_modal.ssl_hint.mongodb": "Подключения MongoDB можно защитить через TLS. Если проверка сертификата мешает тесту, сначала используйте Skip Verify.",
@@ -3405,6 +3425,25 @@
"connection_modal.validation.tunnel_host_required": "Введите хост HTTP Tunnel",
"connection_modal.validation.tunnel_port_required": "Введите порт HTTP Tunnel",
"connection_modal.validation.username_required": "Введите имя пользователя",
"connection.backend.action.apply_result_changes": "Применить изменения результата",
"connection.backend.action.clear_table": "Очистить данные таблицы",
"connection.backend.action.create_database": "Создать базу данных",
"connection.backend.action.create_schema": "Создать схему",
"connection.backend.action.data_sync_structure": "Изменить структуру цели синхронизации",
"connection.backend.action.data_sync_write": "Записать синхронизированные данные",
"connection.backend.action.drop_database": "Удалить базу данных",
"connection.backend.action.drop_function_or_procedure": "Удалить функцию или хранимую процедуру",
"connection.backend.action.drop_schema": "Удалить схему",
"connection.backend.action.drop_table": "Удалить таблицу",
"connection.backend.action.drop_view": "Удалить представление",
"connection.backend.action.import_data": "Импортировать данные",
"connection.backend.action.preview_result_changes": "Предпросмотр изменений результата",
"connection.backend.action.rename_database": "Переименовать базу данных",
"connection.backend.action.rename_schema": "Переименовать схему",
"connection.backend.action.rename_table": "Переименовать таблицу",
"connection.backend.action.rename_view": "Переименовать представление",
"connection.backend.action.truncate_table": "Очистить таблицу через TRUNCATE",
"connection.backend.error.readonly_action_blocked": "Для этого подключения включена защита production, операция «{{action}}» запрещена.",
"connection.copy_suffix": " - копия",
"connection.delete": "Удалить подключение",
"connection.edit": "Изменить подключение",
@@ -3444,6 +3483,135 @@
"connection.sidebar.menu.section": "Подключение",
"connection.test": "Проверить подключение",
"connection.unnamed": "Безымянное подключение",
"data_export.action.clear": "Очистить",
"data_export.action.clear_progress": "Очистить текущий прогресс",
"data_export.action.select_all": "Выбрать всё",
"data_export.action.start": "Начать экспорт",
"data_export.dialog.action.start": "Начать экспорт",
"data_export.dialog.field.format": "Формат экспорта",
"data_export.dialog.field.scope": "Область экспорта",
"data_export.dialog.field.xlsx_max_rows": "Максимум строк на лист",
"data_export.dialog.field.xlsx_max_rows_help": "Действует только для XLSX, максимум {{maxRows}} строк (без заголовка)",
"data_export.dialog.validation.format_required": "Выберите формат экспорта",
"data_export.dialog.validation.scope_required": "Выберите доступную область экспорта",
"data_export.dialog.validation.xlsx_max_rows_limit": "Максимум строк на лист не может превышать {{maxRows}}",
"data_export.dialog.validation.xlsx_max_rows_required": "Введите корректное максимальное число строк на лист",
"data_export.hint.batch_stage": "Текущий этап — это подсказка от backend-процесса. Общий прогресс будет продвигаться после завершения каждого объекта или базы данных.",
"data_export.hint.rows_unknown": "Общее количество строк заранее не подсчитано, поэтому процент не отображается, а число записанных строк показывается в реальном времени.",
"data_export.label.connection": "Подключение",
"data_export.label.current_stage": "Текущий этап",
"data_export.label.database": "База данных",
"data_export.label.directory": "Каталог",
"data_export.label.elapsed": "Длительность экспорта",
"data_export.label.estimated_rows": "Оценка строк",
"data_export.label.export_content": "Содержимое экспорта",
"data_export.label.export_scope": "Область экспорта",
"data_export.label.file": "Файл",
"data_export.label.format": "Формат",
"data_export.label.host": "Хост",
"data_export.label.mode": "Режим",
"data_export.label.object": "Объект",
"data_export.label.object_count": "Количество объектов",
"data_export.label.progress_summary": "Описание прогресса",
"data_export.label.selected_databases": "Выбранные базы",
"data_export.label.sql_file": "SQL-файл",
"data_export.label.started_at": "Время начала",
"data_export.label.status": "Статус",
"data_export.label.strategy": "Путь выполнения",
"data_export.label.type": "Тип",
"data_export.label.xlsx_max_rows": "Максимум строк на лист",
"data_export.message.already_running": "Задача экспорта уже выполняется. Дождитесь её завершения перед запуском нового экспорта.",
"data_export.message.export_failed": "Ошибка экспорта: {{error}}",
"data_export.message.export_success": "Экспорт выполнен успешно",
"data_export.message.load_databases_failed": "Не удалось загрузить список баз данных",
"data_export.message.load_objects_failed": "Не удалось загрузить список объектов",
"data_export.progress.label.task": "Задача",
"data_export.progress.rows_written": "Записано {{current}} строк",
"data_export.progress.rows_written_with_total": "Записано {{current}} / {{total}} строк",
"data_export.progress.stage.export_failed": "Ошибка экспорта",
"data_export.progress.stage.exporting_item_with_progress": "Экспорт {{name}} ({{current}}/{{total}})",
"data_export.progress.stage.exporting_sql_file": "Экспорт SQL-файла",
"data_export.progress.stage.finalizing_csv_write": "Завершение записи CSV",
"data_export.progress.stage.finalizing_file_write": "Завершение записи файла",
"data_export.progress.stage.finalizing_xlsx_package": "Упаковка и сжатие XLSX-файла",
"data_export.progress.stage.preparing_batch_databases_export": "Подготовка пакетного экспорта баз данных",
"data_export.progress.stage.preparing_batch_tables_export": "Подготовка пакетного экспорта объектов",
"data_export.progress.stage.preparing_export": "Подготовка экспорта",
"data_export.progress.stage.querying_data": "Запрос данных",
"data_export.progress.stage.waiting_file_selection": "Ожидание выбора файла экспорта",
"data_export.progress.stage.writing_file": "Запись файла",
"data_export.progress.status.done": "Завершено",
"data_export.progress.status.error": "Ошибка",
"data_export.progress.status.finalizing": "Завершение",
"data_export.progress.status.idle": "Не начато",
"data_export.progress.status.running": "Выполняется",
"data_export.progress.status.start": "Подготовка",
"data_export.progress.title.done": "Экспорт завершён",
"data_export.progress.title.error": "Ошибка экспорта",
"data_export.progress.title.running": "Идёт экспорт",
"data_export.progress.value.target_fallback": "Безымянный объект",
"data_export.progress.value.task_fallback": "Задача экспорта",
"data_export.value.unestimated": "Без предварительного подсчёта",
"data_export.value.waiting_target_path": "Ожидание выбора пути назначения",
"data_export.value.waiting_to_start": "Ожидание запуска",
"data_export.workbench.alert.connection_missing_description": "Восстановите конфигурацию подключения перед запуском этой задачи экспорта.",
"data_export.workbench.alert.connection_missing_title": "Текущее подключение больше не существует",
"data_export.workbench.alert.database_load_failed": "Не удалось загрузить список баз данных",
"data_export.workbench.alert.object_load_failed": "Не удалось загрузить список объектов",
"data_export.workbench.alert.scope_unavailable_description": "Для этой области нет стабильного backend-контекста запроса. Выполните экспорт прямо со страницы данных или переключитесь на экспорт всей таблицы либо отфильтрованных результатов.",
"data_export.workbench.alert.scope_unavailable_title": "Эту область сейчас нельзя воспроизвести в рабочей области экспорта",
"data_export.workbench.batch_databases.mode.backup.description": "Создаёт отдельные SQL-файлы со структурой и данными для каждой базы данных.",
"data_export.workbench.batch_databases.mode.backup.label": "Резервная копия баз",
"data_export.workbench.batch_databases.mode.schema.description": "Создаёт отдельные SQL-файлы со структурой для каждой базы данных.",
"data_export.workbench.batch_databases.mode.schema.label": "Экспорт схемы базы",
"data_export.workbench.batch_tables.mode.backup.description": "Экспортирует SQL структуры и данных для выбранных объектов.",
"data_export.workbench.batch_tables.mode.backup.label": "Резервная копия",
"data_export.workbench.batch_tables.mode.data_only.description": "Экспортирует INSERT-запросы для выбранных объектов.",
"data_export.workbench.batch_tables.mode.data_only.label": "Только данные",
"data_export.workbench.batch_tables.mode.schema.description": "Экспортирует CREATE / definition SQL для выбранных объектов в текущей базе данных.",
"data_export.workbench.batch_tables.mode.schema.label": "Структура",
"data_export.workbench.description.current_task_empty": "После запуска экспорта здесь появится единый основной прогресс текущей задачи.",
"data_export.workbench.description.history": "Текущая задача здесь не дублируется. В истории сохраняются только сводки завершённых задач или задач, от которых вы переключились.",
"data_export.workbench.empty.history": "История пока пуста. После завершения экспорта здесь останется сводка последней задачи.",
"data_export.workbench.empty.not_started": "Экспорт ещё не запускался",
"data_export.workbench.helper.available_objects": "В текущей базе доступно {{available}} объектов, выбрано {{selected}}.",
"data_export.workbench.helper.batch_database_output": "При запуске экспорта сначала выберите выходной каталог, затем для каждой базы данных будут созданы отдельные SQL-файлы.",
"data_export.workbench.helper.batch_databases_start": "При пакетном экспорте баз данных сначала выбирается выходной каталог, затем для каждой базы создаётся отдельный SQL-файл, а справа показывается общий прогресс.",
"data_export.workbench.helper.batch_tables_start": "Пакетный экспорт объектов создаёт один SQL-файл и показывает справа общий прогресс по объектам и последние сводки задач.",
"data_export.workbench.helper.single_export_start": "После запуска экспорта сначала выбирается целевой файл, а справа отображаются единый индикатор прогресса, длительность и путь вывода.",
"data_export.workbench.history.count": "{{count}} записей",
"data_export.workbench.mode.batch_databases": "Пакет баз данных",
"data_export.workbench.mode.batch_tables": "Пакет объектов",
"data_export.workbench.object_type.materialized_view": "Материализованное представление",
"data_export.workbench.object_type.table": "Таблица",
"data_export.workbench.object_type.view": "Представление",
"data_export.workbench.placeholder.loading_databases": "Загрузка баз данных...",
"data_export.workbench.placeholder.loading_objects": "Загрузка объектов...",
"data_export.workbench.placeholder.select_connection": "Выберите подключение",
"data_export.workbench.placeholder.select_database": "Выберите базу данных",
"data_export.workbench.placeholder.select_database_first": "Сначала выберите базу данных",
"data_export.workbench.placeholder.select_object": "Выберите объекты",
"data_export.workbench.scope.all.description": "Повторно запрашивает всю таблицу на backend и экспортирует все данные.",
"data_export.workbench.scope.all.label": "Все данные таблицы",
"data_export.workbench.scope.selected_databases": "Выбранные базы данных ({{count}})",
"data_export.workbench.scope.selected_objects": "Выбранные объекты ({{count}})",
"data_export.workbench.section.config": "Параметры экспорта",
"data_export.workbench.section.current_task": "Текущая задача",
"data_export.workbench.section.history": "Последние задачи",
"data_export.workbench.strategy.batch_databases": "Пакетный SQL-экспорт баз данных · {{mode}}",
"data_export.workbench.strategy.batch_tables": "Пакетный SQL-экспорт объектов · {{mode}}",
"data_export.workbench.strategy.full_table": "Путь экспорта всей таблицы",
"data_export.workbench.strategy.query_replay": "Экспорт через воспроизведение SQL",
"data_export.workbench.subtitle": "Настраивайте экспорт, следите за основным прогрессом и просматривайте сводки последних задач на одной странице.",
"data_export.workbench.summary.batch_databases_done": "Завершено {{current}} / {{total}} баз данных",
"data_export.workbench.summary.batch_databases_running": "Идёт пакетный экспорт баз данных",
"data_export.workbench.summary.batch_tables_done": "Завершено {{current}} / {{total}} объектов",
"data_export.workbench.summary.batch_tables_running": "Идёт пакетный экспорт объектов",
"data_export.workbench.target.batch_databases": "{{count}} баз данных",
"data_export.workbench.target.batch_tables": "{{database}} · {{count}} объектов",
"data_export.workbench.target.current_database": "Текущая база данных",
"data_export.workbench.task.export_target": "Экспорт {{name}}",
"data_export.workbench.title": "Рабочая область экспорта",
"data_grid.action.apply": "Применить",
"data_grid.ai_insight.prompt": "Проанализируй следующие результаты запроса (первые {{count}} строк примера):\n```json\n{{json}}\n```\n\nПроанализируй характеристики данных, найди закономерности или предложи бизнес-инсайты.",
"data_grid.ai_prompt.analyze_page": "Проанализируй следующие данные результата запроса (первые {{count}} строк-образцов):\n```json\n{{json}}\n```\n\nОпредели особенности данных, найди закономерности или дай бизнес-выводы.",
@@ -3544,6 +3712,20 @@
"data_grid.export.options_title": "Параметры экспорта",
"data_grid.export.query_result_title": "Экспорт результатов запроса",
"data_grid.export.scope_prompt": "Выберите область экспорта:",
"data_grid.export.scope.all_results_cached": "Все результаты (текущий кэш {{count}} строк)",
"data_grid.export.scope.all_results_cached_description": "Экспортирует все результаты из текущего кэша, если текущий запрос нельзя воспроизвести повторно.",
"data_grid.export.scope.all_results_requery": "Все результаты (повторный запрос)",
"data_grid.export.scope.all_results_requery_description": "Повторно выполняет SQL на backend, чтобы не экспортировать только текущую страницу или кэш.",
"data_grid.export.scope.current_page": "Текущая страница ({{count}} строк)",
"data_grid.export.scope.current_page_description": "Экспортирует данные напрямую из кэша текущей страницы.",
"data_grid.export.scope.current_page_requery_description": "Повторно запрашивает текущую страницу на backend с текущими параметрами пагинации перед экспортом.",
"data_grid.export.scope.current_page_unavailable_description": "Текущая страница зависит от временного состояния frontend, поэтому лучше использовать быстрый экспорт.",
"data_grid.export.scope.filtered_results_all": "Отфильтрованные результаты (все)",
"data_grid.export.scope.filtered_results_all_requery_description": "Повторно запрашивает базу данных с текущими фильтрами и экспортирует все отфильтрованные результаты.",
"data_grid.export.scope.filtered_results_all_unavailable_description": "Текущий источник данных или текущее состояние не поддерживает повтор фильтрованного экспорта в workbench.",
"data_grid.export.scope.selected_rows": "Выбранные строки",
"data_grid.export.scope.selected_rows_count": "Выбранные строки ({{count}} строк)",
"data_grid.export.scope.selected_rows_description": "Экспортирует только отмеченные строки из текущего набора результатов.",
"data_grid.export.selected_rows": "Экспорт выбранных строк ({{count}})",
"data_grid.filter.add_condition": "Добавить условие",
"data_grid.filter.add_sort": "Добавить сортировку",
@@ -4387,6 +4569,7 @@
"db.backend.error.clickhouse_update_failed_with_sql": "Не удалось обновить строки ClickHouse: {{detail}}; SQL={{sql}}",
"db.backend.error.clickhouse_validation_failed_auto": "Проверка подключения ClickHouse не удалась: автоматическое определение протокола не удалось (типичные Native-порты 9000/9440, типичные HTTP-порты {{httpPorts}}; для нестандартных портов укажите протокол подключения вручную). {{detail}}",
"db.backend.error.clickhouse_validation_failed_manual": "Проверка подключения ClickHouse не удалась: использован выбранный пользователем протокол {{protocol}} для {{host}}:{{port}}. {{detail}}",
"db.backend.error.column_definitions_missing": "Определения столбцов не были получены",
"db.backend.error.connection_not_open": "Подключение не открыто",
"db.backend.error.connection_open_failed_prefix": "Не удалось открыть подключение к базе данных: ",
"db.backend.error.connection_verify_failed_prefix": "Не удалось проверить подключение после установления: ",
@@ -4436,7 +4619,6 @@
"db.backend.error.schema_same_name": "Старое и новое имена схемы должны отличаться",
"db.backend.error.sqlite_file_path_required": "SQLite требуется путь к локальному файлу базы данных (например, /path/to/demo.sqlite)",
"db.backend.error.sqlite_host_port_not_file_path": "SQLite требуется путь к локальному файлу базы данных; текущий ввод похож на адрес хоста: {{dsn}}",
"db.backend.error.column_definitions_missing": "Определения столбцов не были получены",
"db.backend.error.table_columns_empty_for_ddl": "Полученные определения столбцов оказались пустыми, поэтому не удалось сформировать инструкцию CREATE TABLE",
"db.backend.error.table_columns_missing_for_ddl": "Не удалось получить определения столбцов, поэтому не удалось сформировать инструкцию CREATE TABLE",
"db.backend.error.table_drop_unsupported": "Текущий источник данных ({{dbType}}) не поддерживает удаление таблиц",
@@ -4446,6 +4628,7 @@
"db.backend.error.table_same_name": "Старое и новое имя таблицы должны отличаться",
"db.backend.error.target_database_required": "Требуется целевая база данных",
"db.backend.error.tdengine_apply_changes_insert_only": "Целевые таблицы TDengine сейчас поддерживают только запись INSERT; ApplyChanges не поддерживает различия UPDATE/DELETE",
"db.backend.error.test_connection_close_failed": "Подключение выполнено, но не удалось закрыть тестовое подключение: {{detail}}",
"db.backend.error.transaction_already_finished": "Транзакция уже завершена",
"db.backend.error.transaction_commit_close_failed": "Транзакция зафиксирована, но не удалось закрыть сеанс: {{detail}}",
"db.backend.error.transaction_commit_failed": "Не удалось зафиксировать транзакцию: {{detail}}",
@@ -4883,6 +5066,7 @@
"file.backend.dialog.export_table": "Экспорт {{table}}",
"file.backend.dialog.export_tables_sql": "Экспорт таблиц (SQL)",
"file.backend.dialog.import_data": "Импорт в {{table}}",
"file.backend.dialog.select_batch_export_directory": "Выберите каталог для пакетного экспорта",
"file.backend.dialog.select_ca_server_certificate_file": "Выберите файл сертификата CA/сервера",
"file.backend.dialog.select_client_certificate_file": "Выберите файл клиентского сертификата",
"file.backend.dialog.select_client_private_key_file": "Выберите файл клиентского приватного ключа",
@@ -5931,6 +6115,7 @@
"query_editor.message.cancel_no_running": "Нет выполняющегося запроса для отмены.",
"query_editor.message.cancel_success": "Запрос отменен.",
"query_editor.message.connection_not_found": "Подключение не найдено.",
"query_editor.message.connection_readonly_blocked": "Для этого подключения включена защита production, разрешены только операции запроса.",
"query_editor.message.execution_failed_with_error": "Ошибка выполнения запроса: {{error}}",
"query_editor.message.execution_multi_success": "Выполнено инструкций: {{statements}}, создано наборов результатов: {{results}}.",
"query_editor.message.execution_result_sets_success": "Выполнение завершено, создано наборов результатов: {{results}}.",
@@ -5986,6 +6171,9 @@
"query_editor.results_panel.menu.close_left": "Закрыть вкладки слева",
"query_editor.results_panel.menu.close_other": "Закрыть другие вкладки",
"query_editor.results_panel.menu.close_right": "Закрыть вкладки справа",
"query_editor.results_panel.message.action.copy": "Копировать",
"query_editor.results_panel.message.copy_failed": "Не удалось скопировать сообщение: {{detail}}",
"query_editor.results_panel.message.copy_unsupported": "Буфер обмена недоступен в текущей среде",
"query_editor.results_panel.message.title": "Сообщения выполнения",
"query_editor.results_panel.panel.title": "Область результатов",
"query_editor.results_panel.tab.message": "Сообщение {{index}}",
@@ -6067,6 +6255,9 @@
"query_editor.transaction.mode.tooltip": "Как в DBeaver: когда SQL-редактор выполняет DML, например INSERT/UPDATE/DELETE/MERGE/REPLACE, GoNavi сначала открывает управляемую транзакцию. В ручном режиме нужно выполнить commit/rollback; в автоматическом режиме после успешного выполнения автоматически запускается COMMIT.",
"query_editor.transaction.status.auto_commit_countdown": "Автоматический commit через {{seconds}}s",
"query_editor.transaction.status.auto_committing": "Выполняется автоматический commit",
"query_history.backend.error.connection_fingerprint_invalid": "Не удалось разобрать отпечаток подключения",
"query_history.backend.message.cleared": "История медленных запросов очищена",
"query_history.backend.message.loaded": "Загрузка завершена",
"query.format": "Форматировать SQL",
"query.new": "Новый запрос",
"query.run": "Выполнить",
@@ -6255,6 +6446,7 @@
"redis.backend.error.sentinel_connect_failed": "Не удалось подключиться к Redis Sentinel: {{detail}}",
"redis.backend.error.sentinel_master_required": "Для режима Redis Sentinel требуется имя master",
"redis.backend.error.ssh_tunnel_create_failed": "Не удалось создать SSH-туннель: {{detail}}",
"redis.backend.error.test_connection_close_failed": "Подключение выполнено, но не удалось закрыть тестовое подключение: {{detail}}",
"redis.backend.error.topology_ssh_tunnel_unsupported": "Режим Redis {{topology}} пока не поддерживает SSH-туннели. Отключите SSH и повторите попытку.",
"redis.backend.label.topology_cluster": "кластер",
"redis.backend.label.topology_multi_node": "многоузловой",
@@ -6705,6 +6897,7 @@
"sidebar.message.table_data_action_loading": "{{action}} {{table}}...",
"sidebar.message.table_data_action_success": "{{action}} завершено.",
"sidebar.message.table_deleted": "Таблица удалена.",
"sidebar.message.table_export_target_missing": "Не удалось определить имя таблицы, экспорт невозможен.",
"sidebar.message.table_name_required": "Введите имя таблицы.",
"sidebar.message.table_name_unchanged": "Имя таблицы не изменилось.",
"sidebar.message.table_pinned": "Таблица закреплена",
@@ -6802,6 +6995,9 @@
"sidebar.sql_template.edit_view": "Изменить представление {{name}}",
"sidebar.sql_template.modify_then_execute": "Изменить и выполнить",
"sidebar.status.pinned": "Закреплено",
"sidebar.tab.batch_export_databases": "Пакетный экспорт баз данных",
"sidebar.tab.batch_export_objects": "Пакетный экспорт объектов",
"sidebar.tab.batch_export_objects_database": "Пакетный экспорт объектов {{database}}",
"sidebar.tab.create_function": "Новая функция",
"sidebar.tab.create_procedure": "Новая процедура",
"sidebar.tab.create_view": "Новое представление",
@@ -6926,6 +7122,92 @@
"snippet_settings.syntax_reference.unix_seconds": "${CURRENT_SECONDS_UNIX} Unix-временная метка",
"snippet_settings.syntax_reference.uuid": "${UUID} Случайный UUID",
"snippet_settings.tag.builtin": "Встроенный",
"sql_analysis.backend.error.driver_explain_failed": "Ошибка выполнения EXPLAIN драйвером: {{detail}}",
"sql_analysis.backend.error.explain_dialect_unsupported": "Диалект EXPLAIN для {{dbType}} не поддерживается",
"sql_analysis.backend.error.explain_execution_failed": "Ошибка выполнения EXPLAIN: {{detail}}",
"sql_analysis.backend.error.explain_query_not_implemented": "Генерация EXPLAIN-запроса для {{dbType}} не реализована",
"sql_analysis.backend.error.explain_result_empty": "Набор результатов EXPLAIN пуст",
"sql_analysis.backend.error.explain_result_missing": "Набор результатов EXPLAIN не был возвращён",
"sql_analysis.backend.error.query_required": "SQL-запрос не может быть пустым",
"sql_analysis.backend.error.select_only": "Диагностика поддерживает только запросы SELECT / WITH. Для операций записи используйте режим EXPLAIN PLAN (поддержка PR2).",
"sql_analysis.backend.error.unsupported_db_type": "Текущий источник данных ({{dbType}}) пока не поддерживает диагностику SQL. На первом этапе поддерживаются MySQL/PostgreSQL/SQLite/ClickHouse/Oracle/SQLServer/OceanBase.",
"sql_analysis.backend.message.completed": "Диагностика завершена",
"sql_analysis.explain_graph.flag.filesort": "Дополнительная сортировка",
"sql_analysis.explain_graph.flag.full_scan": "Полное сканирование",
"sql_analysis.explain_graph.flag.temp_table": "Временная таблица",
"sql_analysis.explain_graph.label.index": "Индекс: ",
"sql_analysis.explain_graph.label.table": "Таблица: ",
"sql_analysis.explain_graph.metric.actual_rows": "Факт",
"sql_analysis.explain_graph.metric.cost": "Стоимость",
"sql_analysis.explain_graph.metric.est_rows": "Оценка",
"sql_analysis.explain.empty": "Введите SQL и запустите диагностику",
"sql_analysis.explain.error.query_required": "Текст запроса пуст",
"sql_analysis.explain.error.run_failed": "Диагностика не выполнена",
"sql_analysis.explain.error.title": "Диагностика не выполнена: ",
"sql_analysis.explain.loading": "Выполняется EXPLAIN и разбор плана...",
"sql_analysis.explain.meta.node_count": "{{count}} узлов",
"sql_analysis.explain.raw.empty": "(нет исходного текста)",
"sql_analysis.explain.view.plan": "План выполнения",
"sql_analysis.explain.view.raw": "Исходный текст",
"sql_analysis.sidebar.node.actual_rows": "Фактические строки",
"sql_analysis.sidebar.node.buffer_hit": "Попадание в буфер",
"sql_analysis.sidebar.node.cost": "Стоимость",
"sql_analysis.sidebar.node.duration": "Длительность",
"sql_analysis.sidebar.node.est_rows": "Оценка строк",
"sql_analysis.sidebar.node.extra": "Поля Extra ({{count}})",
"sql_analysis.sidebar.node.flags": "Флаги",
"sql_analysis.sidebar.node.index": "Индекс",
"sql_analysis.sidebar.node.loops": "Число циклов",
"sql_analysis.sidebar.node.op_detail": "Детали операции",
"sql_analysis.sidebar.node.op_type": "Тип операции",
"sql_analysis.sidebar.node.table": "Таблица",
"sql_analysis.sidebar.node.title": "Сведения об узле",
"sql_analysis.sidebar.stats.buffer_hit": "Попадание в буфер",
"sql_analysis.sidebar.stats.max_est_rows": "Макс. оценка строк узла",
"sql_analysis.sidebar.stats.rows_read": "Прочитано строк",
"sql_analysis.sidebar.stats.title": "Статистика выполнения",
"sql_analysis.sidebar.stats.total_cost": "Общая стоимость",
"sql_analysis.sidebar.stats.total_duration": "Общее время",
"sql_analysis.sidebar.suggestions.empty": "Явных проблем с производительностью не найдено",
"sql_analysis.sidebar.suggestions.rows": "{{count}} строк",
"sql_analysis.sidebar.suggestions.table": "Таблица: {{table}}",
"sql_analysis.sidebar.suggestions.title": "Рекомендации по индексам ({{count}})",
"sql_analysis.sidebar.warning.filesort": "Обнаружена дополнительная сортировка",
"sql_analysis.sidebar.warning.full_scan": "Обнаружено полное сканирование таблицы",
"sql_analysis.sidebar.warning.temp_table": "Используется временная таблица",
"sql_analysis.slow_query.current_connection": "(текущее подключение)",
"sql_analysis.slow_query.empty": "Записей о медленных запросах пока нет (порог {{threshold}}ms)",
"sql_analysis.slow_query.error.clear_failed": "Не удалось очистить",
"sql_analysis.slow_query.error.load_failed": "Не удалось загрузить",
"sql_analysis.slow_query.error.title": "Не удалось загрузить: ",
"sql_analysis.slow_query.loading": "Загрузка истории медленных запросов...",
"sql_analysis.slow_query.message.cleared": "История медленных запросов очищена",
"sql_analysis.slow_query.metric.rows_read": "Прочитано",
"sql_analysis.slow_query.metric.rows_returned": "Возвращено",
"sql_analysis.slow_query.preview.empty": "(нет предпросмотра SQL)",
"sql_analysis.slow_query.rail.aria_label": "Рабочая область медленных SQL",
"sql_analysis.slow_query.rail.tooltip.no_connection": "Сначала откройте вкладку с подключением к базе данных",
"sql_analysis.slow_query.rail.tooltip.open": "Открыть рабочую область анализа SQL для текущего подключения",
"sql_analysis.slow_query.relative.days_ago": "{{count}} дн. назад",
"sql_analysis.slow_query.relative.hours_ago": "{{count}} ч назад",
"sql_analysis.slow_query.relative.just_now": "Только что",
"sql_analysis.slow_query.relative.minutes_ago": "{{count}} мин. назад",
"sql_analysis.slow_query.sort.duration": "По длительности",
"sql_analysis.slow_query.sort.recent": "По времени",
"sql_analysis.slow_query.sort.rows_read": "По прочитанным строкам",
"sql_analysis.slow_query.title": "История медленных SQL",
"sql_analysis.slow_query.tooltip.clear_current": "Очистить историю текущего подключения",
"sql_analysis.workbench.action.run": "Запустить диагностику",
"sql_analysis.workbench.alert.connection_missing_description": "Снова выберите корректное подключение перед повторным открытием рабочей области анализа SQL.",
"sql_analysis.workbench.alert.connection_missing_title": "Подключение для этой рабочей области больше недоступно",
"sql_analysis.workbench.editor.hint": "Можно сразу подставить запись из списка медленных SQL",
"sql_analysis.workbench.editor.placeholder": "Введите SQL для диагностики или подставьте его, выбрав запись из списка медленных SQL",
"sql_analysis.workbench.tab_title": "SQL-анализ",
"sql_analysis.workbench.tab_title_with_database": "SQL-анализ · {{database}}",
"sql_analysis.workbench.title": "Рабочая область анализа SQL",
"sql_analysis.workbench.validation.sql_required": "Введите SQL для диагностики",
"sql_analysis.workbench.view.diagnose": "Диагностика SQL",
"sql_analysis.workbench.view.slow_query": "Медленные SQL",
"sql_snippets.builtin.alt.description": "Шаблон ALTER TABLE для добавления столбца",
"sql_snippets.builtin.alt.name": "ALTER TABLE",
"sql_snippets.builtin.ct.description": "Шаблон CREATE TABLE",
@@ -7340,269 +7622,5 @@
"trigger_viewer.field.trigger": "Триггер",
"trigger_viewer.loading.definition": "Загрузка определения триггера...",
"trigger_viewer.tab.edit_trigger_title": "Изменить триггер: {{name}}",
"trigger_viewer.warning.refresh_latest_failed": "Не удалось обновить последнее определение",
"data_export.dialog.action.start": "Начать экспорт",
"data_export.dialog.field.format": "Формат экспорта",
"data_export.dialog.field.scope": "Область экспорта",
"data_export.dialog.field.xlsx_max_rows": "Максимум строк на лист",
"data_export.dialog.field.xlsx_max_rows_help": "Действует только для XLSX, максимум {{maxRows}} строк (без заголовка)",
"data_export.dialog.validation.format_required": "Выберите формат экспорта",
"data_export.dialog.validation.scope_required": "Выберите доступную область экспорта",
"data_export.dialog.validation.xlsx_max_rows_limit": "Максимум строк на лист не может превышать {{maxRows}}",
"data_export.dialog.validation.xlsx_max_rows_required": "Введите корректное максимальное число строк на лист",
"data_export.progress.label.task": "Задача",
"data_export.progress.status.done": "Завершено",
"data_export.progress.status.error": "Ошибка",
"data_export.progress.status.finalizing": "Завершение",
"data_export.progress.status.idle": "Не начато",
"data_export.progress.status.running": "Выполняется",
"data_export.progress.status.start": "Подготовка",
"data_export.progress.title.done": "Экспорт завершён",
"data_export.progress.title.error": "Ошибка экспорта",
"data_export.progress.title.running": "Идёт экспорт",
"data_export.progress.value.target_fallback": "Безымянный объект",
"data_export.progress.value.task_fallback": "Задача экспорта",
"data_export.action.clear": "Очистить",
"data_export.action.clear_progress": "Очистить текущий прогресс",
"data_export.action.select_all": "Выбрать всё",
"data_export.action.start": "Начать экспорт",
"data_export.hint.batch_stage": "Текущий этап — это подсказка от backend-процесса. Общий прогресс будет продвигаться после завершения каждого объекта или базы данных.",
"data_export.hint.rows_unknown": "Общее количество строк заранее не подсчитано, поэтому процент не отображается, а число записанных строк показывается в реальном времени.",
"data_export.label.connection": "Подключение",
"data_export.label.current_stage": "Текущий этап",
"data_export.label.database": "База данных",
"data_export.label.directory": "Каталог",
"data_export.label.elapsed": "Длительность экспорта",
"data_export.label.estimated_rows": "Оценка строк",
"data_export.label.export_content": "Содержимое экспорта",
"data_export.label.export_scope": "Область экспорта",
"data_export.label.file": "Файл",
"data_export.label.format": "Формат",
"data_export.label.host": "Хост",
"data_export.label.mode": "Режим",
"data_export.label.object": "Объект",
"data_export.label.object_count": "Количество объектов",
"data_export.label.progress_summary": "Описание прогресса",
"data_export.label.selected_databases": "Выбранные базы",
"data_export.label.sql_file": "SQL-файл",
"data_export.label.started_at": "Время начала",
"data_export.label.status": "Статус",
"data_export.label.strategy": "Путь выполнения",
"data_export.label.type": "Тип",
"data_export.label.xlsx_max_rows": "Максимум строк на лист",
"data_export.message.load_databases_failed": "Не удалось загрузить список баз данных",
"data_export.message.load_objects_failed": "Не удалось загрузить список объектов",
"data_export.value.unestimated": "Без предварительного подсчёта",
"data_export.value.waiting_target_path": "Ожидание выбора пути назначения",
"data_export.value.waiting_to_start": "Ожидание запуска",
"data_export.workbench.alert.connection_missing_description": "Восстановите конфигурацию подключения перед запуском этой задачи экспорта.",
"data_export.workbench.alert.connection_missing_title": "Текущее подключение больше не существует",
"data_export.workbench.alert.database_load_failed": "Не удалось загрузить список баз данных",
"data_export.workbench.alert.object_load_failed": "Не удалось загрузить список объектов",
"data_export.workbench.alert.scope_unavailable_description": "Для этой области нет стабильного backend-контекста запроса. Выполните экспорт прямо со страницы данных или переключитесь на экспорт всей таблицы либо отфильтрованных результатов.",
"data_export.workbench.alert.scope_unavailable_title": "Эту область сейчас нельзя воспроизвести в рабочей области экспорта",
"data_export.workbench.batch_databases.mode.backup.description": "Создаёт отдельные SQL-файлы со структурой и данными для каждой базы данных.",
"data_export.workbench.batch_databases.mode.backup.label": "Резервная копия баз",
"data_export.workbench.batch_databases.mode.schema.description": "Создаёт отдельные SQL-файлы со структурой для каждой базы данных.",
"data_export.workbench.batch_databases.mode.schema.label": "Экспорт схемы базы",
"data_export.workbench.batch_tables.mode.backup.description": "Экспортирует SQL структуры и данных для выбранных объектов.",
"data_export.workbench.batch_tables.mode.backup.label": "Резервная копия",
"data_export.workbench.batch_tables.mode.data_only.description": "Экспортирует INSERT-запросы для выбранных объектов.",
"data_export.workbench.batch_tables.mode.data_only.label": "Только данные",
"data_export.workbench.batch_tables.mode.schema.description": "Экспортирует CREATE / definition SQL для выбранных объектов в текущей базе данных.",
"data_export.workbench.batch_tables.mode.schema.label": "Структура",
"data_export.workbench.description.current_task_empty": "После запуска экспорта здесь появится единый основной прогресс текущей задачи.",
"data_export.workbench.description.history": "Текущая задача здесь не дублируется. В истории сохраняются только сводки завершённых задач или задач, от которых вы переключились.",
"data_export.workbench.empty.history": "История пока пуста. После завершения экспорта здесь останется сводка последней задачи.",
"data_export.workbench.empty.not_started": "Экспорт ещё не запускался",
"data_export.workbench.helper.available_objects": "В текущей базе доступно {{available}} объектов, выбрано {{selected}}.",
"data_export.workbench.helper.batch_database_output": "При запуске экспорта сначала выберите выходной каталог, затем для каждой базы данных будут созданы отдельные SQL-файлы.",
"data_export.workbench.helper.batch_databases_start": "При пакетном экспорте баз данных сначала выбирается выходной каталог, затем для каждой базы создаётся отдельный SQL-файл, а справа показывается общий прогресс.",
"data_export.workbench.helper.batch_tables_start": "Пакетный экспорт объектов создаёт один SQL-файл и показывает справа общий прогресс по объектам и последние сводки задач.",
"data_export.workbench.helper.single_export_start": "После запуска экспорта сначала выбирается целевой файл, а справа отображаются единый индикатор прогресса, длительность и путь вывода.",
"data_export.workbench.history.count": "{{count}} записей",
"data_export.workbench.mode.batch_databases": "Пакет баз данных",
"data_export.workbench.mode.batch_tables": "Пакет объектов",
"data_export.workbench.object_type.materialized_view": "Материализованное представление",
"data_export.workbench.object_type.table": "Таблица",
"data_export.workbench.object_type.view": "Представление",
"data_export.workbench.placeholder.loading_databases": "Загрузка баз данных...",
"data_export.workbench.placeholder.loading_objects": "Загрузка объектов...",
"data_export.workbench.placeholder.select_connection": "Выберите подключение",
"data_export.workbench.placeholder.select_database": "Выберите базу данных",
"data_export.workbench.placeholder.select_database_first": "Сначала выберите базу данных",
"data_export.workbench.placeholder.select_object": "Выберите объекты",
"data_export.workbench.scope.all.description": "Повторно запрашивает всю таблицу на backend и экспортирует все данные.",
"data_export.workbench.scope.all.label": "Все данные таблицы",
"data_export.workbench.scope.selected_databases": "Выбранные базы данных ({{count}})",
"data_export.workbench.scope.selected_objects": "Выбранные объекты ({{count}})",
"data_export.workbench.section.config": "Параметры экспорта",
"data_export.workbench.section.current_task": "Текущая задача",
"data_export.workbench.section.history": "Последние задачи",
"data_export.workbench.strategy.batch_databases": "Пакетный SQL-экспорт баз данных · {{mode}}",
"data_export.workbench.strategy.batch_tables": "Пакетный SQL-экспорт объектов · {{mode}}",
"data_export.workbench.strategy.full_table": "Путь экспорта всей таблицы",
"data_export.workbench.strategy.query_replay": "Экспорт через воспроизведение SQL",
"data_export.workbench.subtitle": "Настраивайте экспорт, следите за основным прогрессом и просматривайте сводки последних задач на одной странице.",
"data_export.workbench.summary.batch_databases_done": "Завершено {{current}} / {{total}} баз данных",
"data_export.workbench.summary.batch_databases_running": "Идёт пакетный экспорт баз данных",
"data_export.workbench.summary.batch_tables_done": "Завершено {{current}} / {{total}} объектов",
"data_export.workbench.summary.batch_tables_running": "Идёт пакетный экспорт объектов",
"data_export.workbench.target.batch_databases": "{{count}} баз данных",
"data_export.workbench.target.batch_tables": "{{database}} · {{count}} объектов",
"data_export.workbench.target.current_database": "Текущая база данных",
"data_export.workbench.task.export_target": "Экспорт {{name}}",
"data_export.workbench.title": "Рабочая область экспорта",
"data_grid.export.scope.all_results_cached": "Все результаты (текущий кэш {{count}} строк)",
"data_grid.export.scope.all_results_cached_description": "Экспортирует все результаты из текущего кэша, если текущий запрос нельзя воспроизвести повторно.",
"data_grid.export.scope.all_results_requery": "Все результаты (повторный запрос)",
"data_grid.export.scope.all_results_requery_description": "Повторно выполняет SQL на backend, чтобы не экспортировать только текущую страницу или кэш.",
"data_grid.export.scope.current_page": "Текущая страница ({{count}} строк)",
"data_grid.export.scope.current_page_description": "Экспортирует данные напрямую из кэша текущей страницы.",
"data_grid.export.scope.current_page_requery_description": "Повторно запрашивает текущую страницу на backend с текущими параметрами пагинации перед экспортом.",
"data_grid.export.scope.current_page_unavailable_description": "Текущая страница зависит от временного состояния frontend, поэтому лучше использовать быстрый экспорт.",
"data_grid.export.scope.filtered_results_all": "Отфильтрованные результаты (все)",
"data_grid.export.scope.filtered_results_all_requery_description": "Повторно запрашивает базу данных с текущими фильтрами и экспортирует все отфильтрованные результаты.",
"data_grid.export.scope.filtered_results_all_unavailable_description": "Текущий источник данных или текущее состояние не поддерживает повтор фильтрованного экспорта в workbench.",
"data_grid.export.scope.selected_rows": "Выбранные строки",
"data_grid.export.scope.selected_rows_count": "Выбранные строки ({{count}} строк)",
"data_grid.export.scope.selected_rows_description": "Экспортирует только отмеченные строки из текущего набора результатов.",
"sidebar.message.table_export_target_missing": "Не удалось определить имя таблицы, экспорт невозможен.",
"sidebar.tab.batch_export_databases": "Пакетный экспорт баз данных",
"sidebar.tab.batch_export_objects": "Пакетный экспорт объектов",
"sidebar.tab.batch_export_objects_database": "Пакетный экспорт объектов {{database}}",
"data_export.message.already_running": "Задача экспорта уже выполняется. Дождитесь её завершения перед запуском нового экспорта.",
"data_export.message.export_failed": "Ошибка экспорта: {{error}}",
"data_export.message.export_success": "Экспорт выполнен успешно",
"data_export.progress.stage.waiting_file_selection": "Ожидание выбора файла экспорта",
"sql_analysis.workbench.validation.sql_required": "Введите SQL для диагностики",
"sql_analysis.workbench.alert.connection_missing_title": "Подключение для этой рабочей области больше недоступно",
"sql_analysis.workbench.alert.connection_missing_description": "Снова выберите корректное подключение перед повторным открытием рабочей области анализа SQL.",
"sql_analysis.workbench.title": "Рабочая область анализа SQL",
"sql_analysis.workbench.view.slow_query": "Медленные SQL",
"sql_analysis.workbench.view.diagnose": "Диагностика SQL",
"sql_analysis.workbench.editor.placeholder": "Введите SQL для диагностики или подставьте его, выбрав запись из списка медленных SQL",
"sql_analysis.workbench.editor.hint": "Можно сразу подставить запись из списка медленных SQL",
"sql_analysis.workbench.action.run": "Запустить диагностику",
"sql_analysis.explain.error.query_required": "Текст запроса пуст",
"sql_analysis.explain.error.run_failed": "Диагностика не выполнена",
"sql_analysis.explain.loading": "Выполняется EXPLAIN и разбор плана...",
"sql_analysis.explain.error.title": "Диагностика не выполнена: ",
"sql_analysis.explain.empty": "Введите SQL и запустите диагностику",
"sql_analysis.explain.view.plan": "План выполнения",
"sql_analysis.explain.view.raw": "Исходный текст",
"sql_analysis.explain.meta.node_count": "{{count}} узлов",
"sql_analysis.explain.raw.empty": "(нет исходного текста)",
"sql_analysis.explain_graph.label.table": "Таблица: ",
"sql_analysis.explain_graph.label.index": "Индекс: ",
"sql_analysis.explain_graph.metric.est_rows": "Оценка",
"sql_analysis.explain_graph.metric.actual_rows": "Факт",
"sql_analysis.explain_graph.metric.cost": "Стоимость",
"sql_analysis.explain_graph.flag.full_scan": "Полное сканирование",
"sql_analysis.explain_graph.flag.filesort": "Дополнительная сортировка",
"sql_analysis.explain_graph.flag.temp_table": "Временная таблица",
"sql_analysis.sidebar.stats.title": "Статистика выполнения",
"sql_analysis.sidebar.stats.total_cost": "Общая стоимость",
"sql_analysis.sidebar.stats.total_duration": "Общее время",
"sql_analysis.sidebar.stats.rows_read": "Прочитано строк",
"sql_analysis.sidebar.stats.buffer_hit": "Попадание в буфер",
"sql_analysis.sidebar.stats.max_est_rows": "Макс. оценка строк узла",
"sql_analysis.sidebar.warning.full_scan": "Обнаружено полное сканирование таблицы",
"sql_analysis.sidebar.warning.filesort": "Обнаружена дополнительная сортировка",
"sql_analysis.sidebar.warning.temp_table": "Используется временная таблица",
"sql_analysis.sidebar.node.title": "Сведения об узле",
"sql_analysis.sidebar.node.op_type": "Тип операции",
"sql_analysis.sidebar.node.op_detail": "Детали операции",
"sql_analysis.sidebar.node.table": "Таблица",
"sql_analysis.sidebar.node.index": "Индекс",
"sql_analysis.sidebar.node.est_rows": "Оценка строк",
"sql_analysis.sidebar.node.actual_rows": "Фактические строки",
"sql_analysis.sidebar.node.loops": "Число циклов",
"sql_analysis.sidebar.node.cost": "Стоимость",
"sql_analysis.sidebar.node.duration": "Длительность",
"sql_analysis.sidebar.node.buffer_hit": "Попадание в буфер",
"sql_analysis.sidebar.node.flags": "Флаги",
"sql_analysis.sidebar.node.extra": "Поля Extra ({{count}})",
"sql_analysis.sidebar.suggestions.title": "Рекомендации по индексам ({{count}})",
"sql_analysis.sidebar.suggestions.empty": "Явных проблем с производительностью не найдено",
"sql_analysis.sidebar.suggestions.rows": "{{count}} строк",
"sql_analysis.sidebar.suggestions.table": "Таблица: {{table}}",
"sql_analysis.slow_query.error.load_failed": "Не удалось загрузить",
"sql_analysis.slow_query.message.cleared": "История медленных запросов очищена",
"sql_analysis.slow_query.error.clear_failed": "Не удалось очистить",
"sql_analysis.slow_query.sort.duration": "По длительности",
"sql_analysis.slow_query.sort.rows_read": "По прочитанным строкам",
"sql_analysis.slow_query.sort.recent": "По времени",
"sql_analysis.slow_query.tooltip.clear_current": "Очистить историю текущего подключения",
"sql_analysis.slow_query.loading": "Загрузка истории медленных запросов...",
"sql_analysis.slow_query.error.title": "Не удалось загрузить: ",
"sql_analysis.slow_query.empty": "Записей о медленных запросах пока нет (порог {{threshold}}ms)",
"sql_analysis.slow_query.title": "История медленных SQL",
"sql_analysis.slow_query.current_connection": "(текущее подключение)",
"sql_analysis.slow_query.metric.rows_read": "Прочитано",
"sql_analysis.slow_query.metric.rows_returned": "Возвращено",
"sql_analysis.slow_query.preview.empty": "(нет предпросмотра SQL)",
"sql_analysis.slow_query.relative.just_now": "Только что",
"sql_analysis.slow_query.relative.minutes_ago": "{{count}} мин. назад",
"sql_analysis.slow_query.relative.hours_ago": "{{count}} ч назад",
"sql_analysis.slow_query.relative.days_ago": "{{count}} дн. назад",
"sql_analysis.slow_query.rail.tooltip.no_connection": "Сначала откройте вкладку с подключением к базе данных",
"sql_analysis.slow_query.rail.tooltip.open": "Открыть рабочую область анализа SQL для текущего подключения",
"sql_analysis.slow_query.rail.aria_label": "Рабочая область медленных SQL",
"sql_analysis.backend.error.query_required": "SQL-запрос не может быть пустым",
"sql_analysis.backend.error.select_only": "Диагностика поддерживает только запросы SELECT / WITH. Для операций записи используйте режим EXPLAIN PLAN (поддержка PR2).",
"sql_analysis.backend.error.driver_explain_failed": "Ошибка выполнения EXPLAIN драйвером: {{detail}}",
"sql_analysis.backend.error.explain_execution_failed": "Ошибка выполнения EXPLAIN: {{detail}}",
"sql_analysis.backend.error.explain_result_missing": "Набор результатов EXPLAIN не был возвращён",
"sql_analysis.backend.error.explain_result_empty": "Набор результатов EXPLAIN пуст",
"sql_analysis.backend.error.explain_dialect_unsupported": "Диалект EXPLAIN для {{dbType}} не поддерживается",
"sql_analysis.backend.error.explain_query_not_implemented": "Генерация EXPLAIN-запроса для {{dbType}} не реализована",
"sql_analysis.backend.error.unsupported_db_type": "Текущий источник данных ({{dbType}}) пока не поддерживает диагностику SQL. На первом этапе поддерживаются MySQL/PostgreSQL/SQLite/ClickHouse/Oracle/SQLServer/OceanBase.",
"sql_analysis.backend.message.completed": "Диагностика завершена",
"query_history.backend.error.connection_fingerprint_invalid": "Не удалось разобрать отпечаток подключения",
"query_history.backend.message.loaded": "Загрузка завершена",
"query_history.backend.message.cleared": "История медленных запросов очищена",
"connection.backend.error.readonly_action_blocked": "Для этого подключения включена защита production, операция «{{action}}» запрещена.",
"connection.backend.action.create_database": "Создать базу данных",
"connection.backend.action.create_schema": "Создать схему",
"connection.backend.action.rename_schema": "Переименовать схему",
"connection.backend.action.drop_schema": "Удалить схему",
"connection.backend.action.rename_database": "Переименовать базу данных",
"connection.backend.action.drop_database": "Удалить базу данных",
"connection.backend.action.rename_table": "Переименовать таблицу",
"connection.backend.action.drop_table": "Удалить таблицу",
"connection.backend.action.drop_view": "Удалить представление",
"connection.backend.action.drop_function_or_procedure": "Удалить функцию или хранимую процедуру",
"connection.backend.action.rename_view": "Переименовать представление",
"connection.backend.action.import_data": "Импортировать данные",
"connection.backend.action.apply_result_changes": "Применить изменения результата",
"connection.backend.action.preview_result_changes": "Предпросмотр изменений результата",
"connection.backend.action.clear_table": "Очистить данные таблицы",
"connection.backend.action.truncate_table": "Очистить таблицу через TRUNCATE",
"connection.backend.action.data_sync_write": "Записать синхронизированные данные",
"connection_modal.field.readOnly.label": "Защита прод-подключения",
"connection_modal.field.readOnly.help": "Если включено, для этого подключения разрешены только запросы. Импорт, изменения схемы, запись данных и использование как цели синхронизации будут запрещены.",
"connection_modal.field.readOnly.checkbox": "Пометить это подключение как production и разрешить только запросы",
"query_editor.message.connection_readonly_blocked": "Для этого подключения включена защита production, разрешены только операции запроса.",
"query_editor.results_panel.message.action.copy": "Копировать",
"query_editor.results_panel.message.copy_unsupported": "Буфер обмена недоступен в текущей среде",
"query_editor.results_panel.message.copy_failed": "Не удалось скопировать сообщение: {{detail}}",
"db.backend.error.test_connection_close_failed": "Подключение выполнено, но не удалось закрыть тестовое подключение: {{detail}}",
"file.backend.dialog.select_batch_export_directory": "Выберите каталог для пакетного экспорта",
"redis.backend.error.test_connection_close_failed": "Подключение выполнено, но не удалось закрыть тестовое подключение: {{detail}}",
"data_export.progress.rows_written": "Записано {{current}} строк",
"data_export.progress.rows_written_with_total": "Записано {{current}} / {{total}} строк",
"data_export.progress.stage.preparing_export": "Подготовка экспорта",
"data_export.progress.stage.exporting_sql_file": "Экспорт SQL-файла",
"data_export.progress.stage.preparing_batch_tables_export": "Подготовка пакетного экспорта объектов",
"data_export.progress.stage.preparing_batch_databases_export": "Подготовка пакетного экспорта баз данных",
"data_export.progress.stage.exporting_item_with_progress": "Экспорт {{name}} ({{current}}/{{total}})",
"data_export.progress.stage.querying_data": "Запрос данных",
"data_export.progress.stage.writing_file": "Запись файла",
"data_export.progress.stage.finalizing_file_write": "Завершение записи файла",
"data_export.progress.stage.finalizing_xlsx_package": "Упаковка и сжатие XLSX-файла",
"data_export.progress.stage.finalizing_csv_write": "Завершение записи CSV",
"data_export.progress.stage.export_failed": "Ошибка экспорта",
"sql_analysis.workbench.tab_title": "SQL-анализ",
"sql_analysis.workbench.tab_title_with_database": "SQL-анализ · {{database}}"
"trigger_viewer.warning.refresh_latest_failed": "Не удалось обновить последнее определение"
}