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": "Carregando detalhes do evento…",
"title": "Convite de calendário",
"published_title": "Evento publicado",
"response_title": "Resposta do evento",
"update_title": "Atualização do evento",
"counter_title": "Contraproposta",
"refresh_title": "Solicitação de atualização",
"declined_counter_title": "Contraproposta recusada",
"cancelled_title": "Evento cancelado",
"organizer": "Organizado por {name}",
"attendees": "{count, plural, one {# participante} other {# participantes}}",
@@ -299,9 +305,54 @@
"added": "Adicionado ao calendário",
"rsvp_sent": "Resposta enviada",
"parse_error": "Não foi possível ler o convite",
"action_failed": "Não foi possível concluir essa ação do calendário.",
"no_calendar": "Calendário não disponível",
"published_info": "Este evento foi compartilhado como referência.",
"response_info": "Esta mensagem contém a resposta de um participante.",
"response_info_organizer": "Esta resposta de participante atualiza seu evento.",
"update_info": "Esta mensagem atualiza um evento existente.",
"counter_info": "Esta mensagem propõe alterações em um evento.",
"counter_info_organizer": "Este participante propôs alterações ao seu evento.",
"refresh_info": "Esta mensagem solicita os detalhes mais recentes do evento.",
"refresh_info_organizer": "Um participante solicitou os detalhes mais recentes do evento.",
"declined_counter_info": "O organizador recusou uma contraproposta.",
"authentication_failed_info": "As verificações de autenticação deste convite falharam. Trate as ações de calendário com cautela.",
"authentication_missing_info": "Este convite não inclui autenticação de email verificada. Confirme os detalhes com o organizador se algo parecer incomum.",
"sender_mismatch_info": "Este convite foi enviado por {sender}, enquanto o organizador indicado nos dados do calendário é {organizer}.",
"sender_mismatch_unverified_info": "Este convite foi enviado por {sender}, enquanto o organizador indicado nos dados do calendário é {organizer}, e a mensagem não pôde ser verificada.",
"organizer_role": "Você organiza este evento",
"your_response": "Sua resposta: {status}",
"response_needed": "Resposta necessária",
"response_accepted": "Aceita",
"response_tentative": "Provisória",
"response_declined": "Recusada",
"response_delegated": "Delegada",
"actor_sent_info": "Enviado por {name}.",
"actor_response_info": "{name} respondeu {status}.",
"actor_counter_info": "{name} propôs alterações para este evento.",
"actor_refresh_info": "{name} pediu os detalhes mais recentes do evento.",
"actor_declined_counter_info": "{name} recusou a contraproposta.",
"actor_note": "Nota: {comment}",
"actor_unknown": "Alguém",
"proposed_changes": "Alterações propostas",
"change_title": "Título",
"change_time": "Horário",
"change_location": "Local",
"change_description": "Descrição",
"change_empty": "Nenhuma",
"change_from_to": "{before} -> {after}",
"apply_proposal": "Aplicar alterações propostas",
"proposal_applied": "As alterações propostas foram aplicadas.",
"review_proposal": "Revisar proposta",
"review_request": "Revisar solicitação",
"view_in_calendar": "Ver no calendário",
"select_calendar": "Selecionar calendário",
"already_in_calendar": "Já está no seu calendário"
"already_in_calendar": "Já está no seu calendário",
"request_info": "Você foi convidado para este evento. Responda para informar o organizador sobre sua disponibilidade.",
"cancel_info": "O organizador cancelou este evento.",
"event_updated": "Atualização #{sequence}",
"event_status_tentative": "Provisório",
"event_status_cancelled": "Cancelado"
},
"previous": "Anterior",
"next": "Próximo",
@@ -621,6 +672,12 @@
"label": "Mostrar Texto de Visualização",
"description": "Exibir visualização do e-mail na lista"
},
"attachment_click_action": {
"label": "Ação ao clicar em anexos",
"description": "Escolha se clicar em um anexo abre uma pré-visualização ou inicia o download imediatamente",
"preview": "Visualizar quando possível",
"download": "Baixar imediatamente"
},
"emails_per_page": {
"25": "25 e-mails",
"50": "50 e-mails",
@@ -1634,7 +1691,9 @@
"notifications_enabled": "Notificações de eventos",
"notifications_enabled_desc": "Mostrar alertas para eventos próximos",
"notification_sound": "Som de notificação",
"notification_sound_desc": "Reproduzir um som para alertas do calendário"
"notification_sound_desc": "Reproduzir um som para alertas do calendário",
"invitation_parsing": "Analisar convites por e-mail",
"invitation_parsing_desc": "Detectar convites de calendário em anexos de e-mail e mostrar ações do calendário"
},
"days": {
"monday": "Segunda-feira",