feat(ui): 导出/备份 — otpauth URI 列表 + 加密备份导出/恢复

- qr/export.go: EntryToOtpAuth + OtpAuth.URI,将 config.Entry 反向
  转换为标准 otpauth:// URI(Battle.Net/Steam 标记为 partial)
- dialog_export.go: Tab 切换对话框,otpauth URI 列表可复制 +
  加密备份文件导出(独立密码,0o600 权限)
- dialog_restore_backup.go: 从 .winauth.bak 恢复,密码验证后合并
- settings_menu: 新增 Export / Restore Backup 菜单项
- i18n: en/zh-CN/de 三语翻译
This commit is contained in:
2026-06-12 10:44:51 +08:00
parent 133091a32e
commit fd4d756823
8 changed files with 722 additions and 0 deletions
+50
View File
@@ -523,3 +523,53 @@ other = "Passwortschutz aktivieren"
[btn_welcome_skip]
other = "Vorerst überspringen"
# --- Export / Backup ---
[menu_export]
other = "Exportieren..."
[menu_restore_backup]
other = "Backup wiederherstellen..."
[dialog_export_title]
other = "Authentifikatoren exportieren"
[export_tab_otpauth]
other = "otpauth://-URIs"
[export_tab_backup]
other = "Verschlüsseltes Backup"
[export_otpauth_intro]
other = "Unten stehen die Standard-otpauth://-URIs für jeden Eintrag. Sie können in andere Authenticator-Apps (Google Authenticator, Authy usw.) importiert werden."
[export_partial_warning]
other = "Teilweiser Export — herstellerspezifische Felder fehlen"
[export_backup_intro]
other = "Schreibe eine verschlüsselte Backupdatei, die auf jedem Rechner wiederhergestellt werden kann. Wähle ein starkes Passwort — es ist NICHT mit dem aktuellen WinAuth-Passwort verknüpft."
[label_backup_path]
other = "Pfad zur Backupdatei"
[btn_export]
other = "Exportieren"
[msg_empty_backup_path]
other = "Bitte den Pfad zur Backupdatei eingeben."
[msg_export_done]
other = "Backup erfolgreich exportiert."
[msg_export_failed]
other = "Export fehlgeschlagen: %s"
[dialog_restore_backup_title]
other = "Backup wiederherstellen"
[restore_backup_intro]
other = "Wähle eine verschlüsselte Backupdatei (.winauth.bak) und gib das beim Erstellen gesetzte Passwort ein. Einträge werden an die aktuelle Liste angehängt."
[msg_restore_done]
other = "Backup wiederhergestellt."