feat: import/export for config and backups
- Add export_config/import_config/export_backup/import_backup to ServerStore - Add 4 buttons row in Setup tab UI with file dialogs - Add i18n keys for EN/RU/ZH (16 keys each) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
51
core/i18n.py
51
core/i18n.py
@@ -187,6 +187,23 @@ _EN = {
|
||||
"restore_confirm": "Restore from '{name}'?\nCurrent data will be overwritten.",
|
||||
"restored": "Restored from: {name}",
|
||||
"restore_failed": "Restore failed: {e}",
|
||||
"export_config": "Export Config",
|
||||
"import_config": "Import Config",
|
||||
"export_backup": "Export Backup",
|
||||
"import_backup": "Import Backup",
|
||||
"export_config_title": "Export Configuration",
|
||||
"export_config_ok": "Config exported to: {path}",
|
||||
"export_config_failed": "Export failed: {e}",
|
||||
"import_config_title": "Import Configuration",
|
||||
"import_config_confirm": "Import will replace all current servers.\nContinue?",
|
||||
"import_config_ok": "Config imported from: {path}",
|
||||
"import_config_failed": "Import failed: {e}",
|
||||
"export_backup_title": "Export Backup",
|
||||
"export_backup_ok": "Backup exported to: {path}",
|
||||
"export_backup_failed": "Backup export failed: {e}",
|
||||
"import_backup_title": "Import Backup",
|
||||
"import_backup_ok": "Backup imported: {name}",
|
||||
"import_backup_failed": "Backup import failed: {e}",
|
||||
"select_servers_json": "Select servers.json",
|
||||
|
||||
# TOTP / 2FA
|
||||
@@ -394,6 +411,23 @@ _RU = {
|
||||
"restore_confirm": "Восстановить из '{name}'?\nТекущие данные будут перезаписаны.",
|
||||
"restored": "Восстановлено из: {name}",
|
||||
"restore_failed": "Ошибка восстановления: {e}",
|
||||
"export_config": "Экспорт конфига",
|
||||
"import_config": "Импорт конфига",
|
||||
"export_backup": "Экспорт бэкапа",
|
||||
"import_backup": "Импорт бэкапа",
|
||||
"export_config_title": "Экспорт конфигурации",
|
||||
"export_config_ok": "Конфиг экспортирован в: {path}",
|
||||
"export_config_failed": "Ошибка экспорта: {e}",
|
||||
"import_config_title": "Импорт конфигурации",
|
||||
"import_config_confirm": "Импорт заменит все текущие серверы.\nПродолжить?",
|
||||
"import_config_ok": "Конфиг импортирован из: {path}",
|
||||
"import_config_failed": "Ошибка импорта: {e}",
|
||||
"export_backup_title": "Экспорт бэкапа",
|
||||
"export_backup_ok": "Бэкап экспортирован в: {path}",
|
||||
"export_backup_failed": "Ошибка экспорта бэкапа: {e}",
|
||||
"import_backup_title": "Импорт бэкапа",
|
||||
"import_backup_ok": "Бэкап импортирован: {name}",
|
||||
"import_backup_failed": "Ошибка импорта бэкапа: {e}",
|
||||
"select_servers_json": "Выберите servers.json",
|
||||
|
||||
# TOTP / 2FA
|
||||
@@ -601,6 +635,23 @@ _ZH = {
|
||||
"restore_confirm": "从 '{name}' 恢复?\n当前数据将被覆盖。",
|
||||
"restored": "已从 {name} 恢复",
|
||||
"restore_failed": "恢复失败:{e}",
|
||||
"export_config": "导出配置",
|
||||
"import_config": "导入配置",
|
||||
"export_backup": "导出备份",
|
||||
"import_backup": "导入备份",
|
||||
"export_config_title": "导出配置",
|
||||
"export_config_ok": "配置已导出到:{path}",
|
||||
"export_config_failed": "导出失败:{e}",
|
||||
"import_config_title": "导入配置",
|
||||
"import_config_confirm": "导入将替换所有当前服务器。\n是否继续?",
|
||||
"import_config_ok": "配置已从 {path} 导入",
|
||||
"import_config_failed": "导入失败:{e}",
|
||||
"export_backup_title": "导出备份",
|
||||
"export_backup_ok": "备份已导出到:{path}",
|
||||
"export_backup_failed": "备份导出失败:{e}",
|
||||
"import_backup_title": "导入备份",
|
||||
"import_backup_ok": "备份已导入:{name}",
|
||||
"import_backup_failed": "备份导入失败:{e}",
|
||||
"select_servers_json": "选择servers.json",
|
||||
|
||||
# TOTP / 2FA
|
||||
|
||||
Reference in New Issue
Block a user