Export participants to different formats

* CSV
* PDF (requires Python dependency `weasyprint`)
* ODS (requires Python dependency `pyexcel_ods3`)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-10-04 18:59:41 +02:00
parent 5dd24e1c9e
commit 0c667b13ae
121 changed files with 10817 additions and 6872 deletions

View File

@@ -20,195 +20,195 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/member.ex:38
#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12
#: lib/web/templates/email/activity/_member_activity_item.html.heex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12
msgid "%{member} accepted the invitation to join the group."
msgstr "%{member} aceptó la invitación para unirse al grupo."
#, elixir-format
#: lib/service/activity/renderer/member.ex:42
#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17
#: lib/web/templates/email/activity/_member_activity_item.html.heex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17
msgid "%{member} rejected the invitation to join the group."
msgstr "%{member} rechazó la invitación para unirse al grupo."
#, elixir-format
#: lib/service/activity/renderer/member.ex:30
#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1
#: lib/web/templates/email/activity/_member_activity_item.html.heex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1
msgid "%{member} requested to join the group."
msgstr "%{member} solicitó unirse al grupo."
#, elixir-format
#: lib/service/activity/renderer/member.ex:34
#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6
#: lib/web/templates/email/activity/_member_activity_item.html.heex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6
msgid "%{member} was invited by %{profile}."
msgstr "%{member} fue invitado por %{profile}."
#, elixir-format
#: lib/service/activity/renderer/member.ex:50
#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27
#: lib/web/templates/email/activity/_member_activity_item.html.heex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27
msgid "%{profile} added the member %{member}."
msgstr "%{profile} agregó el miembro %{member}."
#, elixir-format
#: lib/service/activity/renderer/discussion.ex:65
#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
msgid "%{profile} archived the discussion %{discussion}."
msgstr "%{profile} archivó la discusión %{discussion}."
#, elixir-format
#: lib/service/activity/renderer/discussion.ex:25
#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
msgid "%{profile} created the discussion %{discussion}."
msgstr "%{profile} creó la discusión %{discussion}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:24
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2
msgid "%{profile} created the folder %{resource}."
msgstr "%{profile} creó la carpeta %{resource}."
#, elixir-format
#: lib/web/templates/email/activity/_group_activity_item.html.eex:4
#: lib/web/templates/email/activity/_group_activity_item.html.heex:4
#: lib/web/templates/email/activity/_group_activity_item.text.eex:1
msgid "%{profile} created the group %{group}."
msgstr "%{profile} crfeó el grupo %{group}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:33
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8
msgid "%{profile} created the resource %{resource}."
msgstr "%{profile} creó el recurso %{resource}."
#, elixir-format
#: lib/service/activity/renderer/discussion.ex:75
#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
msgid "%{profile} deleted the discussion %{discussion}."
msgstr "%{profile} eliminó la discusión %{discussion}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:97
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40
msgid "%{profile} deleted the folder %{resource}."
msgstr "%{profile} borró la carpeta %{resource}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:106
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45
msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} eliminado el recurso %{resource}."
#, elixir-format
#: lib/service/activity/renderer/member.ex:58
#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "%{profile }miembro excluido %{member}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:76
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28
msgid "%{profile} moved the folder %{resource}."
msgstr "%{profile} movió la carpeta %{resource}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:85
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34
msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} movió el recurso %{resource}."
#, elixir-format
#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} abandona el grupo."
#, elixir-format
#: lib/service/activity/renderer/discussion.ex:55
#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
msgid "%{profile} renamed the discussion %{discussion}."
msgstr "%{profile} renombrado la discusión %{discussion}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:45
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
msgstr ""
"%{profile} ha renombrado la carpeta de %{old_resource_title} a %{resource}."
#, elixir-format
#: lib/service/activity/renderer/resource.ex:59
#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
msgstr ""
"%{profile} ha renombrado el recurso de %{old_resource_title} a %{resource}."
#, elixir-format
#: lib/service/activity/renderer/discussion.ex:35
#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
msgid "%{profile} replied to the discussion %{discussion}."
msgstr "%{profile} respondió a la discusión %{discussion}."
#, elixir-format
#: lib/web/templates/email/activity/_group_activity_item.html.eex:19
#: lib/web/templates/email/activity/_group_activity_item.html.heex:19
#: lib/web/templates/email/activity/_group_activity_item.text.eex:7
msgid "%{profile} updated the group %{group}."
msgstr "%{profile} actualizó el grupo %{group}."
#, elixir-format
#: lib/service/activity/renderer/member.ex:54
#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr "%{profile} actualizado el miembro %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "El evento %{event} fue creado por %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "El evento% {event} fue eliminado por % {profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "El evento %{event} fue actualizado por %{profile}."
#, elixir-format
#: lib/web/templates/email/activity/_post_activity_item.html.eex:4
#: lib/web/templates/email/activity/_post_activity_item.html.heex:4
#: lib/web/templates/email/activity/_post_activity_item.text.eex:1
msgid "The post %{post} was created by %{profile}."
msgstr "El cargo %{post} fue creado por %{profile}."
#, elixir-format
#: lib/web/templates/email/activity/_post_activity_item.html.eex:34
#: lib/web/templates/email/activity/_post_activity_item.html.heex:34
#: lib/web/templates/email/activity/_post_activity_item.text.eex:13
msgid "The post %{post} was deleted by %{profile}."
msgstr "El post %{post} fue eliminado por %{profile}."
#, elixir-format
#: lib/web/templates/email/activity/_post_activity_item.html.eex:19
#: lib/web/templates/email/activity/_post_activity_item.html.heex:19
#: lib/web/templates/email/activity/_post_activity_item.text.eex:7
msgid "The post %{post} was updated by %{profile}."
msgstr "El post %{post} fue actualizado por %{profile}."
#, elixir-format
#: lib/service/activity/renderer/member.ex:46
#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22
#: lib/web/templates/email/activity/_member_activity_item.html.heex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22
msgid "%{member} joined the group."
msgstr "%{member} se unió al grupo."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} publicó un comentario sobre el evento %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} respondió a un comentario sobre el evento %{event}."
@@ -220,7 +220,7 @@ msgstr ""
"o deshabilitarlos en su configuración."
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.eex:135
#: lib/web/templates/email/email_direct_activity.html.heex:135
#: lib/web/templates/email/email_direct_activity.text.eex:23
msgid "View one more activity"
msgid_plural "View %{count} more activities"
@@ -228,8 +228,8 @@ msgstr[0] "Ver una actividad más"
msgstr[1] "Ver %{count} actividades mas"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.eex:44
#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.html.heex:44
#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -243,14 +243,14 @@ msgstr "Actividad en %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
#: lib/web/templates/email/email_anonymous_activity.html.eex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} ha publicado un anuncio en el evento %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} te mencionó en un comentario en el evento %{event}."
@@ -260,14 +260,14 @@ msgid "%{profile} mentionned you in the discussion %{discussion}."
msgstr "%{profile}te mencioné en la discusión %{discussion}."
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.eex:155
#: lib/web/templates/email/email_direct_activity.html.heex:155
msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}."
msgstr ""
"¿No quieres recibir notificaciones de actividad? Puede cambiar la frecuencia "
"o deshabilitarlos en su configuración."
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.eex:42
#: lib/web/templates/email/email_direct_activity.html.heex:42
#: lib/web/templates/email/email_direct_activity.text.eex:5
msgid "Here's your weekly activity recap"
msgstr "Aquí está su resumen de actividad semanal"
@@ -283,7 +283,7 @@ msgid "Daily activity recap for %{instance}"
msgstr "Resumen de actividad diaria en %{instance}"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.eex:40
#: lib/web/templates/email/email_direct_activity.html.heex:40
#: lib/web/templates/email/email_direct_activity.text.eex:4
msgid "Here's your daily activity recap"
msgstr "Aquí está su resumen de actividad diaria"
@@ -295,13 +295,13 @@ msgstr "Resumen de actividad semanal para %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
#: lib/web/templates/email/activity/_comment_activity_item.html.eex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} ha publicado un nuevo comentario en tu evento %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
#: lib/web/templates/email/activity/_comment_activity_item.html.eex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} ha publicado una nueva respuesta en tu evento %{event}."