{
    "page": {
        "title": "Настройки"
    },
    "sections": {
        "general": {
            "title": "Общие"
        },
        "appearance": {
            "title": "Внешний вид"
        },
        "network": {
            "title": "Сеть"
        },
        "security": {
            "title": "Безопасность"
        },
        "maintenance": {
            "title": "Обслуживание"
        },
        "openapi": {
            "title": "OpenAPI"
        }
    },
    "systemConfig": {
        "restartRequired": "Системная конфигурация сохранена. Часть изменений вступит в силу после перезапуска AstrBot.",
        "groups": {
            "runtime": {
                "title": "Базовый запуск",
                "subtitle": "Часовой пояс и внешний адрес callback."
            },
            "network": {
                "title": "Прокси и источники зависимостей",
                "subtitle": "Runtime-прокси, параметры установки Python-зависимостей и источник PyPI."
            },
            "webuiSecurity": {
                "title": "Безопасность WebUI",
                "subtitle": "HTTPS, proxy-заголовки, ограничения входа и TOTP."
            },
            "logs": {
                "title": "Логи",
                "subtitle": "Консольные логи, файловые логи и Trace."
            },
            "tempStorage": {
                "title": "Кэш",
                "subtitle": "Порог автоматической очистки временной папки."
            },
            "t2iRendering": {
                "title": "Текст в изображение",
                "subtitle": "Стратегия, endpoint и пользовательские шаблоны для рендеринга."
            }
        },
        "messages": {
            "loadFailed": "Не удалось загрузить системную конфигурацию",
            "saveSuccess": "Системная конфигурация сохранена",
            "saveFailed": "Не удалось сохранить системную конфигурацию"
        }
    },
    "network": {
        "title": "Сеть",
        "githubProxy": {
            "title": "Зеркало GitHub",
            "subtitle": "Адрес для ускорения загрузки плагинов и обновлений AstrBot. Особенно актуально для пользователей из Китая. Все адреса предоставляются как есть, если обновление не удается — проверьте доступность выбранного зеркала.",
            "label": "Выбрать ускоритель GitHub"
        },
        "proxySelector": {
            "title": "Ускорение GitHub",
            "noProxy": "Не использовать",
            "useProxy": "Включить",
            "testConnection": "Проверить соединение",
            "available": "Доступен",
            "unavailable": "Недоступен",
            "custom": "Свой вариант"
        }
    },
    "theme": {
        "title": "Тема оформления",
        "subtitle": "Настройка основных и дополнительных цветов. Изменения вступают в силу немедленно и сохраняются в браузере.",
        "customize": {
            "title": "Цвета темы",
            "primary": "Основной",
            "secondary": "Дополнительный",
            "reset": "Сбросить"
        }
    },
    "system": {
        "title": "Система",
        "restart": {
            "title": "Перезапуск",
            "subtitle": "Выполнить мягкий перезапуск AstrBot",
            "confirm": "Перезапустить AstrBot сейчас? Во время перезапуска WebUI может быть временно недоступен.",
            "button": "Перезагрузить"
        },
        "backup": {
            "title": "Резервное копирование",
            "subtitle": "Важнейший инструмент для безопасного переноса данных между серверами.",
            "button": "Управление бэкапами"
        },
        "cleanup": {
            "title": "Очистка логов и кэша",
            "subtitle": "Показывает текущий размер логов и кэша и позволяет очистить их прямо из WebUI.",
            "refresh": "Обновить",
            "clean": "Очистить",
            "cleanAll": "Очистить все",
            "panel": {
                "title": "Детали очистки",
                "subtitle": "Текущий размер: {size}"
            },
            "fileCount": "{count} файлов",
            "confirm": "Очистить {target}?",
            "targetNames": {
                "cache": "кэш",
                "logs": "логи",
                "all": "логи и кэш"
            },
            "targets": {
                "cache": {
                    "title": "Кэш",
                    "subtitle": "Удаляет временные файлы, кэш каталога плагинов и кэш навыков.",
                    "button": "Очистить кэш"
                },
                "logs": {
                    "title": "Логи",
                    "subtitle": "Удаляет старые файлы логов и очищает текущие активные логи.",
                    "button": "Очистить логи"
                }
            },
            "messages": {
                "statusFailed": "Не удалось получить размер хранилища",
                "cleanupSuccess": "Очищено {count} файлов, освобождено {size}",
                "cleanupFailed": "Ошибка очистки"
            }
        }
    },
    "sidebar": {
        "title": "Боковая панель",
        "customize": {
            "title": "Настройка меню",
            "subtitle": "Перетаскивайте элементы, чтобы изменить их порядок или скрыть в группе «Дополнительно». Настройки сохраняются локально в браузере.",
            "reset": "Сбросить порядок",
            "mainItems": "Основные разделы",
            "moreItems": "Дополнительно"
        }
    },
    "backup": {
        "dialog": {
            "title": "Резервное копирование"
        },
        "tabs": {
            "export": "Экспорт",
            "import": "Импорт",
            "list": "Список копий"
        },
        "export": {
            "title": "Создать резервную копию",
            "description": "Экспорт всех данных в ZIP-архив, включая базы данных, базу знаний, конфигурации, вложения и Skills.",
            "includes": "Включает: основную БД, векторные индексы знаний, файлы конфигурации, медиа-вложения, Skills.",
            "button": "Начать экспорт",
            "processing": "Экспорт...",
            "wait": "Пожалуйста, подождите, мы упаковываем данные...",
            "completed": "Готово!",
            "download": "Скачать архив",
            "another": "Создать новый",
            "failed": "Ошибка экспорта",
            "retry": "Повторить"
        },
        "import": {
            "title": "Восстановление из копии",
            "warning": "⚠️ Внимание! Импорт полностью удалит и перезапишет текущие данные! Убедитесь, что у вас есть копия текущего состояния.",
            "selectFile": "Выберите ZIP-архив",
            "uploadAndCheck": "Загрузить и проверить",
            "uploading": "Загрузка...",
            "uploadWait": "Файл передается на сервер...",
            "uploadInit": "Инициализация...",
            "uploadingChunks": "Передача фрагментов...",
            "uploadComplete": "Загружено, идет сборка...",
            "checking": "Проверка структуры...",
            "invalidBackup": "Некорректный файл резервной копии",
            "backupContents": "Состав архива",
            "tables": "таблиц БД",
            "knowledgeBases": "баз знаний",
            "configFiles": "конфигов",
            "confirmImport": "Подтвердите импорт",
            "button": "Начать восстановление",
            "processing": "Восстановление...",
            "wait": "Идет процесс развертывания данных...",
            "completed": "Восстановление успешно завершено!",
            "restartRequired": "Данные восстановлены. Необходимо немедленно перезапустить AstrBot для вступления изменений в силу.",
            "restartNow": "Перезапустить сейчас",
            "failed": "Ошибка импорта",
            "retry": "Повторить",
            "version": {
                "backupVersion": "Версия бэкапа",
                "currentVersion": "Текущая версия",
                "backupTime": "Дата создания",
                "matchTitle": "✅ Версии совпадают",
                "matchMessage": "Импорт перезапишет все текущие данные, включая:\n• Основную БД (чаты, настройки)\n• Базы знаний\n• Плагины и их данные\n• Файлы конфигурации\n• Skills\n\nЭто действие необратимо! Продолжить?",
                "minorDiffTitle": "⚠️ Разница в минорной версии",
                "minorDiffMessage": "Разница в минорных версиях обычно допустима, но структура данных могла немного измениться. Все текущие данные будут удалены!\n\nПродолжить импорт?",
                "majorDiffTitle": "⛔ Импорт невозможен",
                "majorDiffMessage": "Версии основного выпуска различаются. Импорт между мажорными версиями может привести к фатальному повреждению данных.\nИспользуйте AstrBot той же основной версии."
            }
        },
        "list": {
            "empty": "Резервные копии не найдены",
            "refresh": "Обновить список",
            "confirmDelete": "Вы уверены, что хотите безвозвратно удалить эту копию?",
            "uploaded": "Загружено",
            "restore": "Восстановить из этого файла",
            "rename": "Переименовать",
            "renameTitle": "Переименование файла",
            "newName": "Новое имя",
            "renameHint": "Разрешены буквы, цифры, точки, дефисы и подчеркивания",
            "renameRequired": "Введите имя файла",
            "renameInvalidChars": "Имя содержит недопустимые символы",
            "renameFailed": "Ошибка переименования",
            "ftpHint": "Для больших архивов вы можете загружать их напрямую в папку data/backups через FTP/SFTP."
        }
    },
    "apiKey": {
        "title": "API Keys",
        "manageTitle": "Ключи доступа разработчика",
        "subtitle": "Управление токенами для доступа к открытому HTTP API AstrBot.",
        "name": "Имя ключа",
        "expiresInDays": "Срок действия",
        "expiryOptions": {
            "day1": "1 день",
            "day7": "7 дней",
            "day30": "30 дней",
            "day90": "90 дней",
            "permanent": "Бессрочно"
        },
        "permanentWarning": "Бессрочные ключи менее безопасны. Пожалуйста, храните их в надежном месте.",
        "scopes": "Область доступа (Scopes)",
        "create": "Создать API Key",
        "revoke": "Отозвать",
        "delete": "Удалить",
        "copy": "Копировать",
        "docsLink": "Документация API",
        "plaintextHint": "Обязательно сохраните ключ сейчас. После закрытия окна вы больше не сможете увидеть его значение.",
        "empty": "Ключи не созданы",
        "status": {
            "active": "Активен",
            "inactive": "Неактивен"
        },
        "table": {
            "name": "Имя",
            "prefix": "Префикс",
            "scopes": "Права",
            "status": "Статус",
            "lastUsed": "Использован",
            "createdAt": "Создан",
            "actions": "Действия"
        },
        "messages": {
            "loadFailed": "Не удалось загрузить ключи",
            "scopeRequired": "Выберите хотя бы одну область доступа",
            "createSuccess": "API Key создан",
            "createFailed": "Ошибка создания ключа",
            "revokeSuccess": "Ключ отозван",
            "revokeFailed": "Ошибка отзыва ключа",
            "deleteSuccess": "Ключ удален",
            "deleteFailed": "Ошибка удаления ключа",
            "copySuccess": "Ключ скопирован",
            "copyFailed": "Ошибка копирования"
        }
    }
}
