forked from potsda.mn/mobilizon
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)
|
||||
|> where([_cp, c], c.event_id == ^event_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],
|
||||
actor: a,
|
||||
conversation:
|
||||
|
|
|
@ -38,7 +38,7 @@ defmodule Mobilizon.Service.Activity.Conversation do
|
|||
%Conversation{
|
||||
id: conversation_id
|
||||
} = conversation,
|
||||
%Comment{actor_id: actor_id},
|
||||
%Comment{actor_id: actor_id, text: last_comment_text},
|
||||
_options
|
||||
)
|
||||
when subject in [
|
||||
|
@ -50,8 +50,12 @@ defmodule Mobilizon.Service.Activity.Conversation do
|
|||
|
||||
conversation_id
|
||||
|> 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 ->
|
||||
if actor_id != conversation_participant_actor_id do
|
||||
LegacyNotifierBuilder.enqueue(
|
||||
:legacy_notify,
|
||||
%{
|
||||
|
@ -60,7 +64,8 @@ defmodule Mobilizon.Service.Activity.Conversation do
|
|||
Map.merge(
|
||||
%{
|
||||
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)
|
||||
),
|
||||
|
@ -71,6 +76,7 @@ defmodule Mobilizon.Service.Activity.Conversation do
|
|||
"participant" => Map.take(conversation_participant, [:id, :actor_id])
|
||||
}
|
||||
)
|
||||
end
|
||||
end)
|
||||
|
||||
{:ok, :enqueued}
|
||||
|
|
|
@ -13,26 +13,36 @@ defmodule Mobilizon.Service.Workers.LegacyNotifierBuilder do
|
|||
use Mobilizon.Service.Workers.Helper, queue: "activity"
|
||||
|
||||
@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")
|
||||
activity = build_activity(args)
|
||||
Logger.debug("Handling activity #{activity.subject} to notify in LegacyNotifierBuilder")
|
||||
|
||||
if args["subject"] == "participation_event_comment" do
|
||||
notify_anonymous_participants(get_in(args, ["subject_params", "event_id"]), activity)
|
||||
end
|
||||
|
||||
if args["subject"] == "conversation_created" do
|
||||
notify_anonymous_participants(
|
||||
get_in(args, ["subject_params", "conversation_event_id"]),
|
||||
activity
|
||||
)
|
||||
end
|
||||
|
||||
if args["subject"] in ["participation_event_comment", "conversation_created"] do
|
||||
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
|
||||
|
||||
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
|
||||
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)
|
||||
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(event_id, activity) do
|
||||
|
|
|
@ -46,6 +46,7 @@ defmodule Mobilizon.Web.Email.Activity do
|
|||
options
|
||||
) do
|
||||
locale = Keyword.get(options, :locale, "en")
|
||||
Gettext.put_locale(locale)
|
||||
|
||||
subject =
|
||||
dgettext(
|
||||
|
@ -54,8 +55,6 @@ defmodule Mobilizon.Web.Email.Activity do
|
|||
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}")
|
||||
|
||||
[to: email, subject: subject]
|
||||
|
@ -63,15 +62,13 @@ defmodule Mobilizon.Web.Email.Activity do
|
|||
|> render_body(:email_anonymous_activity, %{
|
||||
subject: subject,
|
||||
activity: activity,
|
||||
locale: locale,
|
||||
extra: %{
|
||||
"conversation" => conversation
|
||||
}
|
||||
locale: locale
|
||||
})
|
||||
end
|
||||
|
||||
def anonymous_activity(email, %Activity{subject_params: subject_params} = activity, options) do
|
||||
locale = Keyword.get(options, :locale, "en")
|
||||
Gettext.put_locale(locale)
|
||||
|
||||
subject =
|
||||
dgettext(
|
||||
|
|
|
@ -113,9 +113,7 @@
|
|||
event:
|
||||
"<a href=\"#{Routes.page_url(Mobilizon.Web.Endpoint,
|
||||
:event,
|
||||
@activity.subject_params["conversation_event_uuid"]) |> URI.decode()}\">
|
||||
#{escape_html(@activity.subject_params["conversation_event_title"])}
|
||||
</a>"
|
||||
@activity.subject_params["conversation_event_uuid"]) |> URI.decode()}\">#{escape_html(@activity.subject_params["conversation_event_title"])}</a>"
|
||||
}
|
||||
)
|
||||
|> raw %>
|
||||
|
@ -137,7 +135,7 @@
|
|||
<tr>
|
||||
<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;">
|
||||
<%= @extra["conversation"].last_comment.text
|
||||
<%= @activity.subject_params["conversation_text"]
|
||||
|> sanitize_to_basic_html()
|
||||
|> raw() %>
|
||||
</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 ""
|
||||
"Project-Id-Version: \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"
|
||||
"Language-Team: French <https://weblate.framasoft.org/projects/mobilizon/"
|
||||
"activity/fr/>\n"
|
||||
"Language-Team: French <https://weblate.framasoft.org/projects/mobilizon/activity/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\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.text.eex:12
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:14 lib/web/templates/email/activity/_member_activity_item.text.eex:12
|
||||
msgid "%{member} accepted the invitation to join the group."
|
||||
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.text.eex:17
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:17
|
||||
msgid "%{member} rejected the invitation to join the group."
|
||||
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.text.eex:1
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:3 lib/web/templates/email/activity/_member_activity_item.text.eex:1
|
||||
msgid "%{member} requested to join the group."
|
||||
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.text.eex:6
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:8 lib/web/templates/email/activity/_member_activity_item.text.eex:6
|
||||
msgid "%{member} was invited by %{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.text.eex:27
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:30 lib/web/templates/email/activity/_member_activity_item.text.eex:27
|
||||
msgid "%{profile} added the member %{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.text.eex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:27 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
|
||||
msgid "%{profile} archived the 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.text.eex:1
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:3 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
|
||||
msgid "%{profile} created the 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.text.eex:2
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:4 lib/web/templates/email/activity/_resource_activity_item.text.eex:2
|
||||
msgid "%{profile} created the folder %{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.text.eex:1
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:3 lib/web/templates/email/activity/_group_activity_item.text.eex:1
|
||||
msgid "%{profile} created the group %{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.text.eex:8
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:15 lib/web/templates/email/activity/_resource_activity_item.text.eex:8
|
||||
msgid "%{profile} created the 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.text.eex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:35 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
|
||||
msgid "%{profile} deleted the 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.text.eex:40
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:88 lib/web/templates/email/activity/_resource_activity_item.text.eex:40
|
||||
msgid "%{profile} deleted the folder %{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.text.eex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:94 lib/web/templates/email/activity/_resource_activity_item.text.eex:45
|
||||
msgid "%{profile} deleted the 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.text.eex:45
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} excluded member %{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.text.eex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:64 lib/web/templates/email/activity/_resource_activity_item.text.eex:28
|
||||
msgid "%{profile} moved the folder %{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.text.eex:34
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:75 lib/web/templates/email/activity/_resource_activity_item.text.eex:34
|
||||
msgid "%{profile} moved the resource %{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.text.eex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:54 lib/web/templates/email/activity/_member_activity_item.text.eex:51
|
||||
msgid "%{profile} quit the group."
|
||||
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.text.eex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:19 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
|
||||
msgid "%{profile} renamed the 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.text.eex:14
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:28 lib/web/templates/email/activity/_resource_activity_item.text.eex:14
|
||||
msgid "%{profile} renamed the folder from %{old_resource_title} to %{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.text.eex:21
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:45 lib/web/templates/email/activity/_resource_activity_item.text.eex:21
|
||||
msgid "%{profile} renamed the resource from %{old_resource_title} to %{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.text.eex:7
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:11 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
|
||||
msgid "%{profile} replied to the 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.text.eex:7
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:14 lib/web/templates/email/activity/_group_activity_item.text.eex:7
|
||||
msgid "%{profile} updated the group %{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.text.eex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:42 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "%{profile} a mis à jour le membre %{member}."
|
||||
|
||||
#: lib/service/activity/renderer/event.ex:23
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:3
|
||||
#: 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.text.eex:1
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The event %{event} was created by %{profile}."
|
||||
msgstr "L'événement %{event} a été créé par %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/event.ex:43
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:25
|
||||
#: 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.text.eex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The event %{event} was deleted by %{profile}."
|
||||
msgstr "L'événement %{event} a été supprimé par %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/event.ex:33
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:14
|
||||
#: 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.text.eex:7
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The event %{event} was updated by %{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.text.eex:1
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:3 lib/web/templates/email/activity/_post_activity_item.text.eex:1
|
||||
msgid "The post %{post} was created by %{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.text.eex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:25 lib/web/templates/email/activity/_post_activity_item.text.eex:13
|
||||
msgid "The post %{post} was deleted by %{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.text.eex:7
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:14 lib/web/templates/email/activity/_post_activity_item.text.eex:7
|
||||
msgid "The post %{post} was updated by %{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.text.eex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:24 lib/web/templates/email/activity/_member_activity_item.text.eex:22
|
||||
msgid "%{member} joined the group."
|
||||
msgstr "%{member} a rejoint le groupe."
|
||||
|
||||
#: lib/service/activity/renderer/event.ex:63
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
|
||||
#: 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.text.eex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} posted a comment on the event %{event}."
|
||||
msgstr "%{profile} a posté un commentaire sur l'événement %{event}."
|
||||
|
||||
#: lib/service/activity/renderer/event.ex:54
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:32
|
||||
#: 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.text.eex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} replied to a comment on the event %{event}."
|
||||
msgstr "%{profile} a répondu à un commentaire sur l'événement %{event}."
|
||||
|
||||
#: 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."
|
||||
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.text.eex:23
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:222 lib/web/templates/email/email_direct_activity.text.eex:23
|
||||
msgid "View one more activity"
|
||||
msgid_plural "View %{count} more activities"
|
||||
msgstr[0] "Voir une activité 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:60
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:6
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:7
|
||||
#, elixir-format
|
||||
#: 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.text.eex:6 lib/web/templates/email/email_direct_activity.text.eex:7
|
||||
msgid "There has been an activity!"
|
||||
msgid_plural "There has been some activity!"
|
||||
msgstr[0] "Il y a eu une activité !"
|
||||
msgstr[1] "Il y a eu de l'activité !"
|
||||
|
||||
#: lib/service/activity/renderer/renderer.ex:46
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Activity on %{instance}"
|
||||
msgstr "Activité sur %{instance}"
|
||||
|
||||
#: lib/service/activity/renderer/comment.ex:38
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:14
|
||||
#: 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.text.eex:7
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} has posted an announcement under event %{event}."
|
||||
msgstr "%{profile} a posté une annonce sous l'événement %{event}."
|
||||
|
||||
#: lib/service/activity/renderer/comment.ex:24
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:3
|
||||
#: 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.text.eex:1
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} mentionned you in a comment under event %{event}."
|
||||
msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}."
|
||||
|
||||
#: 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}."
|
||||
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"
|
||||
"%{tag_end}."
|
||||
"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%{tag_end}."
|
||||
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:51
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:5
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:51 lib/web/templates/email/email_direct_activity.text.eex:5
|
||||
msgid "Here's your weekly activity recap"
|
||||
msgstr "Voici votre récapitulatif hebdomadaire d'activité"
|
||||
|
||||
#: lib/web/email/activity.ex:154
|
||||
#: lib/web/email/activity.ex:175
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/email/activity.ex:154 lib/web/email/activity.ex:175
|
||||
msgid "Activity notification for %{instance}"
|
||||
msgstr "Notification d'activité sur %{instance}"
|
||||
|
||||
#: lib/web/email/activity.ex:161
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Daily activity recap for %{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.text.eex:4
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:49 lib/web/templates/email/email_direct_activity.text.eex:4
|
||||
msgid "Here's your daily activity recap"
|
||||
msgstr "Voici votre récapitulatif quotidien d'activité"
|
||||
|
||||
#: lib/web/email/activity.ex:168
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Weekly activity recap for %{instance}"
|
||||
msgstr "Récapitulatif hebdomadaire d'activité sur %{instance}"
|
||||
|
||||
#: lib/service/activity/renderer/comment.ex:66
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:37
|
||||
#: 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.text.eex:19
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} has posted a new comment under your event %{event}."
|
||||
msgstr "%{profile} a posté un nouveau commentaire sous votre événement %{event}."
|
||||
|
||||
#: lib/service/activity/renderer/comment.ex:53
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:26
|
||||
#: 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.text.eex:13
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} has posted a new reply under your event %{event}."
|
||||
msgstr "%{profile} a posté une nouvelle réponse sous votre événement %{event}."
|
||||
|
||||
#: lib/web/email/activity.ex:77
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Announcement for your event %{event}"
|
||||
msgstr "Annonce pour votre événement %{event}"
|
||||
|
||||
#: lib/service/activity/renderer/group.ex:23
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The group %{group} was updated by %{profile}."
|
||||
msgstr "Le groupe %{group} a été mis à jour par %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/post.ex:47
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The post %{post} from group %{group} was deleted by %{profile}."
|
||||
msgstr "Le billet %{post} du groupe %{group} a été supprimé par %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/post.ex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The post %{post} from group %{group} was published by %{profile}."
|
||||
msgstr "Le billet %{post} du groupe %{group} a été publié par %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/post.ex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "Le billet %{post} du groupe %{group} a été mis à jour par %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{member} accepted the invitation to join the group %{group}."
|
||||
msgstr "%{member} a accepté l'invitation à rejoindre le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:47
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{member} joined the group %{group}."
|
||||
msgstr "%{member} a rejoint le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{member} rejected the invitation to join the group %{group}."
|
||||
msgstr "%{member} a refusé l'invitation à rejoindre le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{member} requested to join the group %{group}."
|
||||
msgstr "%{member} a demandé à rejoindre le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{member} was invited by %{profile} to group %{group}."
|
||||
msgstr "%{member} a été invité⋅e par %{profile} au groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} added the member %{member} to group %{group}."
|
||||
msgstr "%{profile} a ajouté le ou la membre %{member} au groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:55
|
||||
#, elixir-autogen, elixir-format
|
||||
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}."
|
||||
|
||||
#: lib/service/activity/renderer/resource.ex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} created the folder %{resource} in group %{group}."
|
||||
msgstr "%{profile} a créé le dossier %{resource} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/resource.ex:69
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} deleted the folder %{resource} in group %{group}."
|
||||
msgstr "%{profile} a supprimé le dossier %{resource} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/resource.ex:71
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} deleted the resource %{resource} in group %{group}."
|
||||
msgstr "%{profile} a supprimé la ressource %{resource} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:75
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} excluded member %{member} from the group %{group}."
|
||||
msgstr "%{profile} a exclu le ou la membre %{member} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/resource.ex:61
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} moved the folder %{resource} in group %{group}."
|
||||
msgstr "%{profile} a déplacé le dossier %{resource} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/resource.ex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} moved the resource %{resource} in group %{group}."
|
||||
msgstr "%{profile} a déplacé la ressource %{resource} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:79
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} quit the group %{group}."
|
||||
msgstr "%{profile} a quitté le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:63
|
||||
#, elixir-autogen, elixir-format
|
||||
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}."
|
||||
|
||||
#: 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}."
|
||||
msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource} dans le groupe %{group}."
|
||||
|
||||
#: 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}."
|
||||
msgstr "%{profile} a renommé la ressource %{old_resource_title} en %{resource} dans le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:71
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} updated the member %{member} in group %{group}."
|
||||
msgstr "%{profile} a mis à jour le membre %{member} dans le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/resource.ex:35
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} created the resource %{resource} in group %{group}."
|
||||
msgstr "%{profile} a créé la ressource %{resource} dans le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/discussion.ex:86
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} archived the discussion %{discussion} in group %{group}."
|
||||
msgstr "%{profile} a archivé la discussion %{discussion} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/discussion.ex:26
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} created the discussion %{discussion} in group %{group}."
|
||||
msgstr "%{profile} a créé la discussion %{discussion} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/discussion.ex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} deleted the discussion %{discussion} in group %{group}."
|
||||
msgstr "%{profile} a créé la discussion %{discussion} dans le groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/discussion.ex:56
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} mentionned you in the discussion %{discussion} in group %{group}."
|
||||
msgstr "%{profile} vous a mentionné dans la discussion %{discussion} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/discussion.ex:71
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} renamed the discussion %{discussion} in group %{group}."
|
||||
msgstr "%{profile} a renommé la discussion %{discussion} du groupe %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/discussion.ex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} replied to the discussion %{discussion} in group %{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.text.eex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:36 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} approved the member %{member}."
|
||||
msgstr "%{profile} a ajouté le ou la membre %{member}."
|
||||
|
||||
#: lib/service/activity/renderer/event.ex:74
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:55
|
||||
#: 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.text.eex:31
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} joined your event %{event}."
|
||||
msgstr ""
|
||||
msgstr "%{profile} a rejoint votre événement %{event}."
|
||||
|
||||
#: lib/web/views/email_view.ex:61
|
||||
#, elixir-autogen, elixir-format
|
||||
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.text.eex:14
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/email_anonymous_activity.html.heex:107 lib/web/templates/email/email_anonymous_activity.text.eex:14
|
||||
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.text.eex:6
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/email_anonymous_activity.html.heex:50 lib/web/templates/email/email_anonymous_activity.text.eex:6
|
||||
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
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
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
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
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
|
||||
#, elixir-autogen, elixir-format
|
||||
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
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} replied you in a conversation."
|
||||
msgstr ""
|
||||
msgstr "%{profile} vous a répondu dans une conversation."
|
||||
|
||||
#: lib/service/activity/renderer/conversation.ex:50
|
||||
#, elixir-autogen, elixir-format
|
||||
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
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{profile} sent you a message"
|
||||
msgstr ""
|
||||
msgstr "%{profile} vous a envoyé un message"
|
||||
|
||||
#: lib/web/email/activity.ex:51
|
||||
#, elixir-autogen, elixir-format
|
||||
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.text.eex:20
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/email_anonymous_activity.html.heex:122 lib/web/templates/email/email_anonymous_activity.text.eex:20
|
||||
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.text.eex:28
|
||||
#, elixir-autogen, elixir-format
|
||||
#: lib/web/templates/email/email_anonymous_activity.html.heex:160 lib/web/templates/email/email_anonymous_activity.text.eex:28
|
||||
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 ""
|
||||
"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 a new issue