refactor: use dedicated email for event announcements
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
18314956ca
commit
b97f1c997f
@ -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:
|
||||||
|
@ -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,27 +50,33 @@ 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 ->
|
||||||
LegacyNotifierBuilder.enqueue(
|
if actor_id != conversation_participant_actor_id do
|
||||||
:legacy_notify,
|
LegacyNotifierBuilder.enqueue(
|
||||||
%{
|
:legacy_notify,
|
||||||
"subject" => subject,
|
%{
|
||||||
"subject_params" =>
|
"subject" => subject,
|
||||||
Map.merge(
|
"subject_params" =>
|
||||||
%{
|
Map.merge(
|
||||||
conversation_id: conversation_id,
|
%{
|
||||||
conversation_participant_id: conversation_participant_id
|
conversation_id: conversation_id,
|
||||||
},
|
conversation_participant_id: conversation_participant_id,
|
||||||
event_subject_params(conversation)
|
conversation_text: last_comment_text
|
||||||
),
|
},
|
||||||
"type" => :conversation,
|
event_subject_params(conversation)
|
||||||
"object_type" => :conversation,
|
),
|
||||||
"author_id" => actor_id,
|
"type" => :conversation,
|
||||||
"object_id" => to_string(conversation_id),
|
"object_type" => :conversation,
|
||||||
"participant" => Map.take(conversation_participant, [:id, :actor_id])
|
"author_id" => actor_id,
|
||||||
}
|
"object_id" => to_string(conversation_id),
|
||||||
)
|
"participant" => Map.take(conversation_participant, [:id, :actor_id])
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
{:ok, :enqueued}
|
{:ok, :enqueued}
|
||||||
|
@ -13,25 +13,35 @@ 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)
|
||||||
|
:ok
|
||||||
|
else
|
||||||
|
args
|
||||||
|
|> users_to_notify(author_id: args["author_id"], group_id: Map.get(args, "group_id"))
|
||||||
|
|> Enum.each(¬ify_user(&1, activity))
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if args["subject"] == "conversation_created" do
|
defp special_handling("participation_event_comment", args, activity) do
|
||||||
notify_anonymous_participants(
|
notify_participants(
|
||||||
get_in(args, ["subject_params", "conversation_event_id"]),
|
get_in(args, ["subject_params", "event_id"]),
|
||||||
activity
|
activity,
|
||||||
)
|
args["author_id"]
|
||||||
end
|
)
|
||||||
|
end
|
||||||
|
|
||||||
args
|
defp special_handling("conversation_created", args, activity) do
|
||||||
|> users_to_notify(author_id: args["author_id"], group_id: Map.get(args, "group_id"))
|
notify_participants(
|
||||||
|> Enum.each(¬ify_user(&1, activity))
|
get_in(args, ["subject_params", "conversation_event_id"]),
|
||||||
|
activity,
|
||||||
|
args["author_id"]
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp build_activity(args) do
|
defp build_activity(args) do
|
||||||
@ -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
|
||||||
|
@ -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(
|
||||||
|
@ -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>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
--
|
--
|
||||||
|
|
||||||
<%= @extra["conversation"].last_comment.text |> html_to_text() |> mail_quote() %>
|
<%= @activity.subject_params["conversation_text"] |> html_to_text() |> mail_quote() %>
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
||||||
|
@ -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
Loading…
Reference in New Issue
Block a user