Send notification emails to followers and members when a group publishes

a new event

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-11-10 16:36:32 +01:00
parent 800060a926
commit 5c7067b22b
65 changed files with 5491 additions and 2767 deletions

View File

@@ -31,7 +31,7 @@ msgid "Activate my account"
msgstr "Activar mon compte"
#, elixir-format
#: lib/web/templates/email/email.html.heex:123
#: lib/web/templates/email/email.html.heex:120
#: lib/web/templates/email/email.text.eex:9
msgid "Ask the community on Framacolibri"
msgstr "Demandatz a la comunautat sus Framacolibri"
@@ -48,7 +48,7 @@ msgid "Event"
msgstr "Eveniment"
#, elixir-format
#: lib/web/email/user.ex:48
#: lib/web/email/user.ex:49
msgid "Instructions to reset your password on %{instance}"
msgstr "Consignas per reïnincializar vòstre senhal sus %{instance}"
@@ -135,7 +135,7 @@ msgid "You requested a new password for your account on %{instance}."
msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{instance}."
#, elixir-format
#: lib/web/templates/email/email.html.heex:91
#: lib/web/templates/email/email.html.heex:88
msgid "Warning"
msgstr "Avertiment"
@@ -344,17 +344,17 @@ msgid "What information do we collect?"
msgstr "Quinas informacions reculem?"
#, elixir-format
#: lib/web/email/user.ex:175
#: lib/web/email/user.ex:178
msgid "Mobilizon on %{instance}: confirm your email address"
msgstr "Mobilizon sus %{instance}: confirmatz vòstra adreça electronica"
#, elixir-format
#: lib/web/email/user.ex:155
#: lib/web/email/user.ex:157
msgid "Mobilizon on %{instance}: email changed"
msgstr "Mobilizon sus %{instance}: adreça electronica cambiada"
#, elixir-format
#: lib/web/email/notification.ex:49
#: lib/web/email/notification.ex:51
msgid "One event planned today"
msgid_plural "%{nb_events} events planned today"
msgstr[0] "Un eveniment previst uèi"
@@ -380,7 +380,7 @@ msgid "Come along!"
msgstr "Rejonhètz-nos!"
#, elixir-format
#: lib/web/email/notification.ex:24
#: lib/web/email/notification.ex:25
msgid "Don't forget to go to %{title}"
msgstr "Oblidatz pas danar a %{title}"
@@ -407,19 +407,19 @@ msgid "View the event on: %{link}"
msgstr "Veire leveniment actualizat sus : %{link}"
#, elixir-format
#: lib/web/email/group.ex:31
#: lib/web/email/member.ex:31
msgid "You have been invited by %{inviter} to join group %{group}"
msgstr "%{inviter} vos a convidat a rejónher lo grop %{group}"
#, elixir-format
#: lib/web/email/notification.ex:75
#: lib/web/email/notification.ex:78
msgid "One event planned this week"
msgid_plural "%{nb_events} events planned this week"
msgstr[0] "Un eveniment previst aquesta setmana"
msgstr[1] "%{nb_events} eveniments previstes aquesta setmana"
#, elixir-format
#: lib/web/email/notification.ex:98
#: lib/web/email/notification.ex:102
msgid "One participation request for event %{title} to process"
msgid_plural "%{number_participation_requests} participation requests for event %{title} to process"
msgstr[0] "Una demanda de participacion a leveniment %{title} a tractar"
@@ -800,7 +800,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please
msgstr ""
#, elixir-format
#: lib/web/templates/email/email.html.heex:120
#: lib/web/templates/email/email.html.heex:117
#: lib/web/templates/email/email.text.eex:8
msgid "Need help? Is something not working as expected?"
msgstr "Besonh dajuda? Quicòm truca?"
@@ -865,7 +865,7 @@ msgid "%{instance} is powered by Mobilizon."
msgstr "%{instance} es una instància Mobilizon."
#, elixir-format
#: lib/web/templates/email/email.html.heex:148
#: lib/web/templates/email/email.html.heex:152
msgid "<b>%{instance}</b> is powered by Mobilizon."
msgstr "<b>%{instance}</b> es una instància Mobilizon."
@@ -947,7 +947,7 @@ msgstr ""
"participacion."
#, elixir-format
#: lib/web/templates/email/email.html.heex:149
#: lib/web/templates/email/email.html.heex:153
#: lib/web/templates/email/email.text.eex:11
msgid "Learn more about Mobilizon here!"
msgstr "Ne saber mai tocant Mobilizon."
@@ -1109,7 +1109,7 @@ msgstr ""
"Savètz pas demandat aquesta modificacion, mercés dignorar aqueste messatge."
#, elixir-format
#: lib/web/templates/email/email.html.heex:95
#: lib/web/templates/email/email.html.heex:92
msgid "<b>Please do not use it for real purposes.</b>"
msgstr "<b>Mercés de lutilizar pas dun biais real.</b>"
@@ -1126,7 +1126,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
#: lib/web/email/group.ex:61
#: lib/web/email/member.ex:61
msgid "You have been removed from group %{group}"
msgstr "Vos an tirat del grop %{group}"
@@ -1175,7 +1175,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g
msgstr ""
#, elixir-format
#: lib/web/email/group.ex:95
#: lib/web/email/group.ex:87
msgid "The group %{group} has been suspended on %{instance}"
msgstr "Lo grop %{group} foguèt suspendut sus %{instance}"
@@ -1425,15 +1425,15 @@ msgid "We're sorry, but something went wrong on our end."
msgstr ""
#, elixir-format
#: lib/web/templates/email/email.html.heex:94
#: lib/web/templates/email/email.html.heex:91
#: lib/web/templates/email/email.text.eex:4
msgid "This is a demonstration site to test Mobilizon."
msgstr ""
"Aquò es un site de demostracion per ensajar la version beta de Mobilizon."
#, elixir-format
#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1514,7 +1514,7 @@ msgstr "Vòstra participacion a leveniment %{title} es estada aprovada"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:73
#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93
#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91
msgid "%{event}_participants"
msgstr ""
@@ -1596,6 +1596,7 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1622,16 +1623,18 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date_range.html.heex:10
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "From the %{start} to the %{end}"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.html.heex:68
#: lib/web/templates/email/participation/card/_metadata.html.heex:70
msgid "Manage your participation"
msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date_range.html.heex:5
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "On %{date} from %{start_time} to %{end_time}"
msgstr ""
@@ -1642,5 +1645,72 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.html.heex:50
#: lib/web/templates/email/participation/card/_metadata.text.eex:2
msgid "Online event"
msgstr ""
#, elixir-format
#: lib/web/templates/email/event_group_follower_notification.html.heex:13
msgid "%{group} scheduled a new event"
msgstr ""
#, elixir-format
#: lib/web/templates/email/event_group_follower_notification.text.eex:1
msgid "%{group} scheduled a new event:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.text.eex:2
msgid "Address:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_metadata.text.eex:1
msgid "Date:"
msgstr ""
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/event_card.text.eex:5
msgid "Details:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/email.html.heex:147
msgid "Manage your notification settings"
msgstr ""
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/card/_metadata.text.eex:4
msgid "Manage your participation:"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_title.text.eex:3
#: lib/web/templates/email/participation/card/_title.text.eex:3
msgid "Organizer: %{organizer}"
msgstr ""
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/card/_metadata.html.heex:92
msgid "Participate"
msgstr "Participacion aprovada"
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/card/_metadata.text.eex:4
msgid "Participate:"
msgstr "Participacion aprovada"
#, elixir-format, fuzzy
#: lib/web/templates/email/participation/event_card.text.eex:7
msgid "Read more : %{url}"
msgstr ""
#, elixir-format
#: lib/web/templates/email/participation/card/_title.text.eex:1
msgid "Title: %{title}"
msgstr ""
#, elixir-format
#: lib/web/email/group.ex:42
msgid "📅 Just scheduled by %{group}: %{event}"
msgstr ""

View File

@@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group"
msgstr "Lo perfil actual es pas administrator del grop seleccionat"
#, elixir-format
#: lib/graphql/resolvers/user.ex:592
#: lib/graphql/resolvers/user.ex:593
msgid "Error while saving user settings"
msgstr "Error en salvagardant los paramètres utilizaire"
#, elixir-format
#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242
#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79
#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342
#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79
msgid "Group not found"
msgstr "Grop pas trobat"
@@ -156,6 +157,7 @@ msgstr "Degun trobat d'amb aquesta email"
#: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Lo perhiu es pas proprietat del utilizator autenticat"
@@ -165,33 +167,33 @@ msgid "Registrations are not open"
msgstr "Las inscripciones sèn pas obèrtas"
#, elixir-format
#: lib/graphql/resolvers/user.ex:407
#: lib/graphql/resolvers/user.ex:408
msgid "The current password is invalid"
msgstr "Lo mòt de santa clara actuau es invalid"
#, elixir-format
#: lib/graphql/resolvers/user.ex:450
#: lib/graphql/resolvers/user.ex:451
msgid "The new email doesn't seem to be valid"
msgstr "Lo email nau sèm invalid"
#, elixir-format
#: lib/graphql/resolvers/user.ex:453
#: lib/graphql/resolvers/user.ex:454
msgid "The new email must be different"
msgstr "Lo email nau deb esser different"
#, elixir-format
#: lib/graphql/resolvers/user.ex:410
#: lib/graphql/resolvers/user.ex:411
msgid "The new password must be different"
msgstr "Lo mòt de santa clara nau deb esser different"
#, elixir-format
#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519
#: lib/graphql/resolvers/user.ex:522
#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520
#: lib/graphql/resolvers/user.ex:523
msgid "The password provided is invalid"
msgstr "Lo mòt de santa clara aprovedit es invalid"
#, elixir-format
#: lib/graphql/resolvers/user.ex:414
#: lib/graphql/resolvers/user.ex:415
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr ""
"Lo mòt de santa clara que avetz causit es tròp cort. Merci de vos assegurar "
@@ -213,12 +215,12 @@ msgid "Unable to validate user"
msgstr "Es impossible de validar l'utilizator"
#, elixir-format
#: lib/graphql/resolvers/user.ex:500
#: lib/graphql/resolvers/user.ex:501
msgid "User already disabled"
msgstr "Utilizator déjà desactivat"
#, elixir-format
#: lib/graphql/resolvers/user.ex:567
#: lib/graphql/resolvers/user.ex:568
msgid "User requested is not logged-in"
msgstr "L'utilizator demandat es pas conectat"
@@ -243,12 +245,12 @@ msgid "You may not list groups unless moderator."
msgstr "Podetz listar los grops sonque se essetz moderator."
#, elixir-format
#: lib/graphql/resolvers/user.ex:465
#: lib/graphql/resolvers/user.ex:466
msgid "You need to be logged-in to change your email"
msgstr "Debetz esser conectat per cambiar lo voste email"
#, elixir-format
#: lib/graphql/resolvers/user.ex:422
#: lib/graphql/resolvers/user.ex:423
msgid "You need to be logged-in to change your password"
msgstr "Debetz d'esser conectat per cambiar lo voste mòt de santa clara"
@@ -258,7 +260,7 @@ msgid "You need to be logged-in to delete a group"
msgstr "Debetz d'esser conectat per suprimir un grop"
#, elixir-format
#: lib/graphql/resolvers/user.ex:527
#: lib/graphql/resolvers/user.ex:528
msgid "You need to be logged-in to delete your account"
msgstr "Devetz d'esser conectat per suprimir lo voste compte"
@@ -355,7 +357,7 @@ msgid "Comment is already deleted"
msgstr "Comentari déjà suprimit"
#, elixir-format
#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75
#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Discussion non trobada"
@@ -375,8 +377,8 @@ msgid "Event id not found"
msgstr "ID d'eveniment non trobat"
#, elixir-format
#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355
#: lib/graphql/resolvers/event.ex:407
#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Eveniment non trobat"
@@ -393,7 +395,7 @@ msgid "Internal Error"
msgstr "Error interna"
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:225
#: lib/graphql/resolvers/discussion.ex:219
msgid "No discussion with ID %{id}"
msgstr "Cap de discussion d'amb aquesta ID %{id}"
@@ -505,7 +507,7 @@ msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415
#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
msgid "User not found"
msgstr ""
@@ -571,7 +573,7 @@ msgid "You cannot delete this comment"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:403
#: lib/graphql/resolvers/event.ex:408
msgid "You cannot delete this event"
msgstr ""
@@ -606,22 +608,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:246
#: lib/graphql/resolvers/admin.ex:255
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:230
#: lib/graphql/resolvers/admin.ex:239
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:272
#: lib/graphql/resolvers/admin.ex:281
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:90
#: lib/graphql/resolvers/discussion.ex:84
msgid "You need to be logged-in to access discussions"
msgstr ""
@@ -631,7 +633,7 @@ msgid "You need to be logged-in to access resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:313
#: lib/graphql/resolvers/event.ex:318
msgid "You need to be logged-in to create events"
msgstr ""
@@ -651,7 +653,7 @@ msgid "You need to be logged-in to create resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:412
#: lib/graphql/resolvers/event.ex:417
msgid "You need to be logged-in to delete an event"
msgstr ""
@@ -676,7 +678,7 @@ msgid "You need to be logged-in to leave an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:369
#: lib/graphql/resolvers/event.ex:374
msgid "You need to be logged-in to update an event"
msgstr ""
@@ -781,12 +783,12 @@ msgid "Profile is not administrator for the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:358
#: lib/graphql/resolvers/event.ex:363
msgid "You can't edit this event."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:361
#: lib/graphql/resolvers/event.ex:366
msgid "You can't attribute this event to this profile."
msgstr ""
@@ -806,17 +808,17 @@ msgid "You don't have the right to remove this member."
msgstr ""
#, elixir-format
#: lib/mobilizon/actors/actor.ex:349
#: lib/mobilizon/actors/actor.ex:350
msgid "This username is already taken."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:87
#: lib/graphql/resolvers/discussion.ex:81
msgid "You must provide either an ID or a slug to access a discussion"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:308
#: lib/graphql/resolvers/event.ex:313
msgid "Organizer profile is not owned by the user"
msgstr ""
@@ -842,7 +844,7 @@ msgid "Error while creating resource"
msgstr "Error mentre que sauvant lo rapòrt"
#, elixir-format
#: lib/graphql/resolvers/user.ex:483
#: lib/graphql/resolvers/user.ex:484
msgid "Invalid activation token"
msgstr ""
@@ -852,18 +854,18 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:294
#: lib/graphql/resolvers/event.ex:299
msgid "Organizer profile doesn't have permission to create an event on behalf of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:349
#: lib/graphql/resolvers/event.ex:354
msgid "This profile doesn't have permission to update an event on behalf of this group"
msgstr ""
@@ -878,12 +880,12 @@ msgid "Comment not found"
msgstr "Eveniment non trobat"
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:129
#: lib/graphql/resolvers/discussion.ex:123
msgid "Error while creating a discussion"
msgstr "Error mentre que sauvant lo rapòrt"
#, elixir-format
#: lib/graphql/resolvers/user.ex:606
#: lib/graphql/resolvers/user.ex:607
msgid "Error while updating locale"
msgstr "Error mentre la mesa a jorn dèu rapòrt"
@@ -903,12 +905,12 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:447
#: lib/graphql/resolvers/user.ex:448
msgid "Failed to update user email"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:479
#: lib/graphql/resolvers/user.ex:480
msgid "Failed to validate user email"
msgstr "Es impossible de validar l'utilizator"
@@ -928,7 +930,7 @@ msgid "You are not the comment creator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:404
#: lib/graphql/resolvers/user.ex:405
msgid "You cannot change your password."
msgstr ""
@@ -958,16 +960,56 @@ msgid "Only admins can create groups"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:301
#: lib/graphql/resolvers/event.ex:306
msgid "Only groups can create events"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:287
#: lib/graphql/resolvers/event.ex:292
msgid "Unknown error while creating event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/user.ex:460
#: lib/graphql/resolvers/user.ex:461
msgid "User cannot change email"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:364
msgid "Follow does not match your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:368
msgid "Follow not found"
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/user.ex:327
msgid "Profile with username %{username} not found"
msgstr "Degun trobat d'amb l'utilizator %{username}"
#, elixir-format
#: lib/graphql/resolvers/user.ex:322
msgid "This profile does not belong to you"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:338
msgid "You are already following this group"
msgstr ""
#, elixir-format, fuzzy
#: lib/graphql/resolvers/group.ex:347
msgid "You need to be logged-in to follow a group"
msgstr "Devetz d'esser conectat per rejónher un grop"
#, elixir-format, fuzzy
#: lib/graphql/resolvers/group.ex:396
msgid "You need to be logged-in to unfollow a group"
msgstr "Devetz d'esser conectat per rejónher un grop"
#, elixir-format, fuzzy
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Devetz d'esser conectat per metre à jorn un grop"