Add explicit database import UI and harden SQL restore.

This commit is contained in:
orohi
2026-08-09 16:22:38 +03:00
parent bf1c6761fd
commit 58aad90dee
9 changed files with 107 additions and 45 deletions
+8 -4
View File
@@ -362,13 +362,17 @@
"lang_zh": "中文 (Chinese)",
"lang_fa": "فارسی (Persian)",
"backup_title": "Simple Backup",
"backup_export_label": "Export",
"backup_import_label": "Import",
"download_backup": "Download PostgreSQL dump (.sql)",
"download_backup_json": "Export JSON (legacy)",
"backup_hint": "Full PostgreSQL database dump of the panel. Use .sql for complete backup; JSON export is compatible with older versions.",
"backup_hint": "Full PostgreSQL database dump of the panel (.sql / .sql.gz). JSON export is compatible with older versions.",
"restore_backup": "Restore from .sql or .json",
"restore_confirm": "Restore will overwrite all current panel data in the database.",
"restore_success": "Restore successful! Restarting...",
"invalid_backup_file": "Invalid backup file (.sql dump or legacy data.json)",
"import_backup": "Import database (.sql / .sql.gz / .json)",
"importing_backup": "Importing database...",
"restore_confirm": "Import will overwrite all current panel data in the database. Continue?",
"restore_success": "Import successful! Reloading...",
"invalid_backup_file": "Invalid backup file (.sql, .sql.gz or legacy data.json)",
"config_unavailable": "Configuration unavailable",
"config_unavailable_desc": "This client was created via the native Amnezia app.\\nThe private key is stored only on the user\u0027s device and cannot be recovered by the server.",
"client_public_key": "Client public key:",
+8 -4
View File
@@ -344,13 +344,17 @@
"lang_zh": "中文 (Chinese)",
"lang_fa": "فارسی (Persian)",
"backup_title": "پشتیبان‌گیری ساده",
"backup_export_label": "خروجی",
"backup_import_label": "واردات",
"download_backup": "دانلود dump PostgreSQL (.sql)",
"download_backup_json": "خروجی JSON (قدیمی)",
"backup_hint": "Dump کامل پایگاه داده PostgreSQL پنل. برای پشتیبان کامل از .sql استفاده کنید؛ JSON برای نسخه‌های قدیمی.",
"backup_hint": "Dump کامل پایگاه داده PostgreSQL پنل (.sql / .sql.gz). JSON برای نسخه‌های قدیمی.",
"restore_backup": "بازیابی از .sql یا .json",
"restore_confirm": "بازیابی تمام داده‌های فعلی پنل در پایگاه داده را بازنویسی می‌کند.",
"restore_success": "بازیابی موفقیت‌آمیز بود! در حال راه‌اندازی مجدد...",
"invalid_backup_file": "فایل نامعتبر (dump .sql یا data.json قدیمی)",
"import_backup": "واردات پایگاه داده (.sql / .sql.gz / .json)",
"importing_backup": "در حال واردات پایگاه داده...",
"restore_confirm": "واردات تمام داده‌های فعلی پنل در پایگاه داده را بازنویسی می‌کند. ادامه؟",
"restore_success": "واردات موفقیت‌آمیز بود! در حال بارگذاری مجدد...",
"invalid_backup_file": "فایل نامعتبر (.sql، .sql.gz یا data.json قدیمی)",
"config_unavailable": "پیکربندی در دسترس نیست",
"config_unavailable_desc": "این کلاینت از طریق اپلیکیشن اصلی Amnezia ایجاد شده است.\\nکلید خصوصی فقط در دستگاه کاربر ذخیره می‌شود و توسط سرور قابل بازیابی نیست.",
"client_public_key": "کلید عمومی کلاینت:",
+8 -4
View File
@@ -344,13 +344,17 @@
"lang_zh": "中文 (Chinese)",
"lang_fa": "فارسی (Persian)",
"backup_title": "Sauvegarde Simple",
"backup_export_label": "Export",
"backup_import_label": "Import",
"download_backup": "Télécharger le dump PostgreSQL (.sql)",
"download_backup_json": "Exporter JSON (ancien)",
"backup_hint": "Dump complet de la base PostgreSQL du panneau. Utilisez .sql pour une sauvegarde complète ; JSON pour l'ancien format.",
"backup_hint": "Dump complet de la base PostgreSQL du panneau (.sql / .sql.gz). JSON pour l'ancien format.",
"restore_backup": "Restaurer depuis .sql ou .json",
"restore_confirm": "La restauration écrasera toutes les données actuelles du panneau dans la base.",
"restore_success": "Restauration réussie ! Redémarrage...",
"invalid_backup_file": "Fichier invalide (dump .sql ou ancien data.json)",
"import_backup": "Importer la base (.sql / .sql.gz / .json)",
"importing_backup": "Import de la base...",
"restore_confirm": "L'import écrasera toutes les données actuelles du panneau dans la base. Continuer ?",
"restore_success": "Import réussi ! Rechargement...",
"invalid_backup_file": "Fichier invalide (.sql, .sql.gz ou ancien data.json)",
"config_unavailable": "Configuration indisponible",
"config_unavailable_desc": "Ce client a été créé via l\u0027application native Amnezia.\\nLa clé privée est stockée uniquement sur l\u0027appareil de l\u0027utilisateur et ne peut pas être récupérée par le serveur.",
"client_public_key": "Clé publique du client :",
+8 -4
View File
@@ -362,13 +362,17 @@
"lang_zh": "中文 (Chinese)",
"lang_fa": "فارسی (Persian)",
"backup_title": "Резервное копирование",
"backup_export_label": "Экспорт",
"backup_import_label": "Импорт",
"download_backup": "Скачать дамп PostgreSQL (.sql)",
"download_backup_json": "Экспорт JSON (устар.)",
"backup_hint": "Полный дамп базы данных панели. Для бэкапа используйте .sql; JSON — для совместимости со старыми версиями.",
"backup_hint": "Полный дамп базы данных панели (.sql / .sql.gz). JSON — для совместимости со старыми версиями.",
"restore_backup": "Восстановить из .sql или .json",
"restore_confirm": "Восстановление перезапишет все текущие данные панели в базе.",
"restore_success": "Восстановление успешно! Перезагрузка...",
"invalid_backup_file": "Неверный файл (.sql дамп или устаревший data.json)",
"import_backup": "Импортировать базу (.sql / .sql.gz / .json)",
"importing_backup": "Импорт базы...",
"restore_confirm": "Импорт перезапишет все текущие данные панели в базе. Продолжить?",
"restore_success": "Импорт успешно завершён! Перезагрузка...",
"invalid_backup_file": "Неверный файл (.sql, .sql.gz или устаревший data.json)",
"config_unavailable": "Конфигурация недоступна",
"config_unavailable_desc": "Этот клиент был создан через нативное приложение Amnezia.\\nПриватный ключ хранится только на устройстве пользователя и не может быть восстановлен сервером.",
"client_public_key": "Публичный ключ клиента:",
+8 -4
View File
@@ -344,13 +344,17 @@
"lang_zh": "中文 (Chinese)",
"lang_fa": "فارسی (Persian)",
"backup_title": "简易备份",
"backup_export_label": "导出",
"backup_import_label": "导入",
"download_backup": "下载 PostgreSQL 转储 (.sql)",
"download_backup_json": "导出 JSON(旧版)",
"backup_hint": "面板 PostgreSQL 数据库的完整转储。请使用 .sql 进行完整备份;JSON 用于兼容旧版本。",
"backup_hint": "面板 PostgreSQL 数据库的完整转储.sql / .sql.gz)。JSON 用于兼容旧版本。",
"restore_backup": "从 .sql 或 .json 恢复",
"restore_confirm": "恢复将覆盖数据库中所有当前面板数据。",
"restore_success": "恢复成功!正在重启...",
"invalid_backup_file": "无效的备份文件(.sql 转储或旧版 data.json",
"import_backup": "导入数据库(.sql / .sql.gz / .json",
"importing_backup": "正在导入数据库...",
"restore_confirm": "导入将覆盖数据库中所有当前面板数据。继续?",
"restore_success": "导入成功!正在重新加载...",
"invalid_backup_file": "无效的备份文件(.sql、.sql.gz 或旧版 data.json",
"config_unavailable": "配置文件不可用",
"config_unavailable_desc": "此客户端是通过 Amnezia 原生应用创建的。\\n私钥仅存储在用户设备上,服务器无法恢复。",
"client_public_key": "客户端公钥:",