|
665 | 665 | "tabSecurity": "Безопасность", |
666 | 666 | "tabBackup": "Бэкапы", |
667 | 667 | "tabMaintenance": "Обслуживание", |
| 668 | + "tabMigration": "Миграция", |
668 | 669 | "tabSystemDesc": "Производительность, кэш, лимиты и SSH-пул.", |
669 | 670 | "tabSubscriptionDesc": "Внешний вид, кнопки и поведение клиентских приложений.", |
670 | 671 | "tabSecurityDesc": "Администратор, 2FA, API-ключи, MCP и вебхуки.", |
671 | 672 | "tabBackupDesc": "Локальные и S3 бэкапы, расписание, восстановление.", |
672 | 673 | "tabMaintenanceDesc": "Обслуживание, кэш, сброс счётчиков и опасные операции.", |
| 674 | + "tabMigrationDesc": "Бесшовный импорт пользователей из Marzban — старые подписочные ссылки продолжают работать.", |
673 | 675 | "subBrandingTitle": "Брендинг страницы", |
674 | 676 | "subProfileLinksTitle": "Профиль Hiddify", |
675 | 677 | "sslNotConfigured": "SSL не настроен", |
|
1364 | 1366 | "copyCredentials": "Скопировать ссылку", |
1365 | 1367 | "retrySetup": "Повторить настройку", |
1366 | 1368 | "continueManual": "Перейти в панель" |
| 1369 | + }, |
| 1370 | + "migration": { |
| 1371 | + "armed": "Совместимость со старыми ссылками ВКЛЮЧЕНА.", |
| 1372 | + "armedDetail": "Путь: {path} · завершено {date} · импортировано {imported}, пропущено {skipped}, ошибок {errors}", |
| 1373 | + "off": "Совместимость со старыми ссылками ВЫКЛЮЧЕНА. Пройдите мастер ниже, чтобы импортировать пользователей и активировать маршрут.", |
| 1374 | + "disableBtn": "Отключить совместимость", |
| 1375 | + "disableConfirm": "Отключить маршрут совместимости с Marzban? Старые ссылки перестанут открываться до повторного включения.", |
| 1376 | + "step1": "1. Подключение", |
| 1377 | + "step2": "2. Параметры", |
| 1378 | + "step3": "3. Импорт", |
| 1379 | + "step4": "4. Завершение", |
| 1380 | + "connectTitle": "Подключение к исходной панели Marzban", |
| 1381 | + "connectDesc": "Укажите URL панели и учётные данные sudo-администратора (или владельца). Данные не сохраняются — они хранятся только в этой сессии браузера до завершения импорта.", |
| 1382 | + "marzbanUrl": "URL Marzban", |
| 1383 | + "marzbanUrlHint": "Указывайте с протоколом. Завершающие слэши срезаются автоматически.", |
| 1384 | + "adminUsername": "Логин администратора", |
| 1385 | + "adminPassword": "Пароль администратора", |
| 1386 | + "testBtn": "Проверить подключение", |
| 1387 | + "testing": "Проверка…", |
| 1388 | + "continueBtn": "Продолжить", |
| 1389 | + "backBtn": "← Назад", |
| 1390 | + "marzbanUsers": "Пользователей в Marzban", |
| 1391 | + "admins": "Администраторов", |
| 1392 | + "sudoAccess": "Доступ sudo", |
| 1393 | + "status": "Статус", |
| 1394 | + "sudo": "sudo", |
| 1395 | + "limited": "ограниченный", |
| 1396 | + "configureTitle": "Параметры миграции", |
| 1397 | + "configureDesc": "Выберите, в какую группу серверов Celerity попадут пользователи каждого администратора Marzban, задайте путь подписки и вставьте JWT-секрет Marzban — он нужен для проверки старых ссылок.", |
| 1398 | + "pathLabel": "Путь подписки (XRAY_SUBSCRIPTION_PATH)", |
| 1399 | + "pathHint": "Должен совпадать с XRAY_SUBSCRIPTION_PATH исходной панели. По умолчанию sub. Зарезервировано: api, panel, health, sse, docs, public, static.", |
| 1400 | + "acceptSalt": "Принимать случайный URL-salt (только если в Marzban был задан XRAY_SUBSCRIPTION_URL_PREFIX с *).", |
| 1401 | + "jwtSecret": "JWT-секрет Marzban", |
| 1402 | + "jwtSecretPlaceholder": "64-символьная hex-строка из `SELECT secret_key FROM jwt;`", |
| 1403 | + "jwtSecretHint": "Команда ниже запускается внутри контейнера Marzban и читает секрет через родной Python/SQLAlchemy Marzban. Поэтому она работает с SQLite, MySQL и любой другой БД, настроенной в панели. В Celerity секрет хранится в AES-шифровании.", |
| 1404 | + "jwtSecretCommandTitle": "Команда для получения JWT-секрета", |
| 1405 | + "jwtSecretCommandDesc": "Выполните на сервере, где запущен Marzban. Команда автоматически найдёт контейнер Marzban по образу или имени.", |
| 1406 | + "copyCommand": "Скопировать команду", |
| 1407 | + "copied": "Скопировано", |
| 1408 | + "mappingTitle": "Сопоставление: администратор → группа серверов", |
| 1409 | + "mappingDesc": "Пользователи каждого администратора Marzban попадут в выбранную группу серверов Celerity. В списке только активные группы.", |
| 1410 | + "thAdmin": "Администратор Marzban", |
| 1411 | + "thGroup": "Группа серверов Celerity", |
| 1412 | + "skipUsers": "— пропустить пользователей этого администратора —", |
| 1413 | + "fallbackGroup": "Группа по умолчанию (для пользователей без сопоставленного администратора)", |
| 1414 | + "fallbackNone": "— нет —", |
| 1415 | + "onlyActive": "Импортировать только active / on_hold пользователей (рекомендуется).", |
| 1416 | + "importVless": "Переиспользовать UUID VLESS из Marzban (Xray-идентичность остаётся стабильной для тех, у кого уже был VLESS).", |
| 1417 | + "startBtn": "Запустить импорт", |
| 1418 | + "starting": "Запуск…", |
| 1419 | + "runTitle": "Идёт импорт", |
| 1420 | + "runDesc": "Не закрывайте страницу до завершения импорта — задача живёт в памяти панели, перезапуск прервёт прогресс.", |
| 1421 | + "processed": "обработано", |
| 1422 | + "total": "всего", |
| 1423 | + "imported": "импортировано", |
| 1424 | + "skipped": "пропущено", |
| 1425 | + "errors": "ошибок", |
| 1426 | + "conflicts": "конфликтов", |
| 1427 | + "finalizeTitle": "Активация совместимости", |
| 1428 | + "finalizeDesc": "Пользователи уже в Celerity. Последний шаг включает маршрут /{path}/{token}, чтобы старые подписочные ссылки продолжали работать.", |
| 1429 | + "conflictsTitle": "Конфликты (требуют ручной проверки)", |
| 1430 | + "thReason": "Причина", |
| 1431 | + "activateBtn": "Активировать маршрут", |
| 1432 | + "activating": "Активация…", |
| 1433 | + "editOptions": "← Изменить параметры", |
| 1434 | + "startFailed": "Не удалось запустить: {error}", |
| 1435 | + "activateFailed": "Не удалось активировать: {error}", |
| 1436 | + "activateSuccess": "Маршрут совместимости включён. Старые ссылки уже должны открываться.", |
| 1437 | + "disableFailed": "Ошибка: {error}" |
1367 | 1438 | } |
1368 | 1439 | } |
0 commit comments