mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-08-04 20:55:19 +02:00
Enhance backup and restore functionality with improved localization and error handling
This commit is contained in:
parent
10418f85cc
commit
9d004a17db
14 changed files with 204 additions and 50 deletions
|
@ -329,7 +329,7 @@ class BackupViewSet(viewsets.ViewSet):
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
return Response({'error': 'Invalid JSON in backup file'},
|
return Response({'error': 'Invalid JSON in backup file'},
|
||||||
status=status.HTTP_400_BAD_REQUEST)
|
status=status.HTTP_400_BAD_REQUEST)
|
||||||
except Exception as e:
|
except Exception:
|
||||||
import logging
|
import logging
|
||||||
logging.error("Import failed", exc_info=True)
|
logging.error("Import failed", exc_info=True)
|
||||||
return Response({'error': 'An internal error occurred during import'},
|
return Response({'error': 'An internal error occurred during import'},
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Sichern Sie Ihr Konto",
|
"secure_your_account": "Sichern Sie Ihr Konto",
|
||||||
"setup_required": "Setup erforderlich",
|
"setup_required": "Setup erforderlich",
|
||||||
"verify_setup": "Überprüfen Sie das Setup",
|
"verify_setup": "Überprüfen Sie das Setup",
|
||||||
"whats_included": "Was ist enthalten"
|
"whats_included": "Was ist enthalten",
|
||||||
|
"backup_your_data": "Sichern Sie Ihre Daten",
|
||||||
|
"backup_your_data_desc": "Laden Sie eine vollständige Sicherung Ihrer Kontodaten, einschließlich Standorte, Sammlungen, Medien und Besuchen, herunter.",
|
||||||
|
"data_override_acknowledge": "Ich bestätige, dass dies alle meine vorhandenen Daten überschreibt",
|
||||||
|
"data_override_acknowledge_desc": "Diese Aktion ist irreversibel und ersetzt alle Standorte, Sammlungen und Besuche in Ihrem Konto.",
|
||||||
|
"data_override_warning": "Daten überschreiben Warnung",
|
||||||
|
"data_override_warning_desc": "Das Wiederherstellen von Daten ersetzt alle vorhandenen Daten (die in der Sicherung enthalten sind) in Ihrem Konto vollständig. \nDiese Aktion kann nicht rückgängig gemacht werden.",
|
||||||
|
"integrations_settings": "Integrationseinstellungen",
|
||||||
|
"media": "Medien",
|
||||||
|
"restore_data": "Daten wiederherstellen",
|
||||||
|
"restore_data_desc": "Laden Sie eine Sicherungsdatei hoch, um Ihre Daten wiederherzustellen.",
|
||||||
|
"select_backup_file": "Wählen Sie Sicherungsdatei",
|
||||||
|
"world_travel_visits": "Weltreisebesuche"
|
||||||
},
|
},
|
||||||
"checklist": {
|
"checklist": {
|
||||||
"checklist_delete_error": "Fehler beim Löschen der Checkliste",
|
"checklist_delete_error": "Fehler beim Löschen der Checkliste",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Standort",
|
"location": "Standort",
|
||||||
"locations": "Standorte",
|
"locations": "Standorte",
|
||||||
"my_locations": "Meine Standorte"
|
"my_locations": "Meine Standorte"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Backup herunterladen"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"important": "Important",
|
"important": "Important",
|
||||||
"error_occurred": "An error has occurred",
|
"error_occurred": "An error has occurred",
|
||||||
"mfa_already_enabled": "MFA already enabled",
|
"mfa_already_enabled": "MFA already enabled",
|
||||||
"complete_setup_to_enable": "Complete setup to enable MFA"
|
"complete_setup_to_enable": "Complete setup to enable MFA",
|
||||||
|
"world_travel_visits": "World Travel Visits",
|
||||||
|
"media": "Media",
|
||||||
|
"integrations_settings": "Integrations Settings",
|
||||||
|
"backup_your_data": "Backup Your Data",
|
||||||
|
"backup_your_data_desc": "Download a complete backup of your account data including locations, \t\t\t\t\t\t\t\t\t\tcollections, media, and visits.",
|
||||||
|
"restore_data": "Restore Data",
|
||||||
|
"restore_data_desc": "Upload a backup file to restore your data.",
|
||||||
|
"data_override_warning": "Data Override Warning",
|
||||||
|
"data_override_warning_desc": "Restoring data will completely replace all existing data (that is included \t\t\t\t\t\t\t\t\t\t\t\tin the backup) in your account. This action cannot be undone.",
|
||||||
|
"select_backup_file": "Select backup file",
|
||||||
|
"data_override_acknowledge": "I acknowledge that this will override all my existing data",
|
||||||
|
"data_override_acknowledge_desc": "This action is irreversible and will replace all locations, collections, \t\t\t\t\t\t\t\t\t\t\t\t\t\tand visits in your account."
|
||||||
},
|
},
|
||||||
"collection": {
|
"collection": {
|
||||||
"collection_created": "Collection created successfully!",
|
"collection_created": "Collection created successfully!",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Location",
|
"location": "Location",
|
||||||
"locations": "Locations",
|
"locations": "Locations",
|
||||||
"my_locations": "My Locations"
|
"my_locations": "My Locations"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Download Backup"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Asegure su cuenta",
|
"secure_your_account": "Asegure su cuenta",
|
||||||
"setup_required": "Configuración requerida",
|
"setup_required": "Configuración requerida",
|
||||||
"verify_setup": "Verificar la configuración",
|
"verify_setup": "Verificar la configuración",
|
||||||
"whats_included": "¿Qué está incluido?"
|
"whats_included": "¿Qué está incluido?",
|
||||||
|
"backup_your_data": "Haga una copia de seguridad de sus datos",
|
||||||
|
"backup_your_data_desc": "Descargue una copia de seguridad completa de los datos de su cuenta, incluidas ubicaciones, colecciones, medios y visitas.",
|
||||||
|
"data_override_acknowledge": "Reconozco que esto anulará todos mis datos existentes.",
|
||||||
|
"data_override_acknowledge_desc": "Esta acción es irreversible y reemplazará todas las ubicaciones, colecciones y visitas en su cuenta.",
|
||||||
|
"data_override_warning": "Advertencia de anulación de datos",
|
||||||
|
"data_override_warning_desc": "La restauración de datos reemplazará completamente todos los datos existentes (que se incluyen en la copia de seguridad) en su cuenta. \nEsta acción no se puede deshacer.",
|
||||||
|
"integrations_settings": "Configuración de integraciones",
|
||||||
|
"media": "Medios de comunicación",
|
||||||
|
"restore_data": "Restaurar datos",
|
||||||
|
"restore_data_desc": "Cargue un archivo de copia de seguridad para restaurar sus datos.",
|
||||||
|
"select_backup_file": "Seleccione el archivo de copia de seguridad",
|
||||||
|
"world_travel_visits": "Visitas de viajes mundiales"
|
||||||
},
|
},
|
||||||
"checklist": {
|
"checklist": {
|
||||||
"checklist_delete_error": "Error al eliminar la lista de tareas",
|
"checklist_delete_error": "Error al eliminar la lista de tareas",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Ubicación",
|
"location": "Ubicación",
|
||||||
"locations": "Ubicación",
|
"locations": "Ubicación",
|
||||||
"my_locations": "Mis ubicaciones"
|
"my_locations": "Mis ubicaciones"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Descargar copia de seguridad"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Sécuriser votre compte",
|
"secure_your_account": "Sécuriser votre compte",
|
||||||
"setup_required": "Configuration requise",
|
"setup_required": "Configuration requise",
|
||||||
"verify_setup": "Vérifiez la configuration",
|
"verify_setup": "Vérifiez la configuration",
|
||||||
"whats_included": "Ce qui est inclus"
|
"whats_included": "Ce qui est inclus",
|
||||||
|
"backup_your_data": "Sauvegardez vos données",
|
||||||
|
"backup_your_data_desc": "Téléchargez une sauvegarde complète des données de votre compte, y compris les emplacements, les collections, les médias et les visites.",
|
||||||
|
"data_override_acknowledge": "Je reconnais que cela remplacera toutes mes données existantes",
|
||||||
|
"data_override_acknowledge_desc": "Cette action est irréversible et remplacera tous les emplacements, collections et visites dans votre compte.",
|
||||||
|
"data_override_warning": "Avertissement de remplacement des données",
|
||||||
|
"data_override_warning_desc": "La restauration des données remplacera complètement toutes les données existantes (incluses dans la sauvegarde) dans votre compte. \nCette action ne peut pas être annulée.",
|
||||||
|
"integrations_settings": "Paramètres des intégrations",
|
||||||
|
"media": "Médias",
|
||||||
|
"restore_data": "Restaurer les données",
|
||||||
|
"restore_data_desc": "Téléchargez un fichier de sauvegarde pour restaurer vos données.",
|
||||||
|
"select_backup_file": "Sélectionnez le fichier de sauvegarde",
|
||||||
|
"world_travel_visits": "Visites de voyage dans le monde"
|
||||||
},
|
},
|
||||||
"checklist": {
|
"checklist": {
|
||||||
"checklist_delete_error": "Erreur lors de la suppression de la liste de contrôle",
|
"checklist_delete_error": "Erreur lors de la suppression de la liste de contrôle",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Emplacement",
|
"location": "Emplacement",
|
||||||
"locations": "Lieux",
|
"locations": "Lieux",
|
||||||
"my_locations": "Mes emplacements"
|
"my_locations": "Mes emplacements"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Télécharger la sauvegarde"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Proteggere il tuo account",
|
"secure_your_account": "Proteggere il tuo account",
|
||||||
"setup_required": "Setup richiesto",
|
"setup_required": "Setup richiesto",
|
||||||
"verify_setup": "Verifica la configurazione",
|
"verify_setup": "Verifica la configurazione",
|
||||||
"whats_included": "Cosa è incluso"
|
"whats_included": "Cosa è incluso",
|
||||||
|
"backup_your_data": "Eseguire il backup dei tuoi dati",
|
||||||
|
"backup_your_data_desc": "Scarica un backup completo dei dati dell'account tra cui posizioni, raccolte, media e visite.",
|
||||||
|
"data_override_acknowledge": "Riconosco che questo sovrascriverà tutti i miei dati esistenti",
|
||||||
|
"data_override_acknowledge_desc": "Questa azione è irreversibile e sostituirà tutte le posizioni, le raccolte e le visite nel tuo account.",
|
||||||
|
"data_override_warning": "Avviso di sovraccarico dei dati",
|
||||||
|
"data_override_warning_desc": "Il ripristino dei dati sostituirà completamente tutti i dati esistenti (inclusi nel backup) nel tuo account. \nQuesta azione non può essere annullata.",
|
||||||
|
"integrations_settings": "Impostazioni integrazioni",
|
||||||
|
"media": "Media",
|
||||||
|
"restore_data": "Ripristina i dati",
|
||||||
|
"restore_data_desc": "Carica un file di backup per ripristinare i dati.",
|
||||||
|
"select_backup_file": "Seleziona il file di backup",
|
||||||
|
"world_travel_visits": "Visite di viaggio nel mondo"
|
||||||
},
|
},
|
||||||
"checklist": {
|
"checklist": {
|
||||||
"checklist_delete_error": "Errore durante l'eliminazione della lista di controllo",
|
"checklist_delete_error": "Errore durante l'eliminazione della lista di controllo",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Posizione",
|
"location": "Posizione",
|
||||||
"locations": "Luoghi",
|
"locations": "Luoghi",
|
||||||
"my_locations": "Le mie posizioni"
|
"my_locations": "Le mie posizioni"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Scarica il backup"
|
||||||
}
|
}
|
||||||
|
|
|
@ -615,7 +615,19 @@
|
||||||
"secure_your_account": "계정을 확보하십시오",
|
"secure_your_account": "계정을 확보하십시오",
|
||||||
"setup_required": "설정이 필요합니다",
|
"setup_required": "설정이 필요합니다",
|
||||||
"verify_setup": "설정을 확인하십시오",
|
"verify_setup": "설정을 확인하십시오",
|
||||||
"whats_included": "포함 된 내용"
|
"whats_included": "포함 된 내용",
|
||||||
|
"backup_your_data": "데이터를 백업하십시오",
|
||||||
|
"backup_your_data_desc": "위치, 컬렉션, 미디어 및 방문을 포함하여 계정 데이터의 전체 백업을 다운로드하십시오.",
|
||||||
|
"data_override_acknowledge": "나는 이것이 나의 모든 기존 데이터를 무시할 것임을 인정합니다.",
|
||||||
|
"data_override_acknowledge_desc": "이 조치는 돌이킬 수 없으며 계정의 모든 위치, 컬렉션 및 방문을 대체합니다.",
|
||||||
|
"data_override_warning": "데이터를 우선적으로 경고합니다",
|
||||||
|
"data_override_warning_desc": "데이터 복원은 계정의 모든 기존 데이터 (백업에 포함 된)를 완전히 대체합니다. \n이 조치는 취소 할 수 없습니다.",
|
||||||
|
"integrations_settings": "통합 설정",
|
||||||
|
"media": "메디아",
|
||||||
|
"restore_data": "데이터를 복원하십시오",
|
||||||
|
"restore_data_desc": "백업 파일을 업로드하여 데이터를 복원하십시오.",
|
||||||
|
"select_backup_file": "백업 파일을 선택하십시오",
|
||||||
|
"world_travel_visits": "세계 여행 방문"
|
||||||
},
|
},
|
||||||
"share": {
|
"share": {
|
||||||
"go_to_settings": "설정으로 이동",
|
"go_to_settings": "설정으로 이동",
|
||||||
|
@ -747,5 +759,6 @@
|
||||||
"location": "위치",
|
"location": "위치",
|
||||||
"locations": "위치",
|
"locations": "위치",
|
||||||
"my_locations": "내 위치"
|
"my_locations": "내 위치"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "백업을 다운로드하십시오"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"mfa_required": "MFA vereist",
|
"mfa_required": "MFA vereist",
|
||||||
"scan_qr_code": "Scan QR -code",
|
"scan_qr_code": "Scan QR -code",
|
||||||
"scan_with_authenticator_app": "Scan met authenticator -app",
|
"scan_with_authenticator_app": "Scan met authenticator -app",
|
||||||
"secure_your_account": "Beveilig uw account"
|
"secure_your_account": "Beveilig uw account",
|
||||||
|
"backup_your_data": "Back -up van uw gegevens",
|
||||||
|
"backup_your_data_desc": "Download een volledige back -up van uw accountgegevens, inclusief locaties, collecties, media en bezoeken.",
|
||||||
|
"data_override_acknowledge": "Ik erken dat dit al mijn bestaande gegevens zal overschrijven",
|
||||||
|
"data_override_acknowledge_desc": "Deze actie is onomkeerbaar en vervangt alle locaties, collecties en bezoeken in uw account.",
|
||||||
|
"data_override_warning": "Gegevensoverschrijdende waarschuwing",
|
||||||
|
"data_override_warning_desc": "Het herstellen van gegevens zal alle bestaande gegevens (die in de back -up zijn opgenomen) in uw account volledig vervangen. \nDeze actie kan niet ongedaan worden gemaakt.",
|
||||||
|
"integrations_settings": "Instellingen integraties",
|
||||||
|
"media": "Media",
|
||||||
|
"restore_data": "Herstel gegevens",
|
||||||
|
"restore_data_desc": "Upload een back -upbestand om uw gegevens te herstellen.",
|
||||||
|
"select_backup_file": "Selecteer back -upbestand",
|
||||||
|
"world_travel_visits": "Wereldreizen bezoeken"
|
||||||
},
|
},
|
||||||
"checklist": {
|
"checklist": {
|
||||||
"checklist_delete_error": "Fout bij het verwijderen van de checklist",
|
"checklist_delete_error": "Fout bij het verwijderen van de checklist",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Locatie",
|
"location": "Locatie",
|
||||||
"locations": "Locaties",
|
"locations": "Locaties",
|
||||||
"my_locations": "Mijn locaties"
|
"my_locations": "Mijn locaties"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Download back -up"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Sikre kontoen din",
|
"secure_your_account": "Sikre kontoen din",
|
||||||
"setup_required": "Oppsett kreves",
|
"setup_required": "Oppsett kreves",
|
||||||
"verify_setup": "Bekreft oppsett",
|
"verify_setup": "Bekreft oppsett",
|
||||||
"whats_included": "Hva som er inkludert"
|
"whats_included": "Hva som er inkludert",
|
||||||
|
"backup_your_data": "Sikkerhetskopiere dataene dine",
|
||||||
|
"backup_your_data_desc": "Last ned en komplett sikkerhetskopi av kontodataene dine, inkludert steder, samlinger, media og besøk.",
|
||||||
|
"data_override_acknowledge": "Jeg erkjenner at dette vil overstyre alle mine eksisterende data",
|
||||||
|
"data_override_acknowledge_desc": "Denne handlingen er irreversibel og vil erstatte alle steder, samlinger og besøk på kontoen din.",
|
||||||
|
"data_override_warning": "Data overstyrer advarsel",
|
||||||
|
"data_override_warning_desc": "Gjenoppretting av data vil erstatte alle eksisterende data fullstendig (som er inkludert i sikkerhetskopien) på kontoen din. \nDenne handlingen kan ikke angres.",
|
||||||
|
"integrations_settings": "Integrasjoner Innstillinger",
|
||||||
|
"media": "Media",
|
||||||
|
"restore_data": "Gjenopprett data",
|
||||||
|
"restore_data_desc": "Last opp en sikkerhetskopifil for å gjenopprette dataene dine.",
|
||||||
|
"select_backup_file": "Velg sikkerhetskopifil",
|
||||||
|
"world_travel_visits": "Verdens reisebesøk"
|
||||||
},
|
},
|
||||||
"collection": {
|
"collection": {
|
||||||
"collection_created": "Samling opprettet!",
|
"collection_created": "Samling opprettet!",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Sted",
|
"location": "Sted",
|
||||||
"locations": "Lokasjoner",
|
"locations": "Lokasjoner",
|
||||||
"my_locations": "Mine lokasjoner"
|
"my_locations": "Mine lokasjoner"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Last ned sikkerhetskopi"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Zabezpiecz swoje konto",
|
"secure_your_account": "Zabezpiecz swoje konto",
|
||||||
"setup_required": "Wymagana konfiguracja",
|
"setup_required": "Wymagana konfiguracja",
|
||||||
"verify_setup": "Sprawdź konfigurację",
|
"verify_setup": "Sprawdź konfigurację",
|
||||||
"whats_included": "Co jest uwzględnione"
|
"whats_included": "Co jest uwzględnione",
|
||||||
|
"backup_your_data": "Kopie wykonuj kopię zapasową danych",
|
||||||
|
"backup_your_data_desc": "Pobierz pełną kopię zapasową danych konta, w tym lokalizacji, kolekcji, mediów i wizyt.",
|
||||||
|
"data_override_acknowledge": "Przyjmuję do wiadomości, że zastąpi to wszystkie moje istniejące dane",
|
||||||
|
"data_override_acknowledge_desc": "Ta akcja jest nieodwracalna i zastąpi wszystkie lokalizacje, kolekcje i wizyty na Twoim koncie.",
|
||||||
|
"data_override_warning": "Zastąpienie danych ostrzeżenia",
|
||||||
|
"data_override_warning_desc": "Przywracanie danych całkowicie zastąpi wszystkie istniejące dane (które są zawarte w tworzeniu kopii zapasowej) na Twoim koncie. \nTego działania nie można cofnąć.",
|
||||||
|
"integrations_settings": "Ustawienia integracji",
|
||||||
|
"media": "Głoska bezdźwięczna",
|
||||||
|
"restore_data": "Przywróć dane",
|
||||||
|
"restore_data_desc": "Prześlij plik kopii zapasowej, aby przywrócić dane.",
|
||||||
|
"select_backup_file": "Wybierz plik kopii zapasowej",
|
||||||
|
"world_travel_visits": "Wizyty podróży na świecie"
|
||||||
},
|
},
|
||||||
"collection": {
|
"collection": {
|
||||||
"collection_created": "Kolekcja została pomyślnie utworzona!",
|
"collection_created": "Kolekcja została pomyślnie utworzona!",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Lokalizacja",
|
"location": "Lokalizacja",
|
||||||
"locations": "Lokalizacje",
|
"locations": "Lokalizacje",
|
||||||
"my_locations": "Moje lokalizacje"
|
"my_locations": "Moje lokalizacje"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Pobierz kopię zapasową"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Защитите свою учетную запись",
|
"secure_your_account": "Защитите свою учетную запись",
|
||||||
"setup_required": "Настройка требуется",
|
"setup_required": "Настройка требуется",
|
||||||
"verify_setup": "Проверьте настройку",
|
"verify_setup": "Проверьте настройку",
|
||||||
"whats_included": "Что включено"
|
"whats_included": "Что включено",
|
||||||
|
"backup_your_data": "Резервную копию ваших данных",
|
||||||
|
"backup_your_data_desc": "Загрузите полное резервное копирование данных вашей учетной записи, включая местоположения, коллекции, медиа и посещения.",
|
||||||
|
"data_override_acknowledge": "Я признаю, что это переопределит все мои существующие данные",
|
||||||
|
"data_override_acknowledge_desc": "Это действие необратимо и заменит все местоположения, коллекции и посещения в вашем аккаунте.",
|
||||||
|
"data_override_warning": "Предупреждение о переопределении данных",
|
||||||
|
"data_override_warning_desc": "Восстановление данных полностью заменит все существующие данные (которые включены в резервную копию) в вашу учетную запись. \nЭто действие не может быть отменено.",
|
||||||
|
"integrations_settings": "Настройки интеграции",
|
||||||
|
"media": "СМИ",
|
||||||
|
"restore_data": "Восстановить данные",
|
||||||
|
"restore_data_desc": "Загрузите файл резервного копирования, чтобы восстановить ваши данные.",
|
||||||
|
"select_backup_file": "Выберите файл резервного копирования",
|
||||||
|
"world_travel_visits": "Всемирные поездки"
|
||||||
},
|
},
|
||||||
"collection": {
|
"collection": {
|
||||||
"collection_created": "Коллекция успешно создана!",
|
"collection_created": "Коллекция успешно создана!",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Расположение",
|
"location": "Расположение",
|
||||||
"locations": "Локации",
|
"locations": "Локации",
|
||||||
"my_locations": "Мои локации"
|
"my_locations": "Мои локации"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Скачать резервную копию"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "Säkra ditt konto",
|
"secure_your_account": "Säkra ditt konto",
|
||||||
"setup_required": "Installation krävs",
|
"setup_required": "Installation krävs",
|
||||||
"verify_setup": "Verifiera installationen",
|
"verify_setup": "Verifiera installationen",
|
||||||
"whats_included": "Vad ingår"
|
"whats_included": "Vad ingår",
|
||||||
|
"backup_your_data": "Säkerhetskopiera dina data",
|
||||||
|
"backup_your_data_desc": "Ladda ner en fullständig säkerhetskopia av dina kontodata inklusive platser, samlingar, media och besök.",
|
||||||
|
"data_override_acknowledge": "Jag erkänner att detta kommer att åsidosätta alla mina befintliga uppgifter",
|
||||||
|
"data_override_acknowledge_desc": "Denna åtgärd är irreversibel och kommer att ersätta alla platser, samlingar och besök på ditt konto.",
|
||||||
|
"data_override_warning": "Data åsidosättande varning",
|
||||||
|
"data_override_warning_desc": "Återställa data kommer helt att ersätta alla befintliga data (som ingår i säkerhetskopian) i ditt konto. \nDenna åtgärd kan inte ångras.",
|
||||||
|
"integrations_settings": "Integrationsinställningar",
|
||||||
|
"media": "Media",
|
||||||
|
"restore_data": "Återställa data",
|
||||||
|
"restore_data_desc": "Ladda upp en säkerhetskopieringsfil för att återställa dina data.",
|
||||||
|
"select_backup_file": "Välj säkerhetskopieringsfil",
|
||||||
|
"world_travel_visits": "Världsresebesök"
|
||||||
},
|
},
|
||||||
"checklist": {
|
"checklist": {
|
||||||
"checklist_delete_error": "Ett fel uppstod vid borttagning av checklista",
|
"checklist_delete_error": "Ett fel uppstod vid borttagning av checklista",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "Plats",
|
"location": "Plats",
|
||||||
"locations": "Plats",
|
"locations": "Plats",
|
||||||
"my_locations": "Mina platser"
|
"my_locations": "Mina platser"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "Ladda ner säkerhetskopiering"
|
||||||
}
|
}
|
||||||
|
|
|
@ -523,7 +523,19 @@
|
||||||
"secure_your_account": "保护您的帐户",
|
"secure_your_account": "保护您的帐户",
|
||||||
"setup_required": "需要设置",
|
"setup_required": "需要设置",
|
||||||
"verify_setup": "验证设置",
|
"verify_setup": "验证设置",
|
||||||
"whats_included": "包括什么"
|
"whats_included": "包括什么",
|
||||||
|
"backup_your_data": "备份您的数据",
|
||||||
|
"backup_your_data_desc": "下载您的帐户数据的完整备份,包括位置,集合,媒体和访问。",
|
||||||
|
"data_override_acknowledge": "我承认这将覆盖我所有现有数据",
|
||||||
|
"data_override_acknowledge_desc": "此操作是不可逆转的,将取代您帐户中的所有位置,收集和访问。",
|
||||||
|
"data_override_warning": "数据覆盖警告",
|
||||||
|
"data_override_warning_desc": "还原数据将完全替换帐户中的所有现有数据(备份中包含在备份中)。\n该动作不能撤消。",
|
||||||
|
"integrations_settings": "集成设置",
|
||||||
|
"media": "媒体",
|
||||||
|
"restore_data": "还原数据",
|
||||||
|
"restore_data_desc": "上传备份文件以还原数据。",
|
||||||
|
"select_backup_file": "选择备份文件",
|
||||||
|
"world_travel_visits": "世界旅行访问"
|
||||||
},
|
},
|
||||||
"checklist": {
|
"checklist": {
|
||||||
"checklist_delete_error": "删除清单时出错",
|
"checklist_delete_error": "删除清单时出错",
|
||||||
|
@ -748,5 +760,6 @@
|
||||||
"location": "地点",
|
"location": "地点",
|
||||||
"locations": "位置",
|
"locations": "位置",
|
||||||
"my_locations": "我的位置"
|
"my_locations": "我的位置"
|
||||||
}
|
},
|
||||||
|
"settings_download_backup": "下载备份"
|
||||||
}
|
}
|
||||||
|
|
|
@ -951,38 +951,38 @@
|
||||||
<!-- Backed Up -->
|
<!-- Backed Up -->
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>📍 Locations</span>
|
<span>📍 {$t('locations.locations')}</span>
|
||||||
<span>✅</span>
|
<span>✅</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>🚶 Visits</span>
|
<span>🚶 {$t('adventures.visits')}</span>
|
||||||
<span>✅</span>
|
<span>✅</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>📚 Collections</span>
|
<span>📚 {$t('navbar.collections')}</span>
|
||||||
<span>✅</span>
|
<span>✅</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>🖼️ Media</span>
|
<span>🖼️ {$t('settings.media')}</span>
|
||||||
<span>✅</span>
|
<span>✅</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>🌍 World Travel Visits</span>
|
<span>🌍 {$t('settings.world_travel_visits')}</span>
|
||||||
<span>✅</span>
|
<span>✅</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Not Backed Up -->
|
<!-- Not Backed Up -->
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>⚙️ Settings</span>
|
<span>⚙️ {$t('navbar.settings')}</span>
|
||||||
<span>❌</span>
|
<span>❌</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>👤 Profile</span>
|
<span>👤 {$t('navbar.profile')}</span>
|
||||||
<span>❌</span>
|
<span>❌</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span>🔗 Integrations</span>
|
<span>🔗 {$t('settings.integrations_settings')}</span>
|
||||||
<span>❌</span>
|
<span>❌</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between opacity-30">
|
<div class="flex items-center justify-between opacity-30">
|
||||||
|
@ -996,21 +996,22 @@
|
||||||
<div class="space-y-6">
|
<div class="space-y-6">
|
||||||
<!-- Backup Data -->
|
<!-- Backup Data -->
|
||||||
<div class="p-6 bg-base-200 rounded-xl">
|
<div class="p-6 bg-base-200 rounded-xl">
|
||||||
<h3 class="text-lg font-semibold mb-4">📤 Backup Your Data</h3>
|
<h3 class="text-lg font-semibold mb-4">📤 {$t('settings.backup_your_data')}</h3>
|
||||||
<p class="text-base-content/70 mb-4">
|
<p class="text-base-content/70 mb-4">
|
||||||
Download a complete backup of your account data including locations,
|
{$t('settings.backup_your_data_desc')}
|
||||||
collections, media, and visits.
|
|
||||||
</p>
|
</p>
|
||||||
<div class="flex gap-4">
|
<div class="flex gap-4">
|
||||||
<a class="btn btn-primary" href="/api/backup/export"> 💾 Download Backup </a>
|
<a class="btn btn-primary" href="/api/backup/export">
|
||||||
|
💾 {$t('settings_download_backup')}
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Restore Data -->
|
<!-- Restore Data -->
|
||||||
<div class="p-6 bg-base-200 rounded-xl">
|
<div class="p-6 bg-base-200 rounded-xl">
|
||||||
<h3 class="text-lg font-semibold mb-4">📥 Restore Data</h3>
|
<h3 class="text-lg font-semibold mb-4">📥 {$t('settings.restore_data')}</h3>
|
||||||
<p class="text-base-content/70 mb-4">
|
<p class="text-base-content/70 mb-4">
|
||||||
Upload a backup file to restore your data.
|
{$t('settings.restore_data_desc')}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!-- Warning Alert -->
|
<!-- Warning Alert -->
|
||||||
|
@ -1029,10 +1030,9 @@
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
<div>
|
<div>
|
||||||
<h4 class="font-bold">⚠️ Data Override Warning</h4>
|
<h4 class="font-bold">⚠️ {$t('settings.data_override_warning')}</h4>
|
||||||
<p class="text-sm">
|
<p class="text-sm">
|
||||||
Restoring data will completely replace all existing data (that is included
|
{$t('settings.data_override_warning_desc')}
|
||||||
in the backup) in your account. This action cannot be undone.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1048,7 +1048,9 @@
|
||||||
<div class="form-control">
|
<div class="form-control">
|
||||||
<!-- svelte-ignore a11y-label-has-associated-control -->
|
<!-- svelte-ignore a11y-label-has-associated-control -->
|
||||||
<label class="label">
|
<label class="label">
|
||||||
<span class="label-text font-medium">Select backup file</span>
|
<span class="label-text font-medium"
|
||||||
|
>{$t('settings.select_backup_file')}</span
|
||||||
|
>
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
type="file"
|
type="file"
|
||||||
|
@ -1057,9 +1059,6 @@
|
||||||
accept=".zip"
|
accept=".zip"
|
||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
<div class="label">
|
|
||||||
<span class="label-text-alt">Supported formats: .zip</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Acknowledgment Checkbox -->
|
<!-- Acknowledgment Checkbox -->
|
||||||
|
@ -1075,11 +1074,10 @@
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<span class="label-text font-medium text-warning"
|
<span class="label-text font-medium text-warning"
|
||||||
>I acknowledge that this will override all my existing data</span
|
>{$t('settings.data_override_acknowledge')}</span
|
||||||
>
|
>
|
||||||
<p class="text-xs text-base-content/60 mt-1">
|
<p class="text-xs text-base-content/60 mt-1">
|
||||||
This action is irreversible and will replace all locations, collections,
|
{$t('settings.data_override_acknowledge_desc')}
|
||||||
and visits in your account.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</label>
|
</label>
|
||||||
|
@ -1110,7 +1108,7 @@
|
||||||
class="btn btn-warning"
|
class="btn btn-warning"
|
||||||
disabled={!acknowledgeRestoreOverride}
|
disabled={!acknowledgeRestoreOverride}
|
||||||
>
|
>
|
||||||
🚀 Restore Data
|
🚀 {$t('settings.restore_data')}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue