+ <%= gettext("Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account.", %{instance: @instance_name}) |> raw %>
+
+
+
+
+
+
+ <%= gettext("You may now login using your credentials on the service.") %>
+
+ <%= gettext("If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}.", %{start_link: "", end_link: ""}) |> raw %>
+
+
+
+
+
+
+
diff --git a/lib/web/templates/email/admin_user_confirmation.text.eex b/lib/web/templates/email/admin_user_confirmation.text.eex
new file mode 100644
index 00000000..fdd43035
--- /dev/null
+++ b/lib/web/templates/email/admin_user_confirmation.text.eex
@@ -0,0 +1,7 @@
+<%= gettext "An administrator manually confirmed your account" %>
+==
+<%= gettext "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account.", %{instance: @instance_name} %>
+
+<%= gettext "You may now login using your credentials on the service:" %> <%= "#{Mobilizon.Web.Endpoint.url()}/login" %>
+
+<%= gettext "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}.", %{about_page: "#{Mobilizon.Web.Endpoint.url()}/about/instance"} %>
diff --git a/lib/web/templates/email/admin_user_email_changed_new.html.heex b/lib/web/templates/email/admin_user_email_changed_new.html.heex
new file mode 100644
index 00000000..674e1397
--- /dev/null
+++ b/lib/web/templates/email/admin_user_email_changed_new.html.heex
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+ <%= gettext "An administrator manually changed the email attached to your account" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%= gettext("Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one).", %{instance: @instance_name, old_email: @old_email, new_email: @new_email}) |> raw %>
+
+
+
+
+
+
+ <%= gettext("If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}.", %{start_link: "", end_link: ""}) |> raw %>
+
+
+
+
+
+
+
diff --git a/lib/web/templates/email/admin_user_email_changed_new.text.eex b/lib/web/templates/email/admin_user_email_changed_new.text.eex
new file mode 100644
index 00000000..76e97a2e
--- /dev/null
+++ b/lib/web/templates/email/admin_user_email_changed_new.text.eex
@@ -0,0 +1,4 @@
+<%= gettext "An administrator manually changed the email attached to your account" %>
+==
+<%= gettext "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}.", %{instance: @instance_name, old_email: @old_email, new_email: @new_email} %>
+<%= gettext "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}.", %{about_page: "#{Mobilizon.Web.Endpoint.url()}/about/instance"} %>
diff --git a/lib/web/templates/email/admin_user_email_changed_old.html.heex b/lib/web/templates/email/admin_user_email_changed_old.html.heex
new file mode 100644
index 00000000..9eaf23f8
--- /dev/null
+++ b/lib/web/templates/email/admin_user_email_changed_old.html.heex
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+ <%= gettext "An administrator manually changed the email attached to your account" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%= gettext("Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}.", %{instance: @instance_name, old_email: @old_email, new_email: @new_email}) |> raw %>
+
+
+
+
+
+
+ <%= gettext("If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}.", %{start_link: "", end_link: ""}) |> raw %>
+
+
+
+
+
+
+
diff --git a/lib/web/templates/email/admin_user_email_changed_old.text.eex b/lib/web/templates/email/admin_user_email_changed_old.text.eex
new file mode 100644
index 00000000..76e97a2e
--- /dev/null
+++ b/lib/web/templates/email/admin_user_email_changed_old.text.eex
@@ -0,0 +1,4 @@
+<%= gettext "An administrator manually changed the email attached to your account" %>
+==
+<%= gettext "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}.", %{instance: @instance_name, old_email: @old_email, new_email: @new_email} %>
+<%= gettext "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}.", %{about_page: "#{Mobilizon.Web.Endpoint.url()}/about/instance"} %>
diff --git a/lib/web/templates/email/admin_user_role_changed.html.heex b/lib/web/templates/email/admin_user_role_changed.html.heex
new file mode 100644
index 00000000..f273be2c
--- /dev/null
+++ b/lib/web/templates/email/admin_user_role_changed.html.heex
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+ <%= gettext "An administrator changed your role" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%= gettext("Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role.", %{instance: @instance_name}) |> raw %>
+
+ <%= gettext("If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}.", %{start_link: "", end_link: ""}) |> raw %>
+
+
+
+
+
+
+
diff --git a/lib/web/templates/email/admin_user_role_changed.text.eex b/lib/web/templates/email/admin_user_role_changed.text.eex
new file mode 100644
index 00000000..2763519a
--- /dev/null
+++ b/lib/web/templates/email/admin_user_role_changed.text.eex
@@ -0,0 +1,8 @@
+<%= gettext "An administrator changed your role" %>
+==
+<%= gettext "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role.", %{instance: @instance_name} %>
+
+<%= gettext "Old role:" %> <%= render("admin/_role.text", role: @old_role) %>
+<%= gettext "New role:" %> <%= render("admin/_role.text", role: @new_role) %>
+
+<%= gettext "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}.", %{about_page: "#{Mobilizon.Web.Endpoint.url()}/about/instance"} %>
diff --git a/lib/web/templates/email/email_changed_new.text.eex b/lib/web/templates/email/email_changed_new.text.eex
index 5ae1b016..5b9d7ed9 100644
--- a/lib/web/templates/email/email_changed_new.text.eex
+++ b/lib/web/templates/email/email_changed_new.text.eex
@@ -1,5 +1,5 @@
<%= gettext "Confirm new email" %>
==
-<%= gettext "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address.", %{instance: @instance_name} %>
+<%= gettext "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address.", %{instance: @instance_name} %>
<%= Routes.page_url(Mobilizon.Web.Endpoint, :user_email_validation, @token) %>
<%= gettext "If you didn't trigger the change yourself, please ignore this message." %>
diff --git a/priv/gettext/activity.pot b/priv/gettext/activity.pot
index 57dbd4a3..a4cf0089 100644
--- a/priv/gettext/activity.pot
+++ b/priv/gettext/activity.pot
@@ -150,19 +150,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -192,13 +195,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -217,7 +222,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -231,14 +237,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -254,7 +263,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -276,13 +286,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/ar/LC_MESSAGES/activity.po b/priv/gettext/ar/LC_MESSAGES/activity.po
index 241256e6..464526cf 100644
--- a/priv/gettext/ar/LC_MESSAGES/activity.po
+++ b/priv/gettext/ar/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -222,7 +227,8 @@ msgstr[5] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -240,14 +246,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -263,7 +272,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -285,13 +295,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/ar/LC_MESSAGES/default.po b/priv/gettext/ar/LC_MESSAGES/default.po
index 7aed8e4b..18e02e65 100644
--- a/priv/gettext/ar/LC_MESSAGES/default.po
+++ b/priv/gettext/ar/LC_MESSAGES/default.po
@@ -776,9 +776,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -841,7 +844,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -863,7 +865,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -975,7 +978,8 @@ msgstr "إعرض التقرير"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -997,7 +1001,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1021,7 +1026,8 @@ msgstr "لقد قمتَ بتقديم طلب للمشاركة في فعالية %
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1346,8 +1352,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1428,7 +1436,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1449,6 +1458,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1459,6 +1470,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1509,8 +1522,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1702,3 +1717,137 @@ msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/ar/LC_MESSAGES/errors.po b/priv/gettext/ar/LC_MESSAGES/errors.po
index ec35d543..59bd70c0 100644
--- a/priv/gettext/ar/LC_MESSAGES/errors.po
+++ b/priv/gettext/ar/LC_MESSAGES/errors.po
@@ -140,14 +140,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -172,15 +177,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -195,11 +206,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -210,7 +223,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -231,7 +245,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -306,7 +321,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -326,7 +342,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -377,17 +394,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -397,14 +416,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -420,8 +441,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -437,7 +461,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -452,12 +477,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -467,31 +494,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -506,12 +544,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -522,12 +562,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -547,7 +588,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -609,37 +651,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -664,7 +706,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -759,7 +801,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -849,8 +892,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -875,7 +921,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -926,6 +973,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1054,3 +1102,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/be/LC_MESSAGES/activity.po b/priv/gettext/be/LC_MESSAGES/activity.po
index 6549fd10..f4bf785f 100644
--- a/priv/gettext/be/LC_MESSAGES/activity.po
+++ b/priv/gettext/be/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -219,7 +224,8 @@ msgstr[2] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -234,14 +240,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -257,7 +266,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -279,13 +289,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/be/LC_MESSAGES/default.po b/priv/gettext/be/LC_MESSAGES/default.po
index a15812e3..a7c714b9 100644
--- a/priv/gettext/be/LC_MESSAGES/default.po
+++ b/priv/gettext/be/LC_MESSAGES/default.po
@@ -758,9 +758,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -820,7 +823,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -842,7 +844,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -954,7 +957,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -976,7 +980,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1000,7 +1005,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1325,8 +1331,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1407,7 +1415,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1428,6 +1437,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1438,6 +1449,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1488,8 +1501,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1678,3 +1693,137 @@ msgid_plural "You have %{number_participation_requests} attendance requests to p
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/be/LC_MESSAGES/errors.po b/priv/gettext/be/LC_MESSAGES/errors.po
index 6d68aff8..88b6d3e2 100644
--- a/priv/gettext/be/LC_MESSAGES/errors.po
+++ b/priv/gettext/be/LC_MESSAGES/errors.po
@@ -114,14 +114,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -146,15 +151,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -169,11 +180,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -184,7 +197,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -205,7 +219,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -280,7 +295,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -300,7 +316,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -351,17 +368,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -371,14 +390,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -394,8 +415,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -411,7 +435,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -426,12 +451,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -441,31 +468,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -480,12 +518,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -496,12 +536,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -521,7 +562,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -583,37 +625,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -638,7 +680,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -733,7 +775,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -823,8 +866,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -849,7 +895,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -900,6 +947,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1028,3 +1076,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/ca/LC_MESSAGES/activity.po b/priv/gettext/ca/LC_MESSAGES/activity.po
index 82dc223d..6d6ee501 100644
--- a/priv/gettext/ca/LC_MESSAGES/activity.po
+++ b/priv/gettext/ca/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/ca/LC_MESSAGES/default.po b/priv/gettext/ca/LC_MESSAGES/default.po
index 87aef5db..a4ff34f6 100644
--- a/priv/gettext/ca/LC_MESSAGES/default.po
+++ b/priv/gettext/ca/LC_MESSAGES/default.po
@@ -925,9 +925,12 @@ msgstr "No ho facis servir més que proves, sisplau"
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -993,7 +996,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Ei hola! Sembla que vols canviar l'adreça de correu vinculada al teu compte "
@@ -1027,7 +1029,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Si no has demanat això, sisplau ignora aquest correu."
@@ -1143,7 +1146,8 @@ msgstr "Mostra la denúncia"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Vés a la pàgina d'activitat"
@@ -1165,7 +1169,8 @@ msgstr "Què fan avui?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1195,7 +1200,8 @@ msgstr "Has soŀlicitat participar a l'activitat %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "T'han acceptat!"
@@ -1576,8 +1582,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Aquesta és una web de proves per provar la beta de Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "El flux de %{name}"
@@ -1662,7 +1670,8 @@ msgstr "T'han aprovat la participació a %{title}"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1683,6 +1692,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1693,6 +1704,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1743,8 +1756,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1934,3 +1949,141 @@ msgstr[0] "Tens una soŀlicitud de participació pendent de resoldre:"
msgstr[1] ""
"Tens %{number_participation_requests} soŀlicituds de participació pendents "
"de resoldre:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Ei hola! Sembla que vols canviar l'adreça de correu vinculada al teu compte "
+"de %{instance}. Si és així, fes clic al botó de sota per confirmar "
+"el canvi. Un cop fet, podràs iniciar sessió a %{instance} amb aquesta nova "
+"adreça."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/ca/LC_MESSAGES/errors.po b/priv/gettext/ca/LC_MESSAGES/errors.po
index aac4cb6a..76142c58 100644
--- a/priv/gettext/ca/LC_MESSAGES/errors.po
+++ b/priv/gettext/ca/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "No s'han pogut desar les preferències"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "No s'ha trobat el grup"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "No s'ha trobat el grup amb identificador %{id}"
@@ -147,15 +152,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -170,11 +181,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -185,7 +198,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -206,7 +220,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -281,7 +296,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -301,7 +317,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -352,17 +369,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -372,14 +391,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -395,8 +416,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -412,7 +436,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -427,12 +452,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -442,31 +469,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -481,12 +519,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -497,12 +537,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -522,7 +563,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -584,37 +626,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -639,7 +681,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -734,7 +776,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -824,8 +867,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -850,7 +896,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -901,6 +948,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1029,3 +1077,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/cs/LC_MESSAGES/activity.po b/priv/gettext/cs/LC_MESSAGES/activity.po
index b9339301..5e509b7a 100644
--- a/priv/gettext/cs/LC_MESSAGES/activity.po
+++ b/priv/gettext/cs/LC_MESSAGES/activity.po
@@ -158,19 +158,22 @@ msgstr "%{profile} aktualizoval člena %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "Událost %{event} byla vytvořena pomocí %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "Událost %{event} byla odstraněna pomocí %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "Událost %{event} byla aktualizována pomocí %{profile}."
@@ -200,13 +203,15 @@ msgstr "%{member} se připojil ke skupině."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} vložil komentář k události %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} odpověděl na komentář k události %{event}."
@@ -228,7 +233,8 @@ msgstr[2] "Zobrazit %{count} dalších aktivit"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -243,14 +249,17 @@ msgstr "Aktivita na %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} zveřejnil oznámení v rámci události %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} vás zmínil v komentáři pod událostí %{event}."
@@ -268,7 +277,8 @@ msgid "Here's your weekly activity recap"
msgstr "Zde je váš týdenní přehled aktivit"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Oznámení o činnosti pro %{instance}"
@@ -290,13 +300,15 @@ msgstr "Týdenní shrnutí činnosti pro %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} vložil nový komentář pod vaši událost %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} vložil novou odpověď pod vaši událost %{event}."
diff --git a/priv/gettext/cs/LC_MESSAGES/default.po b/priv/gettext/cs/LC_MESSAGES/default.po
index b73b67dc..fb5a5317 100644
--- a/priv/gettext/cs/LC_MESSAGES/default.po
+++ b/priv/gettext/cs/LC_MESSAGES/default.po
@@ -932,9 +932,12 @@ msgstr "Nepoužívejte ji pro skutečné účely."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -1004,7 +1007,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Ahoj! Zdá se, že jste chtěli změnit e-mailovou adresu spojenou s vaším účtem "
@@ -1037,7 +1039,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Pokud jste tento e-mail nespustili, můžete jej bez obav ignorovat."
@@ -1158,7 +1161,8 @@ msgstr "Zobrazit hlášení:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Navštivte stránku události"
@@ -1180,7 +1184,8 @@ msgstr "Co se dnes děje?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1211,7 +1216,8 @@ msgstr "Nedávno jste požádali o účast na %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Chystáte se!"
@@ -1638,8 +1644,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Jde o demonstrační web pro testování Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "Kanál %{name}"
@@ -1730,7 +1738,8 @@ msgstr "Vaše účast na %{event} na %{instance} byla zrušena!"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr "%{event}_participants"
@@ -1751,6 +1760,8 @@ msgstr "Status účastníka"
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr "Administrátor"
@@ -1761,6 +1772,8 @@ msgstr "Tvůrce"
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr "Moderátor"
@@ -1811,8 +1824,10 @@ msgstr "Anonymní účastník"
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr "🌐 %{timezone} %{offset}"
@@ -2011,3 +2026,141 @@ msgstr[1] ""
msgstr[2] ""
"Máte %{number_participation_requests} žádostí o účast ke zpracování pro "
"následující událost:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Ahoj! Zdá se, že jste chtěli změnit e-mailovou adresu spojenou s vaším účtem "
+"na %{instance}. Pokud si to přesto přejete, klikněte na tlačítko níže "
+"a změnu potvrďte. Poté se budete moci přihlásit do %{instance} s touto novou "
+"e-mailovou adresou."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/cs/LC_MESSAGES/errors.po b/priv/gettext/cs/LC_MESSAGES/errors.po
index 057b1144..299f5636 100644
--- a/priv/gettext/cs/LC_MESSAGES/errors.po
+++ b/priv/gettext/cs/LC_MESSAGES/errors.po
@@ -121,14 +121,19 @@ msgid "Error while saving user settings"
msgstr "Chyba při ukládání uživatelských nastavení"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Skupina nebyla nalezena"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Skupina s ID %{id} nebyla nalezena"
@@ -155,15 +160,21 @@ msgstr ""
"e-mailu"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Nebyl nalezen žádný uživatel s tímto e-mailem"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Profil není vlastněn ověřeným uživatelem"
@@ -178,11 +189,13 @@ msgid "The current password is invalid"
msgstr "Aktuální heslo je neplatné"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Nový e-mail se nezdá být platný"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Nový e-mail musí být jiný"
@@ -193,7 +206,8 @@ msgid "The new password must be different"
msgstr "Nové heslo se musí lišit"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Zadané heslo je neplatné"
@@ -216,7 +230,8 @@ msgid "This user has been disabled"
msgstr "Tento uživatel byl deaktivován"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Nelze ověřit uživatele"
@@ -291,7 +306,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Chcete-li získat token pro obnovení, musíte mít existující token"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Znovu jste si vyžádali potvrzovací e-mail příliš brzy"
@@ -311,7 +327,8 @@ msgid "No profile found with this ID"
msgstr "Nebyl nalezen žádný profil s tímto ID"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Nebyl nalezen žádný vzdálený profil s tímto ID"
@@ -362,17 +379,19 @@ msgid "Comment is already deleted"
msgstr "Komentář je již smazán"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Diskuse nebyla nalezena"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Chyba při ukládání zprávy"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Chyba při aktualizaci hlášení"
@@ -382,14 +401,16 @@ msgid "Event id not found"
msgstr "Id události nebylo nalezeno"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Událost nebyla nalezena"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Událost s tímto ID %{id} neexistuje"
@@ -405,8 +426,11 @@ msgid "No discussion with ID %{id}"
msgstr "Žádná diskuse s ID %{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Pro uživatele nebyl nalezen žádný profil"
@@ -422,7 +446,8 @@ msgstr "Účastník již má roli %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Účastník nebyl nalezen"
@@ -437,12 +462,14 @@ msgid "Person with username %{username} not found"
msgstr "Osoba s uživatelským jménem %{username} nenalezena"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "ID příspěvku není platné ID"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Příspěvek neexistuje"
@@ -452,31 +479,42 @@ msgid "Profile invited doesn't exist"
msgstr "Pozvaný profil neexistuje"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Profil je již členem této skupiny"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Profil není členem skupiny"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Profil nebyl nalezen"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Zpráva nebyla nalezena"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Zdroj neexistuje"
@@ -491,12 +529,14 @@ msgid "This token is invalid"
msgstr "Tento token je neplatný"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Seznam úkolů neexistuje"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "Seznam úkolů neexistuje"
@@ -507,12 +547,13 @@ msgid "Token does not exist"
msgstr "Token neexistuje"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Token není platný UUID"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Uživatel nebyl nalezen"
@@ -532,7 +573,8 @@ msgid "You are not a member of this group"
msgstr "Nejste členem této skupiny"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Nejste moderátorem ani správcem této skupiny"
@@ -597,40 +639,40 @@ msgid "You don't have permission to delete this token"
msgstr "Nemáte oprávnění tento token odstranit"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
"Abyste mohli vypsat protokoly akcí, musíte být přihlášeni a být moderátorem"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Abyste mohli vypisovat hlášení, musíte být přihlášeni a být moderátorem"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Chcete-li aktualizovat zprávu, musíte být přihlášeni a být moderátorem"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Pro zobrazení zprávy musíte být přihlášeni a být moderátorem"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "Pro přístup k nastavení správce musíte být přihlášeni jako správce"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Pro přístup ke statistikám ovládacího panelu musíte být přihlášeni jako "
"správce"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Chcete-li uložit nastavení správce, musíte být přihlášeni a být správcem"
@@ -656,7 +698,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Pro vytváření příspěvků musíte být přihlášeni"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Chcete-li vytvářet hlášení, musíte být přihlášeni"
@@ -751,7 +793,8 @@ msgid "Reset your password to login"
msgstr "Obnovení hesla pro přihlášení"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Zdroj nebyl nalezen"
@@ -841,8 +884,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "Poskytnuté ID profilu není anonymní ID profilu"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "Poskytnutý obrázek je příliš velký"
@@ -867,7 +913,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Z této adresy URL nelze načíst podrobnosti o prostředku."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Za předpokladu, že profil nemá oprávnění moderátora této události"
@@ -921,6 +968,7 @@ msgid "Failed to update the group"
msgstr "Nepodařilo se aktualizovat skupinu"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr "Nepodařilo se aktualizovat e-mail uživatele"
@@ -1049,3 +1097,24 @@ msgstr "Chcete-li odebrat člena, musíte být přihlášeni"
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr "Váš e-mail zřejmě používá nesprávný formát"
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Nový e-mail musí být jiný"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Chcete-li uložit nastavení správce, musíte být přihlášeni a být správcem"
diff --git a/priv/gettext/de/LC_MESSAGES/activity.po b/priv/gettext/de/LC_MESSAGES/activity.po
index 310b1f27..db240a06 100644
--- a/priv/gettext/de/LC_MESSAGES/activity.po
+++ b/priv/gettext/de/LC_MESSAGES/activity.po
@@ -160,19 +160,22 @@ msgstr "%{profile} hat das Mitglied %{member} aktualisiert."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "Die Veranstaltung %{event} wurde von %{profile} erstellt."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "Die Veranstaltung %{event} wurde von %{profile} gelöscht."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "Die Veranstaltung %{event} wurde von %{profile} aktualisiert."
@@ -202,13 +205,15 @@ msgstr "%{member} ist der Gruppe beigetreten."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} hat die Veranstaltung %{event} kommentiert."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
"%{profile} hat auf ein Kommentar in der Veranstaltung %{event} geantwortet."
@@ -228,7 +233,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -242,14 +248,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -265,7 +274,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -287,13 +297,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index a3b66081..f9ad72fa 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -958,9 +958,12 @@ msgstr "Bitte verwenden Sie es nicht für reale Zwecke."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -1026,7 +1029,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Hallo zusammen! Es scheint, dass Sie die mit Ihrem Konto verknüpfte E-Mail-"
@@ -1062,7 +1064,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Wenn Du dies nicht angefragt hast, ignoriere diese E-Mail."
@@ -1183,7 +1186,8 @@ msgstr "Meldung ansehen:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Besuche die Event Seite"
@@ -1205,7 +1209,8 @@ msgstr "Was gibt's heute?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1237,7 +1242,8 @@ msgstr "Du hast angefragt, an der Veranstaltung %{title} teilzunehmen."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Sie sind dabei!"
@@ -1682,8 +1688,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Dies ist eine Demo-Seite, um die Beta-Version von Mobilizon zu testen."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "Feed von %{name}"
@@ -1776,7 +1784,8 @@ msgstr "Deine Teilnahme an der Veranstaltung %{title}wurde akzeptiert"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1797,6 +1806,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1807,6 +1818,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1857,8 +1870,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -2046,3 +2061,142 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] "Sie haben eine ausstehende Anwesenheitsanforderung zu bearbeiten:"
msgstr[1] "Sie haben %{Anzahl_Teilnahmeanträge} Teilnahmeanträge zu bearbeiten:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Hallo zusammen! Es scheint, dass Sie die mit Ihrem Konto verknüpfte E-Mail-"
+"Adresse auf %{instance} ändern wollten. Wenn Sie dies immer noch tun "
+"möchten, klicken Sie bitte auf die Schaltfläche unten, um die Änderung zu "
+"bestätigen. Sie können sich dann mit dieser neuen E-Mail-Adresse bei "
+"%{instance} anmelden."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po
index 24888f70..e5f6787f 100644
--- a/priv/gettext/de/LC_MESSAGES/errors.po
+++ b/priv/gettext/de/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "Fehler beim Speichern von Benutzereinstellungen"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Gruppe nicht gefunden"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Gruppe mit der ID %{id} nicht gefunden"
@@ -150,15 +155,21 @@ msgstr ""
"Es wurde kein Benutzer gefunden, der mit dieser E-Mail validiert werden kann"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Es wurde kein Benutzer mit dieser E-Mail gefunden"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Profil ist nicht im Besitz des authentifizierten Benutzers"
@@ -173,11 +184,13 @@ msgid "The current password is invalid"
msgstr "Das aktuelle Passwort ist ungültig"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Die neue E-Mail scheint nicht gültig zu sein"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Die neue E-Mail muss anders lauten"
@@ -188,7 +201,8 @@ msgid "The new password must be different"
msgstr "Das neue Passwort muss anders lauten"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Das angegebene Passwort ist ungültig"
@@ -211,7 +225,8 @@ msgid "This user has been disabled"
msgstr "Dieser Benutzer wurde deaktiviert"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Benutzer kann nicht validiert werden"
@@ -289,7 +304,8 @@ msgstr ""
"Sie müssen ein bestehendes Token haben, um ein Refresh-Token zu erhalten"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Sie haben erneut eine Bestätigungs-E-Mail zu früh angefordert"
@@ -309,7 +325,8 @@ msgid "No profile found with this ID"
msgstr "Kein Profil mit dieser ID gefunden"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Kein entferntes Profil mit dieser ID gefunden"
@@ -360,17 +377,19 @@ msgid "Comment is already deleted"
msgstr "Kommentar ist bereits gelöscht"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Diskussion nicht gefunden"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Fehler beim Speichern des Reports"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Fehler beim Aktualisieren des Reports"
@@ -380,14 +399,16 @@ msgid "Event id not found"
msgstr "Veranstaltungs-ID nicht gefunden"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Veranstaltung nicht gefunden"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Veranstaltung mit dieser ID %{id} existiert nicht"
@@ -403,8 +424,11 @@ msgid "No discussion with ID %{id}"
msgstr "Keine Diskussion mit ID %{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Kein Profil für Benutzer gefunden"
@@ -420,7 +444,8 @@ msgstr "Teilnehmer hat bereits Rolle %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Teilnehmer nicht gefunden"
@@ -435,12 +460,14 @@ msgid "Person with username %{username} not found"
msgstr "Person mit Benutzernamen %{username} nicht gefunden"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "Post-ID ist keine gültige ID"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Beitrag existiert nicht"
@@ -450,33 +477,44 @@ msgid "Profile invited doesn't exist"
msgstr "Eingeladenes Profil existiert nicht Eingeladenes Profil existiert nicht"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
"Profil ist bereits Mitglied in dieser Gruppe Profil ist bereits Mitglied in "
"dieser Gruppe"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Profil ist nicht Mitglied der Gruppe"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Profil nicht gefunden"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Meldung nicht gefunden"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Ressource ist nicht vorhanden"
@@ -491,12 +529,14 @@ msgid "This token is invalid"
msgstr "Dieses Token ist ungültig"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Todo existiert nicht"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "ToDo-Liste existiert nicht"
@@ -507,12 +547,13 @@ msgid "Token does not exist"
msgstr "Token existiert nicht"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Token ist keine gültige UUID"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "User nicht gefunden"
@@ -532,7 +573,8 @@ msgid "You are not a member of this group"
msgstr "Sie sind nicht Mitglied in dieser Gruppe"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Sie sind kein Moderator oder Admin für diese Gruppe"
@@ -599,45 +641,45 @@ msgid "You don't have permission to delete this token"
msgstr "Sie haben nicht die Berechtigung diesen Token zu löschen"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
"Sie müssen eingeloggt und ein Moderator sein, um Aktionsprotokolle "
"aufzulisten"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Sie müssen eingeloggt und ein Moderator sein, um Berichte aufzulisten"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
"Sie müssen eingeloggt und ein Moderator sein, um einen Bericht zu "
"aktualisieren"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Sie müssen eingeloggt und ein Moderator sein, um einen Bericht zu sehen"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Sie müssen angemeldet und ein Administrator sein, um auf die Admin-"
"Einstellungen zugreifen zu können"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Sie müssen angemeldet und ein Administrator sein, um auf die Dashboard-"
"Statistiken zugreifen zu können"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Sie müssen eingeloggt und ein Administrator sein, um Admin-Einstellungen zu "
@@ -664,7 +706,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Sie müssen eingeloggt sein, um Beiträge zu erstellen"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Sie müssen eingeloggt sein, um Berichte zu erstellen"
@@ -761,7 +803,8 @@ msgid "Reset your password to login"
msgstr "Passwort zurücksetzen"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Ressource nicht gefunden"
@@ -853,8 +896,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "Die angegebene Profil-ID ist nicht die des anonymen Profils"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "Das Bild ist zu groß"
@@ -879,7 +925,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Dieses Moderatorenprofil hat keine Berechtigung für diese Veranstaltung"
@@ -930,6 +977,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1058,3 +1106,25 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Die neue E-Mail muss anders lauten"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Sie müssen eingeloggt und ein Administrator sein, um Admin-Einstellungen zu "
+"speichern"
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index c1ecf3c7..0c3be5b1 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -739,9 +739,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -800,7 +803,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -822,7 +824,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -934,7 +937,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -956,7 +960,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -980,7 +985,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1305,8 +1311,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1387,7 +1395,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1408,6 +1417,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1418,6 +1429,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1468,8 +1481,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1657,3 +1672,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/activity.po b/priv/gettext/en/LC_MESSAGES/activity.po
index d5284557..08283db7 100644
--- a/priv/gettext/en/LC_MESSAGES/activity.po
+++ b/priv/gettext/en/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index 97513cb8..8b19565d 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -792,9 +792,12 @@ msgstr "Please do not use it in any real way"
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -853,7 +856,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -875,7 +877,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "If you didn't request this, please ignore this email."
@@ -987,7 +990,8 @@ msgstr "View the report"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -1009,7 +1013,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1033,7 +1038,8 @@ msgstr "You requested to participate in event %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1358,8 +1364,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "This is a demonstration site to test the beta version of Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1440,7 +1448,8 @@ msgstr "Your participation to event %{title} has been approved"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1461,6 +1470,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1471,6 +1482,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1521,8 +1534,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1710,3 +1725,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po
index 97fdca6e..f8426d3b 100644
--- a/priv/gettext/en/LC_MESSAGES/errors.po
+++ b/priv/gettext/en/LC_MESSAGES/errors.po
@@ -118,14 +118,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -150,15 +155,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -173,11 +184,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -188,7 +201,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -209,7 +223,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -284,7 +299,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -304,7 +320,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -355,17 +372,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -375,14 +394,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -398,8 +419,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -415,7 +439,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -430,12 +455,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -445,31 +472,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -484,12 +522,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -500,12 +540,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -525,7 +566,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -587,37 +629,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -642,7 +684,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -737,7 +779,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -827,8 +870,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -853,7 +899,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -904,6 +951,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1032,3 +1080,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot
index 0574eeb2..b3a39f64 100644
--- a/priv/gettext/errors.pot
+++ b/priv/gettext/errors.pot
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -147,15 +152,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -170,11 +181,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -185,7 +198,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -206,7 +220,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -281,7 +296,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -301,7 +317,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -352,17 +369,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -372,14 +391,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -395,8 +416,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -412,7 +436,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -427,12 +452,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -442,31 +469,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -481,12 +519,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -497,12 +537,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -522,7 +563,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -584,37 +626,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -639,7 +681,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -734,7 +776,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -824,8 +867,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -850,7 +896,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -901,6 +948,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1029,3 +1077,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/activity.po b/priv/gettext/es/LC_MESSAGES/activity.po
index e1399557..2924be18 100644
--- a/priv/gettext/es/LC_MESSAGES/activity.po
+++ b/priv/gettext/es/LC_MESSAGES/activity.po
@@ -160,19 +160,22 @@ msgstr "%{profile} actualizado el miembro %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "El evento %{event} fue creado por %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "El evento% {event} fue eliminado por % {profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "El evento %{event} fue actualizado por %{profile}."
@@ -202,13 +205,15 @@ msgstr "%{member} se unió al grupo."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} publicó un comentario sobre el evento %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} respondió a un comentario sobre el evento %{event}."
@@ -229,7 +234,8 @@ msgstr[1] "Ver %{count} actividades mas"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -243,14 +249,17 @@ msgstr "Actividad en %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} ha publicado un anuncio en el evento %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} te mencionó en un comentario en el evento %{event}."
@@ -268,7 +277,8 @@ msgid "Here's your weekly activity recap"
msgstr "Aquí está su resumen de actividad semanal"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Actividad en %{instance}"
@@ -290,13 +300,15 @@ msgstr "Resumen de actividad semanal para %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} ha publicado un nuevo comentario en tu evento %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} ha publicado una nueva respuesta en tu evento %{event}."
diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po
index 9074c691..f2e4381a 100644
--- a/priv/gettext/es/LC_MESSAGES/default.po
+++ b/priv/gettext/es/LC_MESSAGES/default.po
@@ -938,9 +938,12 @@ msgstr "Por favor no lo use de ninguna manera real."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -1005,7 +1008,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"¡Hola! Parece que desea cambiar la dirección de correo electrónico vinculada "
@@ -1039,7 +1041,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Si no activó esta alerta, puede ignorarla con seguridad."
@@ -1156,7 +1159,8 @@ msgstr "Ver el informe:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Visita la página del evento"
@@ -1178,7 +1182,8 @@ msgstr "Qué pasa hoy?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1208,7 +1213,8 @@ msgstr "Solicitaste participar en el evento %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "¡Vas!"
@@ -1637,8 +1643,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Este es un sitio de demostración para probar Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "Flujo de %{name}"
@@ -1733,7 +1741,8 @@ msgstr "¡Tu participación en %{event} en %{instance} ha sido cancelada!"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr "%{event}_participantes"
@@ -1754,6 +1763,8 @@ msgstr "Estado de participante"
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr "Administrador"
@@ -1764,6 +1775,8 @@ msgstr "Creador"
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr "Moderador"
@@ -1814,8 +1827,10 @@ msgstr "Participante anónimo"
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr "🌐 %{timezone} %{offset}"
@@ -2009,3 +2024,141 @@ msgstr[0] "Tiene una solicitud de participación pendiente de procesar:"
msgstr[1] ""
"Tienes %{number_participation_requests} solicitudes de participación "
"pendientes de procesar:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"¡Hola! Parece que desea cambiar la dirección de correo electrónico vinculada "
+"a su cuenta en %{instance} . Si aún desea hacerlo, haga clic en el "
+"botón de abajo para confirmar el cambio. Luego podrá iniciar sesión en% "
+"{instance} con esta nueva dirección de correo electrónico."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po
index 9d85e61e..e37de193 100644
--- a/priv/gettext/es/LC_MESSAGES/errors.po
+++ b/priv/gettext/es/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "Error al guardar los parámetros del usuario"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Grupo no encontrado"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "No se encontró el grupo con ID% {id}"
@@ -148,15 +153,21 @@ msgid "No user to validate with this email was found"
msgstr "No se encontró ningún usuario para validar con este correo electrónico"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "No se encontró ningún usuario con este correo electrónico"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "El perfil no es propiedad del usuario autenticado"
@@ -171,11 +182,13 @@ msgid "The current password is invalid"
msgstr "La contraseña actual no es válida"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "El nuevo correo electrónico no parece ser válido"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "El nuevo correo electrónico debe ser diferente"
@@ -186,7 +199,8 @@ msgid "The new password must be different"
msgstr "La nueva contraseña debe ser diferente"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "La contraseña proporcionada no es válida"
@@ -209,7 +223,8 @@ msgid "This user has been disabled"
msgstr "Este usuario ha sido inhabilitado"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "No se puede validar al usuario"
@@ -284,7 +299,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Debes tener un token existente para obtener un token de actualización"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
"Solicitó de nuevo un correo electrónico de confirmación demasiado pronto"
@@ -305,7 +321,8 @@ msgid "No profile found with this ID"
msgstr "No se encontró ningún perfil con este ID"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "No se encontró ningún perfil remoto con este ID"
@@ -358,17 +375,19 @@ msgid "Comment is already deleted"
msgstr "El comentario ya está eliminado"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Discusión no encontrada"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Error al guardar el informe"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Error al actualizar el informe"
@@ -378,14 +397,16 @@ msgid "Event id not found"
msgstr "ID de evento no encontrado"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Evento no encontrado"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "El evento con este ID%{id} no existe"
@@ -401,8 +422,11 @@ msgid "No discussion with ID %{id}"
msgstr "Sin discusión con ID%{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "No se encontró perfil para el usuario"
@@ -418,7 +442,8 @@ msgstr "El participante ya tiene el rol%{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Participante no encontrado"
@@ -433,12 +458,14 @@ msgid "Person with username %{username} not found"
msgstr "Persona con nombre de usuario %{username} no encontrada"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "La ID de publicación no es válida"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "La publicación no existe"
@@ -448,31 +475,42 @@ msgid "Profile invited doesn't exist"
msgstr "El perfil invitado no existe"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Perfil ya es miembro de este grupo"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "El perfil no es miembro del grupo"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Perfil no encontrado"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Informe no encontrado"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "El recurso no existe"
@@ -487,12 +525,14 @@ msgid "This token is invalid"
msgstr "Este token no es válido"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Todo no existe"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "La lista de tareas pendientes no existe"
@@ -503,12 +543,13 @@ msgid "Token does not exist"
msgstr "El token no existe"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "El token no es un UUID válido"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Usuario no encontrado"
@@ -528,7 +569,8 @@ msgid "You are not a member of this group"
msgstr "no eres un miembro de este grupo"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "No eres moderador ni administrador de este grupo"
@@ -594,42 +636,42 @@ msgid "You don't have permission to delete this token"
msgstr "No tienes permiso para eliminar este token"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
"Debe iniciar sesión y un moderador para enumerar los registros de acción"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Debe iniciar sesión y un moderador para enumerar los informes"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Debe iniciar sesión y ser administrador para acceder a la configuración de "
"administrador"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
"panel"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
@@ -656,7 +698,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Debes iniciar sesión para crear publicaciones"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Debe iniciar sesión para crear informes"
@@ -753,7 +795,8 @@ msgid "Reset your password to login"
msgstr "Restablezca su contraseña para iniciar sesión"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Recurso no encontrado"
@@ -844,8 +887,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "El ID de perfil proporcionado no es el del perfil anónimo"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "La imagen proporcionada es demasiado pesada"
@@ -870,7 +916,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "No se pueden recuperar los detalles del recurso de esta URL."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "El perfil de moderador proporcionado no tiene permiso para este evento"
@@ -927,6 +974,7 @@ msgid "Failed to update the group"
msgstr "No se pudo actualizar el grupo"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr "No se pudo actualizar el correo electrónico del usuario"
@@ -1056,3 +1104,25 @@ msgstr "Debes iniciar sesión para eliminar un miembro"
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr "Su correo electrónico parece estar usando un formato no válido"
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "El nuevo correo electrónico debe ser diferente"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
+"panel"
diff --git a/priv/gettext/fi/LC_MESSAGES/activity.po b/priv/gettext/fi/LC_MESSAGES/activity.po
index 55b6247d..f7f3fff2 100644
--- a/priv/gettext/fi/LC_MESSAGES/activity.po
+++ b/priv/gettext/fi/LC_MESSAGES/activity.po
@@ -158,19 +158,22 @@ msgstr "%{profile} päivitti jäsentä %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "%{profile} loi tapahtuman %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "%{profile} poisti tapahtuman %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "%{profile} päivitti tapahtumaa %{event}."
@@ -200,13 +203,15 @@ msgstr "%{member} liittyi ryhmään."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} kommentoi tapahtumaa %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} vastasi tapahtuman %{event} kommenttiin."
@@ -227,7 +232,8 @@ msgstr[1] "Näytä %{count} seuraavaa toimenpidettä"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -241,14 +247,17 @@ msgstr "Toimenpide palvelimella %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} on julkaissut ilmoituksen tapahtumassa %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} mainitsi sinut tapahtuman %{event} kommentissa."
@@ -266,7 +275,8 @@ msgid "Here's your weekly activity recap"
msgstr "Tässä on viikoittainen kertaus toiminnastasi"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Toimenpide palvelimella %{instance}"
@@ -288,13 +298,15 @@ msgstr "Viikoittainen toiminnan kertaus instanssille %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} on lähettänyt uuden kommentin tapahtumaasi %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profiili} on lähettänyt uuden vastauksen tapahtumaasi %{event}."
diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po
index c6086a97..4263ea5d 100644
--- a/priv/gettext/fi/LC_MESSAGES/default.po
+++ b/priv/gettext/fi/LC_MESSAGES/default.po
@@ -920,9 +920,12 @@ msgstr "Älä käytä todellisiin tarkoituksiin."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -987,7 +990,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Hei! Haluat ilmeisesti vaihtaa palvelimella %{instance} olevaan "
@@ -1021,7 +1023,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta."
@@ -1137,7 +1140,8 @@ msgstr "Näytä raportti:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Käy tapahtumasivulla"
@@ -1159,7 +1163,8 @@ msgstr "Mitä tänään tapahtuu?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1189,7 +1194,8 @@ msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Olet mukana!"
@@ -1613,8 +1619,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Tämä on koekäyttöön tarkoitettu Mobilizonin esittelysivu."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "%{name} – syöte"
@@ -1701,7 +1709,8 @@ msgstr "Osallistumisesi tapahtumaan %{title} on hyväksytty"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1722,6 +1731,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1732,6 +1743,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1782,8 +1795,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1972,3 +1987,141 @@ msgid_plural "You have %{number_participation_requests} attendance requests to p
msgstr[0] "Yksi osallistujapyyntö odottaa käsittelyäsi:"
msgstr[1] ""
"%{number_participation_requests} osallistujapyyntöä odottaa käsittelyäsi:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Hei! Haluat ilmeisesti vaihtaa palvelimella %{instance} olevaan "
+"tiliisi liitetyn sähköpostiosoitteen. Jos tämä pitää paikkansa, vahvista "
+"vaihto napsauttamalla alla olevaa painiketta. Sen jälkeen voit kirjautua "
+"palvelimelle %{instance} uudella sähköpostiosoitteella."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/fi/LC_MESSAGES/errors.po b/priv/gettext/fi/LC_MESSAGES/errors.po
index 45e65e80..70d53dc5 100644
--- a/priv/gettext/fi/LC_MESSAGES/errors.po
+++ b/priv/gettext/fi/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "Käyttäjän asetusten tallennuksessa tapahtui virhe"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Ryhmää ei löydy"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Tunnuksella %{id} ei löydy ryhmää"
@@ -148,15 +153,21 @@ msgid "No user to validate with this email was found"
msgstr "Käyttäjää tämän sähköpostin vahvistamiseksi ei löydy"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Profiili ei ole tunnistautuneen käyttäjän omistuksessa"
@@ -171,11 +182,13 @@ msgid "The current password is invalid"
msgstr "Nykyinen salasana ei kelpaa"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Uusi sähköpostiosoite ei vaikuta kelvolliselta"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Uuden sähköpostiosoitteen on poikettava vanhasta"
@@ -186,7 +199,8 @@ msgid "The new password must be different"
msgstr "Uuden salasanan on poikettava vanhasta"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Annettu salasana on epäkelpo"
@@ -209,7 +223,8 @@ msgid "This user has been disabled"
msgstr "Käyttäjä on poistettu käytöstä"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Käyttäjää ei voi vahvistaa"
@@ -284,7 +299,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Voit saada uuden merkin vain, jos sinulla on jo merkki"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Pyysit uutta vahvistussähköpostia liian aikaisin"
@@ -304,7 +320,8 @@ msgid "No profile found with this ID"
msgstr "Tällä tunnisteella ei löytynyt profiilia"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Tällä tunnisteella ei löytynyt etäprofiilia"
@@ -355,17 +372,19 @@ msgid "Comment is already deleted"
msgstr "Kommentti on jo poistettu"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Keskustelua ei löydy"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Virhe raporttia tallennettaessa"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Virhe raporttia päivitettäessä"
@@ -375,14 +394,16 @@ msgid "Event id not found"
msgstr "Tapahtumatunnistetta ei löydy"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Tapahtumaa ei löydy"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Tunnisteella %{id} ei ole tapahtumaa"
@@ -398,8 +419,11 @@ msgid "No discussion with ID %{id}"
msgstr "Tunnisteella %{id} ei ole keskustelua"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Käyttäjälle ei löydy profiilia"
@@ -415,7 +439,8 @@ msgstr "Osallistujalla on jo rooli %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Osallistujaa ei löydy"
@@ -430,12 +455,14 @@ msgid "Person with username %{username} not found"
msgstr "Käyttäjänimellä %{username} ei löydy henkilöä"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "Julkaisun tunnus ei ole kelvollinen"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Julkaisua ei ole"
@@ -445,31 +472,42 @@ msgid "Profile invited doesn't exist"
msgstr "Kutsuttua profiilia ei ole"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Profiili on jo ryhmän jäsen"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Profiili ei ole ryhmän jäsen"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Profiilia ei löydy"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Raporttia ei löydy"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Resurssia ei ole"
@@ -484,12 +522,14 @@ msgid "This token is invalid"
msgstr "Epäkelpo merkki"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Työkalua ei ole"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "Tehtäväluetteloa ei ole"
@@ -500,12 +540,13 @@ msgid "Token does not exist"
msgstr "Merkkiä ei ole"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Merkki ei ole kelvollinen UUID"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Käyttäjää ei löydy"
@@ -525,7 +566,8 @@ msgid "You are not a member of this group"
msgstr "Et ole ryhmän jäsen"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Et ole ryhmän moderaattori tai ylläpitäjä"
@@ -590,37 +632,37 @@ msgid "You don't have permission to delete this token"
msgstr "Sinulla ei ole oikeutta poistaa tätä merkkiä"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr "Toimintalokien katselu vain moderaattorille sisäänkirjautuneena"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Raporttien katselu vain moderaattorille sisäänkirjautuneena"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Raportin päivittäminen vain moderaattorille sisäänkirjautuneena"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Raportin katselu vain moderaattorille sisäänkirjautuneena"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "Pääsy ylläpitoasetuksiin vain ylläpitäjälle sisäänkirjautuneena"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "Pääsy koontinäytön tilastoihin vain ylläpitäjälle sisäänkirjautuneena"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "Ylläpitoasetusten tallennus vain ylläpitäjälle sisäänkirjautuneena"
@@ -645,7 +687,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Julkaisujen luonti vain sisäänkirjautuneena"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Raporttien luonti vain sisäänkirjautuneena"
@@ -740,7 +782,8 @@ msgid "Reset your password to login"
msgstr "Palauta salasana, jotta voit kirjautua sisään"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Resurssia ei löydy"
@@ -830,8 +873,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "Annettu profiilitunniste ei kuulu anonyymille profiilille"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "Toimitettu kuva on liian suuri"
@@ -856,7 +902,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Resurssin tietoja ei voida hakea tästä URL-osoitteesta."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Annetulla moderaattoriprofiililla ei ole oikeuksia tähän tapahtumaan"
@@ -907,6 +954,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1035,3 +1083,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Uuden sähköpostiosoitteen on poikettava vanhasta"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr "Ylläpitoasetusten tallennus vain ylläpitäjälle sisäänkirjautuneena"
diff --git a/priv/gettext/fr/LC_MESSAGES/activity.po b/priv/gettext/fr/LC_MESSAGES/activity.po
index 2e7857cf..3de1d149 100644
--- a/priv/gettext/fr/LC_MESSAGES/activity.po
+++ b/priv/gettext/fr/LC_MESSAGES/activity.po
@@ -160,19 +160,22 @@ msgstr "%{profile} a mis à jour le membre %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "L'événement %{event} a été créé par %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "L'événement %{event} a été supprimé par %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "L'événement %{event} a été mis à jour par %{profile}."
@@ -202,13 +205,15 @@ msgstr "%{member} a rejoint le groupe."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} a posté un commentaire sur l'événement %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} a répondu à un commentaire sur l'événement %{event}."
@@ -227,7 +232,8 @@ msgstr[1] "Voir %{count} activités de plus"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -241,14 +247,17 @@ msgstr "Activité sur %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} a posté une annonce sous l'événement %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}."
@@ -266,7 +275,8 @@ msgid "Here's your weekly activity recap"
msgstr "Voici votre récapitulatif hebdomadaire d'activité"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Notification d'activité sur %{instance}"
@@ -288,13 +298,15 @@ msgstr "Récapitulatif hebdomadaire d'activité sur %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} a posté un nouveau commentaire sous votre événement %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} a posté une nouvelle réponse sous votre événement %{event}."
diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po
index 034f9863..2af57bfb 100644
--- a/priv/gettext/fr/LC_MESSAGES/default.po
+++ b/priv/gettext/fr/LC_MESSAGES/default.po
@@ -10,1150 +10,912 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-12-17 21:15+0000\n"
+"PO-Revision-Date: 2022-01-14 18:10+0100\n"
"Last-Translator: Thomas Citharel \n"
-"Language-Team: French \n"
+"Language-Team: French \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.10\n"
+"X-Generator: Poedit 3.0.1\n"
#: lib/web/templates/email/password_reset.html.heex:48
-#, elixir-format
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
msgstr "Si vous n'avez pas demandé ceci, vous pouvez ignorer cet email. Votre mot de passe ne changera pas tant que vous n'en créerez pas un nouveau en cliquant sur le lien ci-dessous."
#: lib/web/templates/email/report.html.heex:74
-#, elixir-format
msgid "%{title} by %{creator}"
msgstr "%{title} par %{creator}"
#: lib/web/templates/email/registration_confirmation.html.heex:58
-#, elixir-format
msgid "Activate my account"
msgstr "Activer mon compte"
-#: lib/web/templates/email/email.html.heex:120
-#: lib/web/templates/email/email.text.eex:9
-#, elixir-format
+#: lib/web/templates/email/email.html.heex:120 lib/web/templates/email/email.text.eex:9
msgid "Ask the community on Framacolibri"
msgstr "Demander à la communauté sur Framacolibri"
#: lib/web/templates/email/report.text.eex:15
-#, elixir-format
msgid "Comments"
msgstr "Commentaires"
-#: lib/web/templates/email/report.html.heex:72
-#: lib/web/templates/email/report.text.eex:11
-#, elixir-format
+#: lib/web/templates/email/report.html.heex:72 lib/web/templates/email/report.text.eex:11
msgid "Event"
msgstr "Événement"
#: lib/web/email/user.ex:49
-#, elixir-format
msgid "Instructions to reset your password on %{instance}"
msgstr "Instructions pour réinitialiser votre mot de passe sur %{instance}"
#: lib/web/templates/email/report.text.eex:21
-#, elixir-format
msgid "Reason"
msgstr "Raison"
#: lib/web/templates/email/password_reset.html.heex:61
-#, elixir-format
msgid "Reset Password"
msgstr "Réinitialiser mon mot de passe"
#: lib/web/templates/email/password_reset.html.heex:41
-#, elixir-format
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
msgstr "Réinitialiser votre mot de passe est facile. Cliquez simplement sur le bouton et suivez les inscriptions. Vous serez opérationnel en un rien de temps."
#: lib/web/email/user.ex:28
-#, elixir-format
msgid "Instructions to confirm your Mobilizon account on %{instance}"
msgstr "Instructions pour confirmer votre compte Mobilizon sur %{instance}"
#: lib/web/email/admin.ex:24
-#, elixir-format
msgid "New report on Mobilizon instance %{instance}"
msgstr "Nouveau signalement sur l'instance Mobilizon %{instance}"
-#: lib/web/templates/email/before_event_notification.html.heex:51
-#: lib/web/templates/email/before_event_notification.text.eex:4
-#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:51 lib/web/templates/email/before_event_notification.text.eex:4
msgid "Go to event page"
msgstr "Aller à la page de l'événement"
#: lib/web/templates/email/report.text.eex:1
-#, elixir-format
msgid "New report from %{reporter} on %{instance}"
msgstr "Nouveau signalement sur %{instance}"
#: lib/web/templates/email/event_participation_approved.text.eex:1
-#, elixir-format
msgid "Participation approved"
msgstr "Participation approuvée"
-#: lib/web/templates/email/password_reset.html.heex:13
-#: lib/web/templates/email/password_reset.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/password_reset.html.heex:13 lib/web/templates/email/password_reset.text.eex:1
msgid "Password reset"
msgstr "Réinitialisation du mot de passe"
#: lib/web/templates/email/password_reset.text.eex:7
-#, elixir-format
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
msgstr "Réinitialiser votre mot de passe est facile. Cliquez simplement sur le bouton et suivez les instructions. Vous serez opérationnel en un rien de temps."
#: lib/web/templates/email/registration_confirmation.text.eex:5
-#, elixir-format
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
msgstr "Vous avez créé un compte sur %{host} avec cette adresse email. Vous êtes à un clic de l'activer."
#: lib/web/email/participation.ex:111
-#, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Votre participation à l'événement %{title} a été approuvée"
#: lib/web/email/participation.ex:68
-#, elixir-format
msgid "Your participation to event %{title} has been rejected"
msgstr "Votre participation à l'événement %{title} a été rejetée"
#: lib/web/email/event.ex:46
-#, elixir-format
msgid "Event %{title} has been updated"
msgstr "L'événement %{title} a été mis à jour"
#: lib/web/templates/email/event_updated.text.eex:7
-#, elixir-format
msgid "New title: %{title}"
msgstr "Nouveau titre : %{title}"
#: lib/web/templates/email/password_reset.text.eex:5
-#, elixir-format
msgid "You requested a new password for your account on %{instance}."
msgstr "Vous avez demandé un nouveau mot de passe pour votre compte sur %{instance}."
#: lib/web/templates/email/email.html.heex:88
-#, elixir-format
msgid "Warning"
msgstr "Attention"
#: lib/web/email/participation.ex:135
-#, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Confirmer ma participation à l'événement %{title}"
#: lib/web/templates/api/privacy.html.heex:75
-#, elixir-format
msgctxt "terms"
msgid "An internal ID for your current selected identity"
msgstr "Une identité interne pour l'identité sélectionnée actuellement"
#: lib/web/templates/api/privacy.html.heex:74
-#, elixir-format
msgctxt "terms"
msgid "An internal user ID"
msgstr "Une identité utilisateur·ice interne"
#: lib/web/templates/api/privacy.html.heex:37
-#, elixir-format
msgctxt "terms"
msgid "Any of the information we collect from you may be used in the following ways:"
msgstr "Les informations que nous vous nous fournissez pourront être utilisées ainsi :"
#: lib/web/templates/api/privacy.html.heex:9
-#, elixir-format
msgctxt "terms"
msgid "Basic account information"
msgstr "Informations basiques du compte"
#: lib/web/templates/api/privacy.html.heex:25
-#, elixir-format
msgctxt "terms"
msgid "Do not share any dangerous information over Mobilizon."
msgstr "Ne partagez aucune information sensible à l'aide de Mobilizon."
#: lib/web/templates/api/privacy.html.heex:90
-#, elixir-format
msgctxt "terms"
msgid "Do we disclose any information to outside parties?"
msgstr "Partageons-nous des informations à des tiers ?"
#: lib/web/templates/api/privacy.html.heex:68
-#, elixir-format
msgctxt "terms"
msgid "Do we use cookies?"
msgstr "Utilisons-nous des cookies ?"
#: lib/web/templates/api/privacy.html.heex:51
-#, elixir-format
msgctxt "terms"
msgid "How do we protect your information?"
msgstr "Comment protégeons-nous vos informations ?"
#: lib/web/templates/api/privacy.html.heex:29
-#, elixir-format
msgctxt "terms"
msgid "IPs and other metadata"
msgstr "Adresses IP et autres métadonnées"
#: lib/web/templates/api/privacy.html.heex:17
-#, elixir-format
msgctxt "terms"
msgid "Published events and comments"
msgstr "Événements publiés et commentaires"
#: lib/web/templates/api/privacy.html.heex:64
-#, elixir-format
msgctxt "terms"
msgid "Retain the IP addresses associated with registered users no more than 12 months."
msgstr "Ne pas conserver les adresses IP associées aux utilisateur·ices enregistrés pas plus de 12 mois."
#: lib/web/templates/api/privacy.html.heex:76
-#, elixir-format
msgctxt "terms"
msgid "Tokens to authenticate you"
msgstr "Jetons pour vous identifier"
#: lib/web/templates/api/privacy.html.heex:31
-#, elixir-format
msgctxt "terms"
msgid "We also may retain server logs which include the IP address of every request to our server."
msgstr "Nous pouvons également conserver les données d'authentification y compris les adresses IP de toutes les requêtes de notre serveur."
#: lib/web/templates/api/privacy.html.heex:70
-#, elixir-format
msgctxt "terms"
msgid "We store the following information on your device when you connect:"
msgstr "Nous conservons les informations suivantes sur votre appareil lorsque vous vous connectez :"
#: lib/web/templates/api/privacy.html.heex:58
-#, elixir-format
msgctxt "terms"
msgid "We will make a good faith effort to:"
msgstr "Nous mettrons tout en possible pour :"
#: lib/web/templates/api/privacy.html.heex:35
-#, elixir-format
msgctxt "terms"
msgid "What do we use your information for?"
msgstr "Comment utilisons-nous vos informations ?"
#: lib/web/templates/api/privacy.html.heex:57
-#, elixir-format
msgctxt "terms"
msgid "What is our data retention policy?"
msgstr "Quelle est notre politique de conservation des données ?"
#: lib/web/templates/api/privacy.html.heex:67
-#, elixir-format
msgctxt "terms"
msgid "You may irreversibly delete your account at any time."
msgstr "Vous pouvez supprimer votre compte à tout moment de façon irréversible."
#: lib/web/templates/api/privacy.html.heex:115
-#, elixir-format
msgctxt "terms"
msgid "Changes to our Privacy Policy"
msgstr "Modifications de notre politique de confidentialité"
#: lib/web/templates/api/privacy.html.heex:106
-#, elixir-format
msgctxt "terms"
msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site."
msgstr "Si ce serveur est dans l'Union Européenne ou dans l'Espace Economique Européen : nos sites, produits et services sont tous destinés aux personnes âgées de plus de 16 ans. Si vous avez moins de 16 ans, suivant le RGPD (Règlement général sur la protection des données), n'utilisez pas ce site."
#: lib/web/templates/api/privacy.html.heex:109
-#, elixir-format
msgctxt "terms"
msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site."
msgstr "Si le serveur est situé aux Etats-Unis : Notre site, nos produits et services sont tous à destination de personnes agées d'au moins 13 ans. Si vous avez moins de 13 ans, d'après les recommandations de COOPA (Children's Online Privacy Protection Act) n'utilisez pas ce site."
#: lib/web/templates/api/privacy.html.heex:117
-#, elixir-format
msgctxt "terms"
msgid "If we decide to change our privacy policy, we will post those changes on this page."
msgstr "Si nous décidons de changer notre politique de confidentialité, nous présenterons ces changements sur cette page."
#: lib/web/templates/api/privacy.html.heex:112
-#, elixir-format
msgctxt "terms"
msgid "Law requirements can be different if this server is in another jurisdiction."
msgstr "Les conditions juridiques peuvent différer si le serveur est sous une autre juridiction."
#: lib/web/templates/api/privacy.html.heex:103
-#, elixir-format
msgctxt "terms"
msgid "Site usage by children"
msgstr "Utilisation du site par des mineurs"
#: lib/web/templates/api/privacy.html.heex:47
-#, elixir-format
msgctxt "terms"
-msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions."
+msgid ""
+"The email address you provide may be used to send you information, updates and notifications about other people\n"
+" interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n"
+" questions."
msgstr ""
"L'adresse électronique que vous nous fournissez peut être utilisée pour vous envoyer des informations, des mises à jour et des notifications concernant d'autres personnes\n"
"qui interagissent avec vos contenus ou vous envoient des messages et pour répondre à des demandes,\n"
"et/ou à d'autres requêtes ou questions."
#: lib/web/templates/api/privacy.html.heex:45
-#, elixir-format
msgctxt "terms"
-msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations."
+msgid ""
+"To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n"
+" evasion or other violations."
msgstr ""
"Afin d'aider à la modération de la communauté, par exemple en comparant votre adresse IP avec d'autres adresses connues\n"
"dans le but de détecter des tentatives de contournement d'un bannissement ou d'autres violations."
#: lib/web/templates/api/privacy.html.heex:43
-#, elixir-format
msgctxt "terms"
-msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in."
+msgid ""
+"To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n"
+" interact with other people's content and post your own content if you are logged in."
msgstr ""
"Fournir la fonctionnalité de base de Mobilizon. Selon la politique de cette instance, vous ne pourrez interagir\n"
"avec le contenu d'autres personnes et publier votre propre contenu que si vous êtes connecté."
#: lib/web/templates/api/privacy.html.heex:6
-#, elixir-format
msgctxt "terms"
msgid "What information do we collect?"
msgstr "Quelles informations collectons-nous ?"
#: lib/web/email/user.ex:178
-#, elixir-format
msgid "Mobilizon on %{instance}: confirm your email address"
msgstr "Mobilizon sur %{instance} : confirmez votre adresse email"
#: lib/web/email/user.ex:157
-#, elixir-format
msgid "Mobilizon on %{instance}: email changed"
msgstr "Mobilizon sur %{instance} : adresse email modifiée"
#: lib/web/email/notification.ex:51
-#, elixir-format
msgid "One event planned today"
msgid_plural "%{nb_events} events planned today"
msgstr[0] "Un événement prévu aujourd'hui"
msgstr[1] "%{nb_events} événements prévus aujourd'hui"
-#: lib/web/templates/email/on_day_notification.html.heex:38
-#: lib/web/templates/email/on_day_notification.text.eex:3
-#, elixir-format
+#: lib/web/templates/email/on_day_notification.html.heex:38 lib/web/templates/email/on_day_notification.text.eex:3
msgid "You have one event today:"
msgid_plural "You have %{total} events today:"
msgstr[0] "Vous avez un événement aujourd'hui :"
msgstr[1] "Vous avez %{total} événements aujourd'hui :"
#: lib/web/templates/email/group_invite.text.eex:3
-#, elixir-format
msgid "%{inviter} just invited you to join their group %{group}"
msgstr "%{inviter} vient de vous inviter à rejoindre son groupe %{group}"
-#: lib/web/templates/email/group_invite.html.heex:13
-#: lib/web/templates/email/group_invite.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/group_invite.html.heex:13 lib/web/templates/email/group_invite.text.eex:1
msgid "Come along!"
msgstr "Rejoignez-nous !"
#: lib/web/email/notification.ex:25
-#, elixir-format
msgid "Don't forget to go to %{title}"
msgstr "N'oubliez pas de vous rendre à %{title}"
-#: lib/web/templates/email/before_event_notification.html.heex:38
-#: lib/web/templates/email/before_event_notification.text.eex:3
-#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:38 lib/web/templates/email/before_event_notification.text.eex:3
msgid "Get ready for %{title}"
msgstr "Préparez vous pour %{title}"
#: lib/web/templates/email/group_invite.html.heex:59
-#, elixir-format
msgid "See my groups"
msgstr "Voir mes groupes"
-#: lib/web/templates/email/group_invite.html.heex:45
-#: lib/web/templates/email/group_invite.text.eex:5
-#, elixir-format
+#: lib/web/templates/email/group_invite.html.heex:45 lib/web/templates/email/group_invite.text.eex:5
msgid "To accept this invitation, head over to your groups."
msgstr "Pour accepter cette invitation, rendez-vous dans vos groupes."
#: lib/web/templates/email/before_event_notification.text.eex:5
-#, elixir-format
msgid "View the event on: %{link}"
msgstr "Voir l'événement mis à jour sur : %{link}"
#: lib/web/email/member.ex:31
-#, elixir-format
msgid "You have been invited by %{inviter} to join group %{group}"
msgstr "Vous avez été invité par %{inviter} à rejoindre le groupe %{group}"
#: lib/web/email/notification.ex:78
-#, elixir-format
msgid "One event planned this week"
msgid_plural "%{nb_events} events planned this week"
msgstr[0] "Un événement prévu cette semaine"
msgstr[1] "%{nb_events} événements prévus cette semaine"
#: lib/web/email/notification.ex:102
-#, elixir-format
msgid "One participation request for event %{title} to process"
msgid_plural "%{number_participation_requests} participation requests for event %{title} to process"
msgstr[0] "Une demande de participation à l'événement %{title} à traiter"
msgstr[1] "%{number_participation_requests} demandes de participation à l'événement %{title} à traiter"
-#: lib/web/templates/email/notification_each_week.html.heex:38
-#: lib/web/templates/email/notification_each_week.text.eex:3
-#, elixir-format
+#: lib/web/templates/email/notification_each_week.html.heex:38 lib/web/templates/email/notification_each_week.text.eex:3
msgid "You have one event this week:"
msgid_plural "You have %{total} events this week:"
msgstr[0] "Vous avez un événement aujourd'hui :"
msgstr[1] "Vous avez %{total} événements aujourd'hui :"
#: lib/service/metadata/utils.ex:53
-#, elixir-format
msgid "The event organizer didn't add any description."
msgstr "L'organisateur·ice de l'événement n'a pas ajouté de description."
#: lib/web/templates/api/privacy.html.heex:54
-#, elixir-format
msgctxt "terms"
msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way algorithm."
msgstr "Nous utilisons plusieurs mesures de sécurité pour assurer la confidentialité de vos informations personnelles lorsque vous soumettez ou accédez à vos informations. Entre autres, votre session de navigateur et la connexion entre vos applications et l'API sont sécurisés par SSL/TLS, et votre mot de passe est haché avec un algorithme fort à sens unique."
#: lib/web/templates/api/privacy.html.heex:94
-#, elixir-format
msgctxt "terms"
msgid "No. We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety."
msgstr "Non. Nous ne vendons, n’échangeons ou ne transférons d’une quelque manière que soit des informations permettant de vous identifier personnellement. Cela n’inclut pas les tierces parties de confiance qui nous aident à opérer ce site, à conduire nos activités commerciales ou à vous servir, tant qu’elles acceptent de garder ces informations confidentielles. Nous sommes également susceptibles de partager vos informations quand nous pensons que c’est nécessaire pour nous conformer à la loi, pour appliquer les politiques de notre site ainsi que pour défendre nos droits, notre propriété, notre sécurité et celles et ceux d’autres personnes."
#: lib/web/templates/api/terms.html.heex:23
-#, elixir-format
msgctxt "terms"
msgid "Accepting these Terms"
msgstr "Acceptation de ces Conditions"
#: lib/web/templates/api/terms.html.heex:27
-#, elixir-format
msgctxt "terms"
msgid "Changes to these Terms"
msgstr "Modifications de ces Conditions d'Utilisation"
#: lib/web/templates/api/terms.html.heex:85
-#, elixir-format
msgctxt "terms"
msgid "A lot of the content on the Service is from you and others, and we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content."
msgstr "Une grande partie du contenu du Service provient de vous et d'autres personnes, et nous ne l'examinons, ne le vérifions ni ne l'authentifions, et il peut contenir des inexactitudes ou de fausses informations. Nous ne faisons aucune déclaration, garantie ou assurance concernant la qualité, la pertinence, la véracité, l'exactitude ou l'exhaustivité de tout contenu du Service. Vous reconnaissez être seul responsable et assumez tous les risques découlant de votre utilisation ou de votre confiance dans tout contenu."
#: lib/web/templates/api/terms.html.heex:60
-#, elixir-format
msgctxt "terms"
msgid "Also, you agree that you will not do any of the following in connection with the Service or other users:"
msgstr "De plus, vous acceptez de ne pas faire ce qui suit en relation avec le Service ou les autres utilisateur·ices :"
#: lib/web/templates/api/terms.html.heex:65
-#, elixir-format
msgctxt "terms"
msgid "Circumvent or attempt to circumvent any filtering, security measures, rate limits or other features designed to protect the Service, users of the Service, or third parties."
msgstr "Contourner ou tenter de contourner tout filtrage, mesures de sécurité, limites d'accès ou autres caractéristiques destinées à protéger le Service, les utilisateur·ices du Service ou des tiers."
#: lib/web/templates/api/terms.html.heex:64
-#, elixir-format
msgctxt "terms"
msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;"
msgstr "Recueillir des informations personnelles sur les autres utilisateur·ices, ou intimider, menacer, traquer ou harceler de toute autre manière les autres utilisateurs du Service ;"
#: lib/web/templates/api/terms.html.heex:55
-#, elixir-format
msgctxt "terms"
msgid "Content that is illegal or unlawful, that would otherwise create liability;"
msgstr "Du contenu qui est illégal ou illicite, qui autrement entraînerait une responsabilité ;"
#: lib/web/templates/api/terms.html.heex:56
-#, elixir-format
msgctxt "terms"
msgid "Content that may infringe or violate any patent, trademark, trade secret, copyright, right of privacy, right of publicity or other intellectual or other right of any party;"
msgstr "Du contenu susceptible d'enfreindre ou de violer un brevet, une marque de commerce, un secret commercial, un droit d'auteur, un droit à la vie privée, un droit de publicité ou tout autre droit intellectuel ou autre de toute partie ;"
#: lib/web/templates/api/terms.html.heex:42
-#, elixir-format
msgctxt "terms"
msgid "Creating Accounts"
msgstr "Création de compte"
#: lib/web/templates/api/terms.html.heex:89
-#, elixir-format
msgctxt "terms"
msgid "Entire Agreement"
msgstr "Accord complet"
#: lib/web/templates/api/terms.html.heex:92
-#, elixir-format
msgctxt "terms"
msgid "Feedback"
msgstr "Commentaires"
#: lib/web/templates/api/terms.html.heex:83
-#, elixir-format
msgctxt "terms"
msgid "Hyperlinks and Third Party Content"
msgstr "Liens hypertexte et contenu tiers"
#: lib/web/templates/api/terms.html.heex:88
-#, elixir-format
msgctxt "terms"
msgid "If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service."
msgstr "Si vous enfreignez l'une de ces Conditions, nous avons le droit de suspendre ou de désactiver votre accès ou votre utilisation du Service."
#: lib/web/templates/api/terms.html.heex:63
-#, elixir-format
msgctxt "terms"
msgid "Impersonate or post on behalf of any person or entity or otherwise misrepresent your affiliation with a person or entity;"
msgstr "Usurper l'identité d'une personne ou d'une entité ou afficher au nom d'une personne ou d'une entité, ou encore présenter de manière inexacte votre affiliation à une personne ou une entité ;"
#: lib/web/templates/api/terms.html.heex:48
-#, elixir-format
msgctxt "terms"
msgid "Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness."
msgstr "Notre Service vous permet, ainsi qu'à d'autres utilisateur·ices, de publier, d'établir des liens et de mettre à disposition du contenu. Vous êtes responsable du contenu que vous mettez à la disposition du service, y compris de sa légalité, de sa fiabilité et de sa pertinence."
#: lib/web/templates/api/terms.html.heex:39
-#, elixir-format
msgctxt "terms"
msgid "Privacy Policy"
msgstr "Politique de confidentialité"
#: lib/web/templates/api/terms.html.heex:95
-#, elixir-format
msgctxt "terms"
msgid "Questions & Contact Information"
msgstr "Questions et coordonnées"
#: lib/web/templates/api/terms.html.heex:87
-#, elixir-format
msgctxt "terms"
msgid "Termination"
msgstr "Résiliation"
#: lib/web/templates/api/terms.html.heex:62
-#, elixir-format
msgctxt "terms"
msgid "Use the Service in any manner that could interfere with, disrupt, negatively affect or inhibit other users from fully enjoying the Service or that could damage, disable, overburden or impair the functioning of the Service;"
msgstr "Utiliser le Service de toute manière qui pourrait interférer, perturber, affecter négativement ou empêcher d'autres utilisateur·ices de profiter pleinement du Service ou qui pourrait endommager, désactiver, surcharger ou altérer le fonctionnement du Service ;"
#: lib/web/templates/api/terms.html.heex:47
-#, elixir-format
msgctxt "terms"
msgid "Your Content & Conduct"
msgstr "Votre contenu et votre conduite"
#: lib/web/templates/api/terms.html.heex:84
-#, elixir-format
msgctxt "terms"
msgid "%{instance_name} makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern. The inclusion of any link does not imply endorsement by %{instance_name} of the site. Use of any such linked website is at the user's own risk."
msgstr "%{instance_name} ne fait aucune revendication et n'accepte aucune responsabilité concernant les sites web de tiers accessibles par lien hypertexte depuis le Service ou les sites web liés au Service. Lorsque vous quittez le Service, vous devez savoir que les présentes Conditions et nos politiques de confidentialité ne sont plus applicables. L'inclusion d'un lien n'implique pas l'approbation par %{instance_name} du site. L'utilisation de tout site web lié est aux risques et périls de l'utilisateur·ice."
#: lib/web/templates/api/terms.html.heex:68
-#, elixir-format
msgctxt "terms"
msgid "Finally, your use of the Service is also subject to acceptance of the instance's own specific rules regarding the code of conduct and moderation rules. Breaking those rules may also result in your account being disabled or suspended."
msgstr "Enfin, votre utilisation du Service est également soumise à l'acceptation des règles spécifiques de l'instance concernant le code de conduite et les règles de modération. Le non-respect de ces règles peut également entraîner la désactivation ou la suspension de votre compte."
#: lib/web/templates/api/terms.html.heex:81
-#, elixir-format
msgctxt "terms"
msgid "For full details about the Mobilizon software see here."
msgstr "Pour plus de détails sur le logiciel Mobilizon voir ici."
#: lib/web/templates/api/terms.html.heex:18
-#, elixir-format
msgctxt "terms"
msgid "Here are the important things you need to know about accessing and using the %{instance_name} (%{instance_url}) website and service (collectively, \"Service\"). These are our terms of service (\"Terms\"). Please read them carefully."
msgstr "Voici les points importants que vous devez savoir sur l'accès et l'utilisation du site web et du Service %{instance_name} (%{instance_url}) (conjointement, \"Service\"). Ce sont nos conditions de service (\"Conditions\"). Veuillez les lire attentivement."
#: lib/web/templates/api/terms.html.heex:33
-#, elixir-format
msgctxt "terms"
msgid "If we make major changes, we will notify our users in a clear and prominent manner. Minor changes may only be highlighted in the footer of our website. It is your responsibility to check the website regularly for changes to these Terms."
msgstr "Si nous apportons des changements majeurs, nous en informerons nos utilisateur·ices de manière claire et visible. Il est possible que les changements mineurs ne soient mis en évidence que dans le pied de page de cette page. Il est de votre responsabilité de vérifier régulièrement sur le site web si des modifications ont été apportées aux présentes Conditions."
#: lib/web/templates/api/terms.html.heex:53
-#, elixir-format
msgctxt "terms"
msgid "In order to make %{instance_name} a great place for all of us, please do not post, link and otherwise make available on or through the Service any of the following:"
msgstr "Afin de faire de %{instance_name} un endroit idéal pour nous toutes et tous, nous vous prions de ne pas publier, relier ou rendre disponible sur ou par le biais du Service l'un des éléments suivants :"
#: lib/web/templates/api/terms.html.heex:57
-#, elixir-format
msgctxt "terms"
msgid "Private information of any third party (e.g., addresses, phone numbers, email addresses, Social Security numbers and credit card numbers); and"
msgstr "Les informations privées de toute personne tierce (par exemple, les adresses, les numéros de téléphone, les adresses électroniques, les numéros de sécurité sociale et les numéros de carte de crédit) ; et"
#: lib/web/templates/api/terms.html.heex:52
-#, elixir-format
msgctxt "terms"
msgid "Since Mobilizon is a distributed network, it is possible, depending on the visibility rules set to your content, that your content has been distributed to other Mobilizon instances. When you delete your content, we will request those other instances to also delete the content. Our responsibility on the content being deleted from those other instances ends here. If for some reason, some other instance does not delete the content, we cannot be held responsible."
msgstr "Mobilizon étant un réseau distribué, il est possible, en fonction des règles de visibilité définies pour votre contenu, que celui-ci ait été distribué à d'autres instances de Mobilizon. Lorsque vous supprimez votre contenu, nous demandons à ces autres instances de supprimer également le contenu. Notre responsabilité quant au contenu supprimé de ces autres instances s'arrête ici. Si, pour une raison quelconque, une autre instance ne supprime pas le contenu, nous ne pouvons être tenus responsables."
#: lib/web/templates/api/terms.html.heex:90
-#, elixir-format
msgctxt "terms"
msgid "These Terms constitute the entire agreement between you and %{instance_name} regarding the use of the Service, superseding any prior agreements between you and %{instance_name} relating to your use of the Service."
msgstr "Les présentes Conditions constituent l'intégralité de l'accord entre vous et %{instance_name} concernant l'utilisation du Service, remplaçant tout accord préalable entre vous et %{instance_name} relatif à votre utilisation du Service."
#: lib/web/templates/api/terms.html.heex:80
-#, elixir-format
msgctxt "terms"
msgid "This Service runs on a Mobilizon instance. This source code is licensed under an AGPLv3 license which means you are allowed to and even encouraged to take the source code, modify it and use it."
msgstr "Ce Service fonctionne sur une instance de Mobilizon. Ce code source est sous licence AGPLv3 ce qui signifie que vous êtes autorisé et même encouragé à prendre le code source, le modifier et l'utiliser."
#: lib/web/templates/api/terms.html.heex:58
-#, elixir-format
msgctxt "terms"
msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code."
msgstr "Virus, données corrompues ou autres fichiers ou codes nuisibles, perturbateurs ou destructeurs."
#: lib/web/templates/api/terms.html.heex:51
-#, elixir-format
msgctxt "terms"
msgid "You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time. Web server access logs might also be stored for some time in the system."
msgstr "Vous pouvez supprimer le contenu que vous avez publié en le supprimant. Une fois que vous avez supprimé votre contenu, il n'apparaîtra plus sur le Service, mais des copies de votre contenu supprimé peuvent rester dans notre système ou des sauvegardes pendant un certain temps. Les journaux d'accès au serveur web peuvent également être stockés pendant un certain temps dans le système."
#: lib/web/templates/api/terms.html.heex:96
-#, elixir-format
msgctxt "terms"
msgid "Questions or comments about the Service may be directed to us at %{contact}"
msgstr "Les questions ou commentaires concernant le Service peuvent nous être adressés à %{contact}"
#: lib/web/templates/api/terms.html.heex:79
-#, elixir-format
msgctxt "terms"
msgid "Source code"
msgstr "Code source"
#: lib/web/templates/api/terms.html.heex:93
-#, elixir-format
msgctxt "terms"
msgid "We love feedback. Please let us know what you think of the Service, these Terms and, in general, %{instance_name}."
msgstr "Nous aimons les retours d'information. N'hésitez pas à nous faire savoir ce que vous pensez du Service, des présentes Conditions et, en général, de %{instance_name}."
#: lib/web/templates/api/terms.html.heex:74
-#, elixir-format
msgctxt "terms"
msgid "Instance administrators (and community moderators, given the relevant access) are responsible for monitoring and acting on flagged content and other user reports, and have the right and responsibility to remove or edit content that is not aligned to this Instance set of rules, or to suspend, block or ban (temporarily or permanently) any account, community, or instance for breaking these terms, or for other behaviours that they deem inappropriate, threatening, offensive, or harmful."
msgstr "Les administrateurs d'instance (et les modérateurs de la communauté, sous réserve d'un accès approprié) sont chargés de surveiller et d'agir sur les contenus signalés et autres rapports d'utilisateur·ices, et ont le droit et la responsabilité de supprimer ou de modifier les contenus qui ne sont pas conformes aux règles de cette d'instance, ou de suspendre, bloquer ou interdire (temporairement ou définitivement) tout compte, communauté ou instance pour violation de ces conditions, ou pour d'autres comportements qu'ils jugent inappropriés, menaçants, offensants ou nuisibles."
#: lib/web/templates/api/terms.html.heex:6
-#, elixir-format
msgctxt "terms"
msgid "%{instance_name} will not use or transmit or resell your personal data"
msgstr "%{instance_name} n'utilisera pas ni ne transmettra ou revendra vos données"
#: lib/web/templates/api/terms.html.heex:44
-#, elixir-format
msgctxt "terms"
msgid "If you discover or suspect any Service security breaches, please let us know as soon as possible. For security holes in the Mobilizon software itself, please contact its contributors directly."
msgstr "Si vous découvrez ou soupçonnez des failles de sécurité du Service, veuillez nous en informer dès que possible. Pour les failles de sécurité dans le logiciel Mobilizon lui-même, veuillez contacter directement ses contributeur·ices."
#: lib/web/templates/api/terms.html.heex:77
-#, elixir-format
msgctxt "terms"
msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules."
msgstr "Les administrateur·ices d'instance doivent s'assurer que chaque communauté hébergée sur l'instance est correctement modérée conformément aux règles définies."
#: lib/web/templates/api/terms.html.heex:98
-#, elixir-format
msgctxt "terms"
msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA."
msgstr "Adaptée à l'origine des politiques de confidentialité de Diaspora* et App.net, aussi sous licence CC BY-SA."
#: lib/web/templates/api/privacy.html.heex:119
-#, elixir-format
msgctxt "terms"
msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA."
msgstr "Adaptée à l'origine des politiques de confidentialité de Mastodon et Discourse, aussi sous licence CC BY-SA."
#: lib/web/templates/api/terms.html.heex:3
-#, elixir-format
msgctxt "terms"
msgid "Short version"
msgstr "Version courte"
#: lib/web/templates/api/terms.html.heex:9
-#, elixir-format
msgctxt "terms"
msgid "The service is provided without warranties and these terms may change in the future"
msgstr "Le service est fourni sans garanties et ces conditions peuvent changer dans le futur"
#: lib/web/templates/api/privacy.html.heex:118
-#, elixir-format
msgctxt "terms"
msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020."
msgstr "Ce document est sous licence CC BY-SA. La dernière mise à jour date du 18 juin 2020."
#: lib/web/templates/api/terms.html.heex:97
-#, elixir-format
msgctxt "terms"
msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020."
msgstr "Ce document est sous licence CC BY-SA. La dernière mise à jour date du 22 juin 2020."
#: lib/web/templates/api/terms.html.heex:8
-#, elixir-format
msgctxt "terms"
msgid "You must respect other people and %{instance_name}'s rules when using the service"
msgstr "Vous devez respecter les autres et les règles de %{instance_name} lorsque vous utilisez le service"
#: lib/web/templates/api/terms.html.heex:7
-#, elixir-format
msgctxt "terms"
msgid "You must respect the law when using %{instance_name}"
msgstr "Vous devez respecter la loi lorsque vous utilisez %{instance_name}"
#: lib/web/templates/api/terms.html.heex:5
-#, elixir-format
msgctxt "terms"
msgid "Your content is yours"
msgstr "Votre contenu vous appartient"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:51
-#, elixir-format
msgid "Confirm my e-mail address"
msgstr "Confirmer mon adresse email"
-#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:13
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:13 lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
msgid "Confirm your e-mail"
msgstr "Confirmez votre adresse email"
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3
-#, elixir-format
msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:"
msgstr "Salut ! Vous venez de vous enregistrer pour rejoindre cet événement : « %{title} ». Merci de confirmer l'adresse email que vous avez fournie :"
-#: lib/web/templates/email/email.html.heex:117
-#: lib/web/templates/email/email.text.eex:8
-#, elixir-format
+#: lib/web/templates/email/email.html.heex:117 lib/web/templates/email/email.text.eex:8
msgid "Need help? Is something not working as expected?"
msgstr "Besoin d'aide ? Quelque chose ne fonctionne pas correctement ?"
#: lib/web/templates/email/registration_confirmation.html.heex:38
-#, elixir-format
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
msgstr "Vous avez créé un compte sur %{host} avec cette adresse email. Vous êtes à un clic de l'activer."
#: lib/web/templates/email/report.html.heex:13
-#, elixir-format
msgid "New report on %{instance}"
msgstr "Nouveau signalement sur %{instance}"
#: lib/web/templates/email/email_changed_old.html.heex:38
-#, elixir-format
msgid "The email address for your account on %{host} is being changed to:"
msgstr "L'adresse email pour votre compte sur %{host} est en train d'être changée pour :"
#: lib/web/templates/email/password_reset.html.heex:38
-#, elixir-format
msgid "You requested a new password for your account on %{instance}."
msgstr "Vous avez demandé un nouveau mot de passe pour votre compte sur %{instance}."
#: lib/web/templates/email/email.text.eex:5
-#, elixir-format
msgid "Please do not use it for real purposes."
msgstr "Veuillez ne pas l'utiliser pour un cas réel."
-#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
-#: lib/web/templates/email/on_day_notification.text.eex:11
-#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63 lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133 lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60 lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60 lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
msgstr[0] "Si vous avez besoin d'annuler votre participation, il suffit d'accéder à la page de l'événement à partir du lien ci-dessus et de cliquer sur le bouton « Je participe »."
msgstr[1] "Si vous avez besoin d'annuler votre participation à un ou plusieurs événements, il suffit d'accéder aux pages des événement grâce aux liens ci-dessus et de cliquer sur le bouton « Je participe »."
#: lib/web/templates/email/email.text.eex:11
-#, elixir-format
msgid "%{instance} is powered by Mobilizon."
msgstr "%{instance} est une instance Mobilizon."
#: lib/web/templates/email/email.html.heex:152
-#, elixir-format
msgid "%{instance} is powered by Mobilizon."
msgstr "%{instance} est une instance Mobilizon."
-#: lib/web/templates/email/pending_participation_notification.html.heex:13
-#: lib/web/templates/email/pending_participation_notification.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:13 lib/web/templates/email/pending_participation_notification.text.eex:1
msgid "A request is pending!"
msgstr "Une demande est en attente !"
-#: lib/web/templates/email/before_event_notification.html.heex:13
-#: lib/web/templates/email/before_event_notification.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:13 lib/web/templates/email/before_event_notification.text.eex:1
msgid "An event is upcoming!"
msgstr "Un événement est à venir !"
-#: lib/web/templates/email/email_changed_new.html.heex:13
-#: lib/web/templates/email/email_changed_new.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/email_changed_new.html.heex:13 lib/web/templates/email/email_changed_new.text.eex:1
msgid "Confirm new email"
msgstr "Confirmez votre adresse email"
#: lib/web/templates/email/event_updated.html.heex:84
-#, elixir-format
msgid "End"
msgstr "Fin"
-#: lib/web/templates/email/event_updated.html.heex:13
-#: lib/web/templates/email/event_updated.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:13 lib/web/templates/email/event_updated.text.eex:1
msgid "Event update!"
msgstr "Événement mis à jour !"
#: lib/web/templates/email/report.html.heex:88
-#, elixir-format
msgid "Flagged comments"
msgstr "Commentaires signalés"
-#: lib/web/templates/email/event_participation_approved.html.heex:45
-#: lib/web/templates/email/event_participation_approved.text.eex:7
-#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:45 lib/web/templates/email/event_participation_approved.text.eex:7
msgid "Good news: one of the event organizers just approved your request. Update your calendar, because you're on the guest list now!"
msgstr "Bonne nouvelle : un·e des organisateur·ices de l'événement vient d'approuver votre demande. Mettez à jour votre agenda, car vous êtes maintenant un·e participant·e !"
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
-#, elixir-format
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr "Salut ! Il semblerait que vous avez demandé la modification de l'adresse e-mail liée à votre compte sur %{instance}. Si vous voulez toujours effectuer ce changement, merci de cliquer sur le bouton ci-dessous pour confirmer la modification. Vous pourrez alors vous connecter à %{instance} avec cette nouvelle adresse."
#: lib/web/templates/email/email_changed_old.text.eex:3
-#, elixir-format
msgid "Hi there! Just a quick note to confirm that the email address linked to your account on %{host} has been changed from this one to:"
msgstr "Salut ! Juste un petite note pour confirmer que l'adresse e-mail liée à votre compte sur %{host} a été changée depuis celle-ci à :"
-#: lib/web/templates/email/email_changed_old.html.heex:62
-#: lib/web/templates/email/email_changed_old.text.eex:5
-#, elixir-format
+#: lib/web/templates/email/email_changed_old.html.heex:62 lib/web/templates/email/email_changed_old.text.eex:5
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
msgstr "Si vous n'avez pas effectué cette modification vous-même, il est probable que quelqu'un ait eu accès à votre compte %{host}. Veuillez vous connecter et changer immédiatement votre mot de passe. Si vous ne pouvez pas vous connecter, contactez l'administrateur·ice sur %{host}."
#: lib/web/templates/email/password_reset.text.eex:12
-#, elixir-format
msgid "If you didn't trigger the change yourself, please ignore this message. Your password won't be changed until you click the link above."
msgstr "Si vous n'êtes pas à l'origine de cette modification, merci d'ignorer ce message. Votre mot de passe ne sera pas modifié tant que vous ne cliquerez pas le lien ci-dessus."
-#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
-#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70 lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Si vous n'avez pas déclenché cette alerte, vous pouvez ignorer cet e-mail sans souci."
-#: lib/web/templates/email/before_event_notification.html.heex:63
-#: lib/web/templates/email/before_event_notification.text.eex:6
-#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:63 lib/web/templates/email/before_event_notification.text.eex:6
msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgstr "Si vous avez besoin d'annuler votre participation, il suffit d'accéder à la page de l'événement à partir du lien ci-dessus et de cliquer sur le bouton « Je participe »."
-#: lib/web/templates/email/email.html.heex:153
-#: lib/web/templates/email/email.text.eex:11
-#, elixir-format
+#: lib/web/templates/email/email.html.heex:153 lib/web/templates/email/email.text.eex:11
msgid "Learn more about Mobilizon here!"
msgstr "En apprendre plus à propos de Mobilizon ici !"
-#: lib/web/templates/email/event_updated.html.heex:94
-#: lib/web/templates/export/event_participants.html.heex:129
-#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:94 lib/web/templates/export/event_participants.html.heex:129
msgid "Location"
msgstr "Localisation"
#: lib/web/templates/email/event_updated.html.heex:104
-#, elixir-format
msgid "Location address was removed"
msgstr "L'adresse physique a été enlevée"
-#: lib/web/templates/email/pending_participation_notification.html.heex:56
-#: lib/web/templates/email/pending_participation_notification.text.eex:8
-#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:56 lib/web/templates/email/pending_participation_notification.text.eex:8
msgid "Manage pending requests"
msgstr "Gérer les demandes de participation en attente"
-#: lib/web/templates/email/registration_confirmation.html.heex:13
-#: lib/web/templates/email/registration_confirmation.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/registration_confirmation.html.heex:13 lib/web/templates/email/registration_confirmation.text.eex:1
msgid "Nearly there!"
msgstr "Vous y êtes presque !"
-#: lib/web/templates/email/email_changed_old.html.heex:13
-#: lib/web/templates/email/email_changed_old.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/email_changed_old.html.heex:13 lib/web/templates/email/email_changed_old.text.eex:1
msgid "New email confirmation"
msgstr "Confirmation de nouvel e-mail"
#: lib/web/templates/email/report.html.heex:106
-#, elixir-format
msgid "Reasons for report"
msgstr "Raisons du signalement"
#: lib/web/templates/email/report.html.heex:39
-#, elixir-format
msgid "Someone on %{instance} reported the following content for you to analyze:"
msgstr "Une personne de %{instance} a signalé le contenu suivant :"
-#: lib/web/templates/email/event_participation_rejected.html.heex:13
-#: lib/web/templates/email/event_participation_rejected.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/event_participation_rejected.html.heex:13 lib/web/templates/email/event_participation_rejected.text.eex:1
msgid "Sorry! You're not going."
msgstr "Désolé ! Vous n'y allez pas."
#: lib/web/templates/email/event_updated.html.heex:74
-#, elixir-format
msgid "Start"
msgstr "Début"
#: lib/web/templates/email/event_updated.text.eex:3
-#, elixir-format
msgid "There have been changes for %{title} so we'd thought we'd let you know."
msgstr "Il y a eu des changements pour %{title} donc nous avons pensé que nous vous le ferions savoir."
-#: lib/web/templates/email/event_updated.html.heex:55
-#: lib/web/templates/email/event_updated.text.eex:6
-#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:55 lib/web/templates/email/event_updated.text.eex:6
msgid "This event has been cancelled by its organizers. Sorry!"
msgstr "Cet événement a été annulé par ses organisateur·ices. Désolé !"
-#: lib/web/templates/email/event_updated.html.heex:51
-#: lib/web/templates/email/event_updated.text.eex:4
-#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:51 lib/web/templates/email/event_updated.text.eex:4
msgid "This event has been confirmed"
msgstr "L'événement a été confirmé"
-#: lib/web/templates/email/event_updated.html.heex:53
-#: lib/web/templates/email/event_updated.text.eex:5
-#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:53 lib/web/templates/email/event_updated.text.eex:5
msgid "This event has yet to be confirmed: organizers will let you know if they do confirm it."
msgstr "Cet événement doit encore être confirmé : les organisateur·ices vous feront savoir si l'événement est confirmé."
-#: lib/web/templates/email/event_participation_rejected.html.heex:45
-#: lib/web/templates/email/event_participation_rejected.text.eex:7
-#, elixir-format
+#: lib/web/templates/email/event_participation_rejected.html.heex:45 lib/web/templates/email/event_participation_rejected.text.eex:7
msgid "Unfortunately, the organizers rejected your request."
msgstr "Malheureusement, les organisateur⋅ices ont rejeté votre demande de participation."
#: lib/web/templates/email/email_changed_new.html.heex:51
-#, elixir-format
msgid "Verify your email address"
msgstr "Vérifier l'adresse email"
#: lib/web/templates/email/report.html.heex:126
-#, elixir-format
msgid "View report"
msgstr "Voir le signalement"
#: lib/web/templates/email/report.text.eex:24
-#, elixir-format
msgid "View report:"
msgstr "Voir le signalement :"
-#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
-#, elixir-format
+#: lib/web/templates/email/email_anonymous_activity.html.heex:67 lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Voir la page de l'événement"
#: lib/web/templates/email/event_updated.html.heex:121
-#, elixir-format
msgid "Visit the updated event page"
msgstr "Voir la page de l'événement mis à jour"
#: lib/web/templates/email/event_updated.text.eex:12
-#, elixir-format
msgid "Visit the updated event page: %{link}"
msgstr "Voir l'événement mis à jour sur : %{link}"
-#: lib/web/templates/email/on_day_notification.html.heex:13
-#: lib/web/templates/email/on_day_notification.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/on_day_notification.html.heex:13 lib/web/templates/email/on_day_notification.text.eex:1
msgid "What's up today?"
msgstr "Quoi de neuf aujourd'hui ?"
-#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
-#: lib/web/templates/email/event_participation_confirmed.text.eex:6
-#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:70 lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70 lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr "Si vous souhaitez mettre à jour ou annuler votre participation, il vous suffit d'accéder à la page de l'événement par le lien ci-dessus et de cliquer sur le bouton Participer."
-#: lib/web/templates/email/pending_participation_notification.html.heex:69
-#: lib/web/templates/email/pending_participation_notification.text.eex:10
-#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:69 lib/web/templates/email/pending_participation_notification.text.eex:10
msgid "You are receiving this email because you chose to get notifications for pending attendance requests to your events. You can disable or change your notification settings in your user account settings under « Notifications »."
msgstr "Vous recevez ce courriel parce que vous avez choisi de recevoir des notifications pour les demandes de participation en attente à vos événements. Vous pouvez désactiver ou modifier vos paramètres de notification dans les paramètres de votre compte utilisateur dans « Notifications »."
#: lib/web/templates/email/event_participation_rejected.text.eex:5
-#, elixir-format
msgid "You issued a request to attend %{title}."
msgstr "Vous avez effectué une demande de participation à %{title}."
-#: lib/web/templates/email/event_participation_approved.text.eex:5
-#: lib/web/templates/email/event_participation_confirmed.text.eex:3
-#, elixir-format
+#: lib/web/templates/email/event_participation_approved.text.eex:5 lib/web/templates/email/event_participation_confirmed.text.eex:3
msgid "You recently requested to attend %{title}."
msgstr "Vous avez demandé à participer à l'événement %{title}."
-#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:13 lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Vous y allez !"
-#: lib/web/templates/email/email_changed_new.html.heex:64
-#: lib/web/templates/email/email_changed_new.text.eex:5
-#, elixir-format
+#: lib/web/templates/email/email_changed_new.html.heex:64 lib/web/templates/email/email_changed_new.text.eex:5
msgid "If you didn't trigger the change yourself, please ignore this message."
msgstr "Si vous n'êtes pas à l'origine de cette modification, merci d'ignorer ce message."
#: lib/web/templates/email/email.html.heex:92
-#, elixir-format
msgid "Please do not use it for real purposes."
msgstr "Veuillez ne pas l'utiliser pour un cas réel."
-#: lib/web/templates/email/group_member_removal.html.heex:45
-#: lib/web/templates/email/group_member_removal.text.eex:5
-#, elixir-format
+#: lib/web/templates/email/group_member_removal.html.heex:45 lib/web/templates/email/group_member_removal.text.eex:5
msgid "If you feel this is an error, you may contact the group's administrators so that they can add you back."
msgstr "Si vous pensez qu'il s'agit d'une erreur, vous pouvez contacter les administrateurs du groupe afin qu'ils vous réintègrent."
-#: lib/web/templates/email/group_member_removal.html.heex:13
-#: lib/web/templates/email/group_member_removal.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/group_member_removal.html.heex:13 lib/web/templates/email/group_member_removal.text.eex:1
msgid "So long, and thanks for the fish!"
msgstr "Salut, et encore merci pour le poisson !"
#: lib/web/email/member.ex:113
-#, elixir-format
msgid "You have been removed from group %{group}"
msgstr "Vous avez été enlevé du groupe %{group}"
#: lib/web/templates/email/group_member_removal.text.eex:3
-#, elixir-format
msgid "You have been removed from group %{group}. You will not be able to access this group's private content anymore."
msgstr "Vous avez été enlevé du groupe %{group}. Vous ne serez plus en mesure d'accéder au contenu privé du groupe."
#: lib/web/templates/email/group_invite.html.heex:38
-#, elixir-format
msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}"
msgstr "%{inviter} vient de vous inviter à rejoindre son groupe %{link_start}%{group}%{link_end}"
#: lib/web/templates/email/group_member_removal.html.heex:38
-#, elixir-format
msgid "You have been removed from group %{link_start}%{group}%{link_end}. You will not be able to access this group's private content anymore."
msgstr "Vous avez été enlevé du groupe %{link_start}%{group}%{link_end}. Vous ne serez plus en mesure d'accéder au contenu privé du groupe."
-#: lib/web/templates/email/group_suspension.html.heex:54
-#: lib/web/templates/email/group_suspension.text.eex:7
-#, elixir-format
+#: lib/web/templates/email/group_suspension.html.heex:54 lib/web/templates/email/group_suspension.text.eex:7
msgid "As this group was located on another instance, it will continue to work for other instances than this one."
msgstr "Comme ce groupe était originaire d'une autre instance, il continuera à fonctionner pour d'autres instances que celle-ci."
-#: lib/web/templates/email/group_suspension.html.heex:46
-#: lib/web/templates/email/group_suspension.text.eex:5
-#, elixir-format
+#: lib/web/templates/email/group_suspension.html.heex:46 lib/web/templates/email/group_suspension.text.eex:5
msgid "As this group was located on this instance, all of it's data has been irretrievably deleted."
msgstr "Comme ce groupe était originaire de cette instance, toutes ses données ont été irrémédiablement détruites."
-#: lib/web/templates/email/group_suspension.html.heex:13
-#: lib/web/templates/email/group_suspension.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/group_suspension.html.heex:13 lib/web/templates/email/group_suspension.text.eex:1
msgid "The group %{group} has been suspended on %{instance}!"
msgstr "Le groupe %{group} a été suspendu sur %{instance} !"
#: lib/web/templates/email/group_suspension.text.eex:3
-#, elixir-format
msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group."
msgstr "L'équipe de modération de votre instance a décidé de suspendre %{group_name} (%{group_address}). Vous n'êtes désormais plus membre de ce groupe."
#: lib/web/email/group.ex:89
-#, elixir-format
msgid "The group %{group} has been suspended on %{instance}"
msgstr "Le groupe %{group} a été suspendu sur %{instance}"
#: lib/web/templates/api/terms.html.heex:24
-#, elixir-format
msgctxt "terms"
msgid "By accessing or using the Service, this means you agree to be bound by all the terms below. If these terms are in any way unclear, please let us know by contacting %{contact}."
msgstr "Si vous accédez au Service ou utilisez le Service, cela signifie que vous acceptez d'être lié·e par toutes les Conditions ci-dessous. Si une condition n'a pas de sens pour vous, veuillez nous le faire savoir en contactant %{contact}."
#: lib/web/templates/api/terms.html.heex:40
-#, elixir-format
msgctxt "terms"
msgid "For information about how we collect and use information about users of the Service, please check our privacy policy."
msgstr "Pour savoir comment nous recueillons et utilisons les informations sur les utilisateur·ice·s du Service, veuillez consulter notre politique de confidentialité."
#: lib/web/templates/api/terms.html.heex:36
-#, elixir-format
msgctxt "terms"
msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms."
msgstr "Si vous continuez à utiliser le Service après l'entrée en vigueur des Conditions révisées, vous acceptez les conditions révisées."
#: lib/web/templates/api/privacy.html.heex:78
-#, elixir-format
msgctxt "terms"
msgid "If you delete this information, you need to login again."
msgstr "Si vous supprimez ces informations, vous devrez vous connecter de nouveau."
#: lib/web/templates/api/privacy.html.heex:80
-#, elixir-format
msgctxt "terms"
msgid "If you're not connected, we don't store any information on your device, unless you participate in an event anonymously. In this specific case we store the hash of an unique identifier for the event and participation status in your browser so that we may display participation status. Deleting this information will only stop displaying participation status in your browser."
msgstr "Si vous n'êtes pas connecté·e, nous ne conserverons aucune information sur votre appareil, sauf si vous participez anonymement à un événement. Dans ce cas spécifique nous conservons le hash d'un identifiant unique pour l'événement et les statuts de participation dans votre navigateur pour pouvoir les afficher. Supprimer ces informations aura pour seule conséquence que votre participation ne sera plus affichée dans votre navigateur."
#: lib/web/templates/api/privacy.html.heex:87
-#, elixir-format
msgctxt "terms"
msgid "Note: This information is stored in your localStorage and not your cookies."
msgstr "Attention : Ces informations sont conservées dans votre stockage local et non vos cookies."
#: lib/web/templates/api/terms.html.heex:71
-#, elixir-format
msgctxt "terms"
msgid "Our responsibility"
msgstr "Notre responsabilité"
#: lib/web/templates/api/privacy.html.heex:61
-#, elixir-format
msgctxt "terms"
msgid "Retain server logs containing the IP address of all requests to this server, insofar as such logs are kept, no more than 90 days."
msgstr "Conserver les journaux du serveur contenant l'adresse IP de toutes les demandes adressées à ce serveur, dans la mesure où ces journaux sont conservés, pas plus de 90 jours."
-#: lib/web/templates/api/privacy.html.heex:3
-#: lib/web/templates/api/terms.html.heex:15
-#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:3 lib/web/templates/api/terms.html.heex:15
msgctxt "terms"
msgid "Some terms, technical or otherwise, used in the text below may cover concepts that are difficult to grasp. We have provided a glossary to help you understand them better."
msgstr "Certains termes, techniques ou non, utilisés dans le texte ci-dessous peuvent recouvrir des concepts difficiles à appréhender. Nous vous proposons un glossaire qui pourra vous aider à mieux les comprendre."
#: lib/web/templates/api/terms.html.heex:45
-#, elixir-format
msgctxt "terms"
msgid "We are not liable for any loss you may incur as a result of someone else using your email or password, either with or without your knowledge."
msgstr "Nous ne sommes pas responsables des pertes que vous pourriez subir si quelqu'un d'autre utilise votre adresse électronique ou votre mot de passe, à votre insu ou non."
#: lib/web/templates/api/terms.html.heex:50
-#, elixir-format
msgctxt "terms"
msgid "We cannot be held responsible should a programming or administrative error make your content visible to a larger audience than intended. Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service."
msgstr "Nous ne pouvons être tenus responsables si une erreur de programmation ou d'administration rend votre contenu visible à un public plus large que celui que vous aviez prévu. Outre notre droit limité sur votre contenu, vous conservez tous vos droits sur le contenu que vous publiez, mettez en lien et rendez disponible sur ou via le Service."
#: lib/web/templates/api/privacy.html.heex:10
-#, elixir-format
msgctxt "terms"
msgid "We collect information from you when you register on this instance and gather data when you participate in the platform by reading, writing, and interacting with content shared here. If you register on this instance, you will be asked to enter an email address, a password (hashed) and at least an username. Your email address will be verified by an email containing a unique link. Once the link is activated, we know you control that email address. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly. You may however visit this instance without registering."
msgstr ""
@@ -1161,531 +923,508 @@ msgstr ""
"biographie, les images de profil et d'en-tête sont toujours publiques. Vous pouvez toutefois utiliser ce serveur sans vous inscrire."
#: lib/web/templates/api/terms.html.heex:30
-#, elixir-format
msgctxt "terms"
msgid "We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature."
msgstr "Nous nous réservons le droit de modifier ces Conditions à tout moment. Par exemple, nous pouvons être amenés à modifier ces Conditions si nous proposons une nouvelle fonctionnalité."
#: lib/web/templates/api/terms.html.heex:20
-#, elixir-format
msgctxt "terms"
msgid "When we say “we”, “our”, or “us” in this document, we are referring to the owners, operators and administrators of this Mobilizon instance. The Mobilizon software is provided by the team of Mobilizon contributors, supported by Framasoft, a French not-for-profit organization advocating for Free/Libre Software. Unless explicitly stated, this Mobilizon instance is an independent service using Mobilizon's source code. You may find more information about this instance on the \"About this instance\" page."
msgstr "Lorsque nous disons « nous », « notre » ou « nos » dans ce document, nous faisons référence aux propriétaires, opérateur·ices et administrateur·ices de cette instance de Mobilizon. Le logiciel Mobilizon est fourni par l'équipe des contributeur·ices de Mobilizon, soutenue par Framasoft, une organisation française d'éducation populaire à but non lucratif qui défend les logiciels libres. Sauf mention explicite, cette instance de Mobilizon est un service indépendant utilisant le code source de Mobilizon. Vous pouvez trouver plus d'informations sur cette instance sur la page « A propos de cette instance »."
#: lib/web/templates/api/terms.html.heex:43
-#, elixir-format
msgctxt "terms"
msgid "When you create an account you agree to maintain the security and confidentiality of your password and accept all risks of unauthorized access to your account data and any other information you provide to %{instance_name}."
msgstr "Lorsque vous créez un compte, vous acceptez également de maintenir la sécurité et la confidentialité de votre mot de passe et vous acceptez tous les risques d'accès non autorisé aux données de votre compte et à toute autre information que vous fournissez à %{instance_name}."
#: lib/web/templates/api/terms.html.heex:49
-#, elixir-format
msgctxt "terms"
msgid "When you post, link or otherwise make available content to the Service, you grant us the right and license to display and distribute your content on or through the Service (including via applications). We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself. The displaying and distribution of your content happens only according to the visibility rules you have set for the content. We will not modify the visibility of the content you have set."
msgstr "Lorsque vous publiez, liez ou mettez à disposition un contenu sur le Service, vous nous accordez le droit et la licence d'afficher et de distribuer votre contenu sur ou via le Service (y compris via des applications). Nous pouvons formater votre contenu pour l'afficher dans le Service, mais nous ne modifierons pas ou ne réviserons pas la substance de votre contenu lui-même. L'affichage et la distribution de votre contenu se fait strictement selon les règles de visibilité que vous avez définies pour le contenu. Nous ne modifierons pas la visibilité du contenu que vous avez défini."
#: lib/web/templates/api/privacy.html.heex:19
-#, elixir-format
msgctxt "terms"
msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to different instances and copies are stored there. When you delete events or comments, this is likewise delivered to these other instances. All interactions related to event features - such as joining an event - or group features - such as managing resources - are federated as well. Please keep in mind that the operators of the instance and any receiving instances may view such messages and information, and that recipients may screenshot, copy or otherwise re-share them."
msgstr "Vos événements et commentaires sont transmis aux instances qui suivent la vôtre, ce qui signifie que d'autres instances posséderont des copies de ces contenus. Lorsque vous supprimez un événement ou un commentaire, ceci est transmis de la même façon aux autres instances. Toutes les interactions liées aux fonctionnalités des événements - comme rejoindre un événement - ou bien aux fonctionnalités de groupes - comme gérer ses ressources - sont également fédérées. Veuillez noter que les administrateur·ices de cette instance et de toutes les instances fédérées peuvent voir ces messages, et que les destinataires peuvent les copier, en faire des captures d'écran et les repartager de différentes façons."
#: lib/web/templates/api/privacy.html.heex:99
-#, elixir-format
msgctxt "terms"
msgid "Your content may be downloaded by other instances in the network. Your public events and comments are delivered to the instances following your own instance. Content created through a group is forwarded to all the instances of all the members of the group, insofar as these members reside on a different instance than this one."
msgstr "Votre contenu peut être téléchargé par d'autres instances du réseau. Vos événements publics et commentaires sont transmis aux instances abonnées à votre instance. Le contenu créé à travers un groupe est transmis à toutes les instances de tous les membres du groupe, si celleux-ci sont inscrit·e·s sur une autre instance que la vôtre."
#: lib/web/templates/email/event_participation_confirmed.text.eex:4
-#, elixir-format
msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!"
msgstr "Vous avez confirmé votre participation. Mettez à jour votre agenda, car vous êtes maintenant sur la liste des invités !"
-#: lib/web/templates/email/event_participation_approved.html.heex:38
-#: lib/web/templates/email/event_participation_confirmed.html.heex:38
-#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:38 lib/web/templates/email/event_participation_confirmed.html.heex:38
msgid "You recently requested to attend %{title}."
msgstr "Vous avez demandé à participer à l'événement %{title}."
#: lib/web/email/participation.ex:90
-#, elixir-format
msgid "Your participation to event %{title} has been confirmed"
msgstr "Votre participation à l'événement %{title} a été approuvée"
#: lib/web/templates/email/report.html.heex:41
-#, elixir-format
msgid "%{reporter} reported the following content."
msgstr "%{reporter} a signalé le contenu suivant."
#: lib/web/templates/email/report.text.eex:5
-#, elixir-format
msgid "Group %{group} was reported"
msgstr "Le groupe %{group} a été signalé"
#: lib/web/templates/email/report.html.heex:51
-#, elixir-format
msgid "Group reported"
msgstr "Groupe signalé"
#: lib/web/templates/email/report.text.eex:7
-#, elixir-format
msgid "Profile %{profile} was reported"
msgstr "Le profil %{profile} a été signalé"
#: lib/web/templates/email/report.html.heex:56
-#, elixir-format
msgid "Profile reported"
msgstr "Profil signalé"
#: lib/web/templates/email/event_participation_confirmed.html.heex:45
-#, elixir-format
msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!"
msgstr "Vous avez maintenant confirmé votre participation. Mettez à jour votre agenda, car vous êtes maintenant sur la liste des invités !"
#: lib/mobilizon/posts/post.ex:99
-#, elixir-format
msgid "A text is required for the post"
msgstr "Un texte est requis pour le billet"
#: lib/mobilizon/posts/post.ex:98
-#, elixir-format
msgid "A title is required for the post"
msgstr "Un titre est requis pour le billet"
#: lib/web/templates/email/instance_follow.text.eex:3
-#, elixir-format
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr "%{name} (%{domain}) vient de demander à suivre votre instance."
#: lib/web/email/follow.ex:54
-#, elixir-format
msgid "%{name} requests to follow your instance"
msgstr "%{name} demande à suivre votre instance"
#: lib/web/templates/email/instance_follow.html.heex:38
-#, elixir-format
msgid "%{name} (%{domain}) just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr "%{name} (%{domain}) vient de demander à suivre votre instance. Si vous acceptez, leur instance recevra tous les événements publics de votre instance."
#: lib/web/templates/email/instance_follow.text.eex:4
-#, elixir-format
msgid "If you accept, this instance will receive all of your public events."
msgstr "Si vous acceptez, leur instance recevra tous les événements publics de votre instance."
#: lib/web/email/follow.ex:48
-#, elixir-format
msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr "L'instance %{name} (%{domain}) demande à suivre votre instance"
#: lib/web/templates/email/instance_follow.html.heex:66
-#, elixir-format
msgid "See the federation settings"
msgstr "Voir les paramètres de fédération"
-#: lib/web/templates/email/instance_follow.html.heex:52
-#: lib/web/templates/email/instance_follow.text.eex:6
-#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:52 lib/web/templates/email/instance_follow.text.eex:6
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr "Pour accepter cette invitation, rendez-vous dans vos groupes."
-#: lib/web/templates/email/instance_follow.html.heex:13
-#: lib/web/templates/email/instance_follow.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:13 lib/web/templates/email/instance_follow.text.eex:1
msgid "Want to connect?"
msgstr "Voulez-vous vous connecter ?"
-#: lib/web/templates/email/instance_follow.html.heex:45
-#: lib/web/templates/email/instance_follow.text.eex:5
-#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:45 lib/web/templates/email/instance_follow.text.eex:5
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr "Note : le fait que %{name} (%{domain}) vous suive n'implique pas nécessairement que vous suivez cette instance, mais vous pouvez demander à les suivre également."
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:38
-#, elixir-format
msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:"
msgstr "Salut ! Vous venez de vous enregistrer pour rejoindre cet événement : « %{title} ». Merci de confirmer l'adresse email que vous avez fournie :"
#: lib/web/templates/email/event_participation_rejected.html.heex:38
-#, elixir-format
msgid "You issued a request to attend %{title}."
msgstr "Vous avez effectué une demande de participation à %{title}."
#: lib/web/templates/email/event_updated.html.heex:64
-#, elixir-format
msgid "Event title"
msgstr "Titre de l'événement"
#: lib/web/templates/email/event_updated.html.heex:38
-#, elixir-format
msgid "There have been changes for %{title} so we'd thought we'd let you know."
msgstr "Il y a eu des changements pour %{title} donc nous avons pensé que nous vous le ferions savoir."
#: lib/web/templates/error/500_page.html.heex:7
-#, elixir-format
msgid "This page is not correct"
msgstr "Cette page n’est pas correcte"
#: lib/web/templates/error/500_page.html.heex:50
-#, elixir-format
msgid "We're sorry, but something went wrong on our end."
msgstr "Nous sommes désolé·e·s, mais quelque chose s’est mal passé de notre côté."
-#: lib/web/templates/email/email.html.heex:91
-#: lib/web/templates/email/email.text.eex:4
-#, elixir-format
+#: lib/web/templates/email/email.html.heex:91 lib/web/templates/email/email.text.eex:4
msgid "This is a demonstration site to test Mobilizon."
msgstr "Ceci est un site de démonstration permettant de tester Mobilizon."
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
-#, elixir-format
+#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "Flux de %{name}"
#: lib/service/export/feed.ex:115
-#, elixir-format
msgid "%{actor}'s private events feed on %{instance}"
msgstr "Flux privé des événements de %{actor} sur %{instance}"
#: lib/service/export/feed.ex:110
-#, elixir-format
msgid "%{actor}'s public events feed on %{instance}"
msgstr "Flux public des événements de %{actor} sur %{instance}"
#: lib/service/export/feed.ex:219
-#, elixir-format
msgid "Feed for %{email} on %{instance}"
msgstr "Flux pour %{email} sur %{instance}"
#: lib/web/templates/error/500_page.html.heex:57
-#, elixir-format
msgid "If the issue persists, you may contact the server administrator at %{contact}."
msgstr "Si le problème persiste, vous pouvez contacter l'administrateur⋅ice du serveur à %{contact}."
#: lib/web/templates/error/500_page.html.heex:55
-#, elixir-format
msgid "If the issue persists, you may try to contact the server administrator."
msgstr "Si le problème persiste, vous pouvez essayer de contacter l'administrateur⋅ice du serveur."
#: lib/web/templates/error/500_page.html.heex:68
-#, elixir-format
msgid "Technical details"
msgstr "Détails techniques"
#: lib/web/templates/error/500_page.html.heex:52
-#, elixir-format
msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "Le serveur Mobilizon %{instance} semble être temporairement hors-service."
#: lib/service/export/feed.ex:67
-#, elixir-format
msgid "Public feed for %{instance}"
msgstr "Flux public pour %{instance}"
#: lib/graphql/resolvers/user.ex:318
-#, elixir-format
msgid "The password you have choosen is too short. Please make sure your password contains at least 6 charaters."
msgstr "Le mot de passe que vous avez choisi est trop court. Assurez-vous que votre mot de passe contienne au moins 6 caractères."
#: lib/graphql/resolvers/user.ex:324
-#, elixir-format
msgid "The token you provided is invalid. Make sure that the URL is exactly the one provided inside the email you got."
msgstr "Le jeton que vous avez fourni est invalide. Assurez-vous que l'URL est exactement la même que celle contenue dans le message que vous avez reçu."
#: lib/web/email/actor.ex:44
-#, elixir-format
msgid "Your participation to %{event} has been cancelled!"
msgstr "Votre participation à l'événement %{title} a été annulée !"
-#: lib/web/templates/email/actor_suspension_participants.html.heex:38
-#: lib/web/templates/email/actor_suspension_participants.text.eex:3
-#, elixir-format
+#: lib/web/templates/email/actor_suspension_participants.html.heex:38 lib/web/templates/email/actor_suspension_participants.text.eex:3
msgid "Your instance's moderation team has decided to suspend %{actor_name} (%{actor_address}). All of their events have been removed and your participation to event %{event} cancelled."
msgstr "L'équipe de modération de votre instance a décidé de suspendre %{actor_name} (%{actor_address}). Tous leurs événements ont été supprimés et votre participation à %{event} annulée."
#: lib/web/templates/email/group_suspension.html.heex:38
-#, elixir-format
msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group."
msgstr "L'équipe de modération de votre instance a décidé de suspendre %{group_name} (%{group_address}). Vous n'êtes désormais plus membre de ce groupe."
-#: lib/web/templates/email/actor_suspension_participants.html.heex:13
-#: lib/web/templates/email/actor_suspension_participants.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/actor_suspension_participants.html.heex:13 lib/web/templates/email/actor_suspension_participants.text.eex:1
msgid "Your participation to %{event} on %{instance} has been cancelled!"
msgstr "Votre participation à l'événement %{event} sur %{instance} a été annulée !"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
-#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
-#, elixir-format
+#: lib/service/export/participants/csv.ex:81 lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr "%{event}_participants"
#: lib/service/export/participants/common.ex:61
-#, elixir-format
msgid "Participant message"
msgstr "Message du participant"
#: lib/service/export/participants/common.ex:61
-#, elixir-format
msgid "Participant name"
msgstr "Nom du participant"
#: lib/service/export/participants/common.ex:61
-#, elixir-format
msgid "Participant status"
msgstr "Statut du participant"
-#: lib/service/export/participants/common.ex:52
-#, elixir-format
+#: lib/service/export/participants/common.ex:52 lib/web/templates/email/admin/_role.html.heex:3 lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr "Administrateur⋅ice"
#: lib/service/export/participants/common.ex:55
-#, elixir-format
msgid "Creator"
msgstr "Créateur⋅ice"
-#: lib/service/export/participants/common.ex:49
-#, elixir-format
+#: lib/service/export/participants/common.ex:49 lib/web/templates/email/admin/_role.html.heex:5 lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr "Modérateur⋅ice"
#: lib/service/export/participants/common.ex:37
-#, elixir-format
msgid "Not approved"
msgstr "Non approuvé⋅e"
#: lib/service/export/participants/common.ex:40
-#, elixir-format
msgid "Not confirmed"
msgstr "Non confirmé⋅e"
#: lib/service/export/participants/common.ex:46
-#, elixir-format
msgid "Participant"
msgstr "Participant⋅e"
#: lib/service/export/participants/common.ex:43
-#, elixir-format
msgid "Rejected"
msgstr "Rejeté⋅e"
#: lib/web/templates/export/event_participants.html.heex:122
-#, elixir-format
msgid "Begins on"
msgstr "Débute le"
#: lib/web/templates/export/event_participants.html.heex:125
-#, elixir-format
msgid "Ends on"
msgstr "Finit le"
#: lib/web/templates/export/event_participants.html.heex:132
-#, elixir-format
msgid "Number of participants"
msgstr "Nombre de participant⋅es"
#: lib/web/templates/export/event_participants.html.heex:120
-#, elixir-format
msgid "Participants for %{event}"
msgstr "Participant⋅es pour %{event}"
#: lib/service/export/participants/common.ex:88
-#, elixir-format
msgid "Anonymous participant"
msgstr "Participant⋅e anonyme"
-#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/date/event_tz_date.html.heex:6 lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr "🌐 %{timezone} %{offset}"
#: lib/web/templates/email/date/event_tz_date.text.eex:1
-#, elixir-format
msgid "%{date_time} (%{timezone} %{offset})"
msgstr "%{date_time} (%{timezone} %{offset})"
#: lib/web/templates/email/date/event_tz_date.text.eex:1
-#, elixir-format
msgid "%{date_time} (in your timezone %{timezone} %{offset})"
msgstr "%{date_time} (dans votre fuseau horaire %{timezone} %{offset})"
-#: lib/web/templates/email/notification_each_week.html.heex:13
-#: lib/web/templates/email/notification_each_week.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/notification_each_week.html.heex:13 lib/web/templates/email/notification_each_week.text.eex:1
msgid "On the agenda this week"
msgstr "Au programme cette semaine"
#: lib/web/templates/email/participation/event_card.html.heex:58
-#, elixir-format
msgid "Details"
msgstr "Détails"
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:10
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "From the %{start} to the %{end}"
msgstr "Du %{start} au %{end}"
#: lib/web/templates/email/participation/event_card.html.heex:20
-#, elixir-format
msgid "Manage your participation"
msgstr "Gérer votre participation"
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:5
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "On %{date} from %{start_time} to %{end_time}"
msgstr "Le %{date} de %{start_time} à %{end_time}"
#: lib/web/templates/email/participation/event_card.html.heex:66
-#, elixir-format
msgid "Read more"
msgstr "Lire plus"
-#: lib/web/templates/email/participation/card/_metadata.html.heex:50
-#: lib/web/templates/email/participation/card/_metadata.text.eex:2
-#, elixir-format
+#: lib/web/templates/email/participation/card/_metadata.html.heex:50 lib/web/templates/email/participation/card/_metadata.text.eex:2
msgid "Online event"
msgstr "Événement en ligne"
#: lib/web/templates/email/event_group_follower_notification.html.heex:13
-#, elixir-format
msgid "%{group} scheduled a new event"
msgstr "%{group} a programmé un nouvel événement"
#: lib/web/templates/email/event_group_follower_notification.text.eex:1
-#, elixir-format
msgid "%{group} scheduled a new event:"
msgstr "%{group} a programmé un nouvel événement :"
#: lib/web/templates/email/participation/card/_metadata.text.eex:2
-#, elixir-format
msgid "Address:"
msgstr "Adresse :"
#: lib/web/templates/email/participation/card/_metadata.text.eex:1
-#, elixir-format
msgid "Date:"
msgstr "Date :"
#: lib/web/templates/email/participation/event_card.text.eex:7
-#, elixir-format
msgid "Details:"
msgstr "Détails :"
#: lib/web/templates/email/email.html.heex:147
-#, elixir-format
msgid "Manage your notification settings"
msgstr "Gérer vos paramètres de notification"
#: lib/web/templates/email/participation/event_card.text.eex:5
-#, elixir-format
msgid "Manage your participation:"
msgstr "Gérer votre participation :"
#: lib/web/templates/email/participation/card/_title.text.eex:3
-#: lib/web/templates/email/participation/card/_title.text.eex:3
-#, elixir-format
msgid "Organizer: %{organizer}"
msgstr "Organisateur : %{organizer}"
#: lib/web/templates/email/participation/event_card.html.heex:42
-#, elixir-format
msgid "Participate"
msgstr "Participer"
#: lib/web/templates/email/participation/event_card.text.eex:5
-#, elixir-format
msgid "Participate:"
msgstr "Participer :"
#: lib/web/templates/email/participation/event_card.text.eex:9
-#, elixir-format
msgid "Read more : %{url}"
msgstr "Lire plus : %{url}"
#: lib/web/templates/email/participation/card/_title.text.eex:1
-#, elixir-format
msgid "Title: %{title}"
msgstr "Titre : %{title}"
#: lib/web/email/group.ex:44
-#, elixir-format
msgid "📅 Just scheduled by %{group}: %{event}"
msgstr "📅 Programmé à l'instant par %{group} : %{event}"
#: lib/web/templates/email/event_updated.text.eex:9
-#, elixir-format
msgid "New end date:"
msgstr "Nouvelle date de fin :"
#: lib/web/templates/email/event_updated.text.eex:10
-#, elixir-format
msgid "New location:"
msgstr "Nouvelle localisation :"
#: lib/web/templates/email/event_updated.text.eex:8
-#, elixir-format
msgid "New start date:"
msgstr "Nouvelle date de début :"
-#: lib/web/templates/email/group_membership_rejection.html.heex:13
-#: lib/web/templates/email/group_membership_rejection.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/group_membership_rejection.html.heex:13 lib/web/templates/email/group_membership_rejection.text.eex:1
msgid "Sorry, not this time!"
msgstr "Désolé, pas cette fois !"
#: lib/web/templates/email/group_membership_approval.html.heex:52
-#, elixir-format
msgid "View the group"
msgstr "Voir le groupe"
-#: lib/web/templates/email/group_membership_approval.html.heex:13
-#: lib/web/templates/email/group_membership_approval.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/group_membership_approval.html.heex:13 lib/web/templates/email/group_membership_approval.text.eex:1
msgid "You're in!"
msgstr "Vous en êtes !"
#: lib/web/email/member.ex:60
-#, elixir-format
msgid "Your membership request for group %{group} has been approved"
msgstr "Votre demande d'adhésion pour le groupe %{group} a été acceptée"
#: lib/web/email/member.ex:89
-#, elixir-format
msgid "Your membership request for group %{group} has been rejected"
msgstr "Votre demande d'adhésion pour le groupe %{group} a été rejetée"
#: lib/web/templates/email/group_membership_rejection.text.eex:3
-#, elixir-format
msgid "Your membership request for group %{group} has been rejected."
msgstr "Votre demande d'adhésion pour le groupe %{group} a été rejetée."
#: lib/web/templates/email/group_membership_rejection.html.heex:38
-#, elixir-format
msgid "Your membership request for group %{link_start}%{group}%{link_end} has been rejected."
msgstr "Votre demande d'adhésion pour le groupe %{link_start}%{group}%{link_end} a été rejetée."
#: lib/web/templates/email/group_membership_approval.text.eex:3
-#, elixir-format
msgid "Your membership request for group %{group} has been approved."
msgstr "Votre demande d'adhésion pour le groupe %{group} a été approuvée."
#: lib/web/templates/email/group_membership_approval.html.heex:38
-#, elixir-format
msgid "Your membership request for group %{link_start}%{group}%{link_end} has been approved."
msgstr "Votre demande d'adhésion pour le groupe %{link_start}%{group}%{link_end} a été approuvée."
-#: lib/web/templates/email/pending_participation_notification.html.heex:38
-#: lib/web/templates/email/pending_participation_notification.text.eex:4
-#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:38 lib/web/templates/email/pending_participation_notification.text.eex:4
msgid "You have one pending attendance request to process for the following event:"
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] "Vous avez une demande de participation en attente à traiter pour l'événement suivant :"
msgstr[1] "Vous avez %{number_participation_requests} demandes de participation en attente à traiter pour l'événement suivant :"
+
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13 lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr "Un⋅e administrateur⋅ice a changé votre rôle"
+
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr "Un⋅e administrateur⋅ice a confirmé votre compte sur %{instance}"
+
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13 lib/web/templates/email/admin_user_email_changed_new.text.eex:1 lib/web/templates/email/admin_user_email_changed_old.html.heex:13 lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr "Une administrateur⋅ice a manuellement changé le courriel attaché à votre compte"
+
+#: lib/web/email/admin.ex:47 lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr "Une administrateur⋅ice a manuellement changé le courriel attaché à votre compte sur %{instance}"
+
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13 lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr "Un⋅e administrateur⋅ice a manuellement confirmé votre compte"
+
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr "Un⋅e administrateur⋅ice a mis à jour votre rôle sur %{instance}"
+
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr "Salut ! Il semblerait que vous avez demandé la modification de l'adresse e-mail liée à votre compte sur %{instance}. Si vous voulez toujours effectuer ce changement, merci de cliquer sur le bouton ci-dessous pour confirmer la modification. Vous pourrez alors vous connecter à %{instance} avec cette nouvelle adresse."
+
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3 lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr "Salut ! Nous voulions juste vous informer qu'un⋅e administrateur⋅ice de %{instance} vient de changer manuellement le courriel de votre compte de %{old_email} (celui-ci) à %{new_mail}."
+
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr "Salut ! Nous voulions juste vous informer qu'un⋅e administrateur⋅ice de %{instance} vient de confirmer manuellement votre compte."
+
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr "Salut ! Nous voulions juste vous informer qu'un⋅e administrateur⋅ice de %{instance} vient de changer manuellement le courriel de votre compte de %{old_email} (celui-ci) à %{new_mail}."
+
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr "Salut ! Nous voulions juste vous informer qu'un⋅e administrateur⋅ice de %{instance} vient de changer manuellement le courriel de votre compte de %{old_email} à %{new_mail} (celui-ci)."
+
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr "Salut ! Nous voulions juste vous informer qu'un⋅e administrateur⋅ice de %{instance} vient de confirmer manuellement votre compte."
+
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71 lib/web/templates/email/admin_user_email_changed_new.html.heex:45 lib/web/templates/email/admin_user_email_changed_old.html.heex:45 lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr "Si quelque chose ne vous semble pas correct, merci de contacter l'administrateur⋅ice de l'instance via les moyens de contacts %{start_link}sur la page « À propos » de l'instance%{end_link}."
+
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7 lib/web/templates/email/admin_user_email_changed_new.text.eex:4 lib/web/templates/email/admin_user_email_changed_old.text.eex:4 lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr "Si quelque chose ne vous semble pas correct, merci de contacter l'administrateur⋅ice de l'instance via les moyens de contacts sur la page « À propos » de l'instance : %{about_page}."
+
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr "Se connecter sur %{instance}"
+
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr "Nouveau rôle"
+
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr "Nouveau rôle :"
+
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr "Ancien rôle"
+
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr "Ancien rôle :"
+
+#: lib/web/templates/email/admin/_role.html.heex:7 lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr "Utilisateur⋅ice"
+
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr "Vous pouvez à présent vous connecter en utilisant vos identifiants sur le service."
+
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr "Vous pouvez à présent vous connecter en utilisant vos identifiants sur le service :"
+
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr "Salut ! Nous voulions juste vous informer qu'un⋅e administrateur⋅ice de %{instance} vient de changer le rôle de votre compte."
+
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr "Salut ! Nous voulions juste vous informer qu'un⋅e administrateur⋅ice de %{instance} vient de changer le rôle de votre compte."
diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po
index 8c293670..56b0667c 100644
--- a/priv/gettext/fr/LC_MESSAGES/errors.po
+++ b/priv/gettext/fr/LC_MESSAGES/errors.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-11-17 16:17+0100\n"
+"PO-Revision-Date: 2022-01-14 17:59+0100\n"
"Last-Translator: Vincent Finance \n"
"Language-Team: French \n"
"Language: fr\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Poedit 3.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: lib/mobilizon/discussions/discussion.ex:69
msgid "can't be blank"
@@ -117,14 +117,19 @@ msgid "Error while saving user settings"
msgstr "Erreur lors de la sauvegarde des paramètres utilisateur"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Groupe non trouvé"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Groupe avec l'ID %{id} non trouvé"
@@ -149,15 +154,21 @@ msgid "No user to validate with this email was found"
msgstr "Aucun·e utilisateur·ice à valider avec cet email n'a été trouvé·e"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Aucun·e utilisateur·ice avec cette adresse e-mail n'a été trouvé·e"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Le profil n'est pas possédé par l'utilisateur connecté"
@@ -172,11 +183,13 @@ msgid "The current password is invalid"
msgstr "Le mot de passe actuel est invalid"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "La nouvelle adresse e-mail ne semble pas être valide"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "La nouvelle adresse e-mail doit être différente"
@@ -187,7 +200,8 @@ msgid "The new password must be different"
msgstr "Le nouveau mot de passe doit être différent"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Le mot de passe fourni est invalide"
@@ -210,7 +224,8 @@ msgid "This user has been disabled"
msgstr "Cet·te utilisateur·ice a été désactivé·e"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Impossible de valider l'utilisateur·ice"
@@ -285,7 +300,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Vous devez avoir un jeton existant pour obtenir un jeton de rafraîchissement"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Vous avez à nouveau demandé un email de confirmation trop vite"
@@ -305,7 +321,8 @@ msgid "No profile found with this ID"
msgstr "Aucun profil trouvé avec cet ID"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Aucun profil distant trouvé avec cet ID"
@@ -356,17 +373,19 @@ msgid "Comment is already deleted"
msgstr "Le commentaire est déjà supprimé"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Discussion non trouvée"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Erreur lors de la sauvegarde du signalement"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Erreur lors de la mise à jour du signalement"
@@ -376,14 +395,16 @@ msgid "Event id not found"
msgstr "ID de l'événement non trouvé"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Événement non trouvé"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "L'événement avec cet ID %{id} n'existe pas"
@@ -399,8 +420,11 @@ msgid "No discussion with ID %{id}"
msgstr "Aucune discussion avec l'ID %{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Aucun profil trouvé pour l'utilisateur modérateur"
@@ -416,7 +440,8 @@ msgstr "Le ou la participant·e a déjà le rôle %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Participant·e non trouvé·e"
@@ -431,12 +456,14 @@ msgid "Person with username %{username} not found"
msgstr "Personne avec le nom %{name} non trouvé"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "L'ID du billet n'est pas un ID valide"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Le billet n'existe pas"
@@ -446,31 +473,42 @@ msgid "Profile invited doesn't exist"
msgstr "Le profil invité n'existe pas"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Ce profil est déjà membre de ce groupe"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Le profil n'est pas un·e membre du groupe"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Profile non trouvé"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Groupe non trouvé"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "La ressource n'existe pas"
@@ -485,12 +523,14 @@ msgid "This token is invalid"
msgstr "Ce jeton est invalide"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Ce todo n'existe pas"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "Cette todo-liste n'existe pas"
@@ -501,12 +541,13 @@ msgid "Token does not exist"
msgstr "Ce jeton n'existe pas"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Ce jeton n'est pas un UUID valide"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Utilisateur·ice non trouvé·e"
@@ -526,7 +567,8 @@ msgid "You are not a member of this group"
msgstr "Vous n'êtes pas membre de ce groupe"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Vous n'êtes pas administrateur·ice ou modérateur·ice de ce groupe"
@@ -590,37 +632,37 @@ msgid "You don't have permission to delete this token"
msgstr "Vous n'avez pas la permission de supprimer ce jeton"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr "Vous devez être connecté·e et une modérateur·ice pour lister les journaux de modération"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Vous devez être connecté·e et une modérateur·ice pour lister les signalements"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Vous devez être connecté·e et une modérateur·ice pour modifier un signalement"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Vous devez être connecté·e pour et une modérateur·ice pour visionner un signalement"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux paramètres administrateur"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux panneau de statistiques"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "Vous devez être connecté·e et un·e administrateur·ice pour sauvegarder les paramètres administrateur"
@@ -645,7 +687,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Vous devez être connecté·e pour quitter un groupe"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Vous devez être connecté·e pour quitter un groupe"
@@ -740,7 +782,8 @@ msgid "Reset your password to login"
msgstr "Réinitialiser votre mot de passe pour vous connecter"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Ressource non trouvée"
@@ -830,8 +873,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "L'ID du profil fourni n'est pas celui du profil anonyme"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "L'image fournie est trop lourde"
@@ -856,7 +902,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Impossible de récupérer les détails de la ressource depuis cette URL."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Le profil modérateur fourni n'a pas de permissions sur cet événement"
@@ -907,6 +954,7 @@ msgid "Failed to update the group"
msgstr "Impossible de mettre à jour le groupe"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr "Impossible de mettre à jour l'adresse e-mail de utilisateur"
@@ -1035,3 +1083,23 @@ msgstr "Vous devez être connecté⋅e pour supprimer un⋅e membre"
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr "Votre email semble utiliser un format invalide"
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr "Impossible de confirmer un⋅e utilisateur⋅ice déjà confirmé⋅e"
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr "Dé-confirmer des utilisateur⋅ices n'est pas supporté"
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Le nouveau rôle doit être différent"
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr "Vous devez être connecté·e et un·e administrateur·ice pour éditer les détails d'un⋅e utilisateur⋅ice"
diff --git a/priv/gettext/gd/LC_MESSAGES/activity.po b/priv/gettext/gd/LC_MESSAGES/activity.po
index 08de7cb5..ecb9aab9 100644
--- a/priv/gettext/gd/LC_MESSAGES/activity.po
+++ b/priv/gettext/gd/LC_MESSAGES/activity.po
@@ -164,19 +164,22 @@ msgstr "Dh’ùraich %{profile} am ball %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "Chaidh an tachartas %{event} a chruthachadh le %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "Chaidh an tachartas %{event} a sguabadh às le %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "Chaidh an tachartas %{event} ùrachadh le %{profile}."
@@ -206,13 +209,15 @@ msgstr "Fhuair %{member} ballrachd sa bhuidheann."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "Thug %{profile} beachd air an tachartas %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "Fhreagair %{profile} do bheachd air an tachartas %{event}."
@@ -236,7 +241,8 @@ msgstr[3] "Seall %{count} gnìomhachd a bharrachd"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -252,14 +258,17 @@ msgstr "Gnìomhachd air %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "Chuir %{profile} brath-fios ris an tachartas %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "Thug %{profile} iomradh ort ann am beachd san tachartas %{event}."
@@ -278,7 +287,8 @@ msgid "Here's your weekly activity recap"
msgstr "Seo dhut ath-shùil air gnìomhachd na seachdaine"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Brath gnìomhachd airson %{instance}"
@@ -300,13 +310,15 @@ msgstr "Ath-shùil air gnìomhachd %{instance} sheachdaineil"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "Thug %{profile} beachd ùr fon tachartas %{event} agad."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "Chuir %{profile} freagairt ùr ris fon tachartas %{event} agad."
diff --git a/priv/gettext/gd/LC_MESSAGES/default.po b/priv/gettext/gd/LC_MESSAGES/default.po
index 62f5bf4e..3fa271d7 100644
--- a/priv/gettext/gd/LC_MESSAGES/default.po
+++ b/priv/gettext/gd/LC_MESSAGES/default.po
@@ -762,9 +762,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -825,7 +828,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -847,7 +849,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -959,7 +962,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -981,7 +985,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1005,7 +1010,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1330,8 +1336,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1412,7 +1420,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1433,6 +1442,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1443,6 +1454,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1493,8 +1506,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1684,3 +1699,137 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/gd/LC_MESSAGES/errors.po b/priv/gettext/gd/LC_MESSAGES/errors.po
index fd7ec365..4e2e1a32 100644
--- a/priv/gettext/gd/LC_MESSAGES/errors.po
+++ b/priv/gettext/gd/LC_MESSAGES/errors.po
@@ -120,14 +120,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -152,15 +157,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -175,11 +186,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -190,7 +203,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -211,7 +225,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -286,7 +301,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -306,7 +322,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -357,17 +374,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -377,14 +396,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -400,8 +421,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -417,7 +441,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -432,12 +457,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -447,31 +474,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -486,12 +524,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -502,12 +542,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -527,7 +568,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -589,37 +631,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -644,7 +686,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -739,7 +781,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -829,8 +872,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -855,7 +901,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -906,6 +953,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1034,3 +1082,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/gl/LC_MESSAGES/activity.po b/priv/gettext/gl/LC_MESSAGES/activity.po
index 03b0456f..c1ccab78 100644
--- a/priv/gettext/gl/LC_MESSAGES/activity.po
+++ b/priv/gettext/gl/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/gl/LC_MESSAGES/default.po b/priv/gettext/gl/LC_MESSAGES/default.po
index c597f1d8..51e46b82 100644
--- a/priv/gettext/gl/LC_MESSAGES/default.po
+++ b/priv/gettext/gl/LC_MESSAGES/default.po
@@ -916,9 +916,12 @@ msgstr "Por favor, non o utilices nun entorno de produción."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -983,7 +986,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Ola! Semella que queres cambiar o enderezo de email asociado á túa conta en "
@@ -1017,7 +1019,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Se non solicitaches este email, podes ignoralo con seguridade."
@@ -1135,7 +1138,8 @@ msgstr "Ver denuncia:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Visitar páxina do evento"
@@ -1157,7 +1161,8 @@ msgstr "Que temos para hoxe?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1186,7 +1191,8 @@ msgstr "Recentemente solicitaches participar en %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Vas ir!"
@@ -1607,8 +1613,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Este é un sitio web de exemplo para probar Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "fonte de %{name}"
@@ -1700,7 +1708,8 @@ msgstr "Confirmouse a túa participación no evento %{title}"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1721,6 +1730,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1731,6 +1742,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1781,8 +1794,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1972,3 +1987,141 @@ msgstr[0] "Tes unha solicitude de participación pendente de atender:"
msgstr[1] ""
"Tes %{number_participation_requests} solicitudes de participación pendentes "
"de atender:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Ola! Semella que queres cambiar o enderezo de email asociado á túa conta en "
+"%{instance}. Se así o desexas, preme no botón inferior para confirmar "
+"o cambio. Despois poderás conectarte a %{instance} utilizando este novo "
+"enderezo de email."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/gl/LC_MESSAGES/errors.po b/priv/gettext/gl/LC_MESSAGES/errors.po
index 84a44733..af53e7ff 100644
--- a/priv/gettext/gl/LC_MESSAGES/errors.po
+++ b/priv/gettext/gl/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "Erro ó gardar os axustes de usuaria"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Grupo non atopado"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Grupo con ID %{id} non atopado"
@@ -148,15 +153,21 @@ msgid "No user to validate with this email was found"
msgstr "Non se atopou unha usuaria con este email para validar"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Non se atopa ningunha usuaria con este email"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "O perfil non pertence a unha usuaria autenticada"
@@ -171,11 +182,13 @@ msgid "The current password is invalid"
msgstr "O contrasinal actual non é válido"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "O novo email non semella ser válido"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "O novo email ten que ser diferente"
@@ -186,7 +199,8 @@ msgid "The new password must be different"
msgstr "O novo contrasinal ten que ser diferente"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "O contrasinal escrito non é válido"
@@ -209,7 +223,8 @@ msgid "This user has been disabled"
msgstr "Estab usuaria foi desactivada"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Non se puido validar a usuaria"
@@ -284,7 +299,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Tes que ter un token existente para obter un token actualizado"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Solicitaches demasiado pronto un email de confirmación"
@@ -304,7 +320,8 @@ msgid "No profile found with this ID"
msgstr "Non se atopa o perfil con este ID"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Non se atopa o perfil remoto con este ID"
@@ -355,17 +372,19 @@ msgid "Comment is already deleted"
msgstr "O comentario xa foi eliminado"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Non se atopa a conversa"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Erro ó gardar a denuncia"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Erro ó actualizar a denuncia"
@@ -375,14 +394,16 @@ msgid "Event id not found"
msgstr "Non se atopou o ID do evento"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Evento non atopado"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Non existe un evento co ID %{id}"
@@ -398,8 +419,11 @@ msgid "No discussion with ID %{id}"
msgstr "Non hai conversa con ID %{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Non se atopou o perfil da usuaria"
@@ -415,7 +439,8 @@ msgstr "A participante xa ten o rol %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Non se atopou a participante"
@@ -430,12 +455,14 @@ msgid "Person with username %{username} not found"
msgstr "Non se atopa a persoa con nome de usuaria %{username}"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "ID da publicación non é un ID válido"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Non existe a publicación"
@@ -445,31 +472,42 @@ msgid "Profile invited doesn't exist"
msgstr "O perfil convidado non existe"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "O perfil xa é membro deste grupo"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "O perfil non é membro do grupo"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Perfil non atopado"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Denuncia non atopada"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Non existe o recurso"
@@ -484,12 +522,14 @@ msgid "This token is invalid"
msgstr "Este token non é válido"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Lista de tarefas non existe"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "A lista de tarefas non existe"
@@ -500,12 +540,13 @@ msgid "Token does not exist"
msgstr "Non existe o token"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "O token non é un UUID válido"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Usuaria non atopada"
@@ -525,7 +566,8 @@ msgid "You are not a member of this group"
msgstr "Non es membro deste grupo"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Non es moderadora ou administradora deste grupo"
@@ -590,43 +632,43 @@ msgid "You don't have permission to delete this token"
msgstr "Non tes permiso para eliminar este token"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
"Tes que estar conectada e ser moderadora para ver listas de rexistros de "
"accións"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Tes que estar conectada e ser moderadora para ver listas de denuncias"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Tes que estas conectada e ser moderadora para actualizar unha denuncia"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Tes que estar conectada e ser moderadora para ver unha denuncia"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Tes que estar conectada e ser administradora para acceder ós axustes de "
"administración"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Tes que estar conectada e ser administradora para acceder ó taboleiro de "
"estatísticas"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Tes que estar conectada e ser administradora para gardar os axustes de "
@@ -653,7 +695,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Tes que estar conectada para crear publicacións"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Tes que estar conectada para crear denuncias"
@@ -749,7 +791,8 @@ msgid "Reset your password to login"
msgstr "Restablece o teu contrasinal para conectar"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Recurso non atopado"
@@ -839,8 +882,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "O ID do perfil proporcionado non é o perfil anónimo"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "A imaxe proporcionada é demasiado grande (mb)"
@@ -865,7 +911,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Non se puideron obter os detalles do recurso desde o URL."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "O perfil da moderadora proporcionado non ten permisos neste evento"
@@ -921,6 +968,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1049,3 +1097,25 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "O novo email ten que ser diferente"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Tes que estar conectada e ser administradora para gardar os axustes de "
+"administración"
diff --git a/priv/gettext/he/LC_MESSAGES/activity.po b/priv/gettext/he/LC_MESSAGES/activity.po
index 341537e1..b0cbfd8c 100644
--- a/priv/gettext/he/LC_MESSAGES/activity.po
+++ b/priv/gettext/he/LC_MESSAGES/activity.po
@@ -24,208 +24,213 @@ msgstr ""
## Run "mix gettext.extract" to bring this file up to
## date. Leave "msgstr"s empty as changing them here as no
## effect: edit them in PO (.po) files instead.
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:19
#: lib/web/templates/email/activity/_member_activity_item.text.eex:12
-#, elixir-format
msgid "%{member} accepted the invitation to join the group."
msgstr "%{member} קיבל.ה את ההזמנה להצטרף לקבוצה."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:26
#: lib/web/templates/email/activity/_member_activity_item.text.eex:17
-#, elixir-format
msgid "%{member} rejected the invitation to join the group."
msgstr "%{member} דח.תה את ההזמנה להצטרף לקבוצה."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:4
#: lib/web/templates/email/activity/_member_activity_item.text.eex:1
-#, elixir-format
msgid "%{member} requested to join the group."
msgstr "%{member} ביקש.ה להצטרף לקבוצה."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:11
#: lib/web/templates/email/activity/_member_activity_item.text.eex:6
-#, elixir-format
msgid "%{member} was invited by %{profile}."
msgstr "%{member} הוזמנ.ה על־ידי %{profile}."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:40
#: lib/web/templates/email/activity/_member_activity_item.text.eex:27
-#, elixir-format
msgid "%{profile} added the member %{member}."
msgstr "%{profile} הוסיפ.ה את החבר.ה %{member}."
+#, elixir-format
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:46
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
-#, elixir-format
msgid "%{profile} archived the discussion %{discussion}."
msgstr "%{profile} העביר.ה לארכיון את הדיון %{discussion}."
+#, elixir-format
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:4
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
-#, elixir-format
msgid "%{profile} created the discussion %{discussion}."
msgstr "%{profile} פתח.ה את הדיון %{discussion}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:5
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:2
-#, elixir-format
msgid "%{profile} created the folder %{resource}."
msgstr "%{profile} יצר.ה את התיקייה %{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_group_activity_item.html.heex:4
#: lib/web/templates/email/activity/_group_activity_item.text.eex:1
-#, elixir-format
msgid "%{profile} created the group %{group}."
msgstr "%{profile} יצר.ה את הקבוצה %{group}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:20
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:8
-#, elixir-format
msgid "%{profile} created the resource %{resource}."
msgstr "%{profile} יצר.ה את המשאב %{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:60
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
-#, elixir-format
msgid "%{profile} deleted the discussion %{discussion}."
msgstr "%{profile} מחק.ה את הדיון %{discussion}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:103
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:40
-#, elixir-format
msgid "%{profile} deleted the folder %{resource}."
msgstr "%{profile} מחק.ה את התיקייה %{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:111
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:45
-#, elixir-format
msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} מחק.ה את המשאב %{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56
#: lib/web/templates/email/activity/_member_activity_item.text.eex:39
-#, elixir-format
msgid "%{profile} excluded member %{member}."
msgstr "%{profile} הוציא.ה את החבר.ה %{member}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:71
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:28
-#, elixir-format
msgid "%{profile} moved the folder %{resource}."
msgstr "%{profile} הזיז.ה את התיקייה %{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:86
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:34
-#, elixir-format
msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} הזיז.ה את המשאב %{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64
#: lib/web/templates/email/activity/_member_activity_item.text.eex:45
-#, elixir-format
msgid "%{profile} quit the group."
msgstr "%{profile} יצא.ה מהקבוצה."
+#, elixir-format
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:32
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
-#, elixir-format
msgid "%{profile} renamed the discussion %{discussion}."
msgstr "%{profile} שינ.תה את כותרת הדיון %{discussion}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:37
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:14
-#, elixir-format
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
msgstr "%{profile} שינ.תה את השם התיקייה מ־%{old_resource_title} ל־%{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:53
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:21
-#, elixir-format
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
msgstr "%{profile} שינ.תה את שם המשאב מ־%{old_resource_title} ל־%{resource}."
+#, elixir-format
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:18
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
-#, elixir-format
msgid "%{profile} replied to the discussion %{discussion}."
msgstr "%{profile} הגיב.ה בדיון %{discussion}."
+#, elixir-format
#: lib/web/templates/email/activity/_group_activity_item.html.heex:19
#: lib/web/templates/email/activity/_group_activity_item.text.eex:7
-#, elixir-format
msgid "%{profile} updated the group %{group}."
msgstr "%{profile} עידכנ.ה את הקבוצה %{group}."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48
#: lib/web/templates/email/activity/_member_activity_item.text.eex:33
-#, elixir-format
msgid "%{profile} updated the member %{member}."
msgstr "%{profile} עידכנ.ה את החבר.ה %{member}."
-#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
#, elixir-format
+#: lib/service/activity/renderer/event.ex:23
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "האירוע %{event} נוצר על־ידי %{profile}."
-#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
#, elixir-format
+#: lib/service/activity/renderer/event.ex:43
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "האירוע %{event} נמחק על־ידי %{profile}."
-#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
#, elixir-format
+#: lib/service/activity/renderer/event.ex:33
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "האירוע %{event} עודכן על־ידי %{profile}."
+#, elixir-format
#: lib/web/templates/email/activity/_post_activity_item.html.heex:4
#: lib/web/templates/email/activity/_post_activity_item.text.eex:1
-#, elixir-format
msgid "The post %{post} was created by %{profile}."
msgstr "הרשומה %{post} נוצרה על־ידי %{profile}."
+#, elixir-format
#: lib/web/templates/email/activity/_post_activity_item.html.heex:34
#: lib/web/templates/email/activity/_post_activity_item.text.eex:13
-#, elixir-format
msgid "The post %{post} was deleted by %{profile}."
msgstr "הרשומה %{post} נמחקה על־ידי %{profile}."
+#, elixir-format
#: lib/web/templates/email/activity/_post_activity_item.html.heex:19
#: lib/web/templates/email/activity/_post_activity_item.text.eex:7
-#, elixir-format
msgid "The post %{post} was updated by %{profile}."
msgstr "הרשומה %{post} עודכנה על־ידי %{profile}."
+#, elixir-format
#: lib/web/templates/email/activity/_member_activity_item.html.heex:33
#: lib/web/templates/email/activity/_member_activity_item.text.eex:22
-#, elixir-format
msgid "%{member} joined the group."
msgstr "%{member} הצטרפ.ה אל הקבוצה."
-#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
#, elixir-format
+#: lib/service/activity/renderer/event.ex:63
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} שלח.ה הערה על האירוע %{event}."
-#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
#, elixir-format
+#: lib/service/activity/renderer/event.ex:54
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} הגיב.ה על הערה על האירוע %{event}."
-#: lib/web/templates/email/email_direct_activity.text.eex:27
#, elixir-format
+#: lib/web/templates/email/email_direct_activity.text.eex:27
msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings."
msgstr ""
"לא רוצה לקבל התראות על פעילות? ניתן לשנות את התדירות או לכבות אותן בהגדרות "
"שלך."
+#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:135
#: lib/web/templates/email/email_direct_activity.text.eex:23
-#, elixir-format
msgid "View one more activity"
msgid_plural "View %{count} more activities"
msgstr[0] "להציג עוד פעילות אחת"
@@ -233,10 +238,11 @@ msgstr[1] "להציג עוד 2 פעילויות"
msgstr[2] "להציג עוד %{count} פעילויות"
msgstr[3] "להציג עוד %{count} פעילויות"
-#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
-#: lib/web/templates/email/email_direct_activity.text.eex:7
#, elixir-format
+#: lib/web/templates/email/email_direct_activity.html.heex:44
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
msgstr[0] "התרחשה פעילות!"
@@ -244,220 +250,226 @@ msgstr[1] "התרחשו פעילויות!"
msgstr[2] "התרחשו פעילויות!"
msgstr[3] "התרחשו פעילויות!"
-#: lib/service/activity/renderer/renderer.ex:46
#, elixir-format
+#: lib/service/activity/renderer/renderer.ex:46
msgid "Activity on %{instance}"
msgstr "פעילות באתר %{instance}"
-#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
#, elixir-format
+#: lib/service/activity/renderer/comment.ex:38
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} שלח.ה הודעה באירוע %{event}."
-#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
#, elixir-format
+#: lib/service/activity/renderer/comment.ex:24
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} הזכיר.ה אותך בהערה תחת האירוע %{event}."
-#: lib/web/templates/email/email_direct_activity.html.heex:155
#, elixir-format
+#: lib/web/templates/email/email_direct_activity.html.heex:155
msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}."
msgstr ""
"לא רוצה לקבל התראות על פעילות? ניתן לשנות את התדירות או לכבות אותן "
"ב%{tag_start}הגדרות שלך%{tag_end}."
+#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:42
#: lib/web/templates/email/email_direct_activity.text.eex:5
-#, elixir-format
msgid "Here's your weekly activity recap"
msgstr "הנה סיכום הפעילות השבועי שלך"
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
#, elixir-format
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "התראת פעילות עבור %{instance}"
-#: lib/web/email/activity.ex:126
#, elixir-format
+#: lib/web/email/activity.ex:126
msgid "Daily activity recap for %{instance}"
msgstr "סיכום פעילות יומי עבור %{instance}"
+#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:40
#: lib/web/templates/email/email_direct_activity.text.eex:4
-#, elixir-format
msgid "Here's your daily activity recap"
msgstr "הנה סיכום הפעילות היומי שלך"
-#: lib/web/email/activity.ex:133
#, elixir-format
+#: lib/web/email/activity.ex:133
msgid "Weekly activity recap for %{instance}"
msgstr "סיכום פעילות שבועי עבור %{instance}"
-#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
#, elixir-format
+#: lib/service/activity/renderer/comment.ex:66
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} שלח.ה הערה תחת האירוע שלך %{event}."
-#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
#, elixir-format
+#: lib/service/activity/renderer/comment.ex:53
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} שלח.ה תגובה חדשה תחת האירוע שלך %{event}."
-#: lib/web/email/activity.ex:46
#, elixir-format
+#: lib/web/email/activity.ex:46
msgid "Announcement for your event %{event}"
msgstr "הודעה לגבי האירוע שלך %{event}"
-#: lib/service/activity/renderer/group.ex:23
#, elixir-format
+#: lib/service/activity/renderer/group.ex:23
msgid "The group %{group} was updated by %{profile}."
msgstr "הקבוצה %{group} עודכנה על־ידי %{profile}."
-#: lib/service/activity/renderer/post.ex:47
#, elixir-format
+#: lib/service/activity/renderer/post.ex:47
msgid "The post %{post} from group %{group} was deleted by %{profile}."
msgstr "הרשומה %{post} מהקבוצה %{group} נמחקה על־ידי %{profile}."
-#: lib/service/activity/renderer/post.ex:31
#, elixir-format
+#: lib/service/activity/renderer/post.ex:31
msgid "The post %{post} from group %{group} was published by %{profile}."
msgstr "הרשומה %{post} מהקבוצה %{group} פורסמה על־ידי %{profile}."
-#: lib/service/activity/renderer/post.ex:39
#, elixir-format
+#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "הרשומה %{post} מהקבוצה %{group} עודכנה על־ידי %{profile}."
-#: lib/service/activity/renderer/member.ex:39
#, elixir-format
+#: lib/service/activity/renderer/member.ex:39
msgid "%{member} accepted the invitation to join the group %{group}."
msgstr "%{member} קיבל.ה את ההזמנה להצטרף לקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:47
#, elixir-format
+#: lib/service/activity/renderer/member.ex:47
msgid "%{member} joined the group %{group}."
msgstr "%{member} הצטרפ.ה לקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:43
#, elixir-format
+#: lib/service/activity/renderer/member.ex:43
msgid "%{member} rejected the invitation to join the group %{group}."
msgstr "%{member} דח.תה את ההזמנה להצטרף לקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:31
#, elixir-format
+#: lib/service/activity/renderer/member.ex:31
msgid "%{member} requested to join the group %{group}."
msgstr "%{member} ביקש.ה להצטרף לקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:35
#, elixir-format
+#: lib/service/activity/renderer/member.ex:35
msgid "%{member} was invited by %{profile} to group %{group}."
msgstr "%{member} הוזמנ.ה על־ידי %{profile} לקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:51
#, elixir-format
+#: lib/service/activity/renderer/member.ex:51
msgid "%{profile} added the member %{member} to group %{group}."
msgstr "%{profile} הוסיפ.ה את החבר.ה %{member} לקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:55
#, elixir-format
+#: lib/service/activity/renderer/member.ex:55
msgid "%{profile} approved the membership request from %{member} for group %{group}."
msgstr "%{profile} אישר.ה את בקשת ההצטרפות של %{member} לקבוצה %{group}."
-#: lib/service/activity/renderer/resource.ex:33
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:33
msgid "%{profile} created the folder %{resource} in group %{group}."
msgstr "%{profile} יצר.ה את התיקייה %{resource} בקבוצה %{group}."
-#: lib/service/activity/renderer/resource.ex:69
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:69
msgid "%{profile} deleted the folder %{resource} in group %{group}."
msgstr "%{profile} מחק.ה את התיקייה %{resource} בקבוצה %{group}."
-#: lib/service/activity/renderer/resource.ex:71
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:71
msgid "%{profile} deleted the resource %{resource} in group %{group}."
msgstr "%{profile} מחק.ה את המשאב %{resource} בקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:75
#, elixir-format
+#: lib/service/activity/renderer/member.ex:75
msgid "%{profile} excluded member %{member} from the group %{group}."
msgstr "%{profile} הוציא.ה את החבר.ה %{member} מהקבוצה %{group}."
-#: lib/service/activity/renderer/resource.ex:61
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:61
msgid "%{profile} moved the folder %{resource} in group %{group}."
msgstr "%{profile} הזיז.ה את התיקייה %{resource} בקבוצה %{group}."
-#: lib/service/activity/renderer/resource.ex:63
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:63
msgid "%{profile} moved the resource %{resource} in group %{group}."
msgstr "%{profile} הזיז.ה את המשאב %{resource} בקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:79
#, elixir-format
+#: lib/service/activity/renderer/member.ex:79
msgid "%{profile} quit the group %{group}."
msgstr "%{profile} יצא.ה מהקבוצה %{group}."
-#: lib/service/activity/renderer/member.ex:63
#, elixir-format
+#: lib/service/activity/renderer/member.ex:63
msgid "%{profile} rejected the membership request from %{member} for group %{group}."
msgstr "%{profile} דח.תה את בקשת ההצטרפות של %{member} לקבוצה %{group}."
-#: lib/service/activity/renderer/resource.ex:45
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:45
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource} in group %{group}."
msgstr ""
"%{profile} שינ.תה את שם התיקייה מ־%{old_resource_title} ל־%{resource} בקבוצה "
"%{group}."
-#: lib/service/activity/renderer/resource.ex:51
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:51
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} in group %{group}."
msgstr ""
"%{profile} שינ.תה את שם המשאב מ־%{old_resource_title} ל־%{resource} בקבוצה "
"%{group}."
-#: lib/service/activity/renderer/member.ex:71
#, elixir-format
+#: lib/service/activity/renderer/member.ex:71
msgid "%{profile} updated the member %{member} in group %{group}."
msgstr "%{profile} עידכנ.ה את פרטי החבר.ה %{member} בקבוצה %{group}."
-#: lib/service/activity/renderer/resource.ex:35
#, elixir-format
+#: lib/service/activity/renderer/resource.ex:35
msgid "%{profile} created the resource %{resource} in group %{group}."
msgstr "%{profile} יצר.ה את המשאב %{resource} בקבוצה %{group}."
-#: lib/service/activity/renderer/discussion.ex:86
#, elixir-format
+#: lib/service/activity/renderer/discussion.ex:86
msgid "%{profile} archived the discussion %{discussion} in group %{group}."
msgstr "%{profile} העביר.ה לארכיון את הדיון %{discussion} בקבוצה %{group}."
-#: lib/service/activity/renderer/discussion.ex:26
#, elixir-format
+#: lib/service/activity/renderer/discussion.ex:26
msgid "%{profile} created the discussion %{discussion} in group %{group}."
msgstr "%{profile} פתח.ה את הדיון %{discussion} בקבוצה %{group}."
-#: lib/service/activity/renderer/discussion.ex:101
#, elixir-format
+#: lib/service/activity/renderer/discussion.ex:101
msgid "%{profile} deleted the discussion %{discussion} in group %{group}."
msgstr "%{profile} מחק.ה את הדיון %{discussion} בקבוצה %{group}."
-#: lib/service/activity/renderer/discussion.ex:56
#, elixir-format
+#: lib/service/activity/renderer/discussion.ex:56
msgid "%{profile} mentionned you in the discussion %{discussion} in group %{group}."
msgstr "%{profile} הזכיר.ה אותך בדיון %{discussion} בקבוצה %{group}."
-#: lib/service/activity/renderer/discussion.ex:71
#, elixir-format
+#: lib/service/activity/renderer/discussion.ex:71
msgid "%{profile} renamed the discussion %{discussion} in group %{group}."
msgstr "%{profile} שינ.תה את כותרת הדיון %{discussion} בקבוצה %{group}."
-#: lib/service/activity/renderer/discussion.ex:41
#, elixir-format
+#: lib/service/activity/renderer/discussion.ex:41
msgid "%{profile} replied to the discussion %{discussion} in group %{group}."
msgstr "%{profile} הגיב.ה בדיון %{discussion} בקבוצה %{group}."
diff --git a/priv/gettext/he/LC_MESSAGES/default.po b/priv/gettext/he/LC_MESSAGES/default.po
new file mode 100644
index 00000000..3e0b4db7
--- /dev/null
+++ b/priv/gettext/he/LC_MESSAGES/default.po
@@ -0,0 +1,1821 @@
+## "msgid"s in this file come from POT (.pot) files.
+##
+## Do not add, change, or remove "msgid"s manually here as
+## they're tied to the ones in the corresponding POT file
+## (with the same domain).
+##
+## Use "mix gettext.extract --merge" or "mix gettext.merge"
+## to merge POT files into PO files.
+msgid ""
+msgstr ""
+"Language: he\n"
+"Plural-Forms: nplurals=2\n"
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.html.heex:48
+msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:74
+msgid "%{title} by %{creator}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/registration_confirmation.html.heex:58
+msgid "Activate my account"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:120
+#: lib/web/templates/email/email.text.eex:9
+msgid "Ask the community on Framacolibri"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.text.eex:15
+msgid "Comments"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:72
+#: lib/web/templates/email/report.text.eex:11
+msgid "Event"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/user.ex:49
+msgid "Instructions to reset your password on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.text.eex:21
+msgid "Reason"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.html.heex:61
+msgid "Reset Password"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.html.heex:41
+msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/user.ex:28
+msgid "Instructions to confirm your Mobilizon account on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/admin.ex:24
+msgid "New report on Mobilizon instance %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:51
+#: lib/web/templates/email/before_event_notification.text.eex:4
+msgid "Go to event page"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.text.eex:1
+msgid "New report from %{reporter} on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_approved.text.eex:1
+msgid "Participation approved"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.html.heex:13
+#: lib/web/templates/email/password_reset.text.eex:1
+msgid "Password reset"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.text.eex:7
+msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/registration_confirmation.text.eex:5
+msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/participation.ex:111
+msgid "Your participation to event %{title} has been approved"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/participation.ex:68
+msgid "Your participation to event %{title} has been rejected"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/event.ex:46
+msgid "Event %{title} has been updated"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.text.eex:7
+msgid "New title: %{title}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.text.eex:5
+msgid "You requested a new password for your account on %{instance}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:88
+msgid "Warning"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/participation.ex:135
+msgid "Confirm your participation to event %{title}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:75
+msgctxt "terms"
+msgid "An internal ID for your current selected identity"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:74
+msgctxt "terms"
+msgid "An internal user ID"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:37
+msgctxt "terms"
+msgid "Any of the information we collect from you may be used in the following ways:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:9
+msgctxt "terms"
+msgid "Basic account information"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:25
+msgctxt "terms"
+msgid "Do not share any dangerous information over Mobilizon."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:90
+msgctxt "terms"
+msgid "Do we disclose any information to outside parties?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:68
+msgctxt "terms"
+msgid "Do we use cookies?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:51
+msgctxt "terms"
+msgid "How do we protect your information?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:29
+msgctxt "terms"
+msgid "IPs and other metadata"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:17
+msgctxt "terms"
+msgid "Published events and comments"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:64
+msgctxt "terms"
+msgid "Retain the IP addresses associated with registered users no more than 12 months."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:76
+msgctxt "terms"
+msgid "Tokens to authenticate you"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:31
+msgctxt "terms"
+msgid "We also may retain server logs which include the IP address of every request to our server."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:70
+msgctxt "terms"
+msgid "We store the following information on your device when you connect:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:58
+msgctxt "terms"
+msgid "We will make a good faith effort to:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:35
+msgctxt "terms"
+msgid "What do we use your information for?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:57
+msgctxt "terms"
+msgid "What is our data retention policy?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:67
+msgctxt "terms"
+msgid "You may irreversibly delete your account at any time."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:115
+msgctxt "terms"
+msgid "Changes to our Privacy Policy"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:106
+msgctxt "terms"
+msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:109
+msgctxt "terms"
+msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:117
+msgctxt "terms"
+msgid "If we decide to change our privacy policy, we will post those changes on this page."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:112
+msgctxt "terms"
+msgid "Law requirements can be different if this server is in another jurisdiction."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:103
+msgctxt "terms"
+msgid "Site usage by children"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:47
+msgctxt "terms"
+msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:45
+msgctxt "terms"
+msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:43
+msgctxt "terms"
+msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:6
+msgctxt "terms"
+msgid "What information do we collect?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/user.ex:178
+msgid "Mobilizon on %{instance}: confirm your email address"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/user.ex:157
+msgid "Mobilizon on %{instance}: email changed"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/notification.ex:51
+msgid "One event planned today"
+msgid_plural "%{nb_events} events planned today"
+msgstr[0] ""
+msgstr[1] ""
+
+#, elixir-format
+#: lib/web/templates/email/on_day_notification.html.heex:38
+#: lib/web/templates/email/on_day_notification.text.eex:3
+msgid "You have one event today:"
+msgid_plural "You have %{total} events today:"
+msgstr[0] ""
+msgstr[1] ""
+
+#, elixir-format
+#: lib/web/templates/email/group_invite.text.eex:3
+msgid "%{inviter} just invited you to join their group %{group}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_invite.html.heex:13
+#: lib/web/templates/email/group_invite.text.eex:1
+msgid "Come along!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/notification.ex:25
+msgid "Don't forget to go to %{title}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:38
+#: lib/web/templates/email/before_event_notification.text.eex:3
+msgid "Get ready for %{title}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_invite.html.heex:59
+msgid "See my groups"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_invite.html.heex:45
+#: lib/web/templates/email/group_invite.text.eex:5
+msgid "To accept this invitation, head over to your groups."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/before_event_notification.text.eex:5
+msgid "View the event on: %{link}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/member.ex:31
+msgid "You have been invited by %{inviter} to join group %{group}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/notification.ex:78
+msgid "One event planned this week"
+msgid_plural "%{nb_events} events planned this week"
+msgstr[0] ""
+msgstr[1] ""
+
+#, elixir-format
+#: lib/web/email/notification.ex:102
+msgid "One participation request for event %{title} to process"
+msgid_plural "%{number_participation_requests} participation requests for event %{title} to process"
+msgstr[0] ""
+msgstr[1] ""
+
+#, elixir-format
+#: lib/web/templates/email/notification_each_week.html.heex:38
+#: lib/web/templates/email/notification_each_week.text.eex:3
+msgid "You have one event this week:"
+msgid_plural "You have %{total} events this week:"
+msgstr[0] ""
+msgstr[1] ""
+
+#, elixir-format
+#: lib/service/metadata/utils.ex:53
+msgid "The event organizer didn't add any description."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:54
+msgctxt "terms"
+msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way algorithm."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:94
+msgctxt "terms"
+msgid "No. We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:23
+msgctxt "terms"
+msgid "Accepting these Terms"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:27
+msgctxt "terms"
+msgid "Changes to these Terms"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:85
+msgctxt "terms"
+msgid "A lot of the content on the Service is from you and others, and we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:60
+msgctxt "terms"
+msgid "Also, you agree that you will not do any of the following in connection with the Service or other users:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:65
+msgctxt "terms"
+msgid "Circumvent or attempt to circumvent any filtering, security measures, rate limits or other features designed to protect the Service, users of the Service, or third parties."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:64
+msgctxt "terms"
+msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:55
+msgctxt "terms"
+msgid "Content that is illegal or unlawful, that would otherwise create liability;"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:56
+msgctxt "terms"
+msgid "Content that may infringe or violate any patent, trademark, trade secret, copyright, right of privacy, right of publicity or other intellectual or other right of any party;"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:42
+msgctxt "terms"
+msgid "Creating Accounts"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:89
+msgctxt "terms"
+msgid "Entire Agreement"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:92
+msgctxt "terms"
+msgid "Feedback"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:83
+msgctxt "terms"
+msgid "Hyperlinks and Third Party Content"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:88
+msgctxt "terms"
+msgid "If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:63
+msgctxt "terms"
+msgid "Impersonate or post on behalf of any person or entity or otherwise misrepresent your affiliation with a person or entity;"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:48
+msgctxt "terms"
+msgid "Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:39
+msgctxt "terms"
+msgid "Privacy Policy"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:95
+msgctxt "terms"
+msgid "Questions & Contact Information"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:87
+msgctxt "terms"
+msgid "Termination"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:62
+msgctxt "terms"
+msgid "Use the Service in any manner that could interfere with, disrupt, negatively affect or inhibit other users from fully enjoying the Service or that could damage, disable, overburden or impair the functioning of the Service;"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:47
+msgctxt "terms"
+msgid "Your Content & Conduct"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:84
+msgctxt "terms"
+msgid "%{instance_name} makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern. The inclusion of any link does not imply endorsement by %{instance_name} of the site. Use of any such linked website is at the user's own risk."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:68
+msgctxt "terms"
+msgid "Finally, your use of the Service is also subject to acceptance of the instance's own specific rules regarding the code of conduct and moderation rules. Breaking those rules may also result in your account being disabled or suspended."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:81
+msgctxt "terms"
+msgid "For full details about the Mobilizon software see here."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:18
+msgctxt "terms"
+msgid "Here are the important things you need to know about accessing and using the %{instance_name} (%{instance_url}) website and service (collectively, \"Service\"). These are our terms of service (\"Terms\"). Please read them carefully."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:33
+msgctxt "terms"
+msgid "If we make major changes, we will notify our users in a clear and prominent manner. Minor changes may only be highlighted in the footer of our website. It is your responsibility to check the website regularly for changes to these Terms."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:53
+msgctxt "terms"
+msgid "In order to make %{instance_name} a great place for all of us, please do not post, link and otherwise make available on or through the Service any of the following:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:57
+msgctxt "terms"
+msgid "Private information of any third party (e.g., addresses, phone numbers, email addresses, Social Security numbers and credit card numbers); and"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:52
+msgctxt "terms"
+msgid "Since Mobilizon is a distributed network, it is possible, depending on the visibility rules set to your content, that your content has been distributed to other Mobilizon instances. When you delete your content, we will request those other instances to also delete the content. Our responsibility on the content being deleted from those other instances ends here. If for some reason, some other instance does not delete the content, we cannot be held responsible."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:90
+msgctxt "terms"
+msgid "These Terms constitute the entire agreement between you and %{instance_name} regarding the use of the Service, superseding any prior agreements between you and %{instance_name} relating to your use of the Service."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:80
+msgctxt "terms"
+msgid "This Service runs on a Mobilizon instance. This source code is licensed under an AGPLv3 license which means you are allowed to and even encouraged to take the source code, modify it and use it."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:58
+msgctxt "terms"
+msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:51
+msgctxt "terms"
+msgid "You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time. Web server access logs might also be stored for some time in the system."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:96
+msgctxt "terms"
+msgid "Questions or comments about the Service may be directed to us at %{contact}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:79
+msgctxt "terms"
+msgid "Source code"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:93
+msgctxt "terms"
+msgid "We love feedback. Please let us know what you think of the Service, these Terms and, in general, %{instance_name}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:74
+msgctxt "terms"
+msgid "Instance administrators (and community moderators, given the relevant access) are responsible for monitoring and acting on flagged content and other user reports, and have the right and responsibility to remove or edit content that is not aligned to this Instance set of rules, or to suspend, block or ban (temporarily or permanently) any account, community, or instance for breaking these terms, or for other behaviours that they deem inappropriate, threatening, offensive, or harmful."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:6
+msgctxt "terms"
+msgid "%{instance_name} will not use or transmit or resell your personal data"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:44
+msgctxt "terms"
+msgid "If you discover or suspect any Service security breaches, please let us know as soon as possible. For security holes in the Mobilizon software itself, please contact its contributors directly."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:77
+msgctxt "terms"
+msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:98
+msgctxt "terms"
+msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:119
+msgctxt "terms"
+msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:3
+msgctxt "terms"
+msgid "Short version"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:9
+msgctxt "terms"
+msgid "The service is provided without warranties and these terms may change in the future"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:118
+msgctxt "terms"
+msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:97
+msgctxt "terms"
+msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:8
+msgctxt "terms"
+msgid "You must respect other people and %{instance_name}'s rules when using the service"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:7
+msgctxt "terms"
+msgid "You must respect the law when using %{instance_name}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:5
+msgctxt "terms"
+msgid "Your content is yours"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:51
+msgid "Confirm my e-mail address"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:13
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
+msgid "Confirm your e-mail"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3
+msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:117
+#: lib/web/templates/email/email.text.eex:8
+msgid "Need help? Is something not working as expected?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/registration_confirmation.html.heex:38
+msgid "You created an account on %{host} with this email address. You are one click away from activating it."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:13
+msgid "New report on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_old.html.heex:38
+msgid "The email address for your account on %{host} is being changed to:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.html.heex:38
+msgid "You requested a new password for your account on %{instance}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.text.eex:5
+msgid "Please do not use it for real purposes."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/on_day_notification.text.eex:11
+msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
+msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
+msgstr[0] ""
+msgstr[1] ""
+
+#, elixir-format
+#: lib/web/templates/email/email.text.eex:11
+msgid "%{instance} is powered by Mobilizon."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:152
+msgid "%{instance} is powered by Mobilizon."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:13
+#: lib/web/templates/email/pending_participation_notification.text.eex:1
+msgid "A request is pending!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:13
+#: lib/web/templates/email/before_event_notification.text.eex:1
+msgid "An event is upcoming!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_new.html.heex:13
+#: lib/web/templates/email/email_changed_new.text.eex:1
+msgid "Confirm new email"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:84
+msgid "End"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:13
+#: lib/web/templates/email/event_updated.text.eex:1
+msgid "Event update!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:88
+msgid "Flagged comments"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:45
+#: lib/web/templates/email/event_participation_approved.text.eex:7
+msgid "Good news: one of the event organizers just approved your request. Update your calendar, because you're on the guest list now!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_new.html.heex:38
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_old.text.eex:3
+msgid "Hi there! Just a quick note to confirm that the email address linked to your account on %{host} has been changed from this one to:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_old.html.heex:62
+#: lib/web/templates/email/email_changed_old.text.eex:5
+msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/password_reset.text.eex:12
+msgid "If you didn't trigger the change yourself, please ignore this message. Your password won't be changed until you click the link above."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
+msgid "If you didn't trigger this email, you may safely ignore it."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/before_event_notification.html.heex:63
+#: lib/web/templates/email/before_event_notification.text.eex:6
+msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:153
+#: lib/web/templates/email/email.text.eex:11
+msgid "Learn more about Mobilizon here!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:94
+#: lib/web/templates/export/event_participants.html.heex:129
+msgid "Location"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:104
+msgid "Location address was removed"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:56
+#: lib/web/templates/email/pending_participation_notification.text.eex:8
+msgid "Manage pending requests"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/registration_confirmation.html.heex:13
+#: lib/web/templates/email/registration_confirmation.text.eex:1
+msgid "Nearly there!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_old.html.heex:13
+#: lib/web/templates/email/email_changed_old.text.eex:1
+msgid "New email confirmation"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:106
+msgid "Reasons for report"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:39
+msgid "Someone on %{instance} reported the following content for you to analyze:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_rejected.html.heex:13
+#: lib/web/templates/email/event_participation_rejected.text.eex:1
+msgid "Sorry! You're not going."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:74
+msgid "Start"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.text.eex:3
+msgid "There have been changes for %{title} so we'd thought we'd let you know."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:55
+#: lib/web/templates/email/event_updated.text.eex:6
+msgid "This event has been cancelled by its organizers. Sorry!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:51
+#: lib/web/templates/email/event_updated.text.eex:4
+msgid "This event has been confirmed"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:53
+#: lib/web/templates/email/event_updated.text.eex:5
+msgid "This event has yet to be confirmed: organizers will let you know if they do confirm it."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_rejected.html.heex:45
+#: lib/web/templates/email/event_participation_rejected.text.eex:7
+msgid "Unfortunately, the organizers rejected your request."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_new.html.heex:51
+msgid "Verify your email address"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:126
+msgid "View report"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.text.eex:24
+msgid "View report:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_anonymous_activity.html.heex:67
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
+msgid "Visit event page"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:121
+msgid "Visit the updated event page"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.text.eex:12
+msgid "Visit the updated event page: %{link}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/on_day_notification.html.heex:13
+#: lib/web/templates/email/on_day_notification.text.eex:1
+msgid "What's up today?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_confirmed.text.eex:6
+msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:69
+#: lib/web/templates/email/pending_participation_notification.text.eex:10
+msgid "You are receiving this email because you chose to get notifications for pending attendance requests to your events. You can disable or change your notification settings in your user account settings under « Notifications »."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_rejected.text.eex:5
+msgid "You issued a request to attend %{title}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_approved.text.eex:5
+#: lib/web/templates/email/event_participation_confirmed.text.eex:3
+msgid "You recently requested to attend %{title}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
+msgid "You're going!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email_changed_new.html.heex:64
+#: lib/web/templates/email/email_changed_new.text.eex:5
+msgid "If you didn't trigger the change yourself, please ignore this message."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:92
+msgid "Please do not use it for real purposes."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_member_removal.html.heex:45
+#: lib/web/templates/email/group_member_removal.text.eex:5
+msgid "If you feel this is an error, you may contact the group's administrators so that they can add you back."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_member_removal.html.heex:13
+#: lib/web/templates/email/group_member_removal.text.eex:1
+msgid "So long, and thanks for the fish!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/member.ex:113
+msgid "You have been removed from group %{group}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_member_removal.text.eex:3
+msgid "You have been removed from group %{group}. You will not be able to access this group's private content anymore."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_invite.html.heex:38
+msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_member_removal.html.heex:38
+msgid "You have been removed from group %{link_start}%{group}%{link_end}. You will not be able to access this group's private content anymore."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_suspension.html.heex:54
+#: lib/web/templates/email/group_suspension.text.eex:7
+msgid "As this group was located on another instance, it will continue to work for other instances than this one."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_suspension.html.heex:46
+#: lib/web/templates/email/group_suspension.text.eex:5
+msgid "As this group was located on this instance, all of it's data has been irretrievably deleted."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_suspension.html.heex:13
+#: lib/web/templates/email/group_suspension.text.eex:1
+msgid "The group %{group} has been suspended on %{instance}!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_suspension.text.eex:3
+msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group."
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/group.ex:89
+msgid "The group %{group} has been suspended on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:24
+msgctxt "terms"
+msgid "By accessing or using the Service, this means you agree to be bound by all the terms below. If these terms are in any way unclear, please let us know by contacting %{contact}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:40
+msgctxt "terms"
+msgid "For information about how we collect and use information about users of the Service, please check our privacy policy."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:36
+msgctxt "terms"
+msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:78
+msgctxt "terms"
+msgid "If you delete this information, you need to login again."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:80
+msgctxt "terms"
+msgid "If you're not connected, we don't store any information on your device, unless you participate in an event anonymously. In this specific case we store the hash of an unique identifier for the event and participation status in your browser so that we may display participation status. Deleting this information will only stop displaying participation status in your browser."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:87
+msgctxt "terms"
+msgid "Note: This information is stored in your localStorage and not your cookies."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:71
+msgctxt "terms"
+msgid "Our responsibility"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:61
+msgctxt "terms"
+msgid "Retain server logs containing the IP address of all requests to this server, insofar as such logs are kept, no more than 90 days."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:3
+#: lib/web/templates/api/terms.html.heex:15
+msgctxt "terms"
+msgid "Some terms, technical or otherwise, used in the text below may cover concepts that are difficult to grasp. We have provided a glossary to help you understand them better."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:45
+msgctxt "terms"
+msgid "We are not liable for any loss you may incur as a result of someone else using your email or password, either with or without your knowledge."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:50
+msgctxt "terms"
+msgid "We cannot be held responsible should a programming or administrative error make your content visible to a larger audience than intended. Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:10
+msgctxt "terms"
+msgid "We collect information from you when you register on this instance and gather data when you participate in the platform by reading, writing, and interacting with content shared here. If you register on this instance, you will be asked to enter an email address, a password (hashed) and at least an username. Your email address will be verified by an email containing a unique link. Once the link is activated, we know you control that email address. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly. You may however visit this instance without registering."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:30
+msgctxt "terms"
+msgid "We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:20
+msgctxt "terms"
+msgid "When we say “we”, “our”, or “us” in this document, we are referring to the owners, operators and administrators of this Mobilizon instance. The Mobilizon software is provided by the team of Mobilizon contributors, supported by Framasoft, a French not-for-profit organization advocating for Free/Libre Software. Unless explicitly stated, this Mobilizon instance is an independent service using Mobilizon's source code. You may find more information about this instance on the \"About this instance\" page."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:43
+msgctxt "terms"
+msgid "When you create an account you agree to maintain the security and confidentiality of your password and accept all risks of unauthorized access to your account data and any other information you provide to %{instance_name}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/terms.html.heex:49
+msgctxt "terms"
+msgid "When you post, link or otherwise make available content to the Service, you grant us the right and license to display and distribute your content on or through the Service (including via applications). We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself. The displaying and distribution of your content happens only according to the visibility rules you have set for the content. We will not modify the visibility of the content you have set."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:19
+msgctxt "terms"
+msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to different instances and copies are stored there. When you delete events or comments, this is likewise delivered to these other instances. All interactions related to event features - such as joining an event - or group features - such as managing resources - are federated as well. Please keep in mind that the operators of the instance and any receiving instances may view such messages and information, and that recipients may screenshot, copy or otherwise re-share them."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/api/privacy.html.heex:99
+msgctxt "terms"
+msgid "Your content may be downloaded by other instances in the network. Your public events and comments are delivered to the instances following your own instance. Content created through a group is forwarded to all the instances of all the members of the group, insofar as these members reside on a different instance than this one."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_confirmed.text.eex:4
+msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:38
+#: lib/web/templates/email/event_participation_confirmed.html.heex:38
+msgid "You recently requested to attend %{title}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/participation.ex:90
+msgid "Your participation to event %{title} has been confirmed"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:41
+msgid "%{reporter} reported the following content."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.text.eex:5
+msgid "Group %{group} was reported"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:51
+msgid "Group reported"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.text.eex:7
+msgid "Profile %{profile} was reported"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/report.html.heex:56
+msgid "Profile reported"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_confirmed.html.heex:45
+msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!"
+msgstr ""
+
+#, elixir-format
+#: lib/mobilizon/posts/post.ex:99
+msgid "A text is required for the post"
+msgstr ""
+
+#, elixir-format
+#: lib/mobilizon/posts/post.ex:98
+msgid "A title is required for the post"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/instance_follow.text.eex:3
+msgid "%{name} (%{domain}) just requested to follow your instance."
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/follow.ex:54
+msgid "%{name} requests to follow your instance"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:38
+msgid "%{name} (%{domain}) just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/instance_follow.text.eex:4
+msgid "If you accept, this instance will receive all of your public events."
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/follow.ex:48
+msgid "Instance %{name} (%{domain}) requests to follow your instance"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:66
+msgid "See the federation settings"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:52
+#: lib/web/templates/email/instance_follow.text.eex:6
+msgid "To accept this invitation, head over to the instance's admin settings."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:13
+#: lib/web/templates/email/instance_follow.text.eex:1
+msgid "Want to connect?"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/instance_follow.html.heex:45
+#: lib/web/templates/email/instance_follow.text.eex:5
+msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:38
+msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_participation_rejected.html.heex:38
+msgid "You issued a request to attend %{title}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:64
+msgid "Event title"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.html.heex:38
+msgid "There have been changes for %{title} so we'd thought we'd let you know."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/error/500_page.html.heex:7
+msgid "This page is not correct"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/error/500_page.html.heex:50
+msgid "We're sorry, but something went wrong on our end."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:91
+#: lib/web/templates/email/email.text.eex:4
+msgid "This is a demonstration site to test Mobilizon."
+msgstr ""
+
+#, elixir-format
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
+msgid "%{name}'s feed"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/feed.ex:115
+msgid "%{actor}'s private events feed on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/feed.ex:110
+msgid "%{actor}'s public events feed on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/feed.ex:219
+msgid "Feed for %{email} on %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/error/500_page.html.heex:57
+msgid "If the issue persists, you may contact the server administrator at %{contact}."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/error/500_page.html.heex:55
+msgid "If the issue persists, you may try to contact the server administrator."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/error/500_page.html.heex:68
+msgid "Technical details"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/error/500_page.html.heex:52
+msgid "The Mobilizon server %{instance} seems to be temporarily down."
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/feed.ex:67
+msgid "Public feed for %{instance}"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:318
+msgid "The password you have choosen is too short. Please make sure your password contains at least 6 charaters."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:324
+msgid "The token you provided is invalid. Make sure that the URL is exactly the one provided inside the email you got."
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/actor.ex:44
+msgid "Your participation to %{event} has been cancelled!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/actor_suspension_participants.html.heex:38
+#: lib/web/templates/email/actor_suspension_participants.text.eex:3
+msgid "Your instance's moderation team has decided to suspend %{actor_name} (%{actor_address}). All of their events have been removed and your participation to event %{event} cancelled."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_suspension.html.heex:38
+msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/actor_suspension_participants.html.heex:13
+#: lib/web/templates/email/actor_suspension_participants.text.eex:1
+msgid "Your participation to %{event} on %{instance} has been cancelled!"
+msgstr ""
+
+#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
+#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
+#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
+#, elixir-format
+#: lib/service/export/participants/csv.ex:81
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
+msgid "%{event}_participants"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:61
+msgid "Participant message"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:61
+msgid "Participant name"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:61
+msgid "Participant status"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "Administrator"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:55
+msgid "Creator"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "Moderator"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:37
+msgid "Not approved"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:40
+msgid "Not confirmed"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:46
+msgid "Participant"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:43
+msgid "Rejected"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/export/event_participants.html.heex:122
+msgid "Begins on"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/export/event_participants.html.heex:125
+msgid "Ends on"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/export/event_participants.html.heex:132
+msgid "Number of participants"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/export/event_participants.html.heex:120
+msgid "Participants for %{event}"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:88
+msgid "Anonymous participant"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/date/event_tz_date.html.heex:6
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+msgid "🌐 %{timezone} %{offset}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/date/event_tz_date.text.eex:1
+msgid "%{date_time} (%{timezone} %{offset})"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/date/event_tz_date.text.eex:1
+msgid "%{date_time} (in your timezone %{timezone} %{offset})"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/notification_each_week.html.heex:13
+#: lib/web/templates/email/notification_each_week.text.eex:1
+msgid "On the agenda this week"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.html.heex:58
+msgid "Details"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:10
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+msgid "From the %{start} to the %{end}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.html.heex:20
+msgid "Manage your participation"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:5
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+msgid "On %{date} from %{start_time} to %{end_time}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.html.heex:66
+msgid "Read more"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_metadata.html.heex:50
+#: lib/web/templates/email/participation/card/_metadata.text.eex:2
+msgid "Online event"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_group_follower_notification.html.heex:13
+msgid "%{group} scheduled a new event"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_group_follower_notification.text.eex:1
+msgid "%{group} scheduled a new event:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_metadata.text.eex:2
+msgid "Address:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_metadata.text.eex:1
+msgid "Date:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.text.eex:7
+msgid "Details:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/email.html.heex:147
+msgid "Manage your notification settings"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.text.eex:5
+msgid "Manage your participation:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_title.text.eex:3
+#: lib/web/templates/email/participation/card/_title.text.eex:3
+msgid "Organizer: %{organizer}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.html.heex:42
+msgid "Participate"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.text.eex:5
+msgid "Participate:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.text.eex:9
+msgid "Read more : %{url}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_title.text.eex:1
+msgid "Title: %{title}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/group.ex:44
+msgid "📅 Just scheduled by %{group}: %{event}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.text.eex:9
+msgid "New end date:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.text.eex:10
+msgid "New location:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/event_updated.text.eex:8
+msgid "New start date:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_membership_rejection.html.heex:13
+#: lib/web/templates/email/group_membership_rejection.text.eex:1
+msgid "Sorry, not this time!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_membership_approval.html.heex:52
+msgid "View the group"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_membership_approval.html.heex:13
+#: lib/web/templates/email/group_membership_approval.text.eex:1
+msgid "You're in!"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/member.ex:60
+msgid "Your membership request for group %{group} has been approved"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/member.ex:89
+msgid "Your membership request for group %{group} has been rejected"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_membership_rejection.text.eex:3
+msgid "Your membership request for group %{group} has been rejected."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_membership_rejection.html.heex:38
+msgid "Your membership request for group %{link_start}%{group}%{link_end} has been rejected."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/group_membership_approval.html.heex:38
+msgid "Your membership request for group %{link_start}%{group}%{link_end} has been approved."
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/pending_participation_notification.html.heex:38
+#: lib/web/templates/email/pending_participation_notification.text.eex:4
+msgid "You have one pending attendance request to process for the following event:"
+msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
+msgstr[0] ""
+msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/he/LC_MESSAGES/errors.po b/priv/gettext/he/LC_MESSAGES/errors.po
new file mode 100644
index 00000000..ebec1872
--- /dev/null
+++ b/priv/gettext/he/LC_MESSAGES/errors.po
@@ -0,0 +1,1092 @@
+## "msgid"s in this file come from POT (.pot) files.
+##
+## Do not add, change, or remove "msgid"s manually here as
+## they're tied to the ones in the corresponding POT file
+## (with the same domain).
+##
+## Use "mix gettext.extract --merge" or "mix gettext.merge"
+## to merge POT files into PO files.
+msgid ""
+msgstr ""
+"Language: he\n"
+"Plural-Forms: nplurals=2\n"
+
+#: lib/mobilizon/discussions/discussion.ex:69
+msgid "can't be blank"
+msgstr ""
+
+msgid "has already been taken"
+msgstr ""
+
+msgid "is invalid"
+msgstr ""
+
+msgid "must be accepted"
+msgstr ""
+
+msgid "has invalid format"
+msgstr ""
+
+msgid "has an invalid entry"
+msgstr ""
+
+msgid "is reserved"
+msgstr ""
+
+msgid "does not match confirmation"
+msgstr ""
+
+msgid "is still associated with this entry"
+msgstr ""
+
+msgid "are still associated with this entry"
+msgstr ""
+
+msgid "should be %{count} character(s)"
+msgid_plural "should be %{count} character(s)"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "should have %{count} item(s)"
+msgid_plural "should have %{count} item(s)"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "should be at least %{count} character(s)"
+msgid_plural "should be at least %{count} character(s)"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "should have at least %{count} item(s)"
+msgid_plural "should have at least %{count} item(s)"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "should be at most %{count} character(s)"
+msgid_plural "should be at most %{count} character(s)"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "should have at most %{count} item(s)"
+msgid_plural "should have at most %{count} item(s)"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "must be less than %{number}"
+msgstr ""
+
+msgid "must be greater than %{number}"
+msgstr ""
+
+msgid "must be less than or equal to %{number}"
+msgstr ""
+
+msgid "must be greater than or equal to %{number}"
+msgstr ""
+
+msgid "must be equal to %{number}"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:107
+msgid "Cannot refresh the token"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:252
+msgid "Current profile is not a member of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:256
+msgid "Current profile is not an administrator of the selected group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:612
+msgid "Error while saving user settings"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
+msgid "Group not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
+msgid "Group with ID %{id} not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:85
+msgid "Impossible to authenticate, either your email or password are invalid."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:315
+msgid "Member not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:94
+msgid "No profile found for the moderator user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:273
+msgid "No user to validate with this email was found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
+msgid "No user with this email was found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/feed_token.ex:28
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
+msgid "Profile is not owned by authenticated user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:160
+msgid "Registrations are not open"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:429
+msgid "The current password is invalid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
+#: lib/graphql/resolvers/user.ex:472
+msgid "The new email doesn't seem to be valid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
+#: lib/graphql/resolvers/user.ex:475
+msgid "The new email must be different"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:432
+msgid "The new password must be different"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:544
+msgid "The password provided is invalid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:436
+msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:294
+msgid "This user can't reset their password"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:81
+msgid "This user has been disabled"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
+msgid "Unable to validate user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:522
+msgid "User already disabled"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:587
+msgid "User requested is not logged-in"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:287
+msgid "You are already a member of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:322
+msgid "You can't leave this group because you are the only administrator"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:284
+msgid "You cannot join this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:112
+msgid "You may not list groups unless moderator."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:487
+msgid "You need to be logged-in to change your email"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:444
+msgid "You need to be logged-in to change your password"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:261
+msgid "You need to be logged-in to delete a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:549
+msgid "You need to be logged-in to delete your account"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:292
+msgid "You need to be logged-in to join a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:327
+msgid "You need to be logged-in to leave a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:225
+msgid "You need to be logged-in to update a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:112
+msgid "You need to have an existing token to get a refresh token"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
+msgid "You requested again a confirmation email too soon"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:163
+msgid "Your email is not on the allowlist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:100
+msgid "Error while performing background task"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:32
+msgid "No profile found with this ID"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
+msgid "No remote profile found with this ID"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:72
+msgid "Only moderators and administrators can suspend a profile"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:105
+msgid "Only moderators and administrators can unsuspend a profile"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:29
+msgid "Only remote profiles may be refreshed"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:64
+msgid "Profile already suspended"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:96
+msgid "A valid email is required by your instance"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:90
+#: lib/graphql/resolvers/participant.ex:143
+msgid "Anonymous participation is not enabled"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:210
+msgid "Cannot remove the last administrator of a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:207
+msgid "Cannot remove the last identity of a user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/comment.ex:126
+msgid "Comment is already deleted"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
+msgid "Discussion not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
+msgid "Error while saving report"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:110
+msgid "Error while updating report"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:131
+msgid "Event id not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
+#: lib/graphql/resolvers/event.ex:412
+msgid "Event not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:87
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:336
+msgid "Event with this ID %{id} doesn't exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:103
+msgid "Internal Error"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/discussion.ex:219
+msgid "No discussion with ID %{id}"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
+msgid "No profile found for user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/feed_token.ex:64
+msgid "No such feed token"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:259
+msgid "Participant already has role %{role}"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:187
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
+msgid "Participant not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:32
+msgid "Person with ID %{id} not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:56
+msgid "Person with username %{username} not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
+msgid "Post ID is not a valid ID"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
+msgid "Post doesn't exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:84
+msgid "Profile invited doesn't exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
+msgid "Profile is already a member of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
+msgid "Profile is not member of group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
+msgid "Profile not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:48
+msgid "Report not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
+msgid "Resource doesn't exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:124
+msgid "The event has already reached its maximum capacity"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:282
+msgid "This token is invalid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
+msgid "Todo doesn't exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:240
+msgid "Todo list doesn't exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/feed_token.ex:73
+msgid "Token does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
+msgid "Token is not a valid UUID"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:96
+msgid "User not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:310
+msgid "You already have a profile for this user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:134
+msgid "You are already a participant of this event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:87
+msgid "You are not a member of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:188
+msgid "You are not a moderator or admin for this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/comment.ex:59
+msgid "You are not allowed to create a comment if not connected"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/feed_token.ex:41
+msgid "You are not allowed to create a feed token if not connected"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/comment.ex:134
+msgid "You are not allowed to delete a comment if not connected"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/feed_token.ex:82
+msgid "You are not allowed to delete a feed token if not connected"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/comment.ex:93
+msgid "You are not allowed to update a comment if not connected"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:181
+#: lib/graphql/resolvers/participant.ex:214
+msgid "You can't leave event because you're the only event creator participant"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:192
+msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/comment.ex:122
+msgid "You cannot delete this comment"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:408
+msgid "You cannot delete this event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:90
+msgid "You cannot invite to this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/feed_token.ex:76
+msgid "You don't have permission to delete this token"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:56
+msgid "You need to be logged-in and a moderator to list action logs"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:36
+msgid "You need to be logged-in and a moderator to list reports"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:115
+msgid "You need to be logged-in and a moderator to update a report"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:53
+msgid "You need to be logged-in and a moderator to view a report"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:257
+msgid "You need to be logged-in and an administrator to access admin settings"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:241
+msgid "You need to be logged-in and an administrator to access dashboard statistics"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:283
+msgid "You need to be logged-in and an administrator to save admin settings"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/discussion.ex:84
+msgid "You need to be logged-in to access discussions"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:96
+msgid "You need to be logged-in to access resources"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:318
+msgid "You need to be logged-in to create events"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/post.ex:141
+msgid "You need to be logged-in to create posts"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:87
+msgid "You need to be logged-in to create reports"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:137
+msgid "You need to be logged-in to create resources"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:417
+msgid "You need to be logged-in to delete an event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/post.ex:214
+msgid "You need to be logged-in to delete posts"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:204
+msgid "You need to be logged-in to delete resources"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:108
+msgid "You need to be logged-in to join an event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:225
+msgid "You need to be logged-in to leave an event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:374
+msgid "You need to be logged-in to update an event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/post.ex:180
+msgid "You need to be logged-in to update posts"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:174
+msgid "You need to be logged-in to update resources"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:233
+msgid "You need to be logged-in to view a resource preview"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:129
+msgid "Parent resource doesn't belong to this group"
+msgstr ""
+
+#, elixir-format
+#: lib/mobilizon/users/user.ex:114
+msgid "The chosen password is too short."
+msgstr ""
+
+#, elixir-format
+#: lib/mobilizon/users/user.ex:142
+msgid "The registration token is already in use, this looks like an issue on our side."
+msgstr ""
+
+#, elixir-format
+#: lib/mobilizon/users/user.ex:108
+msgid "This email is already used."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:97
+msgid "Post not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:84
+msgid "Invalid arguments passed"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:90
+msgid "Invalid credentials"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:88
+msgid "Reset your password to login"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
+msgid "Resource not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:102
+msgid "Something went wrong"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:83
+msgid "Unknown Resource"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:93
+msgid "You don't have permission to do this"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:85
+msgid "You need to be logged in"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:118
+msgid "You can't accept this invitation with this profile."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:139
+msgid "You can't reject this invitation with this profile."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/media.ex:71
+msgid "File doesn't have an allowed MIME type."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:220
+msgid "Profile is not administrator for the group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:363
+msgid "You can't edit this event."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:366
+msgid "You can't attribute this event to this profile."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:142
+msgid "This invitation doesn't exist."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:217
+msgid "This member already has been rejected."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:241
+msgid "You don't have the right to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/mobilizon/actors/actor.ex:351
+msgid "This username is already taken."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/discussion.ex:81
+msgid "You must provide either an ID or a slug to access a discussion"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:313
+msgid "Organizer profile is not owned by the user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:93
+msgid "Profile ID provided is not the anonymous profile one"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
+msgid "The provided picture is too heavy"
+msgstr ""
+
+#, elixir-format
+#: lib/web/views/utils.ex:34
+msgid "Index file not found. You need to recompile the front-end."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:126
+msgid "Error while creating resource"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:505
+msgid "Invalid activation token"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:223
+msgid "Unable to fetch resource details from this URL."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/participant.ex:328
+msgid "Provided profile doesn't have moderator permissions on this event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:299
+msgid "Organizer profile doesn't have permission to create an event on behalf of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:354
+msgid "This profile doesn't have permission to update an event on behalf of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:167
+msgid "Your e-mail has been denied registration or uses a disallowed e-mail provider"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/comment.ex:129
+msgid "Comment not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/discussion.ex:123
+msgid "Error while creating a discussion"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:626
+msgid "Error while updating locale"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:307
+msgid "Error while uploading pictures"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:190
+msgid "Failed to leave the event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:216
+msgid "Failed to update the group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
+#: lib/graphql/resolvers/user.ex:469
+msgid "Failed to update user email"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:501
+msgid "Failed to validate user email"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:146
+msgid "The anonymous actor ID is invalid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/resource.ex:162
+msgid "Unknown error while updating resource"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/comment.ex:84
+msgid "You are not the comment creator"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:426
+msgid "You cannot change your password."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:321
+msgid "Format not supported"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:305
+msgid "A dependency needed to export to %{format} is not installed"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/participant.ex:313
+msgid "An error occured while saving export"
+msgstr ""
+
+#, elixir-format
+#: lib/web/controllers/export_controller.ex:30
+msgid "Export to format %{format} is not enabled on this instance"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:167
+msgid "Only admins can create groups"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:306
+msgid "Only groups can create events"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/event.ex:292
+msgid "Unknown error while creating event"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:482
+msgid "User cannot change email"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:371
+msgid "Follow does not match your account"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:375
+msgid "Follow not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:347
+msgid "Profile with username %{username} not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:342
+msgid "This profile does not belong to you"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:345
+msgid "You are already following this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:354
+msgid "You need to be logged-in to follow a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:403
+msgid "You need to be logged-in to unfollow a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:380
+msgid "You need to be logged-in to update a group follow"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:210
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:234
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:252
+msgid "You must be logged-in to remove a member"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:157
+msgid "Your email seems to be using an invalid format"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/hr/LC_MESSAGES/activity.po b/priv/gettext/hr/LC_MESSAGES/activity.po
index 1bb278e3..d4d5e6e9 100644
--- a/priv/gettext/hr/LC_MESSAGES/activity.po
+++ b/priv/gettext/hr/LC_MESSAGES/activity.po
@@ -165,19 +165,22 @@ msgstr "%{profile} su ažurirali člana %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "%{profile} su stvorili događaj %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "%{profile} su izbrisali događaj %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "%{profile} su ažurirali događaj %{event}."
@@ -207,13 +210,15 @@ msgstr "%{member} su se pridružili grupi."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} su objavili komentar na događaj %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} su odgovorili na komentar događaja %{event}."
@@ -235,7 +240,8 @@ msgstr[2] "Prikaži još %{count} aktivnosti"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -250,14 +256,17 @@ msgstr "Aktivnost u %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} su objavili najavu za događaj %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} su vas spomenuli u komentaru događaja %{event}."
@@ -275,7 +284,8 @@ msgid "Here's your weekly activity recap"
msgstr "Ovaj tjedan, ukratko"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Obavijest o aktivnosti za %{instance}"
@@ -297,13 +307,15 @@ msgstr "Kratki sadržaj tjedna za %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} su objavili novi komentar na vaš događaj %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} su objavili novi odgovor na vaš događaj %{event}."
diff --git a/priv/gettext/hr/LC_MESSAGES/default.po b/priv/gettext/hr/LC_MESSAGES/default.po
index e0b40769..9e8ef343 100644
--- a/priv/gettext/hr/LC_MESSAGES/default.po
+++ b/priv/gettext/hr/LC_MESSAGES/default.po
@@ -758,9 +758,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -820,7 +823,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -842,7 +844,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -954,7 +957,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -976,7 +980,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1000,7 +1005,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1325,8 +1331,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1407,7 +1415,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1428,6 +1437,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1438,6 +1449,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1488,8 +1501,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1678,3 +1693,137 @@ msgid_plural "You have %{number_participation_requests} attendance requests to p
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/hr/LC_MESSAGES/errors.po b/priv/gettext/hr/LC_MESSAGES/errors.po
index 4b7e2a9c..46754116 100644
--- a/priv/gettext/hr/LC_MESSAGES/errors.po
+++ b/priv/gettext/hr/LC_MESSAGES/errors.po
@@ -135,14 +135,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -167,15 +172,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -190,11 +201,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -205,7 +218,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -226,7 +240,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -301,7 +316,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -321,7 +337,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -372,17 +389,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -392,14 +411,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -415,8 +436,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -432,7 +456,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -447,12 +472,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -462,31 +489,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -501,12 +539,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -517,12 +557,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -542,7 +583,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -604,37 +646,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -659,7 +701,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -754,7 +796,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -844,8 +887,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -870,7 +916,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -921,6 +968,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1049,3 +1097,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/hu/LC_MESSAGES/activity.po b/priv/gettext/hu/LC_MESSAGES/activity.po
index 966fb7ec..667f9980 100644
--- a/priv/gettext/hu/LC_MESSAGES/activity.po
+++ b/priv/gettext/hu/LC_MESSAGES/activity.po
@@ -162,19 +162,22 @@ msgstr "%{profile} frissítette %{member} tagot."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "A(z) %{event} eseményt %{profile} hozta létre."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "A(z) %{event} eseményt %{profile} törölte."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "A(z) %{event} eseményt %{profile} frissítette."
@@ -204,13 +207,15 @@ msgstr "%{member} csatlakozott a csoporthoz."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} hozzászólást küldött a(z) %{event} eseményhez."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} válaszolt a(z) %{event} esemény egyik hozzászólására."
@@ -231,7 +236,8 @@ msgstr[1] "Még %{count} tevékenység megtekintése"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -245,14 +251,17 @@ msgstr "Tevékenység a(z) %{instance} példányon"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} közleményt küldött a(z) %{event} esemény alá."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
"%{profile} megemlítette Önt a(z) %{event} esemény alatti egyik "
@@ -272,7 +281,8 @@ msgid "Here's your weekly activity recap"
msgstr "Itt az Ön heti tevékenységösszegzése"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Tevékenységértesítés a(z) %{instance} példányhoz"
@@ -294,13 +304,15 @@ msgstr "Heti tevékenységösszegzés a(z) %{instance} példányhoz"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} új hozzászólást küldött az Ön %{event} eseménye alá."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} új választ küldött az Ön %{event} eseménye alá."
diff --git a/priv/gettext/hu/LC_MESSAGES/default.po b/priv/gettext/hu/LC_MESSAGES/default.po
index ee2fb442..186335e1 100644
--- a/priv/gettext/hu/LC_MESSAGES/default.po
+++ b/priv/gettext/hu/LC_MESSAGES/default.po
@@ -813,9 +813,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -874,7 +877,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -896,7 +898,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -1010,7 +1013,8 @@ msgstr "Jelentés megtekintése:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Eseményoldal felkeresése"
@@ -1032,7 +1036,8 @@ msgstr "Mi lesz ma?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1056,7 +1061,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1384,8 +1390,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Ez egy bemutató oldal a Mobilizon kipróbálásához."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1466,7 +1474,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr "%{event}_resztvevoi"
@@ -1487,6 +1496,8 @@ msgstr "Résztvevő állapota"
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr "Adminisztrátor"
@@ -1497,6 +1508,8 @@ msgstr "Létrehozó"
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr "Moderátor"
@@ -1547,8 +1560,10 @@ msgstr "Névtelen részvétel"
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr "🌐 %{timezone} %{offset}"
@@ -1736,3 +1751,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/hu/LC_MESSAGES/errors.po b/priv/gettext/hu/LC_MESSAGES/errors.po
index 5306a3c7..ae171cc1 100644
--- a/priv/gettext/hu/LC_MESSAGES/errors.po
+++ b/priv/gettext/hu/LC_MESSAGES/errors.po
@@ -131,14 +131,19 @@ msgid "Error while saving user settings"
msgstr "Hiba a felhasználói beállítások mentésekor"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Nem található a csoport"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Nem található %{id} azonosítóval rendelkező csoport"
@@ -163,15 +168,21 @@ msgid "No user to validate with this email was found"
msgstr "Nem található ezzel az e-mail-címmel ellenőrzendő felhasználó"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Nem található ezzel az e-mail-címmel rendelkező felhasználó"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "A profilt nem hitelesített felhasználó birtokolja"
@@ -186,11 +197,13 @@ msgid "The current password is invalid"
msgstr "A jelenlegi jelszó érvénytelen"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Az új e-mail-cím nem tűnik érvényesnek"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Az új e-mail-címnek eltérőnek kell lennie"
@@ -201,7 +214,8 @@ msgid "The new password must be different"
msgstr "Az új jelszónak eltérőnek kell lennie"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "A megadott jelszó érvénytelen"
@@ -224,7 +238,8 @@ msgid "This user has been disabled"
msgstr "Ez a felhasználó le lett tiltva"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Nem lehet ellenőrizni a felhasználót"
@@ -299,7 +314,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Szüksége van egy meglévő tokenre egy frissítési token beszerzéséhez"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Túl hamar kért újra egy megerősítő e-mailt"
@@ -319,7 +335,8 @@ msgid "No profile found with this ID"
msgstr "Nem található profil ezzel az azonosítóval"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Nem található távoli profil ezzel az azonosítóval"
@@ -372,17 +389,19 @@ msgid "Comment is already deleted"
msgstr "A hozzászólást már törölték"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Nem található a megbeszélés"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Hiba a jelentés mentésekor"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Hiba a jelentés frissítésekor"
@@ -392,14 +411,16 @@ msgid "Event id not found"
msgstr "Nem található az eseményazonosító"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Nem található az esemény"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Ezzel a(z) %{id} azonosítóval rendelkező esemény nem létezik"
@@ -415,8 +436,11 @@ msgid "No discussion with ID %{id}"
msgstr "Nincs %{id} azonosítóval rendelkező megbeszélés"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Nem található profil a felhasználóhoz"
@@ -432,7 +456,8 @@ msgstr "A résztvevő már rendelkezik %{role} szereppel"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Nem található a résztvevő"
@@ -447,12 +472,14 @@ msgid "Person with username %{username} not found"
msgstr "Nem található %{username} felhasználónévvel rendelkező személy"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "A bejegyzésazonosító nem érvényes azonosító"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "A bejegyzés nem létezik"
@@ -462,31 +489,42 @@ msgid "Profile invited doesn't exist"
msgstr "A meghívott profil nem létezik"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "A profil már tagja ennek a csoportnak"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "A profil nem tagja a csoportnak"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Nem található a profil"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Nem található a jelentés"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Az erőforrás nem létezik"
@@ -501,12 +539,14 @@ msgid "This token is invalid"
msgstr "Ez a token érvénytelen"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "A tennivaló nem létezik"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "A tennivalólista nem létezik"
@@ -517,12 +557,13 @@ msgid "Token does not exist"
msgstr "A token nem létezik"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "A token nem érvényes UUID"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Nem található a felhasználó"
@@ -542,7 +583,8 @@ msgid "You are not a member of this group"
msgstr "Nem tagja ennek a csoportnak"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Nem moderátor vagy adminisztrátor ennél a csoportnál"
@@ -607,49 +649,49 @@ msgid "You don't have permission to delete this token"
msgstr "Nincs jogosultsága a token törléséhez"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie a műveletnaplók "
"felsorolásához"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie a jelentések "
"felsorolásához"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés "
"frissítéséhez"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés "
"megtekintéséhez"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Bejelentkezve kell lennie és adminisztrátornak kell lennie az "
"adminisztrátori beállításokhoz való hozzáféréshez"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Bejelentkezve kell lennie és adminisztrátornak kell lennie a vezérlőpulti "
"statisztikákhoz való hozzáféréshez"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Bejelentkezve kell lennie és adminisztrátornak kell lennie az "
@@ -676,7 +718,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Bejelentkezve kell lennie a bejegyzések létrehozásához"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Bejelentkezve kell lennie a jelentések létrehozásához"
@@ -772,7 +814,8 @@ msgid "Reset your password to login"
msgstr "Állítsa vissza a jelszavát a bejelentkezéshez"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Nem található az erőforrás"
@@ -864,8 +907,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "A megadott profilazonosító nem a névtelen profil"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "A megadott fénykép túl nehéz"
@@ -890,7 +936,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Nem lehet lekérni az erőforrás részleteit erről az URL-ről."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -948,6 +995,7 @@ msgid "Failed to update the group"
msgstr "Nem sikerült frissíteni a csoportot"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr "Nem sikerült frissíteni a felhasználó e-mail-címét"
@@ -1080,3 +1128,25 @@ msgstr "Bejelentkezve kell lennie egy tag eltávolításához"
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr "Úgy tűnik, hogy az e-mail-címe érvénytelen formátumot használ"
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Az új e-mail-címnek eltérőnek kell lennie"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Bejelentkezve kell lennie és adminisztrátornak kell lennie az "
+"adminisztrátori beállítások mentéséhez"
diff --git a/priv/gettext/id/LC_MESSAGES/activity.po b/priv/gettext/id/LC_MESSAGES/activity.po
index 593f5bb3..0e7e17da 100644
--- a/priv/gettext/id/LC_MESSAGES/activity.po
+++ b/priv/gettext/id/LC_MESSAGES/activity.po
@@ -163,19 +163,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "Acara %{event} dibuat oleh %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "Acara %{event} dihapus oleh %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "Acara %{event} diperbarui oleh %{profile}."
@@ -205,13 +208,15 @@ msgstr "%{member} bergabung ke kelompok."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} memposting komentar di acara %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} membalas sebuah komentar di acara %{event}."
@@ -229,7 +234,8 @@ msgstr[0] "Lihat %{count} aktivitas lagi"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -242,14 +248,17 @@ msgstr "Aktivitas di %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} memposting sebuah pengumuman di acara %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -265,7 +274,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -287,13 +297,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} memposting komentar baru di acara %{event} Anda."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} memposting balasan di acara %{event} Anda."
diff --git a/priv/gettext/id/LC_MESSAGES/default.po b/priv/gettext/id/LC_MESSAGES/default.po
index 43312e8a..e88289c4 100644
--- a/priv/gettext/id/LC_MESSAGES/default.po
+++ b/priv/gettext/id/LC_MESSAGES/default.po
@@ -785,9 +785,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -845,7 +848,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -867,7 +869,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -981,7 +984,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Kunjungi halaman acara"
@@ -1003,7 +1007,8 @@ msgstr "Ada apa hari ini?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1027,7 +1032,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Anda ikut!"
@@ -1355,8 +1361,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1437,7 +1445,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1458,6 +1467,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1468,6 +1479,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1518,8 +1531,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1706,3 +1721,137 @@ msgstr ""
msgid "You have one pending attendance request to process for the following event:"
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/id/LC_MESSAGES/errors.po b/priv/gettext/id/LC_MESSAGES/errors.po
index 59dbadc8..1c7296d5 100644
--- a/priv/gettext/id/LC_MESSAGES/errors.po
+++ b/priv/gettext/id/LC_MESSAGES/errors.po
@@ -109,14 +109,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Kelompok tidak ditemukan"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Kelompok dengan ID %{id} tidak ditemukan"
@@ -141,15 +146,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -164,11 +175,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -179,7 +192,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -200,7 +214,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -275,7 +290,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -295,7 +311,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -346,17 +363,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -366,14 +385,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -389,8 +410,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -406,7 +430,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -421,12 +446,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -436,31 +463,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -475,12 +513,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -491,12 +531,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -516,7 +557,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -578,37 +620,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -633,7 +675,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -728,7 +770,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -818,8 +861,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -844,7 +890,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -895,6 +942,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1023,3 +1071,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/it/LC_MESSAGES/activity.po b/priv/gettext/it/LC_MESSAGES/activity.po
index 9b1814bd..01ae966b 100644
--- a/priv/gettext/it/LC_MESSAGES/activity.po
+++ b/priv/gettext/it/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po
index e19d7557..c4c2df12 100644
--- a/priv/gettext/it/LC_MESSAGES/default.po
+++ b/priv/gettext/it/LC_MESSAGES/default.po
@@ -940,9 +940,12 @@ msgstr "Si prega di non usarlo per scopi reali."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -1009,7 +1012,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Ciao! Sembra che tu volessi modificare l'indirizzo email collegato al tuo "
@@ -1043,7 +1045,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Se non hai attivato questa email, puoi tranquillamente ignorarla."
@@ -1164,7 +1167,8 @@ msgstr "Visualizza la segnalazione:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Visualizza la pagina dell'evento"
@@ -1186,7 +1190,8 @@ msgstr "Cosa succede oggi?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1217,7 +1222,8 @@ msgstr "Di recente hai richiesto di partecipare a %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Ce l'hai fatta!"
@@ -1652,8 +1658,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Questo è un sito di prova per testare Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "Flusso di %{name}"
@@ -1741,7 +1749,8 @@ msgstr "La tua partecipazione all'evento %{title} è stata confermata"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1762,6 +1771,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1772,6 +1783,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1822,8 +1835,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -2013,3 +2028,141 @@ msgstr[0] "Hai una richiesta di partecipazione in sospeso da esaminare:"
msgstr[1] ""
"Hai %{number_participation_requests} richieste di partecipazione in sospeso "
"da esaminare:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Ciao! Sembra che tu volessi modificare l'indirizzo email collegato al tuo "
+"account su % {instance} . Se desideri ancora farlo, fai clic sul "
+"pulsante in basso per confermare la modifica. Potrai quindi accedere a% "
+"{instance} con questo nuovo indirizzo email."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po
index 757279ed..1940b912 100644
--- a/priv/gettext/it/LC_MESSAGES/errors.po
+++ b/priv/gettext/it/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "Errore nel salvare le preferenze utente"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Gruppo non trovato"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Gruppo con ID %{id} non trovato"
@@ -147,15 +152,21 @@ msgid "No user to validate with this email was found"
msgstr "Nessun utente da convalidare trovato con questa email"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Nessun utente con questa email"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "L'utente autenticato non è propietario di questo profilo"
@@ -170,11 +181,13 @@ msgid "The current password is invalid"
msgstr "la password corrente non è valida"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "La nuova email sembra non valida"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "La nuova email dev'essere diversa"
@@ -185,7 +198,8 @@ msgid "The new password must be different"
msgstr "La nuova password deve essere diversa"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "La password assegnata non è valida"
@@ -206,7 +220,8 @@ msgid "This user has been disabled"
msgstr "L'utente è stato disabilitato"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Impossibile convalidare l'utente"
@@ -283,7 +298,8 @@ msgstr ""
"aggiornamento"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Hai richiesto di nuovo un'e-mail di conferma troppo presto"
@@ -303,7 +319,8 @@ msgid "No profile found with this ID"
msgstr "Nessun profilo trovato con questo ID"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Nessun profilo remoto trovato con questo ID"
@@ -354,17 +371,19 @@ msgid "Comment is already deleted"
msgstr "Commento già cancellato"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Discussione non trovata"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Errore nel salvare la segnalazione"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Errore durante l'aggiornamento del rapporto"
@@ -374,14 +393,16 @@ msgid "Event id not found"
msgstr "ID evento non trovato"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Evento non trovato"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "L'evento con questo ID %{id} non esiste"
@@ -397,8 +418,11 @@ msgid "No discussion with ID %{id}"
msgstr "Nessuna discussione con l'ID %{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Nessuno profilo trovato per l'utente"
@@ -414,7 +438,8 @@ msgstr "Il partecipante ha già il ruolo %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Partecipante non trovato"
@@ -429,12 +454,14 @@ msgid "Person with username %{username} not found"
msgstr "La persona con il nome utente %{username} non è stata trovata"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "L'ID del post non è un ID valido"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Il post non esiste"
@@ -444,31 +471,42 @@ msgid "Profile invited doesn't exist"
msgstr "Il profilo invitato non esiste"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Il profilo è già un membro diquesto gruppo"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Il profilo non è membro del gruppo"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Profilo non trovato"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Segnalazione non trovata"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "La risorsa non esiste"
@@ -483,12 +521,14 @@ msgid "This token is invalid"
msgstr "Questo token non è valido"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "L'elemento to-do non esiste"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "la lista non esiste"
@@ -499,12 +539,13 @@ msgid "Token does not exist"
msgstr "Il token non esiste"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Il token non è un UUID valido"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Utente non trovato"
@@ -524,7 +565,8 @@ msgid "You are not a member of this group"
msgstr "Non sei un membro di questo gruppo"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Non sei un moderatore o amministratore di questo gruppo"
@@ -589,41 +631,41 @@ msgid "You don't have permission to delete this token"
msgstr "Non hai il permesso di cancellare questo token"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr "Devi essere connesso e un moderatore per elencare i log delle azioni"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Devi essere connesso e un moderatore per elencare i rapporti"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Devi essere connesso e un moderatore per aggiornare un rapporto"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Devi essere connesso e un moderatore per visualizzare un rapporto"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Devi essere connesso e un moderatore per accedere alle opzioni "
"dell'amministratore"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Devi essere connesso e un moderatore per accedere alle statistiche del "
"dashboard"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Devi essere connesso e un moderatore per salvare le impostazioni "
@@ -650,7 +692,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Devi essere connesso per creare dei post"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Devi essere connesso per creare rapporti"
@@ -747,7 +789,8 @@ msgid "Reset your password to login"
msgstr "Reimposta la tua password per connetterti"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Segnalazione non trovata"
@@ -839,8 +882,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "L'ID profilo fornito non è quello del profilo anonimo"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "L'immagine inserita è troppo pesante"
@@ -865,7 +911,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Impossibile recuperare i dettagli della risorsa da questa URL."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -918,6 +965,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1046,3 +1094,25 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "La nuova email dev'essere diversa"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Devi essere connesso e un moderatore per salvare le impostazioni "
+"dell'amministratore"
diff --git a/priv/gettext/ja/LC_MESSAGES/activity.po b/priv/gettext/ja/LC_MESSAGES/activity.po
index effbe807..a2545dfb 100644
--- a/priv/gettext/ja/LC_MESSAGES/activity.po
+++ b/priv/gettext/ja/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -217,7 +222,8 @@ msgstr[0] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -230,14 +236,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -253,7 +262,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -275,13 +285,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po
index f80bf570..79a0699c 100644
--- a/priv/gettext/ja/LC_MESSAGES/default.po
+++ b/priv/gettext/ja/LC_MESSAGES/default.po
@@ -750,9 +750,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -810,7 +813,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -832,7 +834,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -944,7 +947,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -966,7 +970,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -990,7 +995,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1315,8 +1321,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1397,7 +1405,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1418,6 +1427,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1428,6 +1439,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1478,8 +1491,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1666,3 +1681,137 @@ msgstr ""
msgid "You have one pending attendance request to process for the following event:"
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/ja/LC_MESSAGES/errors.po b/priv/gettext/ja/LC_MESSAGES/errors.po
index fb146335..b9773dbe 100644
--- a/priv/gettext/ja/LC_MESSAGES/errors.po
+++ b/priv/gettext/ja/LC_MESSAGES/errors.po
@@ -102,14 +102,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -134,15 +139,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -157,11 +168,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -172,7 +185,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -193,7 +207,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -268,7 +283,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -288,7 +304,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -339,17 +356,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -359,14 +378,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -382,8 +403,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -399,7 +423,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -414,12 +439,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -429,31 +456,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -468,12 +506,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -484,12 +524,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -509,7 +550,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -571,37 +613,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -626,7 +668,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -721,7 +763,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -811,8 +854,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -837,7 +883,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -888,6 +935,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1016,3 +1064,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/nl/LC_MESSAGES/activity.po b/priv/gettext/nl/LC_MESSAGES/activity.po
index f0da1ed7..89fcafa7 100644
--- a/priv/gettext/nl/LC_MESSAGES/activity.po
+++ b/priv/gettext/nl/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po
index 6e19e58e..258f52c3 100644
--- a/priv/gettext/nl/LC_MESSAGES/default.po
+++ b/priv/gettext/nl/LC_MESSAGES/default.po
@@ -765,9 +765,12 @@ msgid "Please do not use it for real purposes."
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
#, elixir-format
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
@@ -854,6 +857,8 @@ msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
#, elixir-format
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Gelieve deze email te negeren indien u dit niet gevraagd hebt."
@@ -968,6 +973,8 @@ msgstr "Bekijk de melding"
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
#, elixir-format
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -988,7 +995,8 @@ msgid "What's up today?"
msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-format
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
@@ -1014,6 +1022,8 @@ msgstr "U hebt gevraagd om deel te nemen aan het evenement %{title}."
#: lib/web/templates/email/event_participation_approved.html.heex:13
#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
#, elixir-format
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1341,6 +1351,11 @@ msgstr "Dit is een demosite om de bètaversie van Mobilizon te testen."
#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
#, elixir-format
+#, elixir-format
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1422,6 +1437,8 @@ msgstr "Uw deelname aan het evenement %{title} is goedgekeurd"
#: lib/service/export/participants/csv.ex:81
#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
#, elixir-format
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1442,6 +1459,8 @@ msgstr ""
#: lib/service/export/participants/common.ex:52
#, elixir-format
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1452,6 +1471,8 @@ msgstr ""
#: lib/service/export/participants/common.ex:49
#, elixir-format
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1504,6 +1525,10 @@ msgstr ""
#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
#, elixir-format
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1691,3 +1716,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/nl/LC_MESSAGES/errors.po b/priv/gettext/nl/LC_MESSAGES/errors.po
index ddebbb13..ae051dc5 100644
--- a/priv/gettext/nl/LC_MESSAGES/errors.po
+++ b/priv/gettext/nl/LC_MESSAGES/errors.po
@@ -108,14 +108,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -140,15 +145,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -163,11 +174,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -178,7 +191,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -199,7 +213,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -274,7 +289,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -294,7 +310,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -345,17 +362,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -365,14 +384,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -388,8 +409,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -405,7 +429,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -420,12 +445,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -435,31 +462,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -474,12 +512,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -490,12 +530,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -515,7 +556,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -577,37 +619,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -632,7 +674,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -727,7 +769,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -817,8 +860,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -843,7 +889,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -894,6 +941,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1022,3 +1070,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/nn/LC_MESSAGES/activity.po b/priv/gettext/nn/LC_MESSAGES/activity.po
index 149d6722..95e71c57 100644
--- a/priv/gettext/nn/LC_MESSAGES/activity.po
+++ b/priv/gettext/nn/LC_MESSAGES/activity.po
@@ -159,19 +159,22 @@ msgstr "%{profile} oppdaterte medlemen %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "%{profile} laga hendinga %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "%{profile} sletta hendinga %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "%{profile} oppdaterte hendinga %{event}."
@@ -201,13 +204,15 @@ msgstr "%{member} vart med i gruppa."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} kommenterte hendinga %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} svara på ein kommentar til hendinga %{event}."
@@ -228,7 +233,8 @@ msgstr[1] "Sjå %{count} aktivitetar til"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -242,14 +248,17 @@ msgstr "Aktivitet på %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} la ut ei kunngjering til hendinga %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} nemnde deg i ein kommentar til hendinga %{event}."
@@ -267,7 +276,8 @@ msgid "Here's your weekly activity recap"
msgstr "Her er samandraget for denne veka"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Varsel for %{instance}"
@@ -289,13 +299,15 @@ msgstr "Vekesamandrag for %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} skreiv ein ny kommentar til hendinga di %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} skreiv eit nytt svar til hendinga di %{event}."
diff --git a/priv/gettext/nn/LC_MESSAGES/default.po b/priv/gettext/nn/LC_MESSAGES/default.po
index 26d3b41c..c91cd835 100644
--- a/priv/gettext/nn/LC_MESSAGES/default.po
+++ b/priv/gettext/nn/LC_MESSAGES/default.po
@@ -911,9 +911,12 @@ msgstr "Ikkje bruk han på ordentleg."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -978,7 +981,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Hei! Det ser ut til at du vil endra epostadressa du har brukt til "
@@ -1012,7 +1014,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Viss du ikkje gjorde dette sjølv, kan du trygt sjå bort frå dette."
@@ -1129,7 +1132,8 @@ msgstr "Les rapporten:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Sjå på hendingssida"
@@ -1151,7 +1155,8 @@ msgstr "Kva skjer i dag?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1180,7 +1185,8 @@ msgstr "Du ba nyst om å vera med på %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Du skal dit!"
@@ -1608,8 +1614,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Dette er ei demoside for å prøva ut Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "Straumen til %{name}"
@@ -1699,7 +1707,8 @@ msgstr "Du har meldt deg av %{event} på %{instance}!"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr "%{event}_deltakarar"
@@ -1720,6 +1729,8 @@ msgstr "Deltakarstatus"
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr "Styrar"
@@ -1730,6 +1741,8 @@ msgstr "Opphavsperson"
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr "Redaktør"
@@ -1780,8 +1793,10 @@ msgstr "Anonym deltakar"
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr "🌐 %{timezone} %{offset}"
@@ -1971,3 +1986,141 @@ msgstr[0] "Du har ein førespurnad om deltaking å handtera:"
msgstr[1] ""
"Du har %{number_participation_requests} førespurnader om deltaking å "
"handtera:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Hei! Det ser ut til at du vil endra epostadressa du har brukt til "
+"brukarkontoen din på %{instance}. Viss du framleis ynskjer det, kan "
+"du klikka på knappen under for å stadfesta dndringa. Etterpå kan du logga "
+"inn på %{instance} med den nye adressa."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/nn/LC_MESSAGES/errors.po b/priv/gettext/nn/LC_MESSAGES/errors.po
index 7c588c79..3bf70a06 100644
--- a/priv/gettext/nn/LC_MESSAGES/errors.po
+++ b/priv/gettext/nn/LC_MESSAGES/errors.po
@@ -131,14 +131,19 @@ msgid "Error while saving user settings"
msgstr "Greidde ikkje lagra brukarinnstillingane"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Fann ikkje gruppa"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Fann ikkje gruppa med ID %{id}"
@@ -163,15 +168,21 @@ msgid "No user to validate with this email was found"
msgstr "Fann ingen brukar med denne eposten å godkjenna"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Fann ingen brukar med denne eposten"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Ingen godkjent brukar eig denne profilen"
@@ -186,11 +197,13 @@ msgid "The current password is invalid"
msgstr "Dette passordet er ugyldig"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Den nye epostadressa ser ut til å vera feil"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Den nye epostadressa må vera annleis"
@@ -201,7 +214,8 @@ msgid "The new password must be different"
msgstr "Det nye passordet må vera annleis"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Dette passordet er ugyldig"
@@ -222,7 +236,8 @@ msgid "This user has been disabled"
msgstr "Denne brukaren er avskrudd"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Greier ikkje godkjenna brukaren"
@@ -297,7 +312,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Du treng eit eksisterande teikn for å få eit fornyingsteikn"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Du ba om ny stadfestingsepost for snøgt"
@@ -317,7 +333,8 @@ msgid "No profile found with this ID"
msgstr "Fann ingen profil med denne ID-en"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Fann ingen fjern profil med denne ID-en"
@@ -368,17 +385,19 @@ msgid "Comment is already deleted"
msgstr "Kommentaren er allereie sletta"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Fann ikkje ordskiftet"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Greidde ikkje lagra rapporten"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Greidde ikkje oppdatera rapporten"
@@ -388,14 +407,16 @@ msgid "Event id not found"
msgstr "Fann ikkje ID-en til hendinga"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Fann ikkje hendinga"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Det finst inga hending med ID-en %{id}"
@@ -411,8 +432,11 @@ msgid "No discussion with ID %{id}"
msgstr "Ikkje noko ordskifte med ID-en %{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Fann ingen profil for brukaren"
@@ -428,7 +452,8 @@ msgstr "Deltakaren har rolla %{role} allereie"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Fann ikkje deltakaren"
@@ -443,12 +468,14 @@ msgid "Person with username %{username} not found"
msgstr "Fann ingen person med brukarnamnet %{username}"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "Innleggs-IDen er ugyldig"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Innlegget finst ikkje"
@@ -458,31 +485,42 @@ msgid "Profile invited doesn't exist"
msgstr "Den inviterte profilen finst ikkje"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Profilen er allereie medlem i denne gruppa"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Profilen er ikkje medlem i gruppa"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Fann ikkje profilen"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Fann ikkje rapporten"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Ressursen finst ikkje"
@@ -497,12 +535,14 @@ msgid "This token is invalid"
msgstr "Teiknet er ugyldig"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Gjeremålet finst ikkje"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "Gjeremålslista finst ikkje"
@@ -513,12 +553,13 @@ msgid "Token does not exist"
msgstr "Teiknet finst ikkje"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Teiknet er ikkje ein gyldig UUID"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Fann ikkje brukaren"
@@ -538,7 +579,8 @@ msgid "You are not a member of this group"
msgstr "Du er ikkje medlem i denne gruppa"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Du er ikkje styrar eller administrator for denne gruppa"
@@ -605,42 +647,42 @@ msgid "You don't have permission to delete this token"
msgstr "Du har ikkje løyve til å sletta dette teiknet"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
"Du må vera innlogga og ha ei moderatorrolle for å lista opp hendingsloggar"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Du må vera innlogga og ha ei moderatorrolle for å lista opp rapportar"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Du må vera innlogga og ha ei moderatorrolle for å oppdatera ein rapport"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Du må vera innlogga og ha ei moderatorrolle for å lesa rapportar"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Du må vera innlogga og ha ei administratorrolle for å sjå admin-"
"innstillingane"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Du må vera innlogga og ha ei administratorrolle for å sjå statistikk på "
"styringspanelet"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Du må vera innlogga og ha ei administratorrolle for å lagra admin-"
@@ -667,7 +709,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Du må vera innlogga for å skriva innlegg"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Du må vera innlogga for å rapportera"
@@ -764,7 +806,8 @@ msgid "Reset your password to login"
msgstr "Nullstill passordet for å logga inn"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Fann ikkje ressursen"
@@ -855,8 +898,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "Denne profil-IDen er ikkje den anonyme profilen"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "Dette biletet er for stort"
@@ -881,7 +927,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Greidde ikkje henta ressursdetaljane frå denne adressa."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Moderatorprofilen har ikkje tilgang til denne hendinga"
@@ -937,6 +984,7 @@ msgid "Failed to update the group"
msgstr "Greidde ikkje oppdatera gruppa"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr "Greidde ikkje oppdatera epostadressa til brukaren"
@@ -1066,3 +1114,25 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Den nye epostadressa må vera annleis"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Du må vera innlogga og ha ei administratorrolle for å lagra admin-"
+"innstillingar"
diff --git a/priv/gettext/oc/LC_MESSAGES/activity.po b/priv/gettext/oc/LC_MESSAGES/activity.po
index 454e60e7..929a2cbc 100644
--- a/priv/gettext/oc/LC_MESSAGES/activity.po
+++ b/priv/gettext/oc/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/oc/LC_MESSAGES/default.po b/priv/gettext/oc/LC_MESSAGES/default.po
index 95387c16..4247cc3e 100644
--- a/priv/gettext/oc/LC_MESSAGES/default.po
+++ b/priv/gettext/oc/LC_MESSAGES/default.po
@@ -836,9 +836,12 @@ msgstr "Mercés de l’utilizar pas d’un biais real."
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -903,7 +906,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -925,7 +927,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "S’avètz pas demandat aquò, mercés d’ignorar aqueste messatge."
@@ -1043,7 +1046,8 @@ msgstr "Veire lo senhalament :"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Veire la pagina de l'eveniment"
@@ -1065,7 +1069,8 @@ msgstr "Qué de nòu uèi ?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1089,7 +1094,8 @@ msgstr "Avètz demandat de participar a l’eveniment %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "I anatz !"
@@ -1424,8 +1430,10 @@ msgstr ""
"Aquò es un site de demostracion per ensajar la version beta de Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1506,7 +1514,8 @@ msgstr "Vòstra participacion a l’eveniment %{title} es estada aprovada"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1527,6 +1536,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1537,6 +1548,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1587,8 +1600,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1776,3 +1791,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/oc/LC_MESSAGES/errors.po b/priv/gettext/oc/LC_MESSAGES/errors.po
index 13dd8ea5..461b250f 100644
--- a/priv/gettext/oc/LC_MESSAGES/errors.po
+++ b/priv/gettext/oc/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "Error en salvagardant los paramètres utilizaire"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Grop pas trobat"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Grop amb l’ID %{id} pas trobat"
@@ -149,15 +154,21 @@ msgid "No user to validate with this email was found"
msgstr "Cap d’utilizaire de validar amb aqueste email pas trobat"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Degun trobat d'amb aquesta email"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Lo perhiu es pas proprietat del utilizator autenticat"
@@ -172,11 +183,13 @@ msgid "The current password is invalid"
msgstr "Lo mòt de santa clara actuau es invalid"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Lo email nau sèm invalid"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Lo email nau deb esser different"
@@ -187,7 +200,8 @@ msgid "The new password must be different"
msgstr "Lo mòt de santa clara nau deb esser different"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Lo mòt de santa clara aprovedit es invalid"
@@ -210,7 +224,8 @@ msgid "This user has been disabled"
msgstr "Aquest utilizator a essat dasactivat"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Es impossible de validar l'utilizator"
@@ -285,7 +300,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Devetz aver un senhau existant per obtiéner un senhau nau"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Demandatz de nau un email de confirmacion tròp lèu"
@@ -305,7 +321,8 @@ msgid "No profile found with this ID"
msgstr "Cap de profiu trobat d'amb aquesta ID"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Cap de profiu distant trobat d'amb aquesta ID"
@@ -357,17 +374,19 @@ msgid "Comment is already deleted"
msgstr "Comentari déjà suprimit"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Discussion non trobada"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Error mentre que sauvant lo rapòrt"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Error mentre la mesa a jorn dèu rapòrt"
@@ -377,14 +396,16 @@ msgid "Event id not found"
msgstr "ID d'eveniment non trobat"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Eveniment non trobat"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Un eveniment d'amb aquesta ID %{id} existís pas"
@@ -400,8 +421,11 @@ msgid "No discussion with ID %{id}"
msgstr "Cap de discussion d'amb aquesta ID %{id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Cap de profiu trobat per l'utilizator"
@@ -417,7 +441,8 @@ msgstr "Lo/a participant-a a déjà lo ròtle %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Participant non trobat"
@@ -432,12 +457,14 @@ msgid "Person with username %{username} not found"
msgstr "Degun trobat d'amb l'utilizator %{username}"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -447,31 +474,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -486,12 +524,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -502,12 +542,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -527,7 +568,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -589,37 +631,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -644,7 +686,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -739,7 +781,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -829,8 +872,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -855,7 +901,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -906,6 +953,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1034,3 +1082,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Lo email nau deb esser different"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/pl/LC_MESSAGES/activity.po b/priv/gettext/pl/LC_MESSAGES/activity.po
index 9936bef5..811742a8 100644
--- a/priv/gettext/pl/LC_MESSAGES/activity.po
+++ b/priv/gettext/pl/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -219,7 +224,8 @@ msgstr[2] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -234,14 +240,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -257,7 +266,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -279,13 +289,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/pl/LC_MESSAGES/default.po b/priv/gettext/pl/LC_MESSAGES/default.po
index 15ed06cb..bb988565 100644
--- a/priv/gettext/pl/LC_MESSAGES/default.po
+++ b/priv/gettext/pl/LC_MESSAGES/default.po
@@ -829,9 +829,12 @@ msgstr "Nie używaj go do żadnych rzeczywistych celów"
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -900,7 +903,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Cześć! Wydaje się, że próbowałeś(-aś) zmienić adres e-mail połączony z Twoim "
@@ -932,7 +934,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Jeżeli o to nie prosiłeś(-aś), zignoruj tę wiadomość."
@@ -1048,7 +1051,8 @@ msgstr "Zobacz zgłoszenie"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Odwiedź stronę wydarzenia"
@@ -1070,7 +1074,8 @@ msgstr "Co dziś się wydarzy?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1094,7 +1099,8 @@ msgstr "Poprosiłeś(-aś) o uczestnictwo w wydarzeniu %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Weźmiesz udział!"
@@ -1433,8 +1439,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "To jest strona demonstracyjna pozwalająca na przetestowanie Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1515,7 +1523,8 @@ msgstr "Twój udział w wydarzeniu %{title} został zatwierdzony"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1536,6 +1545,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1546,6 +1557,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1596,8 +1609,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1790,3 +1805,141 @@ msgstr[1] ""
msgstr[2] ""
"Masz %{number_participation_requests} próśb o zatwierdzenie uczestnictwa do "
"przejrzenia:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Cześć! Wydaje się, że próbowałeś(-aś) zmienić adres e-mail połączony z Twoim "
+"kontem na %{instance}. Jeżeli nadal chcesz to zrobić, naciśnij na "
+"poniższy przycisk aby potwierdzić zmianę. Będziesz mógł/mogła logować się na "
+"%{instance} używając tego nowego adresu e-mail."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/pl/LC_MESSAGES/errors.po b/priv/gettext/pl/LC_MESSAGES/errors.po
index 79bb2762..6013b16c 100644
--- a/priv/gettext/pl/LC_MESSAGES/errors.po
+++ b/priv/gettext/pl/LC_MESSAGES/errors.po
@@ -122,14 +122,19 @@ msgid "Error while saving user settings"
msgstr "Błąd zapisywania ustawień użytkownika"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Nie odnaleziono grupy"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Nie odnaleziono grupy o ID %{id}"
@@ -156,15 +161,21 @@ msgstr ""
"Nie znaleziono użytkownika do zatwierdzenia z użyciem tego adresu e-mail"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Nie znaleziono użytkownika o tym adresie e-mail"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Profil nie należy do uwierzytelnionego użytkownika"
@@ -179,11 +190,13 @@ msgid "The current password is invalid"
msgstr "Obecne hasło jest nieprawidłowe"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Nowy adres e-mail nie wydaje się być prawidłowy"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Nowy adres e-mail musi się różnić od obecnego"
@@ -194,7 +207,8 @@ msgid "The new password must be different"
msgstr "Nowe hasło musi różnić się od obecnego"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Wprowadzone hasło jest nieprawidłowe"
@@ -217,7 +231,8 @@ msgid "This user has been disabled"
msgstr "Ten użytkownik jest wyłączony"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Nie udało się zwalidować użytkownika"
@@ -293,7 +308,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "Musisz mieć istniejący token, aby uzyskać token odświeżający"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Zbyt wcześnie poprosiłeś(-aś) o nową wiadomość potwierdzającą"
@@ -313,7 +329,8 @@ msgid "No profile found with this ID"
msgstr "Nie ma profilu o tym ID"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Nie ma zdalnego profilu o tym ID"
@@ -364,17 +381,19 @@ msgid "Comment is already deleted"
msgstr "Komentarz jest już usunięty"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Nie znaleziono dyskusji"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "Wystąpił błąd podczas zapisywania zgłoszenia"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "Wystąpił błąd podczas aktualizacji zgłoszenia"
@@ -384,14 +403,16 @@ msgid "Event id not found"
msgstr "Nie znaleziono id wydarzenia"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Nie znaleziono wydarzenia"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Wydarzenie o ID %{id} nie istnieje"
@@ -407,8 +428,11 @@ msgid "No discussion with ID %{id}"
msgstr "Nie znaleziono dyskusji o ID ${id}"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Nie znaleziono profilu dla użytkownika"
@@ -424,7 +448,8 @@ msgstr "Uczestnik już ma rolę %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Nie znaleziono uczestnika"
@@ -439,12 +464,14 @@ msgid "Person with username %{username} not found"
msgstr "Nie znaleziono osoby o nazwie użytkownika %{username}"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "ID wpisu nie jest prawidłowym ID"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Wpis nie istnieje"
@@ -454,31 +481,42 @@ msgid "Profile invited doesn't exist"
msgstr "Zaproszony profil nie istnieje"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Profil jest już członkiem tej grupy"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Profil nie jest członkiem grupy"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Nie znaleziono profilu"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Nie znaleziono zgłoszenia"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Zasób nie istnieje"
@@ -493,12 +531,14 @@ msgid "This token is invalid"
msgstr "Ten token jest nieprawidłowy"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Element listy do zrobienia nie istnieje"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "Lista do zrobienia nie istnieje"
@@ -509,12 +549,13 @@ msgid "Token does not exist"
msgstr "Token nie istnieje"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Token nie jest prawidłowym UUID"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Nie znaleziono użytkownika"
@@ -534,7 +575,8 @@ msgid "You are not a member of this group"
msgstr "Nie jesteś członkiem tej grupy"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Nie jesteś moderatorem ani administratorem tej grupy"
@@ -598,41 +640,41 @@ msgid "You don't have permission to delete this token"
msgstr "Nie masz uprawnień do usunięcia tego tokenu"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr "Musisz być zalogowanym moderatorem, aby mieć dostęp do dzennika działań"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr "Musisz być zalogowanym moderatorem, aby mieć dostęp do listy zgłoszeń"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr "Musisz być zalogowanym moderatorem, aby móc zaktualizować zgłoszenie"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Musisz być zalogowanym moderatorem, aby wyświetlić zgłoszenie"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Musisz być zalogowanym moderatorem, aby uzyskać dostęp do ustawień "
"administratora"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Musisz być zalogowanym administratorem, aby uzyskać dostęp do statystyk w "
"panelu"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Musisz być zalogowanym administratorem, aby zapisywać ustawienia "
@@ -659,7 +701,7 @@ msgid "You need to be logged-in to create posts"
msgstr "Musisz być zalogowany(-a), aby utworzyć wpis"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr "Musisz być zalogowany(-a), aby utworzyć zgłoszenie"
@@ -756,7 +798,8 @@ msgid "Reset your password to login"
msgstr "Resetuj swoje hasło, aby zalogować się"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Nie znaleziono zasobu"
@@ -846,8 +889,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -872,7 +918,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Wskazany profil moderatora nie ma uprawnień dla tego wydarzenia"
@@ -923,6 +970,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1051,3 +1099,25 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Nowy adres e-mail musi się różnić od obecnego"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Musisz być zalogowanym administratorem, aby zapisywać ustawienia "
+"administratora"
diff --git a/priv/gettext/pt/LC_MESSAGES/activity.po b/priv/gettext/pt/LC_MESSAGES/activity.po
index 780b21ee..c825d4ee 100644
--- a/priv/gettext/pt/LC_MESSAGES/activity.po
+++ b/priv/gettext/pt/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/pt/LC_MESSAGES/default.po b/priv/gettext/pt/LC_MESSAGES/default.po
index b06b85e6..cb3b09df 100644
--- a/priv/gettext/pt/LC_MESSAGES/default.po
+++ b/priv/gettext/pt/LC_MESSAGES/default.po
@@ -753,9 +753,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -814,7 +817,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -836,7 +838,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
@@ -948,7 +951,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -970,7 +974,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -994,7 +999,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1319,8 +1325,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1401,7 +1409,8 @@ msgstr ""
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1422,6 +1431,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1432,6 +1443,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1482,8 +1495,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1671,3 +1686,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/pt/LC_MESSAGES/errors.po b/priv/gettext/pt/LC_MESSAGES/errors.po
index ace76319..5e7d3ced 100644
--- a/priv/gettext/pt/LC_MESSAGES/errors.po
+++ b/priv/gettext/pt/LC_MESSAGES/errors.po
@@ -108,14 +108,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -140,15 +145,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -163,11 +174,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -178,7 +191,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -199,7 +213,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -274,7 +289,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -294,7 +310,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -345,17 +362,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -365,14 +384,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -388,8 +409,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -405,7 +429,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -420,12 +445,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -435,31 +462,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -474,12 +512,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -490,12 +530,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -515,7 +556,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -577,37 +619,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -632,7 +674,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -727,7 +769,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -817,8 +860,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -843,7 +889,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -894,6 +941,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1022,3 +1070,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/activity.po b/priv/gettext/pt_BR/LC_MESSAGES/activity.po
index f1f8b262..f8eae919 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/activity.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/activity.po
@@ -151,19 +151,22 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr ""
@@ -193,13 +196,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr ""
@@ -218,7 +223,8 @@ msgstr[1] ""
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -232,14 +238,17 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr ""
@@ -255,7 +264,8 @@ msgid "Here's your weekly activity recap"
msgstr ""
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr ""
@@ -277,13 +287,15 @@ msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr ""
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/default.po b/priv/gettext/pt_BR/LC_MESSAGES/default.po
index 7d997c04..4655db41 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/default.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/default.po
@@ -824,9 +824,12 @@ msgstr "Por favor não utilize este serviço em nenhum caso real"
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -889,7 +892,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -911,7 +913,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr "Se você não não solicitou isso, favor ignorar este email."
@@ -1025,7 +1028,8 @@ msgstr "Veja o relato"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -1047,7 +1051,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1071,7 +1076,8 @@ msgstr "Você solicitou participar no evento %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1431,8 +1437,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Este é um site de demonstração para testar a versão beta do Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1513,7 +1521,8 @@ msgstr "A sua participação no evento %{title} foi aprovada"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1534,6 +1543,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1544,6 +1555,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1594,8 +1607,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1783,3 +1798,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/errors.po b/priv/gettext/pt_BR/LC_MESSAGES/errors.po
index 276929fe..3cf786e5 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/errors.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/errors.po
@@ -108,14 +108,19 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr ""
@@ -140,15 +145,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -163,11 +174,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -178,7 +191,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -199,7 +213,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -274,7 +289,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -294,7 +310,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -345,17 +362,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -365,14 +384,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -388,8 +409,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -405,7 +429,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -420,12 +445,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -435,31 +462,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -474,12 +512,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -490,12 +530,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -515,7 +556,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -577,37 +619,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -632,7 +674,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -727,7 +769,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr ""
@@ -817,8 +860,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -843,7 +889,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -894,6 +941,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1022,3 +1070,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/priv/gettext/ru/LC_MESSAGES/activity.po b/priv/gettext/ru/LC_MESSAGES/activity.po
index 77f7b908..8cfdf1b4 100644
--- a/priv/gettext/ru/LC_MESSAGES/activity.po
+++ b/priv/gettext/ru/LC_MESSAGES/activity.po
@@ -159,19 +159,22 @@ msgstr "%{profile} обновил участника %{member}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:23
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "Мероприятие %{event} было создано %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:43
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
msgid "The event %{event} was deleted by %{profile}."
msgstr "Мероприятие %{event} было удалено %{profile}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:33
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
msgid "The event %{event} was updated by %{profile}."
msgstr "Мероприятие %{event} было обновлено %{profile}."
@@ -201,13 +204,15 @@ msgstr "%{member} присоединился к группе."
#, elixir-format
#: lib/service/activity/renderer/event.ex:63
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} оставил комментарий к мероприятию %{event}."
#, elixir-format
#: lib/service/activity/renderer/event.ex:54
-#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} ответил на комментарий к мероприятию %{event}."
@@ -229,7 +234,8 @@ msgstr[2] "Посмотреть еще %{count} событий"
#, elixir-format
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: lib/web/templates/email/email_direct_activity.text.eex:6
#: lib/web/templates/email/email_direct_activity.text.eex:7
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
@@ -244,14 +250,17 @@ msgstr "События на %{instance}"
#, elixir-format
#: lib/service/activity/renderer/comment.ex:38
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
-#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} разместил объявление под мероприятием %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:24
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} упомянул вас в комментарии под мероприятием %{event}."
@@ -269,7 +278,8 @@ msgid "Here's your weekly activity recap"
msgstr "Вот итоги вашей еженедельной активности"
#, elixir-format
-#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "События на %{instance}"
@@ -291,13 +301,15 @@ msgstr "Итоги еженедельной активности для %{instan
#, elixir-format
#: lib/service/activity/renderer/comment.ex:66
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} разместил новый комментарий под вашим мероприятием %{event}."
#, elixir-format
#: lib/service/activity/renderer/comment.ex:53
-#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} опубликовал новый ответ под вашим мероприятием %{event}."
diff --git a/priv/gettext/ru/LC_MESSAGES/default.po b/priv/gettext/ru/LC_MESSAGES/default.po
index ddcb4b6e..1a506d8e 100644
--- a/priv/gettext/ru/LC_MESSAGES/default.po
+++ b/priv/gettext/ru/LC_MESSAGES/default.po
@@ -937,9 +937,12 @@ msgstr "Пожалуйста, используйте это только для
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -1009,7 +1012,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
"Привет! Похоже, вы хотели изменить адрес электронной почты, связанный с "
@@ -1043,7 +1045,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
"Если вы не оставляли этот запрос, пожалуйста, проигнорируйте данное письмо."
@@ -1160,7 +1163,8 @@ msgstr "Смотреть отчёт:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr "Посетите страницу мероприятия"
@@ -1182,7 +1186,8 @@ msgstr "Что будет сегодня?"
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1212,7 +1217,8 @@ msgstr "Вы недавно подали заявку на присоедине
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr "Вы примете участие!"
@@ -1645,8 +1651,10 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Это демонстрационная площадка для тестирования Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr "Лента %{name}"
@@ -1741,7 +1749,8 @@ msgstr "Ваше участие в %{event} на %{instance} было отмен
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr "%{event}_участники"
@@ -1762,6 +1771,8 @@ msgstr "Статус участника"
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr "Администратор"
@@ -1772,6 +1783,8 @@ msgstr "Автор"
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr "Модератор"
@@ -1822,8 +1835,10 @@ msgstr "Анонимный участник"
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr "%{timezone} %{offset}"
@@ -2020,3 +2035,141 @@ msgstr[1] ""
msgstr[2] ""
"У вас есть %{number_participation_requests} ожидающих рассмотрения запросов "
"на участие:"
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+"Привет! Похоже, вы хотели изменить адрес электронной почты, связанный с "
+"вашей учетной записью на %{instance}. Если вы все еще хотите сделать "
+"это, нажмите кнопку ниже, чтобы подтвердить изменение. После этого вы "
+"сможете войти в %{instance} с новым адресом электронной почты."
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/ru/LC_MESSAGES/errors.po b/priv/gettext/ru/LC_MESSAGES/errors.po
index 4a3c8bfd..1890d257 100644
--- a/priv/gettext/ru/LC_MESSAGES/errors.po
+++ b/priv/gettext/ru/LC_MESSAGES/errors.po
@@ -122,14 +122,19 @@ msgid "Error while saving user settings"
msgstr "Ошибка при сохранении пользовательских настроек"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Группа не найдена"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Группа с ID %{id} не найдена"
@@ -158,15 +163,21 @@ msgstr ""
"электронной почты"
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr "Пользователя с этим адресом электронной почты не найдено"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr "Профиль не принадлежит аутентифицированному пользователю"
@@ -181,11 +192,13 @@ msgid "The current password is invalid"
msgstr "Текущий пароль неверен"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr "Новый адрес электронной почты недействителен"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr "Новый адрес электронной почты должен отличаться от текущего"
@@ -196,7 +209,8 @@ msgid "The new password must be different"
msgstr "Новый пароль должен отличаться от текущего"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr "Введён неверный пароль"
@@ -219,7 +233,8 @@ msgid "This user has been disabled"
msgstr "Этот пользователь отключен"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr "Невозможно проверить пользователя"
@@ -296,7 +311,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr "У вас должен быть существующий токен, чтобы получить токен обновления"
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr "Вы слишком рано запросили новое письмо с подтверждением"
@@ -316,7 +332,8 @@ msgid "No profile found with this ID"
msgstr "Профиль с этим ID не найден"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr "Удалённый профиль с этим ID не найден"
@@ -367,17 +384,19 @@ msgid "Comment is already deleted"
msgstr "Комментарий уже удалён"
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr "Обсуждение не найдено"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr "При сохранении отчёта произошла ошибка"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr "При обновлении отчёта произошла ошибка"
@@ -387,14 +406,16 @@ msgid "Event id not found"
msgstr "Не найден id мероприятия"
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr "Мероприятие не найдено"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr "Мероприятия с ID %{id} не существует"
@@ -410,8 +431,11 @@ msgid "No discussion with ID %{id}"
msgstr "Обсуждения с ID %{id} нет"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr "Профиль пользователя не найден"
@@ -427,7 +451,8 @@ msgstr "У участника уже есть роль %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Участник не найден"
@@ -442,12 +467,14 @@ msgid "Person with username %{username} not found"
msgstr "Не найдено человека с именем пользователя %{username}"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr "ID поста имеет недопустимое значение"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr "Пост не существует"
@@ -457,31 +484,42 @@ msgid "Profile invited doesn't exist"
msgstr "Приглашенный профиль не существует"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr "Профиль уже является участником этой группы"
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr "Профиль не является членом группы"
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr "Профиль не найден"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr "Отчёт не найден"
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "Ресурс не существует"
@@ -498,12 +536,14 @@ msgid "This token is invalid"
msgstr "Этот токен недействителен"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr "Такого пункта в списке дел не существует"
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr "Списка дел не существует"
@@ -514,12 +554,13 @@ msgid "Token does not exist"
msgstr "Токен не существует"
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr "Токен не является допустимым UUID"
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr "Пользователь не найден"
@@ -539,7 +580,8 @@ msgid "You are not a member of this group"
msgstr "Вы не состоите в этой группе"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr "Вы не модератор и не администратор этой группы"
@@ -605,45 +647,45 @@ msgid "You don't have permission to delete this token"
msgstr "У вас нет прав на удаление этого токена"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
"Для доступа к журналу активности вы должны войти в систему и иметь права "
"модератора"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
"Для доступа к списку отчётов вы должны войти в систему и иметь права "
"модератора"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
"Для обновления отчёта вы должны войти в систему и иметь права модератора"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr "Для просмотра отчёта вы должны войти в систему и иметь права модератора"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
"Для доступа в админку вы должны войти в систему и иметь права администратора"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
"Для доступа к панели со статистикой вы должны войти в систему и иметь права "
"администратора"
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
"Для сохранения настроек в админке вы должны войти в систему и иметь права "
@@ -672,7 +714,7 @@ msgstr ""
"Вам необходимо войти в систему, чтобы иметь возможность создавать публикации"
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
"Вам необходимо войти в систему, чтобы иметь возможность создавать отчёты"
@@ -776,7 +818,8 @@ msgid "Reset your password to login"
msgstr "Сбросьте пароль для входа в систему"
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Ресурс не найден"
@@ -867,8 +910,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "Указанный ID профиля не является анонимным"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr "Предоставленное изображение слишком большое"
@@ -893,7 +939,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr "Невозможно получить сведения о ресурсе по этому URL-адресу."
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Указанный профиль модератора не имеет доступа к этому событию"
@@ -949,6 +996,7 @@ msgid "Failed to update the group"
msgstr "Не удалось обновить группу"
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr "Не удалось обновить электронную почту пользователя"
@@ -1077,3 +1125,25 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr "Новый адрес электронной почты должен отличаться от текущего"
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
+"Для сохранения настроек в админке вы должны войти в систему и иметь права "
+"администратора"
diff --git a/priv/gettext/sv/LC_MESSAGES/activity.po b/priv/gettext/sv/LC_MESSAGES/activity.po
index 65f2a02a..b3846fc5 100644
--- a/priv/gettext/sv/LC_MESSAGES/activity.po
+++ b/priv/gettext/sv/LC_MESSAGES/activity.po
@@ -159,18 +159,29 @@ msgstr "%{profile} uppdaterade medlemmen %{member}."
#: lib/service/activity/renderer/event.ex:23
#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
-#, elixir-format
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
msgid "The event %{event} was created by %{profile}."
msgstr "Händelsen %{event} skapades av %{profile}."
#: lib/service/activity/renderer/event.ex:43
#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:34
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
+msgid "The event %{event} was deleted by %{profile}."
+msgstr ""
+
#, elixir-format
msgid "The event %{event} was deleted by %{profile}."
msgstr "Händelsen %{event} togs bort av %{profile}."
#: lib/service/activity/renderer/event.ex:33
#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
+msgid "The event %{event} was updated by %{profile}."
+msgstr ""
+
#, elixir-format
msgid "The event %{event} was updated by %{profile}."
msgstr "Händelsen %{event} uppdaterades av %{profile}."
@@ -201,12 +212,22 @@ msgstr "%{member} gick med i gruppen."
#: lib/service/activity/renderer/event.ex:63
#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:58
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
+msgid "%{profile} posted a comment on the event %{event}."
+msgstr ""
+
#, elixir-format
msgid "%{profile} posted a comment on the event %{event}."
msgstr "%{profile} la en kommentar till händelsen %{event}."
#: lib/service/activity/renderer/event.ex:54
#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_event_activity_item.html.heex:43
+#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
+msgid "%{profile} replied to a comment on the event %{event}."
+msgstr ""
+
#, elixir-format
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "%{profile} svarade på en kommentar i evenemanget %{event}."
@@ -227,7 +248,8 @@ msgstr[0] "Visa en till aktivitet"
msgstr[1] "Visa %{count} fler aktiviteter"
#: lib/web/templates/email/email_direct_activity.html.heex:44
-#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
+#: lib/web/templates/email/email_direct_activity.html.heex:46
+#: 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!"
@@ -243,12 +265,24 @@ msgstr "Aktivitet på %{instance}"
#: lib/service/activity/renderer/comment.ex:38
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
+#: lib/web/templates/email/email_anonymous_activity.html.heex:41
+#: lib/web/templates/email/email_anonymous_activity.text.eex:5
+msgid "%{profile} has posted an announcement under event %{event}."
+msgstr ""
+
#, elixir-format
msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} skickade ut en kungörelse under händelsen %{event}."
#: lib/service/activity/renderer/comment.ex:24
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
+msgid "%{profile} mentionned you in a comment under event %{event}."
+msgstr ""
+
#, elixir-format
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "%{profile} nämnde dig i en kommentar under händelsen %{event}."
@@ -268,6 +302,9 @@ msgstr "Här är din veckas aktivitetssammanfattning"
#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
#, elixir-format
+#, elixir-format
+#: lib/web/email/activity.ex:119
+#: lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Aktivitetsavisering för %{instance}"
@@ -289,6 +326,11 @@ msgstr "Veckoaktivitetssammanfattning för %{instance}"
#: lib/service/activity/renderer/comment.ex:66
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
+msgid "%{profile} has posted a new comment under your event %{event}."
+msgstr ""
+
#, elixir-format
msgid "%{profile} has posted a new comment under your event %{event}."
msgstr "%{profile} har lagt en ny kommentar under ditt evenemang %{event}."
@@ -296,6 +338,8 @@ msgstr "%{profile} har lagt en ny kommentar under ditt evenemang %{event}."
#: lib/service/activity/renderer/comment.ex:53
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
#, elixir-format
+#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36
+#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "%{profile} har lagt ett nytt svar under ditt evenemang %{event}."
diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po
index 4a884c4d..4e5eade6 100644
--- a/priv/gettext/sv/LC_MESSAGES/default.po
+++ b/priv/gettext/sv/LC_MESSAGES/default.po
@@ -771,9 +771,12 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133
-#: lib/web/templates/email/event_updated.text.eex:14 lib/web/templates/email/notification_each_week.html.heex:60
-#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6
+#: lib/web/templates/email/event_updated.html.heex:133
+#: lib/web/templates/email/event_updated.text.eex:14
+#: lib/web/templates/email/notification_each_week.html.heex:60
+#: lib/web/templates/email/notification_each_week.text.eex:11
+#: lib/web/templates/email/on_day_notification.html.heex:60
#: lib/web/templates/email/on_day_notification.text.eex:11
msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button."
msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button."
@@ -836,7 +839,6 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/email_changed_new.html.heex:38
-#: lib/web/templates/email/email_changed_new.text.eex:3
msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
msgstr ""
@@ -858,7 +860,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70
-#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45
+#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4
+#: lib/web/templates/email/registration_confirmation.html.heex:45
msgid "If you didn't trigger this email, you may safely ignore it."
msgstr ""
"Du kan strunta i det här meddelandet om det inte var du frågade efter det."
@@ -973,7 +976,8 @@ msgstr "Visa anmälan:"
#, elixir-format
#: lib/web/templates/email/email_anonymous_activity.html.heex:67
-#: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58
+#: lib/web/templates/email/event_participation_approved.html.heex:58
+#: lib/web/templates/email/event_participation_confirmed.html.heex:58
msgid "Visit event page"
msgstr ""
@@ -995,7 +999,8 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:70
-#: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:70
+#: lib/web/templates/email/event_participation_approved.text.eex:11
+#: lib/web/templates/email/event_participation_confirmed.html.heex:70
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr ""
@@ -1019,7 +1024,8 @@ msgstr "Du har bett om att få delta i evenemanget %{title}."
#, elixir-format
#: lib/web/templates/email/event_participation_approved.html.heex:13
-#: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1
+#: lib/web/templates/email/event_participation_confirmed.html.heex:13
+#: lib/web/templates/email/event_participation_confirmed.text.eex:1
msgid "You're going!"
msgstr ""
@@ -1347,8 +1353,10 @@ msgstr ""
"Detta är en webbplats för att visa upp och testa beta-versionen av Mobilizon."
#, elixir-format
-#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99
-#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62
+#: lib/service/metadata/actor.ex:91
+#: lib/service/metadata/actor.ex:99
+#: lib/service/metadata/instance.ex:56
+#: lib/service/metadata/instance.ex:62
msgid "%{name}'s feed"
msgstr ""
@@ -1429,7 +1437,8 @@ msgstr "Din förfrågan om att få delta i evenemanget %{title} har godkännts"
#. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems.
#, elixir-format
#: lib/service/export/participants/csv.ex:81
-#: lib/service/export/participants/ods.ex:86 lib/service/export/participants/pdf.ex:96
+#: lib/service/export/participants/ods.ex:86
+#: lib/service/export/participants/pdf.ex:96
msgid "%{event}_participants"
msgstr ""
@@ -1450,6 +1459,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:52
+#: lib/web/templates/email/admin/_role.html.heex:3
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Administrator"
msgstr ""
@@ -1460,6 +1471,8 @@ msgstr ""
#, elixir-format
#: lib/service/export/participants/common.ex:49
+#: lib/web/templates/email/admin/_role.html.heex:5
+#: lib/web/templates/email/admin/_role.text.eex:1
msgid "Moderator"
msgstr ""
@@ -1510,8 +1523,10 @@ msgstr ""
#, elixir-format
#: lib/web/templates/email/date/event_tz_date.html.heex:6
-#: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12
-#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:7
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:12
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
msgid "🌐 %{timezone} %{offset}"
msgstr ""
@@ -1699,3 +1714,137 @@ msgid "You have one pending attendance request to process for the following even
msgid_plural "You have %{number_participation_requests} attendance requests to process for the following event:"
msgstr[0] ""
msgstr[1] ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:13
+#: lib/web/templates/email/admin_user_role_changed.text.eex:1
+msgid "An administrator changed your role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:120
+msgid "An administrator confirmed your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:13
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
+msgid "An administrator manually changed the email attached to your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:47
+#: lib/web/email/admin.ex:72
+msgid "An administrator manually changed the email attached to your account on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:13
+#: lib/web/templates/email/admin_user_confirmation.text.eex:1
+msgid "An administrator manually confirmed your account"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/email/admin.ex:98
+msgid "An administrator updated your role on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/web/templates/email/email_changed_new.text.eex:3
+msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} to %{new_email} (this one)."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:71
+#: lib/web/templates/email/admin_user_email_changed_new.html.heex:45
+#: lib/web/templates/email/admin_user_email_changed_old.html.heex:45
+#: lib/web/templates/email/admin_user_role_changed.html.heex:67
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:7
+#: lib/web/templates/email/admin_user_email_changed_new.text.eex:4
+#: lib/web/templates/email/admin_user_email_changed_old.text.eex:4
+#: lib/web/templates/email/admin_user_role_changed.text.eex:8
+msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:58
+msgid "Login on %{instance}"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:55
+msgid "New role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:6
+msgid "New role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:47
+msgid "Old role"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:5
+msgid "Old role:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin/_role.html.heex:7
+#: lib/web/templates/email/admin/_role.text.eex:1
+msgid "User"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.html.heex:45
+msgid "You may now login using your credentials on the service."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_confirmation.text.eex:5
+msgid "You may now login using your credentials on the service:"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.text.eex:3
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/web/templates/email/admin_user_role_changed.html.heex:38
+msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
+msgstr ""
diff --git a/priv/gettext/sv/LC_MESSAGES/errors.po b/priv/gettext/sv/LC_MESSAGES/errors.po
index aafbfe5f..b4e187e1 100644
--- a/priv/gettext/sv/LC_MESSAGES/errors.po
+++ b/priv/gettext/sv/LC_MESSAGES/errors.po
@@ -115,14 +115,19 @@ msgid "Error while saving user settings"
msgstr "Ett fel uppstod när användarinställningarna skulle sparas"
#, elixir-format
-#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:249
-#: lib/graphql/resolvers/group.ex:281 lib/graphql/resolvers/group.ex:318 lib/graphql/resolvers/group.ex:349
-#: lib/graphql/resolvers/group.ex:398 lib/graphql/resolvers/member.ex:81
+#: lib/graphql/error.ex:99
+#: lib/graphql/resolvers/group.ex:249
+#: lib/graphql/resolvers/group.ex:281
+#: lib/graphql/resolvers/group.ex:318
+#: lib/graphql/resolvers/group.ex:349
+#: lib/graphql/resolvers/group.ex:398
+#: lib/graphql/resolvers/member.ex:81
msgid "Group not found"
msgstr "Gruppen kunde inte hittas"
#, elixir-format
-#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
+#: lib/graphql/resolvers/group.ex:78
+#: lib/graphql/resolvers/group.ex:82
msgid "Group with ID %{id} not found"
msgstr "Gruppen med %{id} kunde inte hittas"
@@ -147,15 +152,21 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:298
+#: lib/graphql/resolvers/person.ex:314
+#: lib/graphql/resolvers/user.ex:298
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28
-#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
-#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
-#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
+#: lib/graphql/resolvers/participant.ex:32
+#: lib/graphql/resolvers/participant.ex:210
+#: lib/graphql/resolvers/person.ex:236
+#: lib/graphql/resolvers/person.ex:353
+#: lib/graphql/resolvers/person.ex:380
+#: lib/graphql/resolvers/person.ex:397
+#: lib/graphql/resolvers/person.ex:425
+#: lib/graphql/resolvers/person.ex:440
msgid "Profile is not owned by authenticated user"
msgstr ""
@@ -170,11 +181,13 @@ msgid "The current password is invalid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:341
#: lib/graphql/resolvers/user.ex:472
msgid "The new email doesn't seem to be valid"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:344
#: lib/graphql/resolvers/user.ex:475
msgid "The new email must be different"
msgstr ""
@@ -185,7 +198,8 @@ msgid "The new password must be different"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:479 lib/graphql/resolvers/user.ex:541
+#: lib/graphql/resolvers/user.ex:479
+#: lib/graphql/resolvers/user.ex:541
#: lib/graphql/resolvers/user.ex:544
msgid "The password provided is invalid"
msgstr ""
@@ -206,7 +220,8 @@ msgid "This user has been disabled"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:252 lib/graphql/resolvers/user.ex:257
+#: lib/graphql/resolvers/user.ex:252
+#: lib/graphql/resolvers/user.ex:257
msgid "Unable to validate user"
msgstr ""
@@ -281,7 +296,8 @@ msgid "You need to have an existing token to get a refresh token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/user.ex:276 lib/graphql/resolvers/user.ex:301
+#: lib/graphql/resolvers/user.ex:276
+#: lib/graphql/resolvers/user.ex:301
msgid "You requested again a confirmation email too soon"
msgstr ""
@@ -301,7 +317,8 @@ msgid "No profile found with this ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
+#: lib/graphql/resolvers/actor.ex:61
+#: lib/graphql/resolvers/actor.ex:97
msgid "No remote profile found with this ID"
msgstr ""
@@ -352,17 +369,19 @@ msgid "Comment is already deleted"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
+#: lib/graphql/error.ex:101
+#: lib/graphql/resolvers/discussion.ex:69
msgid "Discussion not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
+#: lib/graphql/resolvers/report.ex:71
+#: lib/graphql/resolvers/report.ex:90
msgid "Error while saving report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:102
+#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
@@ -372,14 +391,16 @@ msgid "Event id not found"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
+#: lib/graphql/error.ex:98
+#: lib/graphql/resolvers/event.ex:360
#: lib/graphql/resolvers/event.ex:412
msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
-#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
+#: lib/graphql/resolvers/participant.ex:128
+#: lib/graphql/resolvers/participant.ex:155
#: lib/graphql/resolvers/participant.ex:336
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
@@ -395,8 +416,11 @@ msgid "No discussion with ID %{id}"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
-#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
+#: lib/graphql/resolvers/todos.ex:80
+#: lib/graphql/resolvers/todos.ex:107
+#: lib/graphql/resolvers/todos.ex:179
+#: lib/graphql/resolvers/todos.ex:208
+#: lib/graphql/resolvers/todos.ex:237
msgid "No profile found for user"
msgstr ""
@@ -412,7 +436,8 @@ msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:187
-#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
+#: lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr ""
@@ -427,12 +452,14 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
+#: lib/graphql/resolvers/post.ex:169
+#: lib/graphql/resolvers/post.ex:203
msgid "Post ID is not a valid ID"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
+#: lib/graphql/resolvers/post.ex:172
+#: lib/graphql/resolvers/post.ex:206
msgid "Post doesn't exist"
msgstr ""
@@ -442,31 +469,42 @@ msgid "Profile invited doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:93 lib/graphql/resolvers/member.ex:97
+#: lib/graphql/resolvers/member.ex:93
+#: lib/graphql/resolvers/member.ex:97
msgid "Profile is already a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
-#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
-#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
-#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
-#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
+#: lib/graphql/resolvers/post.ex:133
+#: lib/graphql/resolvers/post.ex:175
+#: lib/graphql/resolvers/post.ex:209
+#: lib/graphql/resolvers/resource.ex:90
+#: lib/graphql/resolvers/resource.ex:132
+#: lib/graphql/resolvers/resource.ex:165
+#: lib/graphql/resolvers/resource.ex:199
+#: lib/graphql/resolvers/todos.ex:58
+#: lib/graphql/resolvers/todos.ex:83
+#: lib/graphql/resolvers/todos.ex:110
+#: lib/graphql/resolvers/todos.ex:182
+#: lib/graphql/resolvers/todos.ex:214
+#: lib/graphql/resolvers/todos.ex:246
msgid "Profile is not member of group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
+#: lib/graphql/resolvers/actor.ex:67
+#: lib/graphql/resolvers/person.ex:233
msgid "Profile not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:40
+#: lib/graphql/resolvers/report.ex:48
msgid "Report not found"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
+#: lib/graphql/resolvers/resource.ex:169
+#: lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr ""
@@ -481,12 +519,14 @@ msgid "This token is invalid"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
+#: lib/graphql/resolvers/todos.ex:176
+#: lib/graphql/resolvers/todos.ex:243
msgid "Todo doesn't exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
+#: lib/graphql/resolvers/todos.ex:77
+#: lib/graphql/resolvers/todos.ex:211
#: lib/graphql/resolvers/todos.ex:240
msgid "Todo list doesn't exist"
msgstr ""
@@ -497,12 +537,13 @@ msgid "Token does not exist"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
+#: lib/graphql/resolvers/feed_token.ex:67
+#: lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
+#: lib/graphql/error.ex:96
msgid "User not found"
msgstr ""
@@ -522,7 +563,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:157 lib/graphql/resolvers/member.ex:173
+#: lib/graphql/resolvers/member.ex:157
+#: lib/graphql/resolvers/member.ex:173
#: lib/graphql/resolvers/member.ex:188
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -584,37 +626,37 @@ msgid "You don't have permission to delete this token"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:54
+#: lib/graphql/resolvers/admin.ex:56
msgid "You need to be logged-in and a moderator to list action logs"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:28
+#: lib/graphql/resolvers/report.ex:36
msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:107
+#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:45
+#: lib/graphql/resolvers/report.ex:53
msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:255
+#: lib/graphql/resolvers/admin.ex:257
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:239
+#: lib/graphql/resolvers/admin.ex:241
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/admin.ex:281
+#: lib/graphql/resolvers/admin.ex:283
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@@ -639,7 +681,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/report.ex:79
+#: lib/graphql/resolvers/report.ex:87
msgid "You need to be logged-in to create reports"
msgstr ""
@@ -734,7 +776,8 @@ msgid "Reset your password to login"
msgstr ""
#, elixir-format
-#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
+#: lib/graphql/error.ex:95
+#: lib/graphql/error.ex:100
msgid "Resource not found"
msgstr "Resursen kunde inte hittas"
@@ -824,8 +867,11 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/group.ex:161 lib/graphql/resolvers/group.ex:203
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:161
+#: lib/graphql/resolvers/group.ex:203
+#: lib/graphql/resolvers/person.ex:148
+#: lib/graphql/resolvers/person.ex:182
+#: lib/graphql/resolvers/person.ex:304
msgid "The provided picture is too heavy"
msgstr ""
@@ -850,7 +896,8 @@ msgid "Unable to fetch resource details from this URL."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
+#: lib/graphql/resolvers/event.ex:164
+#: lib/graphql/resolvers/participant.ex:253
#: lib/graphql/resolvers/participant.ex:328
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
@@ -901,6 +948,7 @@ msgid "Failed to update the group"
msgstr ""
#, elixir-format
+#: lib/graphql/resolvers/admin.ex:338
#: lib/graphql/resolvers/user.ex:469
msgid "Failed to update user email"
msgstr ""
@@ -1029,3 +1077,23 @@ msgstr ""
#: lib/graphql/resolvers/user.ex:157
msgid "Your email seems to be using an invalid format"
msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:387
+msgid "Can't confirm an already confirmed user"
+msgstr ""
+
+#, elixir-format, ex-autogen
+#: lib/graphql/resolvers/admin.ex:391
+msgid "Deconfirming users is not supported"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:363
+msgid "The new role must be different"
+msgstr ""
+
+#, elixir-format, ex-autogen, fuzzy
+#: lib/graphql/resolvers/admin.ex:314
+msgid "You need to be logged-in and an administrator to edit an user's details"
+msgstr ""
diff --git a/test/graphql/resolvers/admin_test.exs b/test/graphql/resolvers/admin_test.exs
index 0812caef..718030bc 100644
--- a/test/graphql/resolvers/admin_test.exs
+++ b/test/graphql/resolvers/admin_test.exs
@@ -1,14 +1,14 @@
defmodule Mobilizon.GraphQL.Resolvers.AdminTest do
use Mobilizon.Web.ConnCase
-
+ use Bamboo.Test
import Mobilizon.Factory
alias Mobilizon.Actors.Actor
alias Mobilizon.Events.Event
+ alias Mobilizon.Federation.ActivityPub.Relay
alias Mobilizon.Reports.{Note, Report}
alias Mobilizon.Users.User
-
- alias Mobilizon.Federation.ActivityPub.Relay
+ alias Mobilizon.Web.Email
alias Mobilizon.GraphQL.{AbsintheHelpers, API}
@@ -480,11 +480,11 @@ defmodule Mobilizon.GraphQL.Resolvers.AdminTest do
end
test "unless user isn't admin", %{conn: conn} do
- admin = insert(:user)
+ user = insert(:user)
res =
conn
- |> auth_conn(admin)
+ |> auth_conn(user)
|> AbsintheHelpers.graphql_query(
query: @update_instance_admin_settings_mutation,
variables: %{"instanceName" => @new_instance_name, "registrationsOpen" => false}
@@ -494,4 +494,244 @@ defmodule Mobilizon.GraphQL.Resolvers.AdminTest do
"You need to be logged-in and an administrator to save admin settings"
end
end
+
+ @admin_update_user """
+ mutation AdminUpdateUser($id: ID!, $email: String, $role: UserRole, $confirmed: Boolean, $notify: Boolean) {
+ adminUpdateUser(id: $id, email: $email, role: $role, confirmed: $confirmed, notify: $notify) {
+ id
+ email
+ role
+ confirmedAt
+ }
+ }
+ """
+
+ describe "Resolver: Update an user email" do
+ setup do
+ admin = insert(:user, role: :administrator)
+ user = insert(:user)
+ {:ok, admin: admin, user: user}
+ end
+
+ test "when not an admin", %{conn: conn, user: user} do
+ admin = insert(:user)
+
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "email" => "new@email.com"}
+ )
+
+ assert hd(res["errors"])["message"] ==
+ "You need to be logged-in and an administrator to edit an user's details"
+ end
+
+ test "when putting same email", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "email" => user.email}
+ )
+
+ assert hd(res["errors"])["message"] ==
+ "The new email must be different"
+ end
+
+ test "with an invalid email", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "email" => "not an email"}
+ )
+
+ assert hd(res["errors"])["message"] ==
+ "The new email doesn't seem to be valid"
+ end
+
+ test "with a valid email, and no notification", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "email" => "new@email.com", "notify" => false}
+ )
+
+ refute_delivered_email(
+ Email.Admin.user_email_change_old(%User{user | email: "new@email.com"}, user.email)
+ )
+
+ refute_delivered_email(
+ Email.Admin.user_email_change_new(%User{user | email: "new@email.com"}, user.email)
+ )
+
+ assert res["errors"] == nil
+ assert res["data"]["adminUpdateUser"]["email"] == "new@email.com"
+ end
+
+ test "with a valid email, and notification", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "email" => "new@email.com", "notify" => true}
+ )
+
+ assert_delivered_email(
+ Email.Admin.user_email_change_old(%User{user | email: "new@email.com"}, user.email)
+ )
+
+ assert_delivered_email(
+ Email.Admin.user_email_change_new(%User{user | email: "new@email.com"}, user.email)
+ )
+
+ assert res["errors"] == nil
+ assert res["data"]["adminUpdateUser"]["email"] == "new@email.com"
+ end
+ end
+
+ describe "Resolver: Update an user role" do
+ setup do
+ admin = insert(:user, role: :administrator)
+ user = insert(:user)
+ {:ok, admin: admin, user: user}
+ end
+
+ test "when putting same role", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "role" => String.upcase(to_string(user.role))}
+ )
+
+ assert hd(res["errors"])["message"] ==
+ "The new role must be different"
+ end
+
+ test "with an invalid role", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "role" => "not a valid role"}
+ )
+
+ assert hd(res["errors"])["message"] ==
+ "Argument \"role\" has invalid value $role."
+ end
+
+ test "with a valid role, and no notification", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "role" => "MODERATOR", "notify" => false}
+ )
+
+ refute_delivered_email(
+ Email.Admin.user_role_change(%User{user | role: :moderator}, user.role)
+ )
+
+ assert res["errors"] == nil
+ assert res["data"]["adminUpdateUser"]["role"] == "MODERATOR"
+ end
+
+ test "with a valid role, and notification", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "role" => "MODERATOR", "notify" => true}
+ )
+
+ assert_delivered_email(
+ Email.Admin.user_role_change(%User{user | role: :moderator}, user.role)
+ )
+
+ assert res["errors"] == nil
+ assert res["data"]["adminUpdateUser"]["role"] == "MODERATOR"
+ end
+ end
+
+ describe "Resolver: Confirm an user" do
+ setup do
+ admin = insert(:user, role: :administrator)
+ user = insert(:user)
+ {:ok, admin: admin, user: user}
+ end
+
+ test "already confirmed", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "confirmed" => true, "notify" => false}
+ )
+
+ refute_delivered_email(Email.Admin.user_confirmation(user))
+
+ assert hd(res["errors"])["message"] == "Can't confirm an already confirmed user"
+ end
+
+ test "while unconfirming", %{conn: conn, user: user, admin: admin} do
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "confirmed" => false, "notify" => false}
+ )
+
+ refute_delivered_email(Email.Admin.user_confirmation(user))
+
+ assert hd(res["errors"])["message"] == "Deconfirming users is not supported"
+ end
+
+ test "while confirming, and no notification", %{conn: conn, admin: admin} do
+ user = insert(:user, confirmed_at: nil)
+
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "confirmed" => true, "notify" => false}
+ )
+
+ refute_delivered_email(Email.Admin.user_confirmation(user))
+
+ assert res["errors"] == nil
+ refute res["data"]["adminUpdateUser"]["confirmedAt"] == nil
+ end
+
+ test "while confirming, and notification", %{conn: conn, admin: admin} do
+ user = insert(:user, confirmed_at: nil)
+
+ res =
+ conn
+ |> auth_conn(admin)
+ |> AbsintheHelpers.graphql_query(
+ query: @admin_update_user,
+ variables: %{"id" => user.id, "confirmed" => true, "notify" => true}
+ )
+
+ assert_delivered_email(Email.Admin.user_confirmation(user))
+
+ assert res["errors"] == nil
+ refute res["data"]["adminUpdateUser"]["confirmedAt"] == nil
+ end
+ end
end
diff --git a/test/graphql/resolvers/user_test.exs b/test/graphql/resolvers/user_test.exs
index 0f77eae2..f9cf72dc 100644
--- a/test/graphql/resolvers/user_test.exs
+++ b/test/graphql/resolvers/user_test.exs
@@ -35,8 +35,22 @@ defmodule Mobilizon.GraphQL.Resolvers.UserTest do
"""
@list_users_query """
- query ListUsers($page: Int, $limit: Int, $sort: SortableUserField, $direction: SortDirection) {
- users(page: $page, limit: $limit, sort: $sort, direction: $direction) {
+ query ListUsers(
+ $email: String
+ $currentSignInIp: String
+ $page: Int
+ $limit: Int
+ $sort: SortableUserField
+ $direction: SortDirection
+ ) {
+ users(
+ email: $email
+ currentSignInIp: $currentSignInIp
+ page: $page
+ limit: $limit
+ sort: $sort
+ direction: $direction
+ ) {
total,
elements {
email
@@ -262,6 +276,62 @@ defmodule Mobilizon.GraphQL.Resolvers.UserTest do
"riri@example.com"
]
end
+
+ test "list_users/3 allows filtering the list of users by email", %{conn: conn} do
+ user = insert(:user, email: "donald@somewhere.fr", role: :moderator)
+ insert(:user, email: "riri@only.fr")
+ insert(:user, email: "fifi@we.fr")
+ insert(:user, email: "loulou@know.com")
+
+ res =
+ conn
+ |> auth_conn(user)
+ |> AbsintheHelpers.graphql_query(
+ query: @list_users_query,
+ variables: %{email: "e.fr"}
+ )
+
+ assert res["errors"] == nil
+ assert res["data"]["users"]["total"] == 2
+ assert res["data"]["users"]["elements"] |> length == 2
+
+ assert res["data"]["users"]["elements"]
+ |> Enum.map(& &1["email"]) == [
+ "fifi@we.fr",
+ "donald@somewhere.fr"
+ ]
+ end
+
+ test "list_users/3 allows filtering the list of users by currentSignInIp", %{conn: conn} do
+ user =
+ insert(:user,
+ email: "donald@somewhere.fr",
+ current_sign_in_ip: "144.76.131.212",
+ role: :moderator
+ )
+
+ insert(:user, email: "riri@only.fr", current_sign_in_ip: "94.130.212.178")
+ insert(:user, email: "fifi@we.fr", current_sign_in_ip: "2a01:4f8:221:131d::178")
+ insert(:user, email: "loulou@know.com", current_sign_in_ip: "144.76.131.212")
+
+ res =
+ conn
+ |> auth_conn(user)
+ |> AbsintheHelpers.graphql_query(
+ query: @list_users_query,
+ variables: %{currentSignInIp: "144.76.131.212"}
+ )
+
+ assert res["errors"] == nil
+ assert res["data"]["users"]["total"] == 2
+ assert res["data"]["users"]["elements"] |> length == 2
+
+ assert res["data"]["users"]["elements"]
+ |> Enum.map(& &1["email"]) == [
+ "loulou@know.com",
+ "donald@somewhere.fr"
+ ]
+ end
end
describe "Resolver: Create an user & actor" do
diff --git a/test/mobilizon/users/users_test.exs b/test/mobilizon/users/users_test.exs
index 0416c4c7..28f6a87f 100644
--- a/test/mobilizon/users/users_test.exs
+++ b/test/mobilizon/users/users_test.exs
@@ -13,7 +13,10 @@ defmodule Mobilizon.UsersTest do
test "list_users/0 returns all users" do
user = insert(:user)
- %Page{elements: users, total: 1} = Users.list_users("", nil, nil, :id, :desc)
+
+ %Page{elements: users, total: 1} =
+ Users.list_users(email: "", page: nil, limit: nil, sort: :id, direction: :desc)
+
assert [user.id] == users |> Enum.map(& &1.id)
end