Files
amneziavpnphp/migrations/002_translations_ru.sql
infosave2007 fc39346240 feat: добавлена возможность импорта из wg-easy и 3x-ui панелей
Основные изменения:
- Создан класс PanelImporter для парсинга и импорта клиентов
- Добавлена поддержка wg-easy (db.json)
- Добавлена поддержка 3x-ui (export JSON)
- Создана таблица panel_imports для отслеживания истории
- Добавлен UI для загрузки backup файлов при создании сервера
- Добавлены API endpoints: POST /api/servers/{id}/import и GET /api/servers/{id}/imports
- Автоматический импорт после деплоя сервера
- Переводы на всех 6 языках (EN, RU, ES, DE, FR, ZH)
- Обновлена документация в README

Функционал:
- Импорт клиентов с сохранением ключей и IP (wg-easy)
- Импорт клиентов с автогенерацией ключей (3x-ui)
- Поддержка экспирации и лимитов трафика из исходных панелей
- История импортов с информацией о количестве клиентов
- Обработка ошибок с детальным логированием
2025-11-08 12:40:43 +03:00

149 lines
9.2 KiB
SQL

-- RU translations
-- This migration adds RU language translations
INSERT INTO translations (language_code, translation_key, translation_value) VALUES
('ru', 'auth.email', 'Email'),
('ru', 'auth.login', 'Вход'),
('ru', 'auth.name', 'Имя'),
('ru', 'auth.password', 'Пароль'),
('ru', 'auth.register', 'Регистрация'),
('ru', 'backups.create', 'Создать резервную копию'),
('ru', 'backups.create_confirm', 'Создать резервную копию всех клиентов на этом сервере?'),
('ru', 'backups.created_success', 'Резервная копия успешно создана'),
('ru', 'backups.delete_confirm', 'Удалить эту резервную копию навсегда?'),
('ru', 'backups.deleted_success', 'Резервная копия успешно удалена'),
('ru', 'backups.login_required', 'Пожалуйста, войдите через API для управления резервными копиями'),
('ru', 'backups.no_backups', 'Пока нет резервных копий'),
('ru', 'backups.restore', 'Восстановить'),
('ru', 'backups.restore_confirm', 'Восстановить клиентов из этой резервной копии? Существующие клиенты не будут затронуты.'),
('ru', 'backups.restored_success', 'Восстановлено'),
('ru', 'backups.title', 'Резервные копии сервера'),
('ru', 'clients.actions', 'Действия'),
('ru', 'clients.add', 'Добавить клиента'),
('ru', 'clients.create', 'Создать клиента'),
('ru', 'clients.delete', 'Удалить'),
('ru', 'clients.delete_confirm', 'Удалить этого клиента навсегда?'),
('ru', 'clients.download_config', 'Скачать конфигурацию'),
('ru', 'clients.expiration', 'Срок действия'),
('ru', 'clients.expired', 'Истек'),
('ru', 'clients.ip', 'IP-адрес'),
('ru', 'clients.last_handshake', 'Последнее соединение'),
('ru', 'clients.name', 'Имя клиента'),
('ru', 'clients.never', 'Никогда'),
('ru', 'clients.never_expires', 'Бессрочно'),
('ru', 'clients.no_clients', 'Пока нет клиентов'),
('ru', 'clients.overlimit', 'Превышен лимит'),
('ru', 'clients.qr_code', 'QR-код'),
('ru', 'clients.received', 'Получено'),
('ru', 'clients.restore', 'Восстановить'),
('ru', 'clients.revoke', 'Отозвать'),
('ru', 'clients.revoke_confirm', 'Отозвать доступ для этого клиента?'),
('ru', 'clients.sent', 'Отправлено'),
('ru', 'clients.server', 'Сервер'),
('ru', 'clients.status', 'Статус'),
('ru', 'clients.sync_stats', 'Синхронизировать статистику'),
('ru', 'clients.title', 'Клиенты'),
('ru', 'clients.traffic', 'Трафик'),
('ru', 'clients.traffic_limit', 'Лимит трафика'),
('ru', 'clients.unlimited', 'Безлимитно'),
('ru', 'clients.custom_seconds', 'Своё значение (секунды)'),
('ru', 'clients.custom_mb', 'Своё значение (МБ)'),
('ru', 'clients.enter_seconds', 'Введите секунды'),
('ru', 'clients.enter_megabytes', 'Введите мегабайты'),
('ru', 'common.days', 'дней'),
('ru', 'dashboard.active_clients', 'Активные клиенты'),
('ru', 'dashboard.add_first_server', 'Добавить первый сервер'),
('ru', 'dashboard.get_started', 'Начните с добавления вашего первого VPN-сервера'),
('ru', 'dashboard.no_servers', 'Пока нет серверов'),
('ru', 'dashboard.quick_actions', 'Быстрые действия'),
('ru', 'dashboard.recent_servers', 'Недавние серверы'),
('ru', 'dashboard.title', 'Панель управления'),
('ru', 'dashboard.total_clients', 'Всего клиентов'),
('ru', 'dashboard.total_servers', 'Всего серверов'),
('ru', 'dashboard.total_traffic', 'Общий трафик'),
('ru', 'dashboard.welcome', 'Добро пожаловать в панель управления Amnezia VPN'),
('ru', 'form.cancel', 'Отмена'),
('ru', 'form.close', 'Закрыть'),
('ru', 'form.create', 'Создать'),
('ru', 'form.loading', 'Загрузка...'),
('ru', 'form.processing', 'Обработка...'),
('ru', 'form.save', 'Сохранить'),
('ru', 'form.submit', 'Отправить'),
('ru', 'form.update', 'Обновить'),
('ru', 'menu.clients', 'Клиенты'),
('ru', 'menu.dashboard', 'Панель управления'),
('ru', 'menu.logout', 'Выход'),
('ru', 'menu.servers', 'Серверы'),
('ru', 'menu.settings', 'Настройки'),
('ru', 'menu.users', 'Пользователи'),
('ru', 'message.confirm', 'Вы уверены?'),
('ru', 'message.deleted', 'Успешно удалено'),
('ru', 'message.deployed', 'Успешно развернуто'),
('ru', 'message.error', 'Произошла ошибка'),
('ru', 'message.saved', 'Успешно сохранено'),
('ru', 'message.success', 'Операция успешно завершена'),
('ru', 'servers.actions', 'Действия'),
('ru', 'servers.add', 'Добавить сервер'),
('ru', 'servers.clients', 'Клиенты'),
('ru', 'servers.delete', 'Удалить'),
('ru', 'servers.deploy', 'Развернуть'),
('ru', 'servers.edit', 'Редактировать'),
('ru', 'servers.host', 'Хост'),
('ru', 'servers.name', 'Имя'),
('ru', 'servers.port', 'Порт'),
('ru', 'servers.status', 'Статус'),
('ru', 'servers.title', 'Серверы'),
('ru', 'servers.view', 'Просмотр'),
('ru', 'settings.actions', 'Действия'),
('ru', 'settings.api_key_configured', 'API-ключ настроен'),
('ru', 'settings.api_keys', 'API-ключи'),
('ru', 'settings.api_keys_desc', 'Настройка API-ключей для внешних сервисов'),
('ru', 'settings.auto_translate', 'Автоперевод'),
('ru', 'settings.change_password', 'Изменить пароль'),
('ru', 'settings.confirm_password', 'Подтвердите пароль'),
('ru', 'settings.confirm_translate', 'Начать автоматический перевод? Это может занять несколько минут.'),
('ru', 'settings.current_password', 'Текущий пароль'),
('ru', 'settings.description', 'Управление конфигурацией панели и интеграциями API'),
('ru', 'settings.error_empty_key', 'API-ключ не может быть пустым'),
('ru', 'settings.error_invalid_key', 'Неверный формат API-ключа'),
('ru', 'settings.error_key_test', 'Тест API-ключа не удался'),
('ru', 'settings.for_translation', 'для автоперевода'),
('ru', 'settings.get_key_at', 'Получите ваш API-ключ на'),
('ru', 'settings.key_saved', 'API-ключ успешно сохранен'),
('ru', 'settings.keys', 'ключи'),
('ru', 'settings.language', 'Язык'),
('ru', 'settings.min_6_chars', 'Минимум 6 символов'),
('ru', 'settings.new_password', 'Новый пароль'),
('ru', 'settings.no_api_key', 'API-ключ не настроен. Автоперевод не будет работать.'),
('ru', 'settings.profile', 'Профиль'),
('ru', 'settings.progress', 'Прогресс'),
('ru', 'settings.skip_validation', 'Пропустить проверку (сохранить без тестирования)'),
('ru', 'settings.translation_complete', 'Перевод завершен'),
('ru', 'settings.translation_status', 'Статус перевода'),
('ru', 'settings.translations', 'Переводы'),
('ru', 'settings.users', 'Пользователи'),
('ru', 'status.active', 'Активен'),
('ru', 'status.deploying', 'Развертывание'),
('ru', 'status.disabled', 'Отключен'),
('ru', 'status.error', 'Ошибка'),
('ru', 'status.inactive', 'Неактивен'),
('ru', 'users.add_user', 'Добавить пользователя'),
('ru', 'users.administrator', 'Администратор'),
('ru', 'users.all_users', 'Все пользователи'),
('ru', 'users.created', 'Создан'),
('ru', 'users.delete_confirm', 'Удалить {0}?'),
('ru', 'users.role', 'Роль'),
('ru', 'users.role_admin', 'Администратор'),
('ru', 'users.role_user', 'Пользователь'),
('ru', 'servers.import_from_panel', 'Импорт из другой панели'),
('ru', 'servers.select_panel_type', 'Выберите тип панели'),
('ru', 'servers.panel_type_wgeasy', 'wg-easy'),
('ru', 'servers.panel_type_3xui', '3x-ui'),
('ru', 'servers.upload_backup_file', 'Загрузите файл резервной копии (JSON)'),
('ru', 'servers.import_in_progress', 'Импорт выполняется...'),
('ru', 'servers.import_success', 'Успешно импортировано клиентов: {0}'),
('ru', 'servers.import_failed', 'Ошибка импорта'),
('ru', 'servers.import_partial', 'Импортировано {0} из {1} клиентов'),
('ru', 'servers.import_history', 'История импорта')
ON DUPLICATE KEY UPDATE translation_value=VALUES(translation_value);