refactor: use dedicated email for event announcements

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2023-11-21 15:28:56 +01:00
parent 18314956ca
commit b97f1c997f
No known key found for this signature in database
GPG key ID: A061B9DDE0CA0773
9 changed files with 431 additions and 1711 deletions

View file

@ -104,6 +104,7 @@ defmodule Mobilizon.Conversations do
|> join(:inner, [_cp, _c, _e, _a, _lc, _oc, p], ap in Actor, on: p.actor_id == ap.id) |> join(:inner, [_cp, _c, _e, _a, _lc, _oc, p], ap in Actor, on: p.actor_id == ap.id)
|> where([_cp, c], c.event_id == ^event_id) |> where([_cp, c], c.event_id == ^event_id)
|> where([cp], cp.actor_id == ^actor_id) |> where([cp], cp.actor_id == ^actor_id)
|> order_by([cp], desc: cp.unread, desc: cp.updated_at)
|> preload([_cp, c, e, a, lc, oc, p, ap], |> preload([_cp, c, e, a, lc, oc, p, ap],
actor: a, actor: a,
conversation: conversation:

View file

@ -38,7 +38,7 @@ defmodule Mobilizon.Service.Activity.Conversation do
%Conversation{ %Conversation{
id: conversation_id id: conversation_id
} = conversation, } = conversation,
%Comment{actor_id: actor_id}, %Comment{actor_id: actor_id, text: last_comment_text},
_options _options
) )
when subject in [ when subject in [
@ -50,8 +50,12 @@ defmodule Mobilizon.Service.Activity.Conversation do
conversation_id conversation_id
|> Conversations.list_conversation_participants_for_conversation() |> Conversations.list_conversation_participants_for_conversation()
|> Enum.each(fn %ConversationParticipant{id: conversation_participant_id} = |> Enum.each(fn %ConversationParticipant{
id: conversation_participant_id,
actor_id: conversation_participant_actor_id
} =
conversation_participant -> conversation_participant ->
if actor_id != conversation_participant_actor_id do
LegacyNotifierBuilder.enqueue( LegacyNotifierBuilder.enqueue(
:legacy_notify, :legacy_notify,
%{ %{
@ -60,7 +64,8 @@ defmodule Mobilizon.Service.Activity.Conversation do
Map.merge( Map.merge(
%{ %{
conversation_id: conversation_id, conversation_id: conversation_id,
conversation_participant_id: conversation_participant_id conversation_participant_id: conversation_participant_id,
conversation_text: last_comment_text
}, },
event_subject_params(conversation) event_subject_params(conversation)
), ),
@ -71,6 +76,7 @@ defmodule Mobilizon.Service.Activity.Conversation do
"participant" => Map.take(conversation_participant, [:id, :actor_id]) "participant" => Map.take(conversation_participant, [:id, :actor_id])
} }
) )
end
end) end)
{:ok, :enqueued} {:ok, :enqueued}

View file

@ -13,26 +13,36 @@ defmodule Mobilizon.Service.Workers.LegacyNotifierBuilder do
use Mobilizon.Service.Workers.Helper, queue: "activity" use Mobilizon.Service.Workers.Helper, queue: "activity"
@impl Oban.Worker @impl Oban.Worker
def perform(%Job{args: args}) do def perform(%Job{args: %{"op" => "legacy_notify"} = args}) do
{"legacy_notify", args} = Map.pop(args, "op") {"legacy_notify", args} = Map.pop(args, "op")
activity = build_activity(args) activity = build_activity(args)
Logger.debug("Handling activity #{activity.subject} to notify in LegacyNotifierBuilder") Logger.debug("Handling activity #{activity.subject} to notify in LegacyNotifierBuilder")
if args["subject"] == "participation_event_comment" do if args["subject"] in ["participation_event_comment", "conversation_created"] do
notify_anonymous_participants(get_in(args, ["subject_params", "event_id"]), activity) special_handling(args["subject"], args, activity)
end :ok
else
if args["subject"] == "conversation_created" do
notify_anonymous_participants(
get_in(args, ["subject_params", "conversation_event_id"]),
activity
)
end
args args
|> users_to_notify(author_id: args["author_id"], group_id: Map.get(args, "group_id")) |> users_to_notify(author_id: args["author_id"], group_id: Map.get(args, "group_id"))
|> Enum.each(&notify_user(&1, activity)) |> Enum.each(&notify_user(&1, activity))
end end
end
defp special_handling("participation_event_comment", args, activity) do
notify_participants(
get_in(args, ["subject_params", "event_id"]),
activity,
args["author_id"]
)
end
defp special_handling("conversation_created", args, activity) do
notify_participants(
get_in(args, ["subject_params", "conversation_event_id"]),
activity,
args["author_id"]
)
end
defp build_activity(args) do defp build_activity(args) do
author = Actors.get_actor(args["author_id"]) author = Actors.get_actor(args["author_id"])
@ -117,6 +127,22 @@ defmodule Mobilizon.Service.Workers.LegacyNotifierBuilder do
|> Enum.map(&Users.get_user_with_activity_settings!/1) |> Enum.map(&Users.get_user_with_activity_settings!/1)
end end
defp notify_participants(nil, _activity, _author_id), do: :ok
defp notify_participants(event_id, activity, author_id) do
event_id
|> Events.list_actors_participants_for_event()
|> Enum.map(& &1.id)
|> users_from_actor_ids(author_id)
|> Enum.each(fn user ->
Notifier.Email.send_anonymous_activity(user.email, activity,
locale: Map.get(user, :locale, "en")
)
end)
notify_anonymous_participants(event_id, activity)
end
defp notify_anonymous_participants(nil, _activity), do: :ok defp notify_anonymous_participants(nil, _activity), do: :ok
defp notify_anonymous_participants(event_id, activity) do defp notify_anonymous_participants(event_id, activity) do

View file

@ -46,6 +46,7 @@ defmodule Mobilizon.Web.Email.Activity do
options options
) do ) do
locale = Keyword.get(options, :locale, "en") locale = Keyword.get(options, :locale, "en")
Gettext.put_locale(locale)
subject = subject =
dgettext( dgettext(
@ -54,8 +55,6 @@ defmodule Mobilizon.Web.Email.Activity do
event: subject_params["conversation_event_title"] event: subject_params["conversation_event_title"]
) )
conversation = Mobilizon.Conversations.get_conversation(activity.object_id)
Logger.debug("Going to send anonymous activity of type #{activity.type} to #{email}") Logger.debug("Going to send anonymous activity of type #{activity.type} to #{email}")
[to: email, subject: subject] [to: email, subject: subject]
@ -63,15 +62,13 @@ defmodule Mobilizon.Web.Email.Activity do
|> render_body(:email_anonymous_activity, %{ |> render_body(:email_anonymous_activity, %{
subject: subject, subject: subject,
activity: activity, activity: activity,
locale: locale, locale: locale
extra: %{
"conversation" => conversation
}
}) })
end end
def anonymous_activity(email, %Activity{subject_params: subject_params} = activity, options) do def anonymous_activity(email, %Activity{subject_params: subject_params} = activity, options) do
locale = Keyword.get(options, :locale, "en") locale = Keyword.get(options, :locale, "en")
Gettext.put_locale(locale)
subject = subject =
dgettext( dgettext(

View file

@ -113,9 +113,7 @@
event: event:
"<a href=\"#{Routes.page_url(Mobilizon.Web.Endpoint, "<a href=\"#{Routes.page_url(Mobilizon.Web.Endpoint,
:event, :event,
@activity.subject_params["conversation_event_uuid"]) |> URI.decode()}\"> @activity.subject_params["conversation_event_uuid"]) |> URI.decode()}\">#{escape_html(@activity.subject_params["conversation_event_title"])}</a>"
#{escape_html(@activity.subject_params["conversation_event_title"])}
</a>"
} }
) )
|> raw %> |> raw %>
@ -137,7 +135,7 @@
<tr> <tr>
<td align="center"> <td align="center">
<blockquote style="border-left-width: 0.25rem;border-left-color: #e2e8f0;border-left-style: solid;padding-left: 1em;margin: 0;text-align: start;color: #474467;font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 400;line-height: 25px;"> <blockquote style="border-left-width: 0.25rem;border-left-color: #e2e8f0;border-left-style: solid;padding-left: 1em;margin: 0;text-align: start;color: #474467;font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 400;line-height: 25px;">
<%= @extra["conversation"].last_comment.text <%= @activity.subject_params["conversation_text"]
|> sanitize_to_basic_html() |> sanitize_to_basic_html()
|> raw() %> |> raw() %>
</blockquote> </blockquote>

View file

@ -21,7 +21,7 @@
-- --
<%= @extra["conversation"].last_comment.text |> html_to_text() |> mail_quote() %> <%= @activity.subject_params["conversation_text"] |> html_to_text() |> mail_quote() %>
-- --

View file

@ -10,533 +10,395 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2022-10-18 15:45+0000\n" "PO-Revision-Date: 2023-11-21 14:57+0100\n"
"Last-Translator: Thomas Citharel <thomas.citharel@framasoft.org>\n" "Last-Translator: Thomas Citharel <thomas.citharel@framasoft.org>\n"
"Language-Team: French <https://weblate.framasoft.org/projects/mobilizon/" "Language-Team: French <https://weblate.framasoft.org/projects/mobilizon/activity/fr/>\n"
"activity/fr/>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.14.1\n" "X-Generator: Poedit 3.4\n"
#: lib/web/templates/email/activity/_member_activity_item.html.heex:14 #: lib/web/templates/email/activity/_member_activity_item.html.heex:14 lib/web/templates/email/activity/_member_activity_item.text.eex:12
#: lib/web/templates/email/activity/_member_activity_item.text.eex:12
#, elixir-autogen, elixir-format
msgid "%{member} accepted the invitation to join the group." msgid "%{member} accepted the invitation to join the group."
msgstr "%{member} a accepté l'invitation à rejoindre le groupe." msgstr "%{member} a accepté l'invitation à rejoindre le groupe."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:19 #: lib/web/templates/email/activity/_member_activity_item.html.heex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:17
#: lib/web/templates/email/activity/_member_activity_item.text.eex:17
#, elixir-autogen, elixir-format
msgid "%{member} rejected the invitation to join the group." msgid "%{member} rejected the invitation to join the group."
msgstr "%{member} a refusé l'invitation à rejoindre le groupe." msgstr "%{member} a refusé l'invitation à rejoindre le groupe."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:3 #: lib/web/templates/email/activity/_member_activity_item.html.heex:3 lib/web/templates/email/activity/_member_activity_item.text.eex:1
#: lib/web/templates/email/activity/_member_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{member} requested to join the group." msgid "%{member} requested to join the group."
msgstr "%{member} a demandé à rejoindre le groupe." msgstr "%{member} a demandé à rejoindre le groupe."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:8 #: lib/web/templates/email/activity/_member_activity_item.html.heex:8 lib/web/templates/email/activity/_member_activity_item.text.eex:6
#: lib/web/templates/email/activity/_member_activity_item.text.eex:6
#, elixir-autogen, elixir-format
msgid "%{member} was invited by %{profile}." msgid "%{member} was invited by %{profile}."
msgstr "%{member} a été invité⋅e par %{profile}." msgstr "%{member} a été invité⋅e par %{profile}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:30 #: lib/web/templates/email/activity/_member_activity_item.html.heex:30 lib/web/templates/email/activity/_member_activity_item.text.eex:27
#: lib/web/templates/email/activity/_member_activity_item.text.eex:27
#, elixir-autogen, elixir-format
msgid "%{profile} added the member %{member}." msgid "%{profile} added the member %{member}."
msgstr "%{profile} a ajouté le ou la membre %{member}." msgstr "%{profile} a ajouté le ou la membre %{member}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:27 #: lib/web/templates/email/activity/_discussion_activity_item.html.heex:27 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
#, elixir-autogen, elixir-format
msgid "%{profile} archived the discussion %{discussion}." msgid "%{profile} archived the discussion %{discussion}."
msgstr "%{profile} a archivé la discussion %{discussion}." msgstr "%{profile} a archivé la discussion %{discussion}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:3 #: lib/web/templates/email/activity/_discussion_activity_item.html.heex:3 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{profile} created the discussion %{discussion}." msgid "%{profile} created the discussion %{discussion}."
msgstr "%{profile} a créé la discussion %{discussion}." msgstr "%{profile} a créé la discussion %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:4 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:4 lib/web/templates/email/activity/_resource_activity_item.text.eex:2
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:2
#, elixir-autogen, elixir-format
msgid "%{profile} created the folder %{resource}." msgid "%{profile} created the folder %{resource}."
msgstr "%{profile} a créé le dossier %{resource}." msgstr "%{profile} a créé le dossier %{resource}."
#: lib/web/templates/email/activity/_group_activity_item.html.heex:3 #: lib/web/templates/email/activity/_group_activity_item.html.heex:3 lib/web/templates/email/activity/_group_activity_item.text.eex:1
#: lib/web/templates/email/activity/_group_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{profile} created the group %{group}." msgid "%{profile} created the group %{group}."
msgstr "%{profile} a créé le groupe %{group}." msgstr "%{profile} a créé le groupe %{group}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:15 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:15 lib/web/templates/email/activity/_resource_activity_item.text.eex:8
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:8
#, elixir-autogen, elixir-format
msgid "%{profile} created the resource %{resource}." msgid "%{profile} created the resource %{resource}."
msgstr "%{profile} a créé la resource %{resource}." msgstr "%{profile} a créé la resource %{resource}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:35 #: lib/web/templates/email/activity/_discussion_activity_item.html.heex:35 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the discussion %{discussion}." msgid "%{profile} deleted the discussion %{discussion}."
msgstr "%{profile} a créé la discussion %{discussion}." msgstr "%{profile} a créé la discussion %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:88 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:88 lib/web/templates/email/activity/_resource_activity_item.text.eex:40
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:40
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the folder %{resource}." msgid "%{profile} deleted the folder %{resource}."
msgstr "%{profile} a supprimé le dossier %{resource}." msgstr "%{profile} a supprimé le dossier %{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:94 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:94 lib/web/templates/email/activity/_resource_activity_item.text.eex:45
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:45
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the resource %{resource}." msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} a supprimé la resource %{resource}." msgstr "%{profile} a supprimé la resource %{resource}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 #: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:45
#: lib/web/templates/email/activity/_member_activity_item.text.eex:45
#, elixir-autogen, elixir-format
msgid "%{profile} excluded member %{member}." msgid "%{profile} excluded member %{member}."
msgstr "%{profile} a exclu le ou la membre %{member}." msgstr "%{profile} a exclu le ou la membre %{member}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:64 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:64 lib/web/templates/email/activity/_resource_activity_item.text.eex:28
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:28
#, elixir-autogen, elixir-format
msgid "%{profile} moved the folder %{resource}." msgid "%{profile} moved the folder %{resource}."
msgstr "%{profile} a déplacé le dossier %{resource}." msgstr "%{profile} a déplacé le dossier %{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:75 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:75 lib/web/templates/email/activity/_resource_activity_item.text.eex:34
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:34
#, elixir-autogen, elixir-format
msgid "%{profile} moved the resource %{resource}." msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} a déplacé la ressource %{resource}." msgstr "%{profile} a déplacé la ressource %{resource}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:54 #: lib/web/templates/email/activity/_member_activity_item.html.heex:54 lib/web/templates/email/activity/_member_activity_item.text.eex:51
#: lib/web/templates/email/activity/_member_activity_item.text.eex:51
#, elixir-autogen, elixir-format
msgid "%{profile} quit the group." msgid "%{profile} quit the group."
msgstr "%{profile} a quitté le groupe." msgstr "%{profile} a quitté le groupe."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.heex:19 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the discussion %{discussion}." msgid "%{profile} renamed the discussion %{discussion}."
msgstr "%{profile} a renommé la discussion %{discussion}." msgstr "%{profile} a renommé la discussion %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:28 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:28 lib/web/templates/email/activity/_resource_activity_item.text.eex:14
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:14
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource}." msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:45 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:45 lib/web/templates/email/activity/_resource_activity_item.text.eex:21
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:21
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
msgstr "%{profile} a renommé la resource %{old_resource_title} en %{resource}." msgstr "%{profile} a renommé la resource %{old_resource_title} en %{resource}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:11 #: lib/web/templates/email/activity/_discussion_activity_item.html.heex:11 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "%{profile} replied to the discussion %{discussion}." msgid "%{profile} replied to the discussion %{discussion}."
msgstr "%{profile} a répondu à la discussion %{discussion}." msgstr "%{profile} a répondu à la discussion %{discussion}."
#: lib/web/templates/email/activity/_group_activity_item.html.heex:14 #: lib/web/templates/email/activity/_group_activity_item.html.heex:14 lib/web/templates/email/activity/_group_activity_item.text.eex:7
#: lib/web/templates/email/activity/_group_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "%{profile} updated the group %{group}." msgid "%{profile} updated the group %{group}."
msgstr "%{profile} a mis à jour le groupe %{group}." msgstr "%{profile} a mis à jour le groupe %{group}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:42 #: lib/web/templates/email/activity/_member_activity_item.html.heex:42 lib/web/templates/email/activity/_member_activity_item.text.eex:39
#: lib/web/templates/email/activity/_member_activity_item.text.eex:39
#, elixir-autogen, elixir-format
msgid "%{profile} updated the member %{member}." msgid "%{profile} updated the member %{member}."
msgstr "%{profile} a mis à jour le membre %{member}." msgstr "%{profile} a mis à jour le membre %{member}."
#: lib/service/activity/renderer/event.ex:23 #: lib/service/activity/renderer/event.ex:23 lib/web/templates/email/activity/_event_activity_item.html.heex:3
#: lib/web/templates/email/activity/_event_activity_item.html.heex:3
#: lib/web/templates/email/activity/_event_activity_item.text.eex:1 #: lib/web/templates/email/activity/_event_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "The event %{event} was created by %{profile}." msgid "The event %{event} was created by %{profile}."
msgstr "L'événement %{event} a été créé par %{profile}." msgstr "L'événement %{event} a été créé par %{profile}."
#: lib/service/activity/renderer/event.ex:43 #: lib/service/activity/renderer/event.ex:43 lib/web/templates/email/activity/_event_activity_item.html.heex:25
#: lib/web/templates/email/activity/_event_activity_item.html.heex:25
#: lib/web/templates/email/activity/_event_activity_item.text.eex:13 #: lib/web/templates/email/activity/_event_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "The event %{event} was deleted by %{profile}." msgid "The event %{event} was deleted by %{profile}."
msgstr "L'événement %{event} a été supprimé par %{profile}." msgstr "L'événement %{event} a été supprimé par %{profile}."
#: lib/service/activity/renderer/event.ex:33 #: lib/service/activity/renderer/event.ex:33 lib/web/templates/email/activity/_event_activity_item.html.heex:14
#: lib/web/templates/email/activity/_event_activity_item.html.heex:14
#: lib/web/templates/email/activity/_event_activity_item.text.eex:7 #: lib/web/templates/email/activity/_event_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "The event %{event} was updated by %{profile}." msgid "The event %{event} was updated by %{profile}."
msgstr "L'événement %{event} a été mis à jour par %{profile}." msgstr "L'événement %{event} a été mis à jour par %{profile}."
#: lib/web/templates/email/activity/_post_activity_item.html.heex:3 #: lib/web/templates/email/activity/_post_activity_item.html.heex:3 lib/web/templates/email/activity/_post_activity_item.text.eex:1
#: lib/web/templates/email/activity/_post_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "The post %{post} was created by %{profile}." msgid "The post %{post} was created by %{profile}."
msgstr "Le billet %{post} a été créé par %{profile}." msgstr "Le billet %{post} a été créé par %{profile}."
#: lib/web/templates/email/activity/_post_activity_item.html.heex:25 #: lib/web/templates/email/activity/_post_activity_item.html.heex:25 lib/web/templates/email/activity/_post_activity_item.text.eex:13
#: lib/web/templates/email/activity/_post_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "The post %{post} was deleted by %{profile}." msgid "The post %{post} was deleted by %{profile}."
msgstr "Le billet %{post} a été supprimé par %{profile}." msgstr "Le billet %{post} a été supprimé par %{profile}."
#: lib/web/templates/email/activity/_post_activity_item.html.heex:14 #: lib/web/templates/email/activity/_post_activity_item.html.heex:14 lib/web/templates/email/activity/_post_activity_item.text.eex:7
#: lib/web/templates/email/activity/_post_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "The post %{post} was updated by %{profile}." msgid "The post %{post} was updated by %{profile}."
msgstr "Le billet %{post} a été mis à jour par %{profile}." msgstr "Le billet %{post} a été mis à jour par %{profile}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:24 #: lib/web/templates/email/activity/_member_activity_item.html.heex:24 lib/web/templates/email/activity/_member_activity_item.text.eex:22
#: lib/web/templates/email/activity/_member_activity_item.text.eex:22
#, elixir-autogen, elixir-format
msgid "%{member} joined the group." msgid "%{member} joined the group."
msgstr "%{member} a rejoint le groupe." msgstr "%{member} a rejoint le groupe."
#: lib/service/activity/renderer/event.ex:63 #: lib/service/activity/renderer/event.ex:63 lib/web/templates/email/activity/_event_activity_item.html.heex:43
#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
#: lib/web/templates/email/activity/_event_activity_item.text.eex:25 #: lib/web/templates/email/activity/_event_activity_item.text.eex:25
#, elixir-autogen, elixir-format
msgid "%{profile} posted a comment on the event %{event}." msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} a posté un commentaire sur l'événement %{event}." msgstr "%{profile} a posté un commentaire sur l'événement %{event}."
#: lib/service/activity/renderer/event.ex:54 #: lib/service/activity/renderer/event.ex:54 lib/web/templates/email/activity/_event_activity_item.html.heex:32
#: lib/web/templates/email/activity/_event_activity_item.html.heex:32
#: lib/web/templates/email/activity/_event_activity_item.text.eex:19 #: lib/web/templates/email/activity/_event_activity_item.text.eex:19
#, elixir-autogen, elixir-format
msgid "%{profile} replied to a comment on the event %{event}." msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} a répondu à un commentaire sur l'événement %{event}." msgstr "%{profile} a répondu à un commentaire sur l'événement %{event}."
#: lib/web/templates/email/email_direct_activity.text.eex:27 #: lib/web/templates/email/email_direct_activity.text.eex:27
#, elixir-autogen, elixir-format
msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings."
msgstr "Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans vos préférences." msgstr "Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans vos préférences."
#: lib/web/templates/email/email_direct_activity.html.heex:222 #: lib/web/templates/email/email_direct_activity.html.heex:222 lib/web/templates/email/email_direct_activity.text.eex:23
#: lib/web/templates/email/email_direct_activity.text.eex:23
#, elixir-format
msgid "View one more activity" msgid "View one more activity"
msgid_plural "View %{count} more activities" msgid_plural "View %{count} more activities"
msgstr[0] "Voir une activité de plus" msgstr[0] "Voir une activité de plus"
msgstr[1] "Voir %{count} activités de plus" msgstr[1] "Voir %{count} activités de plus"
#: lib/web/templates/email/email_direct_activity.html.heex:53 #: lib/web/templates/email/email_direct_activity.html.heex:53 lib/web/templates/email/email_direct_activity.html.heex:60
#: lib/web/templates/email/email_direct_activity.html.heex:60 #: lib/web/templates/email/email_direct_activity.text.eex:6 lib/web/templates/email/email_direct_activity.text.eex:7
#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
#, elixir-format
msgid "There has been an activity!" msgid "There has been an activity!"
msgid_plural "There has been some activity!" msgid_plural "There has been some activity!"
msgstr[0] "Il y a eu une activité !" msgstr[0] "Il y a eu une activité !"
msgstr[1] "Il y a eu de l'activité !" msgstr[1] "Il y a eu de l'activité !"
#: lib/service/activity/renderer/renderer.ex:46 #: lib/service/activity/renderer/renderer.ex:46
#, elixir-autogen, elixir-format
msgid "Activity on %{instance}" msgid "Activity on %{instance}"
msgstr "Activité sur %{instance}" msgstr "Activité sur %{instance}"
#: lib/service/activity/renderer/comment.ex:38 #: lib/service/activity/renderer/comment.ex:38 lib/web/templates/email/activity/_comment_activity_item.html.heex:14
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:14
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 #: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "%{profile} has posted an announcement under event %{event}." msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} a posté une annonce sous l'événement %{event}." msgstr "%{profile} a posté une annonce sous l'événement %{event}."
#: lib/service/activity/renderer/comment.ex:24 #: lib/service/activity/renderer/comment.ex:24 lib/web/templates/email/activity/_comment_activity_item.html.heex:3
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:3
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 #: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{profile} mentionned you in a comment under event %{event}." msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}." msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}."
#: lib/web/templates/email/email_direct_activity.html.heex:252 #: lib/web/templates/email/email_direct_activity.html.heex:252
#, elixir-autogen, elixir-format
msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}."
msgstr "" msgstr ""
"Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans %{tag_start}vos préférences" "Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans %{tag_start}vos "
"%{tag_end}." "préférences%{tag_end}."
#: lib/web/templates/email/email_direct_activity.html.heex:51 #: lib/web/templates/email/email_direct_activity.html.heex:51 lib/web/templates/email/email_direct_activity.text.eex:5
#: lib/web/templates/email/email_direct_activity.text.eex:5
#, elixir-autogen, elixir-format
msgid "Here's your weekly activity recap" msgid "Here's your weekly activity recap"
msgstr "Voici votre récapitulatif hebdomadaire d'activité" msgstr "Voici votre récapitulatif hebdomadaire d'activité"
#: lib/web/email/activity.ex:154 #: lib/web/email/activity.ex:154 lib/web/email/activity.ex:175
#: lib/web/email/activity.ex:175
#, elixir-autogen, elixir-format
msgid "Activity notification for %{instance}" msgid "Activity notification for %{instance}"
msgstr "Notification d'activité sur %{instance}" msgstr "Notification d'activité sur %{instance}"
#: lib/web/email/activity.ex:161 #: lib/web/email/activity.ex:161
#, elixir-autogen, elixir-format
msgid "Daily activity recap for %{instance}" msgid "Daily activity recap for %{instance}"
msgstr "Récapitulatif quotidien d'activité sur %{instance}" msgstr "Récapitulatif quotidien d'activité sur %{instance}"
#: lib/web/templates/email/email_direct_activity.html.heex:49 #: lib/web/templates/email/email_direct_activity.html.heex:49 lib/web/templates/email/email_direct_activity.text.eex:4
#: lib/web/templates/email/email_direct_activity.text.eex:4
#, elixir-autogen, elixir-format
msgid "Here's your daily activity recap" msgid "Here's your daily activity recap"
msgstr "Voici votre récapitulatif quotidien d'activité" msgstr "Voici votre récapitulatif quotidien d'activité"
#: lib/web/email/activity.ex:168 #: lib/web/email/activity.ex:168
#, elixir-autogen, elixir-format
msgid "Weekly activity recap for %{instance}" msgid "Weekly activity recap for %{instance}"
msgstr "Récapitulatif hebdomadaire d'activité sur %{instance}" msgstr "Récapitulatif hebdomadaire d'activité sur %{instance}"
#: lib/service/activity/renderer/comment.ex:66 #: lib/service/activity/renderer/comment.ex:66 lib/web/templates/email/activity/_comment_activity_item.html.heex:37
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:37
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
#, elixir-autogen, elixir-format
msgid "%{profile} has posted a new comment under your event %{event}." msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} a posté un nouveau commentaire sous votre événement %{event}." msgstr "%{profile} a posté un nouveau commentaire sous votre événement %{event}."
#: lib/service/activity/renderer/comment.ex:53 #: lib/service/activity/renderer/comment.ex:53 lib/web/templates/email/activity/_comment_activity_item.html.heex:26
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:26
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "%{profile} has posted a new reply under your event %{event}." msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} a posté une nouvelle réponse sous votre événement %{event}." msgstr "%{profile} a posté une nouvelle réponse sous votre événement %{event}."
#: lib/web/email/activity.ex:77 #: lib/web/email/activity.ex:77
#, elixir-autogen, elixir-format
msgid "Announcement for your event %{event}" msgid "Announcement for your event %{event}"
msgstr "Annonce pour votre événement %{event}" msgstr "Annonce pour votre événement %{event}"
#: lib/service/activity/renderer/group.ex:23 #: lib/service/activity/renderer/group.ex:23
#, elixir-autogen, elixir-format
msgid "The group %{group} was updated by %{profile}." msgid "The group %{group} was updated by %{profile}."
msgstr "Le groupe %{group} a été mis à jour par %{profile}." msgstr "Le groupe %{group} a été mis à jour par %{profile}."
#: lib/service/activity/renderer/post.ex:47 #: lib/service/activity/renderer/post.ex:47
#, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was deleted by %{profile}." msgid "The post %{post} from group %{group} was deleted by %{profile}."
msgstr "Le billet %{post} du groupe %{group} a été supprimé par %{profile}." msgstr "Le billet %{post} du groupe %{group} a été supprimé par %{profile}."
#: lib/service/activity/renderer/post.ex:31 #: lib/service/activity/renderer/post.ex:31
#, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was published by %{profile}." msgid "The post %{post} from group %{group} was published by %{profile}."
msgstr "Le billet %{post} du groupe %{group} a été publié par %{profile}." msgstr "Le billet %{post} du groupe %{group} a été publié par %{profile}."
#: lib/service/activity/renderer/post.ex:39 #: lib/service/activity/renderer/post.ex:39
#, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was updated by %{profile}." msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "Le billet %{post} du groupe %{group} a été mis à jour par %{profile}." msgstr "Le billet %{post} du groupe %{group} a été mis à jour par %{profile}."
#: lib/service/activity/renderer/member.ex:39 #: lib/service/activity/renderer/member.ex:39
#, elixir-autogen, elixir-format
msgid "%{member} accepted the invitation to join the group %{group}." msgid "%{member} accepted the invitation to join the group %{group}."
msgstr "%{member} a accepté l'invitation à rejoindre le groupe %{group}." msgstr "%{member} a accepté l'invitation à rejoindre le groupe %{group}."
#: lib/service/activity/renderer/member.ex:47 #: lib/service/activity/renderer/member.ex:47
#, elixir-autogen, elixir-format
msgid "%{member} joined the group %{group}." msgid "%{member} joined the group %{group}."
msgstr "%{member} a rejoint le groupe %{group}." msgstr "%{member} a rejoint le groupe %{group}."
#: lib/service/activity/renderer/member.ex:43 #: lib/service/activity/renderer/member.ex:43
#, elixir-autogen, elixir-format
msgid "%{member} rejected the invitation to join the group %{group}." msgid "%{member} rejected the invitation to join the group %{group}."
msgstr "%{member} a refusé l'invitation à rejoindre le groupe %{group}." msgstr "%{member} a refusé l'invitation à rejoindre le groupe %{group}."
#: lib/service/activity/renderer/member.ex:31 #: lib/service/activity/renderer/member.ex:31
#, elixir-autogen, elixir-format
msgid "%{member} requested to join the group %{group}." msgid "%{member} requested to join the group %{group}."
msgstr "%{member} a demandé à rejoindre le groupe %{group}." msgstr "%{member} a demandé à rejoindre le groupe %{group}."
#: lib/service/activity/renderer/member.ex:35 #: lib/service/activity/renderer/member.ex:35
#, elixir-autogen, elixir-format
msgid "%{member} was invited by %{profile} to group %{group}." msgid "%{member} was invited by %{profile} to group %{group}."
msgstr "%{member} a été invité⋅e par %{profile} au groupe %{group}." msgstr "%{member} a été invité⋅e par %{profile} au groupe %{group}."
#: lib/service/activity/renderer/member.ex:51 #: lib/service/activity/renderer/member.ex:51
#, elixir-autogen, elixir-format
msgid "%{profile} added the member %{member} to group %{group}." msgid "%{profile} added the member %{member} to group %{group}."
msgstr "%{profile} a ajouté le ou la membre %{member} au groupe %{group}." msgstr "%{profile} a ajouté le ou la membre %{member} au groupe %{group}."
#: lib/service/activity/renderer/member.ex:55 #: lib/service/activity/renderer/member.ex:55
#, elixir-autogen, elixir-format
msgid "%{profile} approved the membership request from %{member} for group %{group}." msgid "%{profile} approved the membership request from %{member} for group %{group}."
msgstr "%{profile} a approuvé la demande d'adhésion de %{member} au groupe %{group}." msgstr "%{profile} a approuvé la demande d'adhésion de %{member} au groupe %{group}."
#: lib/service/activity/renderer/resource.ex:33 #: lib/service/activity/renderer/resource.ex:33
#, elixir-autogen, elixir-format
msgid "%{profile} created the folder %{resource} in group %{group}." msgid "%{profile} created the folder %{resource} in group %{group}."
msgstr "%{profile} a créé le dossier %{resource} du groupe %{group}." msgstr "%{profile} a créé le dossier %{resource} du groupe %{group}."
#: lib/service/activity/renderer/resource.ex:69 #: lib/service/activity/renderer/resource.ex:69
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the folder %{resource} in group %{group}." msgid "%{profile} deleted the folder %{resource} in group %{group}."
msgstr "%{profile} a supprimé le dossier %{resource} du groupe %{group}." msgstr "%{profile} a supprimé le dossier %{resource} du groupe %{group}."
#: lib/service/activity/renderer/resource.ex:71 #: lib/service/activity/renderer/resource.ex:71
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the resource %{resource} in group %{group}." msgid "%{profile} deleted the resource %{resource} in group %{group}."
msgstr "%{profile} a supprimé la ressource %{resource} du groupe %{group}." msgstr "%{profile} a supprimé la ressource %{resource} du groupe %{group}."
#: lib/service/activity/renderer/member.ex:75 #: lib/service/activity/renderer/member.ex:75
#, elixir-autogen, elixir-format
msgid "%{profile} excluded member %{member} from the group %{group}." msgid "%{profile} excluded member %{member} from the group %{group}."
msgstr "%{profile} a exclu le ou la membre %{member} du groupe %{group}." msgstr "%{profile} a exclu le ou la membre %{member} du groupe %{group}."
#: lib/service/activity/renderer/resource.ex:61 #: lib/service/activity/renderer/resource.ex:61
#, elixir-autogen, elixir-format
msgid "%{profile} moved the folder %{resource} in group %{group}." msgid "%{profile} moved the folder %{resource} in group %{group}."
msgstr "%{profile} a déplacé le dossier %{resource} du groupe %{group}." msgstr "%{profile} a déplacé le dossier %{resource} du groupe %{group}."
#: lib/service/activity/renderer/resource.ex:63 #: lib/service/activity/renderer/resource.ex:63
#, elixir-autogen, elixir-format
msgid "%{profile} moved the resource %{resource} in group %{group}." msgid "%{profile} moved the resource %{resource} in group %{group}."
msgstr "%{profile} a déplacé la ressource %{resource} du groupe %{group}." msgstr "%{profile} a déplacé la ressource %{resource} du groupe %{group}."
#: lib/service/activity/renderer/member.ex:79 #: lib/service/activity/renderer/member.ex:79
#, elixir-autogen, elixir-format
msgid "%{profile} quit the group %{group}." msgid "%{profile} quit the group %{group}."
msgstr "%{profile} a quitté le groupe %{group}." msgstr "%{profile} a quitté le groupe %{group}."
#: lib/service/activity/renderer/member.ex:63 #: lib/service/activity/renderer/member.ex:63
#, elixir-autogen, elixir-format
msgid "%{profile} rejected the membership request from %{member} for group %{group}." msgid "%{profile} rejected the membership request from %{member} for group %{group}."
msgstr "%{profile} a rejeté la demande d'adhésion de %{member} pour le groupe %{group}." msgstr "%{profile} a rejeté la demande d'adhésion de %{member} pour le groupe %{group}."
#: lib/service/activity/renderer/resource.ex:45 #: lib/service/activity/renderer/resource.ex:45
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource} in group %{group}." msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource} in group %{group}."
msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource} dans le groupe %{group}." msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource} dans le groupe %{group}."
#: lib/service/activity/renderer/resource.ex:51 #: lib/service/activity/renderer/resource.ex:51
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} in group %{group}." msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} in group %{group}."
msgstr "%{profile} a renommé la ressource %{old_resource_title} en %{resource} dans le groupe %{group}." msgstr "%{profile} a renommé la ressource %{old_resource_title} en %{resource} dans le groupe %{group}."
#: lib/service/activity/renderer/member.ex:71 #: lib/service/activity/renderer/member.ex:71
#, elixir-autogen, elixir-format
msgid "%{profile} updated the member %{member} in group %{group}." msgid "%{profile} updated the member %{member} in group %{group}."
msgstr "%{profile} a mis à jour le membre %{member} dans le groupe %{group}." msgstr "%{profile} a mis à jour le membre %{member} dans le groupe %{group}."
#: lib/service/activity/renderer/resource.ex:35 #: lib/service/activity/renderer/resource.ex:35
#, elixir-autogen, elixir-format
msgid "%{profile} created the resource %{resource} in group %{group}." msgid "%{profile} created the resource %{resource} in group %{group}."
msgstr "%{profile} a créé la ressource %{resource} dans le groupe %{group}." msgstr "%{profile} a créé la ressource %{resource} dans le groupe %{group}."
#: lib/service/activity/renderer/discussion.ex:86 #: lib/service/activity/renderer/discussion.ex:86
#, elixir-autogen, elixir-format
msgid "%{profile} archived the discussion %{discussion} in group %{group}." msgid "%{profile} archived the discussion %{discussion} in group %{group}."
msgstr "%{profile} a archivé la discussion %{discussion} du groupe %{group}." msgstr "%{profile} a archivé la discussion %{discussion} du groupe %{group}."
#: lib/service/activity/renderer/discussion.ex:26 #: lib/service/activity/renderer/discussion.ex:26
#, elixir-autogen, elixir-format
msgid "%{profile} created the discussion %{discussion} in group %{group}." msgid "%{profile} created the discussion %{discussion} in group %{group}."
msgstr "%{profile} a créé la discussion %{discussion} du groupe %{group}." msgstr "%{profile} a créé la discussion %{discussion} du groupe %{group}."
#: lib/service/activity/renderer/discussion.ex:101 #: lib/service/activity/renderer/discussion.ex:101
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the discussion %{discussion} in group %{group}." msgid "%{profile} deleted the discussion %{discussion} in group %{group}."
msgstr "%{profile} a créé la discussion %{discussion} dans le groupe %{group}." msgstr "%{profile} a créé la discussion %{discussion} dans le groupe %{group}."
#: lib/service/activity/renderer/discussion.ex:56 #: lib/service/activity/renderer/discussion.ex:56
#, elixir-autogen, elixir-format
msgid "%{profile} mentionned you in the discussion %{discussion} in group %{group}." msgid "%{profile} mentionned you in the discussion %{discussion} in group %{group}."
msgstr "%{profile} vous a mentionné dans la discussion %{discussion} du groupe %{group}." msgstr "%{profile} vous a mentionné dans la discussion %{discussion} du groupe %{group}."
#: lib/service/activity/renderer/discussion.ex:71 #: lib/service/activity/renderer/discussion.ex:71
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the discussion %{discussion} in group %{group}." msgid "%{profile} renamed the discussion %{discussion} in group %{group}."
msgstr "%{profile} a renommé la discussion %{discussion} du groupe %{group}." msgstr "%{profile} a renommé la discussion %{discussion} du groupe %{group}."
#: lib/service/activity/renderer/discussion.ex:41 #: lib/service/activity/renderer/discussion.ex:41
#, elixir-autogen, elixir-format
msgid "%{profile} replied to the discussion %{discussion} in group %{group}." msgid "%{profile} replied to the discussion %{discussion} in group %{group}."
msgstr "%{profile} a répondu à la discussion %{discussion} du groupe %{group}." msgstr "%{profile} a répondu à la discussion %{discussion} du groupe %{group}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:36 #: lib/web/templates/email/activity/_member_activity_item.html.heex:36 lib/web/templates/email/activity/_member_activity_item.text.eex:33
#: lib/web/templates/email/activity/_member_activity_item.text.eex:33
#, elixir-autogen, elixir-format
msgid "%{profile} approved the member %{member}." msgid "%{profile} approved the member %{member}."
msgstr "%{profile} a ajouté le ou la membre %{member}." msgstr "%{profile} a ajouté le ou la membre %{member}."
#: lib/service/activity/renderer/event.ex:74 #: lib/service/activity/renderer/event.ex:74 lib/web/templates/email/activity/_event_activity_item.html.heex:55
#: lib/web/templates/email/activity/_event_activity_item.html.heex:55
#: lib/web/templates/email/activity/_event_activity_item.text.eex:31 #: lib/web/templates/email/activity/_event_activity_item.text.eex:31
#, elixir-autogen, elixir-format
msgid "%{profile} joined your event %{event}." msgid "%{profile} joined your event %{event}."
msgstr "" msgstr "%{profile} a rejoint votre événement %{event}."
#: lib/web/views/email_view.ex:61 #: lib/web/views/email_view.ex:61
#, elixir-autogen, elixir-format
msgid "An anonymous profile" msgid "An anonymous profile"
msgstr "" msgstr "Un profil anonyme"
#: lib/web/templates/email/email_anonymous_activity.html.heex:107 #: lib/web/templates/email/email_anonymous_activity.html.heex:107 lib/web/templates/email/email_anonymous_activity.text.eex:14
#: lib/web/templates/email/email_anonymous_activity.text.eex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "%{profile} has posted a private announcement about event %{event}." msgid "%{profile} has posted a private announcement about event %{event}."
msgstr "%{profile} a posté une annonce sous l'événement %{event}." msgstr "%{profile} a posté une annonce privée à propos de l'événement %{event}."
#: lib/web/templates/email/email_anonymous_activity.html.heex:50 #: lib/web/templates/email/email_anonymous_activity.html.heex:50 lib/web/templates/email/email_anonymous_activity.text.eex:6
#: lib/web/templates/email/email_anonymous_activity.text.eex:6
#, elixir-autogen, elixir-format, fuzzy
msgid "%{profile} has posted a public announcement under event %{event}." msgid "%{profile} has posted a public announcement under event %{event}."
msgstr "%{profile} a posté une annonce sous l'événement %{event}." msgstr "%{profile} a posté une annonce publique sous l'événement %{event}."
#: lib/web/templates/email/activity/_conversation_activity_item.html.heex:3 #: lib/web/templates/email/activity/_conversation_activity_item.html.heex:3
#, elixir-autogen, elixir-format, fuzzy
msgid "%{profile} mentionned you in a %{conversation}." msgid "%{profile} mentionned you in a %{conversation}."
msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}." msgstr "%{profile} vous a mentionné dans une conversation %{conversation}."
#: lib/web/templates/email/activity/_conversation_activity_item.text.eex:1 #: lib/web/templates/email/activity/_conversation_activity_item.text.eex:1
#, elixir-autogen, elixir-format, fuzzy
msgid "%{profile} mentionned you in a conversation." msgid "%{profile} mentionned you in a conversation."
msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}." msgstr "%{profile} vous a mentionné dans une conversation."
#: lib/service/activity/renderer/conversation.ex:37 #: lib/service/activity/renderer/conversation.ex:37
#, elixir-autogen, elixir-format
msgid "%{profile} replied to your message" msgid "%{profile} replied to your message"
msgstr "" msgstr "%{profile} a répondu à votre message"
#: lib/web/templates/email/activity/_conversation_activity_item.html.heex:12 #: lib/web/templates/email/activity/_conversation_activity_item.html.heex:12
#, elixir-autogen, elixir-format, fuzzy
msgid "%{profile} replied you in a %{conversation}." msgid "%{profile} replied you in a %{conversation}."
msgstr "%{profile} a répondu à la discussion %{discussion}." msgstr "%{profile} vous a répondu dans une %{conversation}."
#: lib/web/templates/email/activity/_conversation_activity_item.text.eex:6 #: lib/web/templates/email/activity/_conversation_activity_item.text.eex:6
#, elixir-autogen, elixir-format
msgid "%{profile} replied you in a conversation." msgid "%{profile} replied you in a conversation."
msgstr "" msgstr "%{profile} vous a répondu dans une conversation."
#: lib/service/activity/renderer/conversation.ex:50 #: lib/service/activity/renderer/conversation.ex:50
#, elixir-autogen, elixir-format
msgid "%{profile} sent a private message about event %{event}" msgid "%{profile} sent a private message about event %{event}"
msgstr "" msgstr "%{profile} a envoyé un message privé à propos de l'événement %{event}"
#: lib/service/activity/renderer/conversation.ex:24 #: lib/service/activity/renderer/conversation.ex:24
#, elixir-autogen, elixir-format
msgid "%{profile} sent you a message" msgid "%{profile} sent you a message"
msgstr "" msgstr "%{profile} vous a envoyé un message"
#: lib/web/email/activity.ex:51 #: lib/web/email/activity.ex:51
#, elixir-autogen, elixir-format
msgid "Informations about your event %{event}" msgid "Informations about your event %{event}"
msgstr "" msgstr "Informations sur votre événement %{event}"
#: lib/web/templates/email/email_anonymous_activity.html.heex:122 #: lib/web/templates/email/email_anonymous_activity.html.heex:122 lib/web/templates/email/email_anonymous_activity.text.eex:20
#: lib/web/templates/email/email_anonymous_activity.text.eex:20
#, elixir-autogen, elixir-format
msgid "It might give details on how to join the event, so make sure to read it appropriately." msgid "It might give details on how to join the event, so make sure to read it appropriately."
msgstr "" msgstr "Elle peut donner des détails sur la manière de participer à l'événement, veillez donc à la lire attentivement."
#: lib/web/templates/email/email_anonymous_activity.html.heex:160 #: lib/web/templates/email/email_anonymous_activity.html.heex:160 lib/web/templates/email/email_anonymous_activity.text.eex:28
#: lib/web/templates/email/email_anonymous_activity.text.eex:28
#, elixir-autogen, elixir-format
msgid "This information is sent privately to you as a person who registered for this event. Share the informations above with other people with caution." msgid "This information is sent privately to you as a person who registered for this event. Share the informations above with other people with caution."
msgstr "" msgstr ""
"Ces informations vous sont envoyées en privé en tant que personne inscrite à cet événement. Partagez les informations ci-dessus avec d'autres "
"personnes avec prudence."

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff