diff --git a/apps/mana/apps/web/src/lib/i18n/locales/calendar/de.json b/apps/mana/apps/web/src/lib/i18n/locales/calendar/de.json
index 02a79aa64..c63528db3 100644
--- a/apps/mana/apps/web/src/lib/i18n/locales/calendar/de.json
+++ b/apps/mana/apps/web/src/lib/i18n/locales/calendar/de.json
@@ -29,8 +29,10 @@
},
"calendar": {
"today": "Heute",
+ "tomorrow": "Morgen",
"newEvent": "Neuer Termin",
"noEvents": "Keine Termine",
+ "noEventsInRange": "Keine Termine in diesem Zeitraum",
"allDay": "Ganztägig",
"myCalendars": "Meine Kalender",
"sharedCalendars": "Geteilte Kalender",
@@ -58,6 +60,210 @@
"changeStartTime": "Startzeit ändern",
"changeEndTime": "Endzeit ändern"
},
+ "event_form": {
+ "aria_create": "Termin erstellen",
+ "aria_edit": "Termin bearbeiten",
+ "label_title_required": "Titel *",
+ "placeholder_title": "Terminname eingeben",
+ "label_time": "Uhrzeit",
+ "label_recurrence": "Wiederholung",
+ "placeholder_location": "Ort eingeben...",
+ "placeholder_description": "Beschreibung hinzufügen",
+ "label_tags": "Tags",
+ "recur_edit_suffix": "{preview} — Bearbeiten"
+ },
+ "event_card": {
+ "new_event_label": "Neuer Termin",
+ "recurring_title": "Wiederkehrend",
+ "linked_title": "Durchgeführt"
+ },
+ "event_modal": {
+ "editing_title": "Termin bearbeiten",
+ "copy_title": "Kopieren",
+ "label_visibility": "Sichtbarkeit",
+ "label_share_link": "Link",
+ "created_at": "Erstellt: {date}",
+ "updated_at": "· Bearbeitet: {date}",
+ "confirm_delete_single": "Diesen Termin löschen?",
+ "clipboard_location_prefix": "Ort: {location}",
+ "recur_edit_title": "Wiederkehrenden Termin bearbeiten",
+ "recur_edit_text": "Möchtest du nur diesen Termin oder alle zukünftigen bearbeiten?",
+ "recur_edit_only_this": "Nur diesen Termin",
+ "recur_edit_all_future": "Alle zukünftigen Termine",
+ "recur_delete_title": "Wiederkehrenden Termin löschen",
+ "recur_delete_text": "Möchtest du nur diesen Termin oder die gesamte Serie löschen?",
+ "recur_delete_only_this": "Nur diesen Termin",
+ "recur_delete_all": "Alle Termine der Serie"
+ },
+ "agenda": {
+ "empty": "Keine Termine in diesem Zeitraum",
+ "open_details_aria": "Details öffnen"
+ },
+ "recurrence": {
+ "none": "Keine Wiederholung",
+ "daily": "Täglich",
+ "weekly": "Wöchentlich",
+ "monthly": "Monatlich",
+ "yearly": "Jährlich",
+ "every_2_weeks": "Alle 2 Wochen",
+ "custom": "Benutzerdefiniert...",
+ "recurring_fallback": "Wiederkehrend",
+ "weekly_with_days": "Wöchentlich ({days})",
+ "every_n_unit": "Alle {n} {unit}",
+ "every_unit": "Alle {unit}",
+ "unit_days": "Tage",
+ "unit_weeks": "Wochen",
+ "unit_months": "Monate",
+ "unit_years": "Jahre",
+ "unit_freq_daily": "Tag(e)",
+ "unit_freq_weekly": "Woche(n)",
+ "unit_freq_monthly": "Monat(e)",
+ "unit_freq_yearly": "Jahr(e)",
+ "preview_at_days": " an {days}",
+ "preview_count_suffix": ", {count}x",
+ "preview_until_suffix": " bis {date}",
+ "builder_title": "Benutzerdefinierte Wiederholung",
+ "builder_every_label": "Alle",
+ "builder_weekdays_label": "Wochentage",
+ "builder_end_label": "Endet",
+ "builder_end_never": "Nie",
+ "builder_end_after": "Nach",
+ "builder_end_after_unit": "Terminen",
+ "builder_end_until": "Am",
+ "builder_apply": "Übernehmen"
+ },
+ "weekday_short": {
+ "mon": "Mo",
+ "tue": "Di",
+ "wed": "Mi",
+ "thu": "Do",
+ "fri": "Fr",
+ "sat": "Sa",
+ "sun": "So"
+ },
+ "weekday_long": {
+ "sun": "Sonntag",
+ "mon": "Montag",
+ "tue": "Dienstag",
+ "wed": "Mittwoch",
+ "thu": "Donnerstag",
+ "fri": "Freitag",
+ "sat": "Samstag"
+ },
+ "header": {
+ "today": "Heute",
+ "new_event": "Termin",
+ "aria_prev": "Zurück",
+ "aria_next": "Weiter",
+ "aria_filter": "Filter",
+ "aria_export": "Exportieren",
+ "block_event": "Termine",
+ "block_task": "Aufgaben",
+ "block_time_entry": "Zeiten",
+ "block_habit": "Habits",
+ "block_body": "Training",
+ "block_watering": "Gießen",
+ "block_sleep": "Schlaf",
+ "block_practice": "Übung",
+ "block_period": "Periode",
+ "block_guide": "Guides",
+ "block_visit": "Besuche",
+ "block_study": "Lernen",
+ "block_listening": "Musik",
+ "block_mood": "Stimmung",
+ "block_rehearsal": "Probe"
+ },
+ "date_strip": {
+ "today_aria": "Zum heutigen Tag",
+ "today_label": "Heute"
+ },
+ "mini_cal": {
+ "prev_aria": "Vorheriger Monat",
+ "next_aria": "Nächster Monat"
+ },
+ "slots": {
+ "loading": "Suche freie Zeiten...",
+ "empty": "Keine freien Slots gefunden",
+ "label": "Freie Zeiten",
+ "duration_suffix": "{n}min"
+ },
+ "quick_event": {
+ "aria_dialog": "Termin erstellen",
+ "header_new": "Neuer Termin",
+ "placeholder_title": "Titel hinzufügen",
+ "type_event": "Termin",
+ "type_time_entry": "Zeiterfassung",
+ "type_habit": "Habit",
+ "placeholder_location": "Ort hinzufügen",
+ "placeholder_description": "Beschreibung"
+ },
+ "list_view": {
+ "placeholder_new_event": "Neuer Termin...",
+ "voice_reason": "Termine werden verschlüsselt gespeichert. Dafür brauchst du ein Mana-Konto.",
+ "empty_label": "Termine",
+ "empty_text": "Keine Termine",
+ "open_action": "Öffnen",
+ "delete_action": "Löschen"
+ },
+ "detail_route": {
+ "doc_title": "Kalender - Mana",
+ "create_modal_title": "Neuer Termin",
+ "event_doc_title": "{title} - Kalender - Mana",
+ "event_doc_title_fallback": "Termin",
+ "back_to_calendar": "Zurück zum Kalender",
+ "not_found": "Termin nicht gefunden",
+ "edit_title": "Termin bearbeiten",
+ "label_title": "Titel",
+ "label_description": "Beschreibung",
+ "label_date": "Datum",
+ "label_from": "Von",
+ "label_to": "Bis",
+ "label_location": "Ort",
+ "placeholder_location": "Ort eingeben...",
+ "submit_save": "Speichern",
+ "submit_cancel": "Abbrechen",
+ "time_suffix_uhr": "Uhr"
+ },
+ "detail_view": {
+ "toast_deleted": "Termin gelöscht",
+ "not_found": "Termin nicht gefunden",
+ "confirm_delete": "Termin wirklich löschen?",
+ "placeholder_title": "Titel...",
+ "label_visibility": "Sichtbarkeit",
+ "label_allday": "Ganztägig",
+ "placeholder_location": "Ort hinzufügen...",
+ "section_tags": "Tags",
+ "section_description": "Beschreibung",
+ "placeholder_description": "Beschreibung hinzufügen...",
+ "meta_created": "Erstellt: {date}",
+ "meta_updated": "Bearbeitet: {date}",
+ "untitled_fallback": "Untitled"
+ },
+ "calendars_route": {
+ "doc_title": "Kalender verwalten - Mana",
+ "back_to_calendar": "Zurück zum Kalender",
+ "page_title": "Meine Kalender",
+ "new_calendar": "Neuer Kalender",
+ "label_name": "Name",
+ "placeholder_name": "z.B. Arbeit, Sport, Familie...",
+ "label_color": "Farbe",
+ "aria_pick_color": "Farbe wählen",
+ "submit_create": "Erstellen",
+ "empty": "Noch keine Kalender vorhanden.",
+ "badge_default": "(Standard)",
+ "aria_hide": "Ausblenden",
+ "aria_show": "Einblenden",
+ "aria_set_default": "Als Standard setzen",
+ "confirm_delete": "Kalender wirklich löschen? Alle zugehörigen Termine gehen verloren."
+ },
+ "shared_view": {
+ "kind": "Termin",
+ "label_when": "Wann",
+ "label_where": "Wo",
+ "timezone_prefix": "Zeitzone: {tz}",
+ "add_to_calendar": "📅 Zum eigenen Kalender hinzufügen",
+ "expiry": "Dieser Link läuft am {date} ab."
+ },
"repeat": {
"none": "Nicht wiederholen",
"daily": "Täglich",
diff --git a/apps/mana/apps/web/src/lib/i18n/locales/calendar/en.json b/apps/mana/apps/web/src/lib/i18n/locales/calendar/en.json
index d3461ae0f..c47f70c56 100644
--- a/apps/mana/apps/web/src/lib/i18n/locales/calendar/en.json
+++ b/apps/mana/apps/web/src/lib/i18n/locales/calendar/en.json
@@ -29,8 +29,10 @@
},
"calendar": {
"today": "Today",
+ "tomorrow": "Tomorrow",
"newEvent": "New Event",
"noEvents": "No events",
+ "noEventsInRange": "No events in this range",
"allDay": "All day",
"myCalendars": "My Calendars",
"sharedCalendars": "Shared Calendars",
@@ -58,6 +60,210 @@
"changeStartTime": "Change start time",
"changeEndTime": "Change end time"
},
+ "event_form": {
+ "aria_create": "Create event",
+ "aria_edit": "Edit event",
+ "label_title_required": "Title *",
+ "placeholder_title": "Enter event name",
+ "label_time": "Time",
+ "label_recurrence": "Recurrence",
+ "placeholder_location": "Enter location...",
+ "placeholder_description": "Add a description",
+ "label_tags": "Tags",
+ "recur_edit_suffix": "{preview} — Edit"
+ },
+ "event_card": {
+ "new_event_label": "New event",
+ "recurring_title": "Recurring",
+ "linked_title": "Done"
+ },
+ "event_modal": {
+ "editing_title": "Edit event",
+ "copy_title": "Copy",
+ "label_visibility": "Visibility",
+ "label_share_link": "Link",
+ "created_at": "Created: {date}",
+ "updated_at": "· Edited: {date}",
+ "confirm_delete_single": "Delete this event?",
+ "clipboard_location_prefix": "Location: {location}",
+ "recur_edit_title": "Edit recurring event",
+ "recur_edit_text": "Edit only this event or all future ones?",
+ "recur_edit_only_this": "Only this event",
+ "recur_edit_all_future": "All future events",
+ "recur_delete_title": "Delete recurring event",
+ "recur_delete_text": "Delete only this event or the entire series?",
+ "recur_delete_only_this": "Only this event",
+ "recur_delete_all": "All events in the series"
+ },
+ "agenda": {
+ "empty": "No events in this range",
+ "open_details_aria": "Open details"
+ },
+ "recurrence": {
+ "none": "No recurrence",
+ "daily": "Daily",
+ "weekly": "Weekly",
+ "monthly": "Monthly",
+ "yearly": "Yearly",
+ "every_2_weeks": "Every 2 weeks",
+ "custom": "Custom...",
+ "recurring_fallback": "Recurring",
+ "weekly_with_days": "Weekly ({days})",
+ "every_n_unit": "Every {n} {unit}",
+ "every_unit": "Every {unit}",
+ "unit_days": "days",
+ "unit_weeks": "weeks",
+ "unit_months": "months",
+ "unit_years": "years",
+ "unit_freq_daily": "day(s)",
+ "unit_freq_weekly": "week(s)",
+ "unit_freq_monthly": "month(s)",
+ "unit_freq_yearly": "year(s)",
+ "preview_at_days": " on {days}",
+ "preview_count_suffix": ", {count}x",
+ "preview_until_suffix": " until {date}",
+ "builder_title": "Custom recurrence",
+ "builder_every_label": "Every",
+ "builder_weekdays_label": "Weekdays",
+ "builder_end_label": "Ends",
+ "builder_end_never": "Never",
+ "builder_end_after": "After",
+ "builder_end_after_unit": "events",
+ "builder_end_until": "On",
+ "builder_apply": "Apply"
+ },
+ "weekday_short": {
+ "mon": "Mon",
+ "tue": "Tue",
+ "wed": "Wed",
+ "thu": "Thu",
+ "fri": "Fri",
+ "sat": "Sat",
+ "sun": "Sun"
+ },
+ "weekday_long": {
+ "sun": "Sunday",
+ "mon": "Monday",
+ "tue": "Tuesday",
+ "wed": "Wednesday",
+ "thu": "Thursday",
+ "fri": "Friday",
+ "sat": "Saturday"
+ },
+ "header": {
+ "today": "Today",
+ "new_event": "Event",
+ "aria_prev": "Previous",
+ "aria_next": "Next",
+ "aria_filter": "Filter",
+ "aria_export": "Export",
+ "block_event": "Events",
+ "block_task": "Tasks",
+ "block_time_entry": "Time",
+ "block_habit": "Habits",
+ "block_body": "Training",
+ "block_watering": "Watering",
+ "block_sleep": "Sleep",
+ "block_practice": "Practice",
+ "block_period": "Period",
+ "block_guide": "Guides",
+ "block_visit": "Visits",
+ "block_study": "Study",
+ "block_listening": "Music",
+ "block_mood": "Mood",
+ "block_rehearsal": "Rehearsal"
+ },
+ "date_strip": {
+ "today_aria": "Go to today",
+ "today_label": "Today"
+ },
+ "mini_cal": {
+ "prev_aria": "Previous month",
+ "next_aria": "Next month"
+ },
+ "slots": {
+ "loading": "Searching free time...",
+ "empty": "No free slots found",
+ "label": "Free slots",
+ "duration_suffix": "{n}min"
+ },
+ "quick_event": {
+ "aria_dialog": "Create event",
+ "header_new": "New event",
+ "placeholder_title": "Add a title",
+ "type_event": "Event",
+ "type_time_entry": "Time entry",
+ "type_habit": "Habit",
+ "placeholder_location": "Add location",
+ "placeholder_description": "Description"
+ },
+ "list_view": {
+ "placeholder_new_event": "New event...",
+ "voice_reason": "Events are stored encrypted. You need a Mana account for that.",
+ "empty_label": "Events",
+ "empty_text": "No events",
+ "open_action": "Open",
+ "delete_action": "Delete"
+ },
+ "detail_route": {
+ "doc_title": "Calendar - Mana",
+ "create_modal_title": "New event",
+ "event_doc_title": "{title} - Calendar - Mana",
+ "event_doc_title_fallback": "Event",
+ "back_to_calendar": "Back to calendar",
+ "not_found": "Event not found",
+ "edit_title": "Edit event",
+ "label_title": "Title",
+ "label_description": "Description",
+ "label_date": "Date",
+ "label_from": "From",
+ "label_to": "To",
+ "label_location": "Location",
+ "placeholder_location": "Enter location...",
+ "submit_save": "Save",
+ "submit_cancel": "Cancel",
+ "time_suffix_uhr": ""
+ },
+ "detail_view": {
+ "toast_deleted": "Event deleted",
+ "not_found": "Event not found",
+ "confirm_delete": "Really delete event?",
+ "placeholder_title": "Title...",
+ "label_visibility": "Visibility",
+ "label_allday": "All day",
+ "placeholder_location": "Add location...",
+ "section_tags": "Tags",
+ "section_description": "Description",
+ "placeholder_description": "Add description...",
+ "meta_created": "Created: {date}",
+ "meta_updated": "Edited: {date}",
+ "untitled_fallback": "Untitled"
+ },
+ "calendars_route": {
+ "doc_title": "Manage calendars - Mana",
+ "back_to_calendar": "Back to calendar",
+ "page_title": "My calendars",
+ "new_calendar": "New calendar",
+ "label_name": "Name",
+ "placeholder_name": "e.g. Work, Sport, Family...",
+ "label_color": "Color",
+ "aria_pick_color": "Pick color",
+ "submit_create": "Create",
+ "empty": "No calendars yet.",
+ "badge_default": "(Default)",
+ "aria_hide": "Hide",
+ "aria_show": "Show",
+ "aria_set_default": "Set as default",
+ "confirm_delete": "Really delete calendar? All associated events will be lost."
+ },
+ "shared_view": {
+ "kind": "Event",
+ "label_when": "When",
+ "label_where": "Where",
+ "timezone_prefix": "Time zone: {tz}",
+ "add_to_calendar": "📅 Add to my calendar",
+ "expiry": "This link expires on {date}."
+ },
"repeat": {
"none": "Don't repeat",
"daily": "Daily",
diff --git a/apps/mana/apps/web/src/lib/i18n/locales/calendar/es.json b/apps/mana/apps/web/src/lib/i18n/locales/calendar/es.json
index 277661e3b..b993c6065 100644
--- a/apps/mana/apps/web/src/lib/i18n/locales/calendar/es.json
+++ b/apps/mana/apps/web/src/lib/i18n/locales/calendar/es.json
@@ -29,8 +29,10 @@
},
"calendar": {
"today": "Hoy",
+ "tomorrow": "Mañana",
"newEvent": "Nuevo evento",
"noEvents": "Sin eventos",
+ "noEventsInRange": "Sin eventos en este rango",
"allDay": "Todo el día",
"myCalendars": "Mis calendarios",
"sharedCalendars": "Calendarios compartidos",
@@ -58,6 +60,210 @@
"changeStartTime": "Cambiar hora de inicio",
"changeEndTime": "Cambiar hora de fin"
},
+ "event_form": {
+ "aria_create": "Crear evento",
+ "aria_edit": "Editar evento",
+ "label_title_required": "Título *",
+ "placeholder_title": "Introduce el nombre del evento",
+ "label_time": "Hora",
+ "label_recurrence": "Repetición",
+ "placeholder_location": "Introduce la ubicación...",
+ "placeholder_description": "Añade una descripción",
+ "label_tags": "Etiquetas",
+ "recur_edit_suffix": "{preview} — Editar"
+ },
+ "event_card": {
+ "new_event_label": "Nuevo evento",
+ "recurring_title": "Recurrente",
+ "linked_title": "Realizado"
+ },
+ "event_modal": {
+ "editing_title": "Editar evento",
+ "copy_title": "Copiar",
+ "label_visibility": "Visibilidad",
+ "label_share_link": "Enlace",
+ "created_at": "Creado: {date}",
+ "updated_at": "· Editado: {date}",
+ "confirm_delete_single": "¿Eliminar este evento?",
+ "clipboard_location_prefix": "Ubicación: {location}",
+ "recur_edit_title": "Editar evento recurrente",
+ "recur_edit_text": "¿Editar solo este evento o todos los futuros?",
+ "recur_edit_only_this": "Solo este evento",
+ "recur_edit_all_future": "Todos los eventos futuros",
+ "recur_delete_title": "Eliminar evento recurrente",
+ "recur_delete_text": "¿Eliminar solo este evento o toda la serie?",
+ "recur_delete_only_this": "Solo este evento",
+ "recur_delete_all": "Todos los eventos de la serie"
+ },
+ "agenda": {
+ "empty": "Sin eventos en este rango",
+ "open_details_aria": "Abrir detalles"
+ },
+ "recurrence": {
+ "none": "Sin repetición",
+ "daily": "Diario",
+ "weekly": "Semanal",
+ "monthly": "Mensual",
+ "yearly": "Anual",
+ "every_2_weeks": "Cada 2 semanas",
+ "custom": "Personalizado...",
+ "recurring_fallback": "Recurrente",
+ "weekly_with_days": "Semanal ({days})",
+ "every_n_unit": "Cada {n} {unit}",
+ "every_unit": "Cada {unit}",
+ "unit_days": "días",
+ "unit_weeks": "semanas",
+ "unit_months": "meses",
+ "unit_years": "años",
+ "unit_freq_daily": "día(s)",
+ "unit_freq_weekly": "semana(s)",
+ "unit_freq_monthly": "mes(es)",
+ "unit_freq_yearly": "año(s)",
+ "preview_at_days": " los {days}",
+ "preview_count_suffix": ", {count}x",
+ "preview_until_suffix": " hasta {date}",
+ "builder_title": "Repetición personalizada",
+ "builder_every_label": "Cada",
+ "builder_weekdays_label": "Días de la semana",
+ "builder_end_label": "Termina",
+ "builder_end_never": "Nunca",
+ "builder_end_after": "Tras",
+ "builder_end_after_unit": "eventos",
+ "builder_end_until": "El",
+ "builder_apply": "Aplicar"
+ },
+ "weekday_short": {
+ "mon": "Lun",
+ "tue": "Mar",
+ "wed": "Mié",
+ "thu": "Jue",
+ "fri": "Vie",
+ "sat": "Sáb",
+ "sun": "Dom"
+ },
+ "weekday_long": {
+ "sun": "Domingo",
+ "mon": "Lunes",
+ "tue": "Martes",
+ "wed": "Miércoles",
+ "thu": "Jueves",
+ "fri": "Viernes",
+ "sat": "Sábado"
+ },
+ "header": {
+ "today": "Hoy",
+ "new_event": "Evento",
+ "aria_prev": "Anterior",
+ "aria_next": "Siguiente",
+ "aria_filter": "Filtro",
+ "aria_export": "Exportar",
+ "block_event": "Eventos",
+ "block_task": "Tareas",
+ "block_time_entry": "Tiempos",
+ "block_habit": "Hábitos",
+ "block_body": "Entrenamiento",
+ "block_watering": "Riego",
+ "block_sleep": "Sueño",
+ "block_practice": "Práctica",
+ "block_period": "Periodo",
+ "block_guide": "Guías",
+ "block_visit": "Visitas",
+ "block_study": "Estudio",
+ "block_listening": "Música",
+ "block_mood": "Estado",
+ "block_rehearsal": "Ensayo"
+ },
+ "date_strip": {
+ "today_aria": "Ir a hoy",
+ "today_label": "Hoy"
+ },
+ "mini_cal": {
+ "prev_aria": "Mes anterior",
+ "next_aria": "Mes siguiente"
+ },
+ "slots": {
+ "loading": "Buscando huecos libres...",
+ "empty": "No se han encontrado huecos libres",
+ "label": "Huecos libres",
+ "duration_suffix": "{n}min"
+ },
+ "quick_event": {
+ "aria_dialog": "Crear evento",
+ "header_new": "Nuevo evento",
+ "placeholder_title": "Añadir un título",
+ "type_event": "Evento",
+ "type_time_entry": "Tiempo",
+ "type_habit": "Hábito",
+ "placeholder_location": "Añadir ubicación",
+ "placeholder_description": "Descripción"
+ },
+ "list_view": {
+ "placeholder_new_event": "Nuevo evento...",
+ "voice_reason": "Los eventos se guardan cifrados. Necesitas una cuenta Mana para esto.",
+ "empty_label": "Eventos",
+ "empty_text": "Sin eventos",
+ "open_action": "Abrir",
+ "delete_action": "Eliminar"
+ },
+ "detail_route": {
+ "doc_title": "Calendario - Mana",
+ "create_modal_title": "Nuevo evento",
+ "event_doc_title": "{title} - Calendario - Mana",
+ "event_doc_title_fallback": "Evento",
+ "back_to_calendar": "Volver al calendario",
+ "not_found": "Evento no encontrado",
+ "edit_title": "Editar evento",
+ "label_title": "Título",
+ "label_description": "Descripción",
+ "label_date": "Fecha",
+ "label_from": "Desde",
+ "label_to": "Hasta",
+ "label_location": "Ubicación",
+ "placeholder_location": "Introduce la ubicación...",
+ "submit_save": "Guardar",
+ "submit_cancel": "Cancelar",
+ "time_suffix_uhr": ""
+ },
+ "detail_view": {
+ "toast_deleted": "Evento eliminado",
+ "not_found": "Evento no encontrado",
+ "confirm_delete": "¿Eliminar el evento de verdad?",
+ "placeholder_title": "Título...",
+ "label_visibility": "Visibilidad",
+ "label_allday": "Todo el día",
+ "placeholder_location": "Añadir ubicación...",
+ "section_tags": "Etiquetas",
+ "section_description": "Descripción",
+ "placeholder_description": "Añadir descripción...",
+ "meta_created": "Creado: {date}",
+ "meta_updated": "Editado: {date}",
+ "untitled_fallback": "Sin título"
+ },
+ "calendars_route": {
+ "doc_title": "Gestionar calendarios - Mana",
+ "back_to_calendar": "Volver al calendario",
+ "page_title": "Mis calendarios",
+ "new_calendar": "Nuevo calendario",
+ "label_name": "Nombre",
+ "placeholder_name": "p. ej. Trabajo, Deporte, Familia...",
+ "label_color": "Color",
+ "aria_pick_color": "Elegir color",
+ "submit_create": "Crear",
+ "empty": "Aún no hay calendarios.",
+ "badge_default": "(Predeterminado)",
+ "aria_hide": "Ocultar",
+ "aria_show": "Mostrar",
+ "aria_set_default": "Establecer como predeterminado",
+ "confirm_delete": "¿Eliminar el calendario de verdad? Se perderán todos los eventos asociados."
+ },
+ "shared_view": {
+ "kind": "Evento",
+ "label_when": "Cuándo",
+ "label_where": "Dónde",
+ "timezone_prefix": "Zona horaria: {tz}",
+ "add_to_calendar": "📅 Añadir a mi calendario",
+ "expiry": "Este enlace caduca el {date}."
+ },
"repeat": {
"none": "No repetir",
"daily": "Diario",
diff --git a/apps/mana/apps/web/src/lib/i18n/locales/calendar/fr.json b/apps/mana/apps/web/src/lib/i18n/locales/calendar/fr.json
index 486f677bc..e2b143c50 100644
--- a/apps/mana/apps/web/src/lib/i18n/locales/calendar/fr.json
+++ b/apps/mana/apps/web/src/lib/i18n/locales/calendar/fr.json
@@ -29,8 +29,10 @@
},
"calendar": {
"today": "Aujourd'hui",
+ "tomorrow": "Demain",
"newEvent": "Nouvel événement",
"noEvents": "Aucun événement",
+ "noEventsInRange": "Aucun événement dans cette période",
"allDay": "Toute la journée",
"myCalendars": "Mes calendriers",
"sharedCalendars": "Calendriers partagés",
@@ -58,6 +60,210 @@
"changeStartTime": "Changer l'heure de début",
"changeEndTime": "Changer l'heure de fin"
},
+ "event_form": {
+ "aria_create": "Créer un événement",
+ "aria_edit": "Modifier l'événement",
+ "label_title_required": "Titre *",
+ "placeholder_title": "Saisis le nom de l'événement",
+ "label_time": "Heure",
+ "label_recurrence": "Répétition",
+ "placeholder_location": "Saisis le lieu...",
+ "placeholder_description": "Ajoute une description",
+ "label_tags": "Tags",
+ "recur_edit_suffix": "{preview} — Modifier"
+ },
+ "event_card": {
+ "new_event_label": "Nouvel événement",
+ "recurring_title": "Récurrent",
+ "linked_title": "Réalisé"
+ },
+ "event_modal": {
+ "editing_title": "Modifier l'événement",
+ "copy_title": "Copier",
+ "label_visibility": "Visibilité",
+ "label_share_link": "Lien",
+ "created_at": "Créé : {date}",
+ "updated_at": "· Modifié : {date}",
+ "confirm_delete_single": "Supprimer cet événement ?",
+ "clipboard_location_prefix": "Lieu : {location}",
+ "recur_edit_title": "Modifier l'événement récurrent",
+ "recur_edit_text": "Modifier seulement cet événement ou tous les futurs ?",
+ "recur_edit_only_this": "Seulement cet événement",
+ "recur_edit_all_future": "Tous les événements futurs",
+ "recur_delete_title": "Supprimer l'événement récurrent",
+ "recur_delete_text": "Supprimer seulement cet événement ou toute la série ?",
+ "recur_delete_only_this": "Seulement cet événement",
+ "recur_delete_all": "Tous les événements de la série"
+ },
+ "agenda": {
+ "empty": "Aucun événement dans cette période",
+ "open_details_aria": "Ouvrir les détails"
+ },
+ "recurrence": {
+ "none": "Pas de répétition",
+ "daily": "Quotidien",
+ "weekly": "Hebdomadaire",
+ "monthly": "Mensuel",
+ "yearly": "Annuel",
+ "every_2_weeks": "Toutes les 2 semaines",
+ "custom": "Personnalisé...",
+ "recurring_fallback": "Récurrent",
+ "weekly_with_days": "Hebdomadaire ({days})",
+ "every_n_unit": "Tous les {n} {unit}",
+ "every_unit": "Tous les {unit}",
+ "unit_days": "jours",
+ "unit_weeks": "semaines",
+ "unit_months": "mois",
+ "unit_years": "ans",
+ "unit_freq_daily": "jour(s)",
+ "unit_freq_weekly": "semaine(s)",
+ "unit_freq_monthly": "mois",
+ "unit_freq_yearly": "an(s)",
+ "preview_at_days": " le(s) {days}",
+ "preview_count_suffix": ", {count}x",
+ "preview_until_suffix": " jusqu'au {date}",
+ "builder_title": "Répétition personnalisée",
+ "builder_every_label": "Tous les",
+ "builder_weekdays_label": "Jours de la semaine",
+ "builder_end_label": "Se termine",
+ "builder_end_never": "Jamais",
+ "builder_end_after": "Après",
+ "builder_end_after_unit": "événements",
+ "builder_end_until": "Le",
+ "builder_apply": "Appliquer"
+ },
+ "weekday_short": {
+ "mon": "Lun",
+ "tue": "Mar",
+ "wed": "Mer",
+ "thu": "Jeu",
+ "fri": "Ven",
+ "sat": "Sam",
+ "sun": "Dim"
+ },
+ "weekday_long": {
+ "sun": "Dimanche",
+ "mon": "Lundi",
+ "tue": "Mardi",
+ "wed": "Mercredi",
+ "thu": "Jeudi",
+ "fri": "Vendredi",
+ "sat": "Samedi"
+ },
+ "header": {
+ "today": "Aujourd'hui",
+ "new_event": "Événement",
+ "aria_prev": "Précédent",
+ "aria_next": "Suivant",
+ "aria_filter": "Filtre",
+ "aria_export": "Exporter",
+ "block_event": "Événements",
+ "block_task": "Tâches",
+ "block_time_entry": "Temps",
+ "block_habit": "Habitudes",
+ "block_body": "Entraînement",
+ "block_watering": "Arrosage",
+ "block_sleep": "Sommeil",
+ "block_practice": "Pratique",
+ "block_period": "Cycle",
+ "block_guide": "Guides",
+ "block_visit": "Visites",
+ "block_study": "Étude",
+ "block_listening": "Musique",
+ "block_mood": "Humeur",
+ "block_rehearsal": "Répétition"
+ },
+ "date_strip": {
+ "today_aria": "Aller à aujourd'hui",
+ "today_label": "Aujourd'hui"
+ },
+ "mini_cal": {
+ "prev_aria": "Mois précédent",
+ "next_aria": "Mois suivant"
+ },
+ "slots": {
+ "loading": "Recherche de créneaux libres...",
+ "empty": "Aucun créneau libre trouvé",
+ "label": "Créneaux libres",
+ "duration_suffix": "{n}min"
+ },
+ "quick_event": {
+ "aria_dialog": "Créer un événement",
+ "header_new": "Nouvel événement",
+ "placeholder_title": "Ajouter un titre",
+ "type_event": "Événement",
+ "type_time_entry": "Temps",
+ "type_habit": "Habitude",
+ "placeholder_location": "Ajouter un lieu",
+ "placeholder_description": "Description"
+ },
+ "list_view": {
+ "placeholder_new_event": "Nouvel événement...",
+ "voice_reason": "Les événements sont stockés chiffrés. Tu as besoin d'un compte Mana pour ça.",
+ "empty_label": "Événements",
+ "empty_text": "Aucun événement",
+ "open_action": "Ouvrir",
+ "delete_action": "Supprimer"
+ },
+ "detail_route": {
+ "doc_title": "Calendrier - Mana",
+ "create_modal_title": "Nouvel événement",
+ "event_doc_title": "{title} - Calendrier - Mana",
+ "event_doc_title_fallback": "Événement",
+ "back_to_calendar": "Retour au calendrier",
+ "not_found": "Événement introuvable",
+ "edit_title": "Modifier l'événement",
+ "label_title": "Titre",
+ "label_description": "Description",
+ "label_date": "Date",
+ "label_from": "De",
+ "label_to": "À",
+ "label_location": "Lieu",
+ "placeholder_location": "Saisis le lieu...",
+ "submit_save": "Enregistrer",
+ "submit_cancel": "Annuler",
+ "time_suffix_uhr": ""
+ },
+ "detail_view": {
+ "toast_deleted": "Événement supprimé",
+ "not_found": "Événement introuvable",
+ "confirm_delete": "Vraiment supprimer l'événement ?",
+ "placeholder_title": "Titre...",
+ "label_visibility": "Visibilité",
+ "label_allday": "Toute la journée",
+ "placeholder_location": "Ajouter un lieu...",
+ "section_tags": "Tags",
+ "section_description": "Description",
+ "placeholder_description": "Ajouter une description...",
+ "meta_created": "Créé : {date}",
+ "meta_updated": "Modifié : {date}",
+ "untitled_fallback": "Sans titre"
+ },
+ "calendars_route": {
+ "doc_title": "Gérer les calendriers - Mana",
+ "back_to_calendar": "Retour au calendrier",
+ "page_title": "Mes calendriers",
+ "new_calendar": "Nouveau calendrier",
+ "label_name": "Nom",
+ "placeholder_name": "p. ex. Travail, Sport, Famille...",
+ "label_color": "Couleur",
+ "aria_pick_color": "Choisir la couleur",
+ "submit_create": "Créer",
+ "empty": "Pas encore de calendriers.",
+ "badge_default": "(Par défaut)",
+ "aria_hide": "Masquer",
+ "aria_show": "Afficher",
+ "aria_set_default": "Définir comme défaut",
+ "confirm_delete": "Vraiment supprimer le calendrier ? Tous les événements associés seront perdus."
+ },
+ "shared_view": {
+ "kind": "Événement",
+ "label_when": "Quand",
+ "label_where": "Où",
+ "timezone_prefix": "Fuseau horaire : {tz}",
+ "add_to_calendar": "📅 Ajouter à mon calendrier",
+ "expiry": "Ce lien expire le {date}."
+ },
"repeat": {
"none": "Ne pas répéter",
"daily": "Quotidien",
diff --git a/apps/mana/apps/web/src/lib/i18n/locales/calendar/it.json b/apps/mana/apps/web/src/lib/i18n/locales/calendar/it.json
index d0511e518..a3a6bf468 100644
--- a/apps/mana/apps/web/src/lib/i18n/locales/calendar/it.json
+++ b/apps/mana/apps/web/src/lib/i18n/locales/calendar/it.json
@@ -29,8 +29,10 @@
},
"calendar": {
"today": "Oggi",
+ "tomorrow": "Domani",
"newEvent": "Nuovo evento",
"noEvents": "Nessun evento",
+ "noEventsInRange": "Nessun evento in questo intervallo",
"allDay": "Tutto il giorno",
"myCalendars": "I miei calendari",
"sharedCalendars": "Calendari condivisi",
@@ -58,6 +60,210 @@
"changeStartTime": "Cambia ora di inizio",
"changeEndTime": "Cambia ora di fine"
},
+ "event_form": {
+ "aria_create": "Crea evento",
+ "aria_edit": "Modifica evento",
+ "label_title_required": "Titolo *",
+ "placeholder_title": "Inserisci il nome dell'evento",
+ "label_time": "Ora",
+ "label_recurrence": "Ripetizione",
+ "placeholder_location": "Inserisci il luogo...",
+ "placeholder_description": "Aggiungi una descrizione",
+ "label_tags": "Tag",
+ "recur_edit_suffix": "{preview} — Modifica"
+ },
+ "event_card": {
+ "new_event_label": "Nuovo evento",
+ "recurring_title": "Ricorrente",
+ "linked_title": "Eseguito"
+ },
+ "event_modal": {
+ "editing_title": "Modifica evento",
+ "copy_title": "Copia",
+ "label_visibility": "Visibilità",
+ "label_share_link": "Link",
+ "created_at": "Creato: {date}",
+ "updated_at": "· Modificato: {date}",
+ "confirm_delete_single": "Eliminare questo evento?",
+ "clipboard_location_prefix": "Luogo: {location}",
+ "recur_edit_title": "Modifica evento ricorrente",
+ "recur_edit_text": "Modificare solo questo evento o tutti quelli futuri?",
+ "recur_edit_only_this": "Solo questo evento",
+ "recur_edit_all_future": "Tutti gli eventi futuri",
+ "recur_delete_title": "Elimina evento ricorrente",
+ "recur_delete_text": "Eliminare solo questo evento o tutta la serie?",
+ "recur_delete_only_this": "Solo questo evento",
+ "recur_delete_all": "Tutti gli eventi della serie"
+ },
+ "agenda": {
+ "empty": "Nessun evento in questo intervallo",
+ "open_details_aria": "Apri dettagli"
+ },
+ "recurrence": {
+ "none": "Nessuna ripetizione",
+ "daily": "Giornaliero",
+ "weekly": "Settimanale",
+ "monthly": "Mensile",
+ "yearly": "Annuale",
+ "every_2_weeks": "Ogni 2 settimane",
+ "custom": "Personalizzato...",
+ "recurring_fallback": "Ricorrente",
+ "weekly_with_days": "Settimanale ({days})",
+ "every_n_unit": "Ogni {n} {unit}",
+ "every_unit": "Ogni {unit}",
+ "unit_days": "giorni",
+ "unit_weeks": "settimane",
+ "unit_months": "mesi",
+ "unit_years": "anni",
+ "unit_freq_daily": "giorno/i",
+ "unit_freq_weekly": "settimana/e",
+ "unit_freq_monthly": "mese/i",
+ "unit_freq_yearly": "anno/i",
+ "preview_at_days": " il {days}",
+ "preview_count_suffix": ", {count}x",
+ "preview_until_suffix": " fino al {date}",
+ "builder_title": "Ripetizione personalizzata",
+ "builder_every_label": "Ogni",
+ "builder_weekdays_label": "Giorni della settimana",
+ "builder_end_label": "Termina",
+ "builder_end_never": "Mai",
+ "builder_end_after": "Dopo",
+ "builder_end_after_unit": "eventi",
+ "builder_end_until": "Il",
+ "builder_apply": "Applica"
+ },
+ "weekday_short": {
+ "mon": "Lun",
+ "tue": "Mar",
+ "wed": "Mer",
+ "thu": "Gio",
+ "fri": "Ven",
+ "sat": "Sab",
+ "sun": "Dom"
+ },
+ "weekday_long": {
+ "sun": "Domenica",
+ "mon": "Lunedì",
+ "tue": "Martedì",
+ "wed": "Mercoledì",
+ "thu": "Giovedì",
+ "fri": "Venerdì",
+ "sat": "Sabato"
+ },
+ "header": {
+ "today": "Oggi",
+ "new_event": "Evento",
+ "aria_prev": "Indietro",
+ "aria_next": "Avanti",
+ "aria_filter": "Filtro",
+ "aria_export": "Esporta",
+ "block_event": "Eventi",
+ "block_task": "Attività",
+ "block_time_entry": "Tempi",
+ "block_habit": "Abitudini",
+ "block_body": "Allenamento",
+ "block_watering": "Annaffiature",
+ "block_sleep": "Sonno",
+ "block_practice": "Esercizio",
+ "block_period": "Ciclo",
+ "block_guide": "Guide",
+ "block_visit": "Visite",
+ "block_study": "Studio",
+ "block_listening": "Musica",
+ "block_mood": "Umore",
+ "block_rehearsal": "Prova"
+ },
+ "date_strip": {
+ "today_aria": "Vai a oggi",
+ "today_label": "Oggi"
+ },
+ "mini_cal": {
+ "prev_aria": "Mese precedente",
+ "next_aria": "Mese successivo"
+ },
+ "slots": {
+ "loading": "Ricerca slot liberi...",
+ "empty": "Nessuno slot libero trovato",
+ "label": "Slot liberi",
+ "duration_suffix": "{n}min"
+ },
+ "quick_event": {
+ "aria_dialog": "Crea evento",
+ "header_new": "Nuovo evento",
+ "placeholder_title": "Aggiungi un titolo",
+ "type_event": "Evento",
+ "type_time_entry": "Tempo",
+ "type_habit": "Abitudine",
+ "placeholder_location": "Aggiungi luogo",
+ "placeholder_description": "Descrizione"
+ },
+ "list_view": {
+ "placeholder_new_event": "Nuovo evento...",
+ "voice_reason": "Gli eventi sono salvati cifrati. Per questo serve un account Mana.",
+ "empty_label": "Eventi",
+ "empty_text": "Nessun evento",
+ "open_action": "Apri",
+ "delete_action": "Elimina"
+ },
+ "detail_route": {
+ "doc_title": "Calendario - Mana",
+ "create_modal_title": "Nuovo evento",
+ "event_doc_title": "{title} - Calendario - Mana",
+ "event_doc_title_fallback": "Evento",
+ "back_to_calendar": "Torna al calendario",
+ "not_found": "Evento non trovato",
+ "edit_title": "Modifica evento",
+ "label_title": "Titolo",
+ "label_description": "Descrizione",
+ "label_date": "Data",
+ "label_from": "Da",
+ "label_to": "A",
+ "label_location": "Luogo",
+ "placeholder_location": "Inserisci il luogo...",
+ "submit_save": "Salva",
+ "submit_cancel": "Annulla",
+ "time_suffix_uhr": ""
+ },
+ "detail_view": {
+ "toast_deleted": "Evento eliminato",
+ "not_found": "Evento non trovato",
+ "confirm_delete": "Eliminare davvero l'evento?",
+ "placeholder_title": "Titolo...",
+ "label_visibility": "Visibilità",
+ "label_allday": "Tutto il giorno",
+ "placeholder_location": "Aggiungi luogo...",
+ "section_tags": "Tag",
+ "section_description": "Descrizione",
+ "placeholder_description": "Aggiungi descrizione...",
+ "meta_created": "Creato: {date}",
+ "meta_updated": "Modificato: {date}",
+ "untitled_fallback": "Senza titolo"
+ },
+ "calendars_route": {
+ "doc_title": "Gestisci calendari - Mana",
+ "back_to_calendar": "Torna al calendario",
+ "page_title": "I miei calendari",
+ "new_calendar": "Nuovo calendario",
+ "label_name": "Nome",
+ "placeholder_name": "es. Lavoro, Sport, Famiglia...",
+ "label_color": "Colore",
+ "aria_pick_color": "Scegli colore",
+ "submit_create": "Crea",
+ "empty": "Ancora nessun calendario.",
+ "badge_default": "(Predefinito)",
+ "aria_hide": "Nascondi",
+ "aria_show": "Mostra",
+ "aria_set_default": "Imposta come predefinito",
+ "confirm_delete": "Eliminare davvero il calendario? Tutti gli eventi associati andranno persi."
+ },
+ "shared_view": {
+ "kind": "Evento",
+ "label_when": "Quando",
+ "label_where": "Dove",
+ "timezone_prefix": "Fuso orario: {tz}",
+ "add_to_calendar": "📅 Aggiungi al mio calendario",
+ "expiry": "Questo link scade il {date}."
+ },
"repeat": {
"none": "Non ripetere",
"daily": "Giornaliero",
diff --git a/apps/mana/apps/web/src/lib/modules/calendar/ListView.svelte b/apps/mana/apps/web/src/lib/modules/calendar/ListView.svelte
index 5c5885b72..eabc7f256 100644
--- a/apps/mana/apps/web/src/lib/modules/calendar/ListView.svelte
+++ b/apps/mana/apps/web/src/lib/modules/calendar/ListView.svelte
@@ -3,6 +3,7 @@
Mini week strip + today's events. Floating input at bottom.
-->