feat: calendar invitations RSVP, trust assessment, file preview

This commit is contained in:
Linus Rath
2026-03-16 22:00:11 +01:00
parent cde1d61d02
commit 0f5d030d5f
32 changed files with 21143 additions and 279 deletions
+61 -2
View File
@@ -289,6 +289,12 @@
"calendar_invitation": {
"loading": "Cargando detalles del evento…",
"title": "Invitación de calendario",
"published_title": "Evento publicado",
"response_title": "Respuesta al evento",
"update_title": "Actualización del evento",
"counter_title": "Contrapropuesta",
"refresh_title": "Solicitud de actualización",
"declined_counter_title": "Contrapropuesta rechazada",
"cancelled_title": "Evento cancelado",
"organizer": "Organizado por {name}",
"attendees": "{count, plural, one {# asistente} other {# asistentes}}",
@@ -299,9 +305,54 @@
"added": "Añadido al calendario",
"rsvp_sent": "Respuesta enviada",
"parse_error": "No se pudo leer la invitación",
"action_failed": "No se pudo completar esa acción del calendario.",
"no_calendar": "Calendario no disponible",
"published_info": "Este evento se compartió como referencia.",
"response_info": "Este mensaje contiene la respuesta de un asistente.",
"response_info_organizer": "Esta respuesta del asistente actualiza su evento.",
"update_info": "Este mensaje actualiza un evento existente.",
"counter_info": "Este mensaje propone cambios a un evento.",
"counter_info_organizer": "Este asistente propuso cambios a su evento.",
"refresh_info": "Este mensaje solicita los últimos detalles del evento.",
"refresh_info_organizer": "Un asistente solicitó los últimos detalles del evento.",
"declined_counter_info": "El organizador rechazó una contrapropuesta.",
"authentication_failed_info": "Las comprobaciones de autenticación de esta invitación fallaron. Trata las acciones de calendario con precaución.",
"authentication_missing_info": "Esta invitación no incluye autenticación de correo verificada. Confirma los detalles con el organizador si algo parece inusual.",
"sender_mismatch_info": "Esta invitación se envió desde {sender}, mientras que el organizador indicado en los datos del calendario es {organizer}.",
"sender_mismatch_unverified_info": "Esta invitación se envió desde {sender}, mientras que el organizador indicado en los datos del calendario es {organizer}, y el mensaje no pudo verificarse.",
"organizer_role": "Organizas este evento",
"your_response": "Tu respuesta: {status}",
"response_needed": "Pendiente de respuesta",
"response_accepted": "Aceptada",
"response_tentative": "Tentativa",
"response_declined": "Rechazada",
"response_delegated": "Delegada",
"actor_sent_info": "Enviado por {name}.",
"actor_response_info": "{name} respondió {status}.",
"actor_counter_info": "{name} propuso cambios para este evento.",
"actor_refresh_info": "{name} pidió los detalles más recientes del evento.",
"actor_declined_counter_info": "{name} rechazó la contrapropuesta.",
"actor_note": "Nota: {comment}",
"actor_unknown": "Alguien",
"proposed_changes": "Cambios propuestos",
"change_title": "Título",
"change_time": "Hora",
"change_location": "Ubicación",
"change_description": "Descripción",
"change_empty": "Ninguno",
"change_from_to": "{before} -> {after}",
"apply_proposal": "Aplicar cambios propuestos",
"proposal_applied": "Se aplicaron los cambios propuestos.",
"review_proposal": "Revisar propuesta",
"review_request": "Revisar solicitud",
"view_in_calendar": "Ver en el calendario",
"select_calendar": "Seleccionar calendario",
"already_in_calendar": "Ya está en tu calendario"
"already_in_calendar": "Ya está en tu calendario",
"request_info": "Has sido invitado a este evento. Responde para informar al organizador de tu disponibilidad.",
"cancel_info": "El organizador ha cancelado este evento.",
"event_updated": "Actualización #{sequence}",
"event_status_tentative": "Provisional",
"event_status_cancelled": "Cancelado"
},
"previous": "Anterior",
"next": "Siguiente",
@@ -621,6 +672,12 @@
"label": "Mostrar Vista Previa",
"description": "Mostrar vista previa del correo en la lista"
},
"attachment_click_action": {
"label": "Acción al hacer clic en adjuntos",
"description": "Elige si al hacer clic en un archivo adjunto se abre una vista previa o se descarga de inmediato",
"preview": "Mostrar vista previa cuando sea posible",
"download": "Descargar inmediatamente"
},
"emails_per_page": {
"25": "25 correos",
"50": "50 correos",
@@ -1634,7 +1691,9 @@
"notifications_enabled": "Notificaciones de eventos",
"notifications_enabled_desc": "Mostrar alertas para eventos próximos",
"notification_sound": "Sonido de notificación",
"notification_sound_desc": "Reproducir un sonido para las alertas del calendario"
"notification_sound_desc": "Reproducir un sonido para las alertas del calendario",
"invitation_parsing": "Analizar invitaciones por correo",
"invitation_parsing_desc": "Detectar invitaciones de calendario en archivos adjuntos del correo y mostrar acciones del calendario"
},
"days": {
"monday": "Lunes",