feat(settings): add dedicated Sync tab with CardDAV contacts integration
- Rename Calendar tab to Synchronization with two sections: * Calendar Sync (Google, Apple, CalDAV, ICS) * Contact Sync (CardDAV) - NEW - Add visual tab grouping with CSS separators between sections - Implement CardDAV account management UI: * Add/delete accounts * Enable/disable addressbooks * Manual sync trigger * Connection testing - Add UX improvements: * Status badges (success/error/syncing) * Empty states with onboarding * Inline help tooltips (prepared) * Breadcrumb navigation (prepared) - Update i18n keys in all 14 locales - All 109 tests passing Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "تمت استعادة قاعدة البيانات. جارٍ إعادة التحميل...",
|
||||
"backupCliTitle": "استعادة CLI / Docker Compose",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "يمكنك أيضًا إنشاء نسخة مباشرة عبر Docker Compose:"
|
||||
"backupCliBackupHint": "يمكنك أيضًا إنشاء نسخة مباشرة عبر Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "تخطيط عائلي. آمن. يحترم الخصوصية. مفتوح المصدر.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "إنشاء إدخال جديد",
|
||||
"search": "فتح البحث"
|
||||
}
|
||||
}
|
||||
}
|
||||
+46
-2
@@ -758,14 +758,26 @@
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen",
|
||||
"navigationLabel": "Einstellungsnavigation",
|
||||
"breadcrumbLabel": "Pfad",
|
||||
"sectionPersonal": "Persönlich",
|
||||
"sectionModulesNav": "Module",
|
||||
"sectionSync": "Synchronisation",
|
||||
"sectionAdmin": "Administration",
|
||||
"tabGeneral": "Allgemein",
|
||||
"tabMeals": "Mahlzeiten",
|
||||
"tabBudget": "Budget",
|
||||
"tabShopping": "Einkauf",
|
||||
"tabCalendar": "Kalender",
|
||||
"tabFamily": "Familienverwaltung",
|
||||
"tabSync": "Synchronisation",
|
||||
"tabSyncCalendar": "Kalender",
|
||||
"tabSyncContacts": "Kontakte",
|
||||
"sectionContactSync": "Kontakt-Synchronisation",
|
||||
"cardavTitle": "CardDAV Kontakte",
|
||||
"tabFamily": "Familie",
|
||||
"tabApiTokens": "API-Tokens",
|
||||
"tabAccount": "Konto",
|
||||
"tabBackup": "Backup",
|
||||
"tabsAriaLabel": "Einstellungsbereiche",
|
||||
"sectionDesign": "Design",
|
||||
"sectionAppName": "Anwendungsname",
|
||||
@@ -1015,7 +1027,39 @@
|
||||
"calendarDisabled": "Kalender deaktiviert",
|
||||
"calendarsRefreshed": "Kalender aktualisiert",
|
||||
"deleteAccountConfirm": "CalDAV-Konto wirklich löschen? Alle synchronisierten Kalender werden entfernt.",
|
||||
"lastSync": "Zuletzt synchronisiert"
|
||||
"lastSync": "Zuletzt synchronisiert",
|
||||
"cardavTitle": "CardDAV Kontakte",
|
||||
"cardavDescription": "Verbinde mehrere CardDAV-Konten (iCloud, Nextcloud, Radicale, etc.) und synchronisiere deine Kontakte.",
|
||||
"cardavAddAccount": "CardDAV-Konto hinzufügen",
|
||||
"cardavEmptyState": "Noch keine CardDAV-Konten verbunden. Füge dein erstes Konto hinzu, um Kontakte zu synchronisieren.",
|
||||
"cardavNameLabel": "Kontoname",
|
||||
"cardavNamePlaceholder": "z.B. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server-URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "Die Basis-URL deines CardDAV-Servers",
|
||||
"cardavUsernameLabel": "Benutzername",
|
||||
"cardavPasswordLabel": "Passwort",
|
||||
"cardavPasswordHint": "Für iCloud: App-spezifisches Passwort von appleid.apple.com verwenden",
|
||||
"cardavAccountAdded": "CardDAV-Konto erfolgreich hinzugefügt",
|
||||
"cardavAccountDeleted": "CardDAV-Konto entfernt",
|
||||
"cardavSyncSuccess": "CardDAV-Synchronisation erfolgreich",
|
||||
"cardavSyncFailed": "CardDAV-Synchronisation fehlgeschlagen",
|
||||
"cardavConnectionFailed": "Verbindung zum CardDAV-Server fehlgeschlagen",
|
||||
"cardavAddressbooksToggle": "Adressbücher anzeigen/ausblenden",
|
||||
"cardavRefreshAddressbooks": "Adressbücher aktualisieren",
|
||||
"addressbookEnabled": "Adressbuch aktiviert",
|
||||
"addressbookDisabled": "Adressbuch deaktiviert",
|
||||
"addressbooksRefreshed": "Adressbücher aktualisiert",
|
||||
"deleteCardDAVAccountConfirm": "CardDAV-Konto wirklich löschen? Alle synchronisierten Kontakte bleiben erhalten, verlieren aber die CardDAV-Verknüpfung.",
|
||||
"statusSynced": "Synchronisiert",
|
||||
"statusError": "Fehler",
|
||||
"statusSyncing": "Synchronisiert…",
|
||||
"statusNeverSynced": "Noch nie synchronisiert",
|
||||
"syncedAgo": "vor {{time}}",
|
||||
"helpTooltipCalDAV": "CalDAV ermöglicht die Synchronisation von Kalendern mit iCloud, Nextcloud und anderen CalDAV-Servern.",
|
||||
"helpTooltipCardDAV": "CardDAV ermöglicht die Synchronisation von Kontakten mit iCloud, Nextcloud und anderen CardDAV-Servern.",
|
||||
"emptyStateAddFirst": "Füge dein erstes Konto hinzu",
|
||||
"emptyStateNoAccounts": "Noch keine Konten verbunden"
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Familienplanung. Sicher. Datenschutzfreundlich. Open Source.",
|
||||
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Η βάση επαναφέρθηκε. Επαναφόρτωση...",
|
||||
"backupCliTitle": "Επαναφορά CLI / Docker Compose",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "Μπορείτε επίσης να δημιουργήσετε αντίγραφο απευθείας με Docker Compose:"
|
||||
"backupCliBackupHint": "Μπορείτε επίσης να δημιουργήσετε αντίγραφο απευθείας με Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Οικογενειακός προγραμματισμός. Ασφαλής. Φιλικός προς την ιδιωτικότητα. Ανοιχτός κώδικας.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Δημιουργία νέας εγγραφής",
|
||||
"search": "Άνοιγμα αναζήτησης"
|
||||
}
|
||||
}
|
||||
}
|
||||
+26
-1
@@ -760,7 +760,9 @@
|
||||
"tabFamily": "Family Management",
|
||||
"tabApiTokens": "API Tokens",
|
||||
"tabAccount": "Account",
|
||||
"tabSync": "Synchronization",
|
||||
"tabsAriaLabel": "Settings sections",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"sectionDesign": "Appearance",
|
||||
"sectionAppName": "Application name",
|
||||
"sectionModules": "Modules",
|
||||
@@ -1009,7 +1011,30 @@
|
||||
"calendarDisabled": "Calendar disabled",
|
||||
"calendarsRefreshed": "Calendars refreshed",
|
||||
"deleteAccountConfirm": "Really delete CalDAV account? All synced calendars will be removed.",
|
||||
"lastSync": "Last synced"
|
||||
"lastSync": "Last synced",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Family planning. Secure. Privacy-friendly. Open source.",
|
||||
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Base de datos restaurada. Recargando...",
|
||||
"backupCliTitle": "Restauración por CLI / Docker Compose",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "También puedes crear una copia directamente con Docker Compose:"
|
||||
"backupCliBackupHint": "También puedes crear una copia directamente con Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Planificación familiar. Segura. Privada. Código abierto.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Crear nueva entrada",
|
||||
"search": "Abrir búsqueda"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Base restaurée. Rechargement...",
|
||||
"backupCliTitle": "Restauration CLI / Docker Compose",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "Tu peux aussi créer une sauvegarde directement avec Docker Compose :"
|
||||
"backupCliBackupHint": "Tu peux aussi créer une sauvegarde directement avec Docker Compose :",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Planification familiale. Sécurisée. Respectueuse de la vie privée. Open source.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Créer une nouvelle entrée",
|
||||
"search": "Ouvrir la recherche"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "डेटाबेस पुनर्स्थापित हुआ। फिर से लोड हो रहा है...",
|
||||
"backupCliTitle": "CLI / Docker Compose पुनर्स्थापना",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "आप Docker Compose से सीधे बैकअप भी बना सकते हैं:"
|
||||
"backupCliBackupHint": "आप Docker Compose से सीधे बैकअप भी बना सकते हैं:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "पारिवारिक योजना। सुरक्षित। गोपनीयता-अनुकूल। ओपन सोर्स।",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "नई प्रविष्टि बनाएं",
|
||||
"search": "खोज खोलें"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Database ripristinato. Ricaricamento...",
|
||||
"backupCliTitle": "Ripristino CLI / Docker Compose",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "Puoi anche creare un backup direttamente con Docker Compose:"
|
||||
"backupCliBackupHint": "Puoi anche creare un backup direttamente con Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Pianificazione familiare. Sicura. Rispettosa della privacy. Open source.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Crea nuova voce",
|
||||
"search": "Apri ricerca"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "データベースを復元しました。再読み込み中...",
|
||||
"backupCliTitle": "CLI / Docker Compose 復元",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "Docker Compose から直接バックアップを作成することもできます:"
|
||||
"backupCliBackupHint": "Docker Compose から直接バックアップを作成することもできます:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "家族計画。安全。プライバシー重視。オープンソース。",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "新規エントリを作成",
|
||||
"search": "検索を開く"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Banco de dados restaurado. Recarregando...",
|
||||
"backupCliTitle": "Restauração via CLI / Docker Compose",
|
||||
"backupCliHint": "Para restaurações operacionais, pare a aplicação, monte o backup em um container temporário e substitua o arquivo do banco de dados.",
|
||||
"backupCliBackupHint": "Você também pode criar um backup diretamente pelo Docker Compose:"
|
||||
"backupCliBackupHint": "Você também pode criar um backup diretamente pelo Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Planejamento familiar. Seguro. Privado. Código aberto.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Criar nova entrada",
|
||||
"search": "Abrir pesquisa"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "База данных восстановлена. Перезагрузка...",
|
||||
"backupCliTitle": "Восстановление CLI / Docker Compose",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "Также можно создать копию напрямую через Docker Compose:"
|
||||
"backupCliBackupHint": "Также можно создать копию напрямую через Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Семейное планирование. Безопасно. С уважением к приватности. Открытый исходный код.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Создать новую запись",
|
||||
"search": "Открыть поиск"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Databasen återställd. Laddar om...",
|
||||
"backupCliTitle": "CLI / Docker Compose-återställning",
|
||||
"backupCliHint": "För driftåterställningar, stoppa appen, montera säkerhetskopian i en tillfällig container och byt ut databasfilen.",
|
||||
"backupCliBackupHint": "Du kan också skapa en backup direkt med Docker Compose:"
|
||||
"backupCliBackupHint": "Du kan också skapa en backup direkt med Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Familjeplanering. Säker. Sekretessvänlig. Öppen källkod.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"goShop": "Inköpslista",
|
||||
"goNotes": "Anteckningar"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Veritabanı geri yüklendi. Yeniden yükleniyor...",
|
||||
"backupCliTitle": "CLI / Docker Compose geri yükleme",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "Docker Compose ile doğrudan yedek de oluşturabilirsiniz:"
|
||||
"backupCliBackupHint": "Docker Compose ile doğrudan yedek de oluşturabilirsiniz:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Aile planlaması. Güvenli. Gizlilik dostu. Açık kaynak.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Yeni giriş oluştur",
|
||||
"search": "Aramayı aç"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "Базу даних відновлено. Перезавантаження...",
|
||||
"backupCliTitle": "Відновлення CLI / Docker Compose",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "Також можна створити копію безпосередньо через Docker Compose:"
|
||||
"backupCliBackupHint": "Також можна створити копію безпосередньо через Docker Compose:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "Планування для родини. Безпечно. Конфіденційно. Відкритий код.",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "Створити новий запис",
|
||||
"search": "Відкрити пошук"
|
||||
}
|
||||
}
|
||||
}
|
||||
+27
-2
@@ -952,7 +952,32 @@
|
||||
"backupRestoredToast": "数据库已恢复。正在重新加载...",
|
||||
"backupCliTitle": "CLI / Docker Compose 恢复",
|
||||
"backupCliHint": "For operational restores, stop the app, mount the backup in a temporary container and replace the database file.",
|
||||
"backupCliBackupHint": "也可以直接通过 Docker Compose 创建备份:"
|
||||
"backupCliBackupHint": "也可以直接通过 Docker Compose 创建备份:",
|
||||
"tabSync": "Synchronization",
|
||||
"sectionContactSync": "Contact Synchronization",
|
||||
"cardavTitle": "CardDAV Contacts",
|
||||
"cardavDescription": "Connect multiple CardDAV accounts (iCloud, Nextcloud, Radicale, etc.) and sync your contacts.",
|
||||
"cardavAddAccount": "Add CardDAV Account",
|
||||
"cardavEmptyState": "No CardDAV accounts connected yet. Add your first account to sync contacts.",
|
||||
"cardavNameLabel": "Account name",
|
||||
"cardavNamePlaceholder": "e.g. iCloud, Nextcloud",
|
||||
"cardavUrlLabel": "CardDAV Server URL",
|
||||
"cardavUrlPlaceholder": "https://contacts.icloud.com",
|
||||
"cardavUrlHint": "The base URL of your CardDAV server",
|
||||
"cardavUsernameLabel": "Username",
|
||||
"cardavPasswordLabel": "Password",
|
||||
"cardavPasswordHint": "For iCloud: Use app-specific password from appleid.apple.com",
|
||||
"cardavAccountAdded": "CardDAV account added successfully",
|
||||
"cardavAccountDeleted": "CardDAV account removed",
|
||||
"cardavSyncSuccess": "CardDAV sync successful",
|
||||
"cardavSyncFailed": "CardDAV sync failed",
|
||||
"cardavConnectionFailed": "Connection to CardDAV server failed",
|
||||
"cardavAddressbooksToggle": "Show/hide addressbooks",
|
||||
"cardavRefreshAddressbooks": "Refresh addressbooks",
|
||||
"addressbookEnabled": "Addressbook enabled",
|
||||
"addressbookDisabled": "Addressbook disabled",
|
||||
"addressbooksRefreshed": "Addressbooks refreshed",
|
||||
"deleteCardDAVAccountConfirm": "Really delete CardDAV account? All synced contacts will remain but lose their CardDAV link."
|
||||
},
|
||||
"login": {
|
||||
"tagline": "家庭规划。安全。注重隐私。开源。",
|
||||
@@ -1191,4 +1216,4 @@
|
||||
"new": "创建新条目",
|
||||
"search": "打开搜索"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user