From 0110bff25d58ce63bf675d29daedd94324a6bc38 Mon Sep 17 00:00:00 2001 From: Till JS Date: Tue, 24 Mar 2026 10:28:02 +0100 Subject: [PATCH] feat(calendar): localize sync and sharing settings pages Replace ~70 hardcoded German strings with i18n keys in sync and sharing settings pages. All 5 languages (DE/EN/FR/ES/IT). Co-Authored-By: Claude Opus 4.6 (1M context) --- .../apps/web/src/lib/i18n/locales/de.json | 151 +++++++++++++++++- .../apps/web/src/lib/i18n/locales/en.json | 151 +++++++++++++++++- .../apps/web/src/lib/i18n/locales/es.json | 151 +++++++++++++++++- .../apps/web/src/lib/i18n/locales/fr.json | 151 +++++++++++++++++- .../apps/web/src/lib/i18n/locales/it.json | 83 ++++++++++ .../(app)/settings/sharing/+page.svelte | 70 ++++---- .../routes/(app)/settings/sync/+page.svelte | 115 +++++++------ 7 files changed, 784 insertions(+), 88 deletions(-) diff --git a/apps/calendar/apps/web/src/lib/i18n/locales/de.json b/apps/calendar/apps/web/src/lib/i18n/locales/de.json index da701739a..80719cfd1 100644 --- a/apps/calendar/apps/web/src/lib/i18n/locales/de.json +++ b/apps/calendar/apps/web/src/lib/i18n/locales/de.json @@ -124,7 +124,73 @@ "search": "Suchen", "error": "Fehler", "success": "Erfolgreich", - "calendar": "Kalender" + "calendar": "Kalender", + "create": "Erstellen" + }, + "settings": { + "myCalendars": "Meine Kalender", + "externalCalendars": "Externe Kalender", + "shares": "Kalender-Freigaben", + "appSettings": "App-Einstellungen", + "appSettingsDesc": "Diese Einstellungen werden mit allen Mana Apps synchronisiert", + "calendarView": "Kalender-Ansicht", + "events": "Termine", + "birthdays": "Geburtstage", + "account": "Konto", + "newCalendar": "Neuer Kalender", + "calendarName": "Kalender Name", + "name": "Name", + "color": "Farbe", + "default": "Standard", + "setAsDefault": "Als Standardkalender verwenden", + "currentDefault": "aktueller Standard", + "noCalendars": "Keine Kalender vorhanden", + "calendarCreated": "Kalender erstellt", + "calendarUpdated": "Kalender aktualisiert", + "calendarDeleted": "Kalender gelöscht", + "confirmDeleteCalendar": "Möchten Sie \"{name}\" wirklich löschen?", + "externalCalendarsDesc": "Verbinde Google Calendar, Apple Calendar, CalDAV oder iCal-URLs.", + "manageSync": "Kalender-Sync verwalten", + "sharesDesc": "Teile Kalender mit anderen Nutzern oder verwalte Einladungen.", + "manageShares": "Freigaben verwalten", + "defaultView": "Standard-Ansicht", + "defaultViewDesc": "Ansicht beim Öffnen des Kalenders", + "selectView": "Ansicht wählen", + "viewWeek": "Woche", + "viewMonth": "Monat", + "viewAgenda": "Agenda", + "timeFormat": "Zeitformat", + "timeFormatDesc": "Anzeige der Uhrzeiten", + "weekdaysOnly": "Nur Werktage anzeigen", + "weekdaysOnlyDesc": "Wochenenden in der Kalenderansicht ausblenden", + "showWeekNumbers": "Wochennummern anzeigen", + "showWeekNumbersDesc": "Kalenderwoche (KW) in der Ansicht anzeigen", + "filterHours": "Stunden filtern", + "filterHoursDesc": "Nur bestimmte Stunden in der Tages-/Wochenansicht anzeigen", + "visibleHours": "Sichtbare Stunden", + "visibleHoursDesc": "Zeitbereich der in der Kalenderansicht angezeigt wird", + "hoursFrom": "Von", + "hoursTo": "Bis", + "allDayEvents": "Ganztägige Termine", + "allDayEventsDesc": "Wie sollen ganztägige Termine angezeigt werden?", + "allDayInHeader": "In Kopfzeile", + "allDayAsBlock": "Als Tagesblock", + "defaultDuration": "Standard-Dauer", + "defaultDurationDesc": "Voreingestellte Dauer für neue Termine", + "selectDuration": "Dauer wählen", + "durationMinutes": "{count} Minuten", + "durationHours": "{count} Stunde(n)", + "defaultReminder": "Standard-Erinnerung", + "defaultReminderDesc": "Voreingestellte Erinnerung für neue Termine", + "selectReminder": "Erinnerung wählen", + "reminderNone": "Keine", + "reminderMinutes": "{count} Minuten", + "reminderHour": "1 Stunde", + "reminderDay": "1 Tag", + "showBirthdays": "Geburtstage anzeigen", + "showBirthdaysDesc": "Geburtstage aus Kontakten im Kalender anzeigen", + "showAge": "Alter anzeigen", + "showAgeDesc": "Das Alter der Person bei Geburtstagen anzeigen" }, "errors": { "loadEvents": "Termine konnten nicht geladen werden", @@ -154,5 +220,88 @@ "error": { "notFound": "Seite nicht gefunden", "backToHome": "Zurück zur Startseite" + }, + "sync": { + "pageTitle": "Kalender-Sync - Einstellungen", + "title": "Kalender-Sync", + "back": "Zurück", + "connectCalendar": "Kalender verbinden", + "description": "Verbinde externe Kalender, um Termine zu importieren und zu synchronisieren.", + "emptyState": "Keine externen Kalender verbunden", + "syncNow": "Jetzt synchronisieren", + "disconnect": "Verbindung trennen", + "confirmDisconnect": "\"{name}\" wirklich trennen? Synchronisierte Termine werden gelöscht.", + "neverSynced": "Noch nie", + "directionLabel": "Richtung", + "lastSync": "Letzte Sync", + "statusLabel": "Status", + "autoSync": "Auto-Sync", + "connectCaldav": "CalDAV-Server verbinden", + "connectProvider": "{provider} verbinden", + "searching": "Suche...", + "searchCalendars": "Kalender suchen", + "discoveredCalendars": "Gefundene Kalender:", + "connecting": "Verbinde...", + "connect": "Verbinden", + "direction": { + "import": "Nur Import", + "export": "Nur Export", + "both": "Bidirektional" + }, + "status": { + "error": "Fehler", + "active": "Aktiv (alle {interval} Min.)", + "paused": "Pausiert" + }, + "providers": { + "icalUrl": "iCal URL", + "icalUrlDesc": "ICS-Link importieren (z.B. Feiertage)", + "caldav": "CalDAV", + "caldavDesc": "CalDAV-Server verbinden", + "google": "Google Calendar", + "googleDesc": "Mit Google Kalender synchronisieren", + "apple": "Apple Calendar", + "appleDesc": "iCloud Kalender verbinden" + }, + "form": { + "serverUrl": "Server-URL", + "username": "Benutzername", + "password": "Passwort", + "name": "Name", + "namePlaceholder": "Mein externer Kalender", + "url": "URL", + "syncDirection": "Sync-Richtung" + } + }, + "sharing": { + "pageTitle": "Kalender-Freigaben - Einstellungen", + "title": "Freigaben", + "back": "Zurück", + "shareCalendar": "Kalender teilen", + "invitations": "Einladungen ({count})", + "calendarInvitation": "Kalender-Einladung", + "access": "Zugriff", + "accept": "Annehmen", + "sharedWithMe": "Mit mir geteilt", + "sharedCalendar": "Geteilter Kalender", + "shareMyCalendars": "Meine Kalender teilen", + "notSharedYet": "Noch nicht geteilt", + "linkShare": "Link-Freigabe", + "pending": "Ausstehend", + "removeShare": "Freigabe entfernen", + "confirmRemoveShare": "Freigabe wirklich entfernen?", + "addPerson": "Person hinzufügen", + "share": "Teilen", + "sharing": "Teile...", + "permission": { + "read": "Lesen", + "write": "Lesen & Bearbeiten", + "admin": "Administrator" + }, + "form": { + "calendar": "Kalender", + "email": "E-Mail-Adresse", + "permission": "Berechtigung" + } } } diff --git a/apps/calendar/apps/web/src/lib/i18n/locales/en.json b/apps/calendar/apps/web/src/lib/i18n/locales/en.json index 64d4cdaf5..ce92606cb 100644 --- a/apps/calendar/apps/web/src/lib/i18n/locales/en.json +++ b/apps/calendar/apps/web/src/lib/i18n/locales/en.json @@ -124,7 +124,73 @@ "search": "Search", "error": "Error", "success": "Success", - "calendar": "Calendar" + "calendar": "Calendar", + "create": "Create" + }, + "settings": { + "myCalendars": "My Calendars", + "externalCalendars": "External Calendars", + "shares": "Calendar Sharing", + "appSettings": "App Settings", + "appSettingsDesc": "These settings are synced across all Mana apps", + "calendarView": "Calendar View", + "events": "Events", + "birthdays": "Birthdays", + "account": "Account", + "newCalendar": "New Calendar", + "calendarName": "Calendar Name", + "name": "Name", + "color": "Color", + "default": "Default", + "setAsDefault": "Set as default calendar", + "currentDefault": "current default", + "noCalendars": "No calendars available", + "calendarCreated": "Calendar created", + "calendarUpdated": "Calendar updated", + "calendarDeleted": "Calendar deleted", + "confirmDeleteCalendar": "Are you sure you want to delete \"{name}\"?", + "externalCalendarsDesc": "Connect Google Calendar, Apple Calendar, CalDAV or iCal URLs.", + "manageSync": "Manage calendar sync", + "sharesDesc": "Share calendars with other users or manage invitations.", + "manageShares": "Manage sharing", + "defaultView": "Default View", + "defaultViewDesc": "View when opening the calendar", + "selectView": "Select view", + "viewWeek": "Week", + "viewMonth": "Month", + "viewAgenda": "Agenda", + "timeFormat": "Time Format", + "timeFormatDesc": "How times are displayed", + "weekdaysOnly": "Show weekdays only", + "weekdaysOnlyDesc": "Hide weekends in the calendar view", + "showWeekNumbers": "Show week numbers", + "showWeekNumbersDesc": "Display week numbers in the calendar view", + "filterHours": "Filter hours", + "filterHoursDesc": "Only show certain hours in day/week view", + "visibleHours": "Visible hours", + "visibleHoursDesc": "Time range displayed in the calendar view", + "hoursFrom": "From", + "hoursTo": "To", + "allDayEvents": "All-day events", + "allDayEventsDesc": "How should all-day events be displayed?", + "allDayInHeader": "In header", + "allDayAsBlock": "As day block", + "defaultDuration": "Default Duration", + "defaultDurationDesc": "Default duration for new events", + "selectDuration": "Select duration", + "durationMinutes": "{count} minutes", + "durationHours": "{count} hour(s)", + "defaultReminder": "Default Reminder", + "defaultReminderDesc": "Default reminder for new events", + "selectReminder": "Select reminder", + "reminderNone": "None", + "reminderMinutes": "{count} minutes", + "reminderHour": "1 hour", + "reminderDay": "1 day", + "showBirthdays": "Show birthdays", + "showBirthdaysDesc": "Show birthdays from contacts in the calendar", + "showAge": "Show age", + "showAgeDesc": "Display the person's age on birthdays" }, "errors": { "loadEvents": "Failed to load events", @@ -154,5 +220,88 @@ "error": { "notFound": "Page not found", "backToHome": "Back to home" + }, + "sync": { + "pageTitle": "Calendar Sync - Settings", + "title": "Calendar Sync", + "back": "Back", + "connectCalendar": "Connect calendar", + "description": "Connect external calendars to import and synchronize events.", + "emptyState": "No external calendars connected", + "syncNow": "Sync now", + "disconnect": "Disconnect", + "confirmDisconnect": "Really disconnect \"{name}\"? Synchronized events will be deleted.", + "neverSynced": "Never", + "directionLabel": "Direction", + "lastSync": "Last sync", + "statusLabel": "Status", + "autoSync": "Auto-Sync", + "connectCaldav": "Connect CalDAV server", + "connectProvider": "Connect {provider}", + "searching": "Searching...", + "searchCalendars": "Search calendars", + "discoveredCalendars": "Discovered calendars:", + "connecting": "Connecting...", + "connect": "Connect", + "direction": { + "import": "Import only", + "export": "Export only", + "both": "Bidirectional" + }, + "status": { + "error": "Error", + "active": "Active (every {interval} min.)", + "paused": "Paused" + }, + "providers": { + "icalUrl": "iCal URL", + "icalUrlDesc": "Import ICS link (e.g. holidays)", + "caldav": "CalDAV", + "caldavDesc": "Connect CalDAV server", + "google": "Google Calendar", + "googleDesc": "Sync with Google Calendar", + "apple": "Apple Calendar", + "appleDesc": "Connect iCloud Calendar" + }, + "form": { + "serverUrl": "Server URL", + "username": "Username", + "password": "Password", + "name": "Name", + "namePlaceholder": "My external calendar", + "url": "URL", + "syncDirection": "Sync direction" + } + }, + "sharing": { + "pageTitle": "Calendar Sharing - Settings", + "title": "Sharing", + "back": "Back", + "shareCalendar": "Share calendar", + "invitations": "Invitations ({count})", + "calendarInvitation": "Calendar invitation", + "access": "access", + "accept": "Accept", + "sharedWithMe": "Shared with me", + "sharedCalendar": "Shared calendar", + "shareMyCalendars": "Share my calendars", + "notSharedYet": "Not shared yet", + "linkShare": "Link share", + "pending": "Pending", + "removeShare": "Remove share", + "confirmRemoveShare": "Really remove this share?", + "addPerson": "Add person", + "share": "Share", + "sharing": "Sharing...", + "permission": { + "read": "Read", + "write": "Read & Edit", + "admin": "Admin" + }, + "form": { + "calendar": "Calendar", + "email": "Email address", + "permission": "Permission" + } } } diff --git a/apps/calendar/apps/web/src/lib/i18n/locales/es.json b/apps/calendar/apps/web/src/lib/i18n/locales/es.json index 74f88d420..45c7809fc 100644 --- a/apps/calendar/apps/web/src/lib/i18n/locales/es.json +++ b/apps/calendar/apps/web/src/lib/i18n/locales/es.json @@ -117,10 +117,159 @@ "search": "Buscar", "error": "Error", "success": "Éxito", - "calendar": "Calendario" + "calendar": "Calendario", + "create": "Crear" + }, + "settings": { + "myCalendars": "Mis calendarios", + "externalCalendars": "Calendarios externos", + "shares": "Compartir calendarios", + "appSettings": "Configuración de la app", + "appSettingsDesc": "Estos ajustes se sincronizan con todas las apps de Mana", + "calendarView": "Vista del calendario", + "events": "Eventos", + "birthdays": "Cumpleaños", + "account": "Cuenta", + "newCalendar": "Nuevo calendario", + "calendarName": "Nombre del calendario", + "name": "Nombre", + "color": "Color", + "default": "Predeterminado", + "setAsDefault": "Establecer como calendario predeterminado", + "currentDefault": "predeterminado actual", + "noCalendars": "No hay calendarios disponibles", + "calendarCreated": "Calendario creado", + "calendarUpdated": "Calendario actualizado", + "calendarDeleted": "Calendario eliminado", + "confirmDeleteCalendar": "¿Seguro que quieres eliminar \"{name}\"?", + "externalCalendarsDesc": "Conecta Google Calendar, Apple Calendar, CalDAV o URLs de iCal.", + "manageSync": "Gestionar sincronización", + "sharesDesc": "Comparte calendarios con otros usuarios o gestiona invitaciones.", + "manageShares": "Gestionar compartidos", + "defaultView": "Vista predeterminada", + "defaultViewDesc": "Vista al abrir el calendario", + "selectView": "Seleccionar vista", + "viewWeek": "Semana", + "viewMonth": "Mes", + "viewAgenda": "Agenda", + "timeFormat": "Formato de hora", + "timeFormatDesc": "Cómo se muestran las horas", + "weekdaysOnly": "Mostrar solo días laborables", + "weekdaysOnlyDesc": "Ocultar fines de semana en la vista del calendario", + "showWeekNumbers": "Mostrar números de semana", + "showWeekNumbersDesc": "Mostrar el número de semana en la vista del calendario", + "filterHours": "Filtrar horas", + "filterHoursDesc": "Mostrar solo ciertas horas en la vista de día/semana", + "visibleHours": "Horas visibles", + "visibleHoursDesc": "Rango horario mostrado en la vista del calendario", + "hoursFrom": "Desde", + "hoursTo": "Hasta", + "allDayEvents": "Eventos de todo el día", + "allDayEventsDesc": "¿Cómo se deben mostrar los eventos de todo el día?", + "allDayInHeader": "En encabezado", + "allDayAsBlock": "Como bloque diario", + "defaultDuration": "Duración predeterminada", + "defaultDurationDesc": "Duración predeterminada para nuevos eventos", + "selectDuration": "Seleccionar duración", + "durationMinutes": "{count} minutos", + "durationHours": "{count} hora(s)", + "defaultReminder": "Recordatorio predeterminado", + "defaultReminderDesc": "Recordatorio predeterminado para nuevos eventos", + "selectReminder": "Seleccionar recordatorio", + "reminderNone": "Ninguno", + "reminderMinutes": "{count} minutos", + "reminderHour": "1 hora", + "reminderDay": "1 día", + "showBirthdays": "Mostrar cumpleaños", + "showBirthdaysDesc": "Mostrar cumpleaños de contactos en el calendario", + "showAge": "Mostrar edad", + "showAgeDesc": "Mostrar la edad de la persona en los cumpleaños" }, "error": { "notFound": "Página no encontrada", "backToHome": "Volver al inicio" + }, + "sync": { + "pageTitle": "Sincronización de calendarios - Configuración", + "title": "Sincronización", + "back": "Volver", + "connectCalendar": "Conectar calendario", + "description": "Conecta calendarios externos para importar y sincronizar eventos.", + "emptyState": "No hay calendarios externos conectados", + "syncNow": "Sincronizar ahora", + "disconnect": "Desconectar", + "confirmDisconnect": "¿Realmente desconectar \"{name}\"? Los eventos sincronizados serán eliminados.", + "neverSynced": "Nunca", + "directionLabel": "Dirección", + "lastSync": "Última sincronización", + "statusLabel": "Estado", + "autoSync": "Sincronización automática", + "connectCaldav": "Conectar servidor CalDAV", + "connectProvider": "Conectar {provider}", + "searching": "Buscando...", + "searchCalendars": "Buscar calendarios", + "discoveredCalendars": "Calendarios encontrados:", + "connecting": "Conectando...", + "connect": "Conectar", + "direction": { + "import": "Solo importar", + "export": "Solo exportar", + "both": "Bidireccional" + }, + "status": { + "error": "Error", + "active": "Activo (cada {interval} min.)", + "paused": "Pausado" + }, + "providers": { + "icalUrl": "URL iCal", + "icalUrlDesc": "Importar enlace ICS (ej. festivos)", + "caldav": "CalDAV", + "caldavDesc": "Conectar servidor CalDAV", + "google": "Google Calendar", + "googleDesc": "Sincronizar con Google Calendar", + "apple": "Apple Calendar", + "appleDesc": "Conectar calendario de iCloud" + }, + "form": { + "serverUrl": "URL del servidor", + "username": "Nombre de usuario", + "password": "Contraseña", + "name": "Nombre", + "namePlaceholder": "Mi calendario externo", + "url": "URL", + "syncDirection": "Dirección de sincronización" + } + }, + "sharing": { + "pageTitle": "Compartir calendarios - Configuración", + "title": "Compartidos", + "back": "Volver", + "shareCalendar": "Compartir calendario", + "invitations": "Invitaciones ({count})", + "calendarInvitation": "Invitación de calendario", + "access": "acceso", + "accept": "Aceptar", + "sharedWithMe": "Compartidos conmigo", + "sharedCalendar": "Calendario compartido", + "shareMyCalendars": "Compartir mis calendarios", + "notSharedYet": "Aún no compartido", + "linkShare": "Compartir por enlace", + "pending": "Pendiente", + "removeShare": "Eliminar compartido", + "confirmRemoveShare": "¿Realmente eliminar este compartido?", + "addPerson": "Agregar persona", + "share": "Compartir", + "sharing": "Compartiendo...", + "permission": { + "read": "Lectura", + "write": "Lectura y edición", + "admin": "Administrador" + }, + "form": { + "calendar": "Calendario", + "email": "Dirección de correo", + "permission": "Permiso" + } } } diff --git a/apps/calendar/apps/web/src/lib/i18n/locales/fr.json b/apps/calendar/apps/web/src/lib/i18n/locales/fr.json index d4505eaa1..68db567da 100644 --- a/apps/calendar/apps/web/src/lib/i18n/locales/fr.json +++ b/apps/calendar/apps/web/src/lib/i18n/locales/fr.json @@ -117,10 +117,159 @@ "search": "Rechercher", "error": "Erreur", "success": "Succès", - "calendar": "Calendrier" + "calendar": "Calendrier", + "create": "Créer" + }, + "settings": { + "myCalendars": "Mes calendriers", + "externalCalendars": "Calendriers externes", + "shares": "Partage de calendriers", + "appSettings": "Paramètres de l'app", + "appSettingsDesc": "Ces paramètres sont synchronisés avec toutes les apps Mana", + "calendarView": "Vue du calendrier", + "events": "Événements", + "birthdays": "Anniversaires", + "account": "Compte", + "newCalendar": "Nouveau calendrier", + "calendarName": "Nom du calendrier", + "name": "Nom", + "color": "Couleur", + "default": "Par défaut", + "setAsDefault": "Définir comme calendrier par défaut", + "currentDefault": "par défaut actuel", + "noCalendars": "Aucun calendrier disponible", + "calendarCreated": "Calendrier créé", + "calendarUpdated": "Calendrier mis à jour", + "calendarDeleted": "Calendrier supprimé", + "confirmDeleteCalendar": "Voulez-vous vraiment supprimer \"{name}\" ?", + "externalCalendarsDesc": "Connectez Google Calendar, Apple Calendar, CalDAV ou des URLs iCal.", + "manageSync": "Gérer la synchronisation", + "sharesDesc": "Partagez des calendriers avec d'autres utilisateurs ou gérez les invitations.", + "manageShares": "Gérer les partages", + "defaultView": "Vue par défaut", + "defaultViewDesc": "Vue à l'ouverture du calendrier", + "selectView": "Choisir la vue", + "viewWeek": "Semaine", + "viewMonth": "Mois", + "viewAgenda": "Agenda", + "timeFormat": "Format de l'heure", + "timeFormatDesc": "Affichage des heures", + "weekdaysOnly": "Afficher uniquement les jours ouvrables", + "weekdaysOnlyDesc": "Masquer les week-ends dans la vue du calendrier", + "showWeekNumbers": "Afficher les numéros de semaine", + "showWeekNumbersDesc": "Afficher le numéro de semaine dans la vue du calendrier", + "filterHours": "Filtrer les heures", + "filterHoursDesc": "Afficher uniquement certaines heures dans la vue jour/semaine", + "visibleHours": "Heures visibles", + "visibleHoursDesc": "Plage horaire affichée dans la vue du calendrier", + "hoursFrom": "De", + "hoursTo": "À", + "allDayEvents": "Événements sur toute la journée", + "allDayEventsDesc": "Comment afficher les événements sur toute la journée ?", + "allDayInHeader": "Dans l'en-tête", + "allDayAsBlock": "En bloc journalier", + "defaultDuration": "Durée par défaut", + "defaultDurationDesc": "Durée par défaut pour les nouveaux événements", + "selectDuration": "Choisir la durée", + "durationMinutes": "{count} minutes", + "durationHours": "{count} heure(s)", + "defaultReminder": "Rappel par défaut", + "defaultReminderDesc": "Rappel par défaut pour les nouveaux événements", + "selectReminder": "Choisir le rappel", + "reminderNone": "Aucun", + "reminderMinutes": "{count} minutes", + "reminderHour": "1 heure", + "reminderDay": "1 jour", + "showBirthdays": "Afficher les anniversaires", + "showBirthdaysDesc": "Afficher les anniversaires des contacts dans le calendrier", + "showAge": "Afficher l'âge", + "showAgeDesc": "Afficher l'âge de la personne lors des anniversaires" }, "error": { "notFound": "Page non trouvée", "backToHome": "Retour à l'accueil" + }, + "sync": { + "pageTitle": "Sync des calendriers - Paramètres", + "title": "Sync des calendriers", + "back": "Retour", + "connectCalendar": "Connecter un calendrier", + "description": "Connectez des calendriers externes pour importer et synchroniser des événements.", + "emptyState": "Aucun calendrier externe connecté", + "syncNow": "Synchroniser maintenant", + "disconnect": "Déconnecter", + "confirmDisconnect": "Vraiment déconnecter \"{name}\" ? Les événements synchronisés seront supprimés.", + "neverSynced": "Jamais", + "directionLabel": "Direction", + "lastSync": "Dernière sync", + "statusLabel": "Statut", + "autoSync": "Sync auto", + "connectCaldav": "Connecter un serveur CalDAV", + "connectProvider": "Connecter {provider}", + "searching": "Recherche...", + "searchCalendars": "Rechercher des calendriers", + "discoveredCalendars": "Calendriers trouvés :", + "connecting": "Connexion...", + "connect": "Connecter", + "direction": { + "import": "Import uniquement", + "export": "Export uniquement", + "both": "Bidirectionnel" + }, + "status": { + "error": "Erreur", + "active": "Actif (toutes les {interval} min.)", + "paused": "En pause" + }, + "providers": { + "icalUrl": "URL iCal", + "icalUrlDesc": "Importer un lien ICS (ex. jours fériés)", + "caldav": "CalDAV", + "caldavDesc": "Connecter un serveur CalDAV", + "google": "Google Calendar", + "googleDesc": "Synchroniser avec Google Agenda", + "apple": "Apple Calendar", + "appleDesc": "Connecter le calendrier iCloud" + }, + "form": { + "serverUrl": "URL du serveur", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "name": "Nom", + "namePlaceholder": "Mon calendrier externe", + "url": "URL", + "syncDirection": "Direction de sync" + } + }, + "sharing": { + "pageTitle": "Partage de calendriers - Paramètres", + "title": "Partages", + "back": "Retour", + "shareCalendar": "Partager le calendrier", + "invitations": "Invitations ({count})", + "calendarInvitation": "Invitation de calendrier", + "access": "accès", + "accept": "Accepter", + "sharedWithMe": "Partagés avec moi", + "sharedCalendar": "Calendrier partagé", + "shareMyCalendars": "Partager mes calendriers", + "notSharedYet": "Pas encore partagé", + "linkShare": "Partage par lien", + "pending": "En attente", + "removeShare": "Supprimer le partage", + "confirmRemoveShare": "Vraiment supprimer ce partage ?", + "addPerson": "Ajouter une personne", + "share": "Partager", + "sharing": "Partage...", + "permission": { + "read": "Lecture", + "write": "Lecture & modification", + "admin": "Administrateur" + }, + "form": { + "calendar": "Calendrier", + "email": "Adresse e-mail", + "permission": "Autorisation" + } } } diff --git a/apps/calendar/apps/web/src/lib/i18n/locales/it.json b/apps/calendar/apps/web/src/lib/i18n/locales/it.json index a2fdb415d..b5210381a 100644 --- a/apps/calendar/apps/web/src/lib/i18n/locales/it.json +++ b/apps/calendar/apps/web/src/lib/i18n/locales/it.json @@ -122,5 +122,88 @@ "error": { "notFound": "Pagina non trovata", "backToHome": "Torna alla home" + }, + "sync": { + "pageTitle": "Sincronizzazione calendari - Impostazioni", + "title": "Sincronizzazione", + "back": "Indietro", + "connectCalendar": "Collega calendario", + "description": "Collega calendari esterni per importare e sincronizzare eventi.", + "emptyState": "Nessun calendario esterno collegato", + "syncNow": "Sincronizza ora", + "disconnect": "Disconnetti", + "confirmDisconnect": "Disconnettere davvero \"{name}\"? Gli eventi sincronizzati verranno eliminati.", + "neverSynced": "Mai", + "directionLabel": "Direzione", + "lastSync": "Ultima sincronizzazione", + "statusLabel": "Stato", + "autoSync": "Sincronizzazione automatica", + "connectCaldav": "Collega server CalDAV", + "connectProvider": "Collega {provider}", + "searching": "Ricerca...", + "searchCalendars": "Cerca calendari", + "discoveredCalendars": "Calendari trovati:", + "connecting": "Collegamento...", + "connect": "Collega", + "direction": { + "import": "Solo importazione", + "export": "Solo esportazione", + "both": "Bidirezionale" + }, + "status": { + "error": "Errore", + "active": "Attivo (ogni {interval} min.)", + "paused": "In pausa" + }, + "providers": { + "icalUrl": "URL iCal", + "icalUrlDesc": "Importa link ICS (es. festività)", + "caldav": "CalDAV", + "caldavDesc": "Collega server CalDAV", + "google": "Google Calendar", + "googleDesc": "Sincronizza con Google Calendar", + "apple": "Apple Calendar", + "appleDesc": "Collega calendario iCloud" + }, + "form": { + "serverUrl": "URL del server", + "username": "Nome utente", + "password": "Password", + "name": "Nome", + "namePlaceholder": "Il mio calendario esterno", + "url": "URL", + "syncDirection": "Direzione di sincronizzazione" + } + }, + "sharing": { + "pageTitle": "Condivisione calendari - Impostazioni", + "title": "Condivisioni", + "back": "Indietro", + "shareCalendar": "Condividi calendario", + "invitations": "Inviti ({count})", + "calendarInvitation": "Invito calendario", + "access": "accesso", + "accept": "Accetta", + "sharedWithMe": "Condivisi con me", + "sharedCalendar": "Calendario condiviso", + "shareMyCalendars": "Condividi i miei calendari", + "notSharedYet": "Non ancora condiviso", + "linkShare": "Condivisione tramite link", + "pending": "In attesa", + "removeShare": "Rimuovi condivisione", + "confirmRemoveShare": "Rimuovere davvero questa condivisione?", + "addPerson": "Aggiungi persona", + "share": "Condividi", + "sharing": "Condivisione...", + "permission": { + "read": "Lettura", + "write": "Lettura e modifica", + "admin": "Amministratore" + }, + "form": { + "calendar": "Calendario", + "email": "Indirizzo email", + "permission": "Autorizzazione" + } } } diff --git a/apps/calendar/apps/web/src/routes/(app)/settings/sharing/+page.svelte b/apps/calendar/apps/web/src/routes/(app)/settings/sharing/+page.svelte index af76c1d00..67a48276d 100644 --- a/apps/calendar/apps/web/src/routes/(app)/settings/sharing/+page.svelte +++ b/apps/calendar/apps/web/src/routes/(app)/settings/sharing/+page.svelte @@ -1,6 +1,7 @@ - Kalender-Freigaben - Einstellungen + {$_('sharing.pageTitle')}
- + -

Freigaben

-
@@ -82,14 +81,15 @@

- Einladungen ({sharesStore.invitations.length}) + {$_('sharing.invitations', { values: { count: sharesStore.invitations.length } })}

{#each sharesStore.invitations as invite (invite.id)}
- {provider.label} - {provider.description} + {$_(provider.labelKey)} + {$_(provider.descriptionKey)}
{/each} @@ -343,26 +358,26 @@ {:else if connectStep === 'caldav-discover'}
- +
- +
- +
{#if discoveredCalendars.length > 0}
-

Gefundene Kalender:

+

{$_('sync.discoveredCalendars')}

{#each discoveredCalendars as cal}
{/snippet} {:else if connectStep === 'credentials'}
- - + +
- + {#if selectedProvider !== 'ical_url'}
- +
- +
{/if}
- +
@@ -436,14 +451,14 @@ {#snippet footer()} {/snippet}