diff --git a/lib/web/templates/email/group_membership_approval.html.heex b/lib/web/templates/email/group_membership_approval.html.heex
index 87b2fd8bc..a45c8f8bf 100644
--- a/lib/web/templates/email/group_membership_approval.html.heex
+++ b/lib/web/templates/email/group_membership_approval.html.heex
@@ -35,7 +35,7 @@
- <%= gettext("Your membership to group %{link_start}%{group}%{link_end} has been approved.", group: Mobilizon.Actors.Actor.display_name(@group), link_start: "", link_end: "") |> raw %>
+ <%= gettext("Your membership request for group %{link_start}%{group}%{link_end} has been approved.", group: Mobilizon.Actors.Actor.display_name(@group), link_start: "", link_end: "") |> raw %>
|
diff --git a/lib/web/templates/email/group_membership_approval.text.eex b/lib/web/templates/email/group_membership_approval.text.eex
index 2573f8512..423ba9d89 100644
--- a/lib/web/templates/email/group_membership_approval.text.eex
+++ b/lib/web/templates/email/group_membership_approval.text.eex
@@ -1,5 +1,5 @@
<%= gettext "You're in!" %>
==
-<%= gettext "Your membership to group %{group} has been approved.", group: Mobilizon.Actors.Actor.display_name(@group) %>
+<%= gettext "Your membership request for group %{group} has been approved.", group: Mobilizon.Actors.Actor.display_name(@group) %>
<%= Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@group)) %>
diff --git a/lib/web/templates/email/group_membership_rejection.html.heex b/lib/web/templates/email/group_membership_rejection.html.heex
index 43d6b31fa..a818a1296 100644
--- a/lib/web/templates/email/group_membership_rejection.html.heex
+++ b/lib/web/templates/email/group_membership_rejection.html.heex
@@ -35,7 +35,7 @@
- <%= gettext("Your membership request to join group %{link_start}%{group}%{link_end} has been rejected.", group: Mobilizon.Actors.Actor.display_name(@group), link_start: "", link_end: "") |> raw %>
+ <%= gettext("Your membership request for group %{link_start}%{group}%{link_end} has been rejected.", group: Mobilizon.Actors.Actor.display_name(@group), link_start: "", link_end: "") |> raw %>
|
diff --git a/lib/web/templates/email/group_membership_rejection.text.eex b/lib/web/templates/email/group_membership_rejection.text.eex
index 12aff7cf2..9c867eeb4 100644
--- a/lib/web/templates/email/group_membership_rejection.text.eex
+++ b/lib/web/templates/email/group_membership_rejection.text.eex
@@ -1,4 +1,5 @@
<%= gettext "Sorry, not this time!" %>
==
-<%= gettext "Your membership request to join group %{group} has been rejected.", group: Mobilizon.Actors.Actor.display_name(@group) %>
+<%= gettext "Your membership request for group %{group} has been rejected.", group: Mobilizon.Actors.Actor.display_name(@group) %>
+
<%= Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@group)) %>
diff --git a/priv/gettext/activity.pot b/priv/gettext/activity.pot
index d6b0c1c07..c972f8527 100644
--- a/priv/gettext/activity.pot
+++ b/priv/gettext/activity.pot
@@ -89,7 +89,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -107,7 +107,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -143,7 +143,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -315,3 +315,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/ar/LC_MESSAGES/activity.po b/priv/gettext/ar/LC_MESSAGES/activity.po
index 691abde6b..3dfccc42e 100644
--- a/priv/gettext/ar/LC_MESSAGES/activity.po
+++ b/priv/gettext/ar/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -324,3 +324,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/ar/LC_MESSAGES/default.po b/priv/gettext/ar/LC_MESSAGES/default.po
index 1edb9e871..ba33d637b 100644
--- a/priv/gettext/ar/LC_MESSAGES/default.po
+++ b/priv/gettext/ar/LC_MESSAGES/default.po
@@ -1061,7 +1061,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1646,7 +1646,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1655,3 +1655,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/ar/LC_MESSAGES/errors.po b/priv/gettext/ar/LC_MESSAGES/errors.po
index a684528cd..999386182 100644
--- a/priv/gettext/ar/LC_MESSAGES/errors.po
+++ b/priv/gettext/ar/LC_MESSAGES/errors.po
@@ -547,7 +547,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -583,7 +584,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -818,12 +819,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1033,3 +1034,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/be/LC_MESSAGES/activity.po b/priv/gettext/be/LC_MESSAGES/activity.po
index 2c43d25d8..720cd7c1d 100644
--- a/priv/gettext/be/LC_MESSAGES/activity.po
+++ b/priv/gettext/be/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -318,3 +318,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/be/LC_MESSAGES/default.po b/priv/gettext/be/LC_MESSAGES/default.po
index 164255c5c..c00a68451 100644
--- a/priv/gettext/be/LC_MESSAGES/default.po
+++ b/priv/gettext/be/LC_MESSAGES/default.po
@@ -1037,7 +1037,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1622,7 +1622,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1631,3 +1631,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/be/LC_MESSAGES/errors.po b/priv/gettext/be/LC_MESSAGES/errors.po
index 9d41b714b..58275332f 100644
--- a/priv/gettext/be/LC_MESSAGES/errors.po
+++ b/priv/gettext/be/LC_MESSAGES/errors.po
@@ -521,7 +521,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -557,7 +558,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -792,12 +793,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1007,3 +1008,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/ca/LC_MESSAGES/activity.po b/priv/gettext/ca/LC_MESSAGES/activity.po
index 1407aa016..b091e4f71 100644
--- a/priv/gettext/ca/LC_MESSAGES/activity.po
+++ b/priv/gettext/ca/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/ca/LC_MESSAGES/default.po b/priv/gettext/ca/LC_MESSAGES/default.po
index 5f6530114..611d7a565 100644
--- a/priv/gettext/ca/LC_MESSAGES/default.po
+++ b/priv/gettext/ca/LC_MESSAGES/default.po
@@ -1235,7 +1235,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Salut i canya al forçut!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "T'han tret del grup %{group}"
@@ -1878,7 +1878,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Ubicació"
@@ -1887,3 +1887,50 @@ msgstr "Ubicació"
#: 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 "T'han acceptat!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/ca/LC_MESSAGES/errors.po b/priv/gettext/ca/LC_MESSAGES/errors.po
index 533a06cff..bdaa6bd63 100644
--- a/priv/gettext/ca/LC_MESSAGES/errors.po
+++ b/priv/gettext/ca/LC_MESSAGES/errors.po
@@ -522,7 +522,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -558,7 +559,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -793,12 +794,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1008,3 +1009,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/cs/LC_MESSAGES/activity.po b/priv/gettext/cs/LC_MESSAGES/activity.po
index c5930cc03..125645190 100644
--- a/priv/gettext/cs/LC_MESSAGES/activity.po
+++ b/priv/gettext/cs/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -318,3 +318,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/cs/LC_MESSAGES/default.po b/priv/gettext/cs/LC_MESSAGES/default.po
index daf53047e..2a77e9b88 100644
--- a/priv/gettext/cs/LC_MESSAGES/default.po
+++ b/priv/gettext/cs/LC_MESSAGES/default.po
@@ -1037,7 +1037,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1622,7 +1622,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1631,3 +1631,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/cs/LC_MESSAGES/errors.po b/priv/gettext/cs/LC_MESSAGES/errors.po
index 0117a5d0a..29e4d436e 100644
--- a/priv/gettext/cs/LC_MESSAGES/errors.po
+++ b/priv/gettext/cs/LC_MESSAGES/errors.po
@@ -521,7 +521,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -557,7 +558,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -792,12 +793,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1007,3 +1008,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/activity.po b/priv/gettext/de/LC_MESSAGES/activity.po
index aad3b1194..d790f81ba 100644
--- a/priv/gettext/de/LC_MESSAGES/activity.po
+++ b/priv/gettext/de/LC_MESSAGES/activity.po
@@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} hat die Ressource %{resource} gelöscht."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "%{profile} hat das Mitglied %{member} ausgeschlossen."
@@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} hat die Gruppe verlassen."
@@ -153,7 +153,7 @@ msgid "%{profile} updated the group %{group}."
msgstr "%{profile} hat die Gruppe %{group} aktualisiert."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr "%{profile} hat das Mitglied %{member} aktualisiert."
@@ -326,3 +326,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr "%{profile} hat das Mitglied %{member} aktualisiert."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index 86c31426f..68f30fbd9 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -1277,7 +1277,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Macht's gut und danke für den Fisch!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Sie wurden aus der Gruppe %{group} entfernt"
@@ -1990,7 +1990,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Ort"
@@ -1999,3 +1999,50 @@ msgstr "Ort"
#: 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 "Sie sind dabei!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po
index 126942cf5..77891c4c1 100644
--- a/priv/gettext/de/LC_MESSAGES/errors.po
+++ b/priv/gettext/de/LC_MESSAGES/errors.po
@@ -532,7 +532,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:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Sie sind kein Moderator oder Admin für diese Gruppe"
@@ -571,7 +572,7 @@ msgstr ""
"Teilnehmer sind, der die Veranstaltung erstellt"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Sie können sich nicht auf eine niedrigere Mitgliedsrolle für diese Gruppe "
@@ -820,12 +821,12 @@ msgid "This invitation doesn't exist."
msgstr "Diese Einladung gibt es nicht."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Dieses Mitglied ist bereits abgelehnt worden."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Sie haben nicht das Recht, dieses Mitglied zu entfernen."
@@ -1037,3 +1038,18 @@ msgstr "Sie müssen eingeloggt sein, um einer Gruppe beizutreten"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu aktualisieren"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Sie haben nicht das Recht, dieses Mitglied zu entfernen."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index 51c8cbf03..324463e19 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -1016,7 +1016,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1610,3 +1610,50 @@ msgstr ""
#: 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 ""
diff --git a/priv/gettext/en/LC_MESSAGES/activity.po b/priv/gettext/en/LC_MESSAGES/activity.po
index 7507e5d2d..36f814711 100644
--- a/priv/gettext/en/LC_MESSAGES/activity.po
+++ b/priv/gettext/en/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index 15def3bb5..384cbfa84 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -1069,7 +1069,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1654,7 +1654,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1663,3 +1663,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po
index 2085beac4..254c2a680 100644
--- a/priv/gettext/en/LC_MESSAGES/errors.po
+++ b/priv/gettext/en/LC_MESSAGES/errors.po
@@ -525,7 +525,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -561,7 +562,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -796,12 +797,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1011,3 +1012,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot
index 5f97e3f8e..4fa6730d3 100644
--- a/priv/gettext/errors.pot
+++ b/priv/gettext/errors.pot
@@ -522,7 +522,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -558,7 +559,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -793,12 +794,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1008,3 +1009,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/activity.po b/priv/gettext/es/LC_MESSAGES/activity.po
index 28f09670c..4d80c7a7e 100644
--- a/priv/gettext/es/LC_MESSAGES/activity.po
+++ b/priv/gettext/es/LC_MESSAGES/activity.po
@@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} eliminado el recurso %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "%{profile }miembro excluido %{member}."
@@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} movió el recurso %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} abandona el grupo."
@@ -153,7 +153,7 @@ msgid "%{profile} updated the group %{group}."
msgstr "%{profile} actualizó el grupo %{group}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr "%{profile} actualizado el miembro %{member}."
@@ -329,3 +329,13 @@ msgstr "El post %{post} del grupo %{group} fue actualizado por %{profile}."
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "El post %{post} del grupo %{group} fue actualizado por %{profile}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr "%{profile} actualizado el miembro %{member}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po
index bb8a0289a..1905e6e75 100644
--- a/priv/gettext/es/LC_MESSAGES/default.po
+++ b/priv/gettext/es/LC_MESSAGES/default.po
@@ -1248,7 +1248,7 @@ msgid "So long, and thanks for the fish!"
msgstr "¡Hasta luego y gracias por el pescado!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Ha sido eliminado del grupo %{group}"
@@ -1949,7 +1949,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Ubicación"
@@ -1958,3 +1958,50 @@ msgstr "Ubicación"
#: 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 "¡Vas!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po
index 36ae2f04d..439d946cd 100644
--- a/priv/gettext/es/LC_MESSAGES/errors.po
+++ b/priv/gettext/es/LC_MESSAGES/errors.po
@@ -528,7 +528,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:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "No eres moderador ni administrador de este grupo"
@@ -566,7 +567,7 @@ msgstr ""
"evento"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"No puede establecerse en un rol de miembro inferior para este grupo porque "
@@ -812,12 +813,12 @@ msgid "This invitation doesn't exist."
msgstr "Esta invitación no existe."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Este miembro ya ha sido rechazado."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "No tiene derecho a eliminar este miembro."
@@ -1035,3 +1036,18 @@ msgstr "Debes iniciar sesión para eliminar su cuenta"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Debes iniciar sesión para actualizar un grupo"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "No tiene derecho a eliminar este miembro."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/fi/LC_MESSAGES/activity.po b/priv/gettext/fi/LC_MESSAGES/activity.po
index 8dc954e63..0520cf901 100644
--- a/priv/gettext/fi/LC_MESSAGES/activity.po
+++ b/priv/gettext/fi/LC_MESSAGES/activity.po
@@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} poisti resurssin %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "%{profile} hylkäsi jäsenen %{member}."
@@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} siirsi resurssin %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} poistui ryhmästä."
@@ -151,7 +151,7 @@ msgid "%{profile} updated the group %{group}."
msgstr "%{profile} päivitti ryhmää %{group}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr "%{profile} päivitti jäsentä %{member}."
@@ -327,3 +327,13 @@ msgstr "Viestin %{post} ryhmästä %{group} julkaisi %{profile}."
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "Viestin %{post} ryhmästä %{group} päivitti %{profile}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr "%{profile} päivitti jäsentä %{member}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po
index 1aed6f833..8168ef9b9 100644
--- a/priv/gettext/fi/LC_MESSAGES/default.po
+++ b/priv/gettext/fi/LC_MESSAGES/default.po
@@ -1228,7 +1228,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Näkemiin ja kiitos kaloista!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Sinut on poistettu ryhmästä %{group}"
@@ -1916,7 +1916,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Paikka"
@@ -1925,3 +1925,50 @@ msgstr "Paikka"
#: 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 "Olet mukana!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/fi/LC_MESSAGES/errors.po b/priv/gettext/fi/LC_MESSAGES/errors.po
index a9ec83139..b4a736cab 100644
--- a/priv/gettext/fi/LC_MESSAGES/errors.po
+++ b/priv/gettext/fi/LC_MESSAGES/errors.po
@@ -525,7 +525,8 @@ msgid "You are not a member of this group"
msgstr "Et ole ryhmän jäsen"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Et ole ryhmän moderaattori tai ylläpitäjä"
@@ -562,7 +563,7 @@ msgstr ""
"Et voi poistua tapahtumasta, koska olet ainoa tapahtuman luonut osallistuja"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Et voi vaihtaa jäsenrooliasi ryhmässä nykyistä alemmaksi, koska olet ainoa "
@@ -799,12 +800,12 @@ msgid "This invitation doesn't exist."
msgstr "Kutsua ei ole."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Jäsen on jo hylätty."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Sinulla ei ole oikeutta poistaa jäsentä."
@@ -1014,3 +1015,18 @@ msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Voit päivittää ryhmää vain sisäänkirjautuneena"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Sinulla ei ole oikeutta poistaa jäsentä."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/fr/LC_MESSAGES/activity.po b/priv/gettext/fr/LC_MESSAGES/activity.po
index c768a82c4..f27e4c657 100644
--- a/priv/gettext/fr/LC_MESSAGES/activity.po
+++ b/priv/gettext/fr/LC_MESSAGES/activity.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-06-30 12:15+0200\n"
+"PO-Revision-Date: 2021-11-12 17:15+0100\n"
"Last-Translator: Thomas Citharel \n"
"Language-Team: French \n"
"Language: fr\n"
@@ -18,312 +18,259 @@ 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 2.4.3\n"
+"X-Generator: Poedit 3.0\n"
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:38
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12
+#: lib/service/activity/renderer/member.ex:38 lib/web/templates/email/activity/_member_activity_item.html.heex:19
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:12
msgid "%{member} accepted the invitation to join the group."
msgstr "%{member} a accepté l'invitation à rejoindre le groupe."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:42
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17
+#: lib/service/activity/renderer/member.ex:42 lib/web/templates/email/activity/_member_activity_item.html.heex:26
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:17
msgid "%{member} rejected the invitation to join the group."
msgstr "%{member} a refusé l'invitation à rejoindre le groupe."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:30
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1
+#: lib/service/activity/renderer/member.ex:30 lib/web/templates/email/activity/_member_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:1
msgid "%{member} requested to join the group."
msgstr "%{member} a demandé à rejoindre le groupe."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:34
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6
+#: lib/service/activity/renderer/member.ex:34 lib/web/templates/email/activity/_member_activity_item.html.heex:11
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:6
msgid "%{member} was invited by %{profile}."
msgstr "%{member} a été invité⋅e par %{profile}."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:50
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27
+#: lib/service/activity/renderer/member.ex:50 lib/web/templates/email/activity/_member_activity_item.html.heex:40
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:27
msgid "%{profile} added the member %{member}."
msgstr "%{profile} a ajouté le ou la membre %{membre}."
-#, elixir-format
-#: lib/service/activity/renderer/discussion.ex:65
-#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
+#: lib/service/activity/renderer/discussion.ex:65 lib/web/templates/email/activity/_discussion_activity_item.html.heex:46
+#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
msgid "%{profile} archived the discussion %{discussion}."
msgstr "%{profile} a archivé la discussion %{discussion}."
-#, elixir-format
-#: lib/service/activity/renderer/discussion.ex:25
-#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
+#: lib/service/activity/renderer/discussion.ex:25 lib/web/templates/email/activity/_discussion_activity_item.html.heex:4
+#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
msgid "%{profile} created the discussion %{discussion}."
msgstr "%{profile} a créé la discussion %{discussion}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:24
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2
+#: lib/service/activity/renderer/resource.ex:24 lib/web/templates/email/activity/_resource_activity_item.html.heex:5
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:2
msgid "%{profile} created the folder %{resource}."
msgstr "%{profile} a créé le dossier %{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
+#: lib/web/templates/email/activity/_group_activity_item.html.heex:4 lib/web/templates/email/activity/_group_activity_item.text.eex:1
msgid "%{profile} created the group %{group}."
msgstr "%{profile} a créé le groupe %{group}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:33
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8
+#: lib/service/activity/renderer/resource.ex:33 lib/web/templates/email/activity/_resource_activity_item.html.heex:20
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:8
msgid "%{profile} created the resource %{resource}."
msgstr "%{profile} a créé la resource %{resource}."
-#, elixir-format
-#: lib/service/activity/renderer/discussion.ex:75
-#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
+#: lib/service/activity/renderer/discussion.ex:75 lib/web/templates/email/activity/_discussion_activity_item.html.heex:60
+#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
msgid "%{profile} deleted the discussion %{discussion}."
msgstr "%{profile} a créé la discussion %{discussion}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:97
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40
+#: lib/service/activity/renderer/resource.ex:97 lib/web/templates/email/activity/_resource_activity_item.html.heex:103
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:40
msgid "%{profile} deleted the folder %{resource}."
msgstr "%{profile} a supprimé le dossier %{resource}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:106
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45
+#: lib/service/activity/renderer/resource.ex:106 lib/web/templates/email/activity/_resource_activity_item.html.heex:111
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:45
msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} a supprimé la resource %{resource}."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
+#: lib/service/activity/renderer/member.ex:66 lib/web/templates/email/activity/_member_activity_item.html.heex:56
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "%{profile} a exclu le ou la membre %{membre}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:76
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28
+#: lib/service/activity/renderer/resource.ex:76 lib/web/templates/email/activity/_resource_activity_item.html.heex:71
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:28
msgid "%{profile} moved the folder %{resource}."
msgstr "%{profile} a déplacé le dossier %{resource}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:85
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34
+#: lib/service/activity/renderer/resource.ex:85 lib/web/templates/email/activity/_resource_activity_item.html.heex:86
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:34
msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} a déplacé la ressource %{resource}."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
+#: lib/service/activity/renderer/member.ex:70 lib/web/templates/email/activity/_member_activity_item.html.heex:64
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} a quitté le groupe."
-#, elixir-format
-#: lib/service/activity/renderer/discussion.ex:55
-#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
+#: lib/service/activity/renderer/discussion.ex:55 lib/web/templates/email/activity/_discussion_activity_item.html.heex:32
+#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
msgid "%{profile} renamed the discussion %{discussion}."
msgstr "%{profile} a renommé la discussion %{discussion}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:45
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14
+#: lib/service/activity/renderer/resource.ex:45 lib/web/templates/email/activity/_resource_activity_item.html.heex:37
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:14
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource}."
-#, elixir-format
-#: lib/service/activity/renderer/resource.ex:59
-#: lib/web/templates/email/activity/_resource_activity_item.html.heex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21
+#: lib/service/activity/renderer/resource.ex:59 lib/web/templates/email/activity/_resource_activity_item.html.heex:53
+#: lib/web/templates/email/activity/_resource_activity_item.text.eex:21
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
msgstr "%{profile} a renommé la resource %{old_resource_title} en %{resource}."
-#, elixir-format
-#: lib/service/activity/renderer/discussion.ex:35
-#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
+#: lib/service/activity/renderer/discussion.ex:35 lib/web/templates/email/activity/_discussion_activity_item.html.heex:18
+#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
msgid "%{profile} replied to the discussion %{discussion}."
msgstr "%{profile} a répondu à la discussion %{discussion}."
-#, elixir-format
-#: lib/web/templates/email/activity/_group_activity_item.html.heex:19
-#: lib/web/templates/email/activity/_group_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_group_activity_item.html.heex:19 lib/web/templates/email/activity/_group_activity_item.text.eex:7
msgid "%{profile} updated the group %{group}."
msgstr "%{profile} a mis à jour le groupe %{group}."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
+#: lib/service/activity/renderer/member.ex:62 lib/web/templates/email/activity/_member_activity_item.html.heex:48
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
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/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 "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/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 "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/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 "L'événement %{event} a été mis à jour par %{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
+#: lib/web/templates/email/activity/_post_activity_item.html.heex:4 lib/web/templates/email/activity/_post_activity_item.text.eex:1
msgid "The post %{post} was created by %{profile}."
msgstr "Le billet %{post} a été créé par %{profile}."
-#, elixir-format
-#: lib/web/templates/email/activity/_post_activity_item.html.heex:34
-#: lib/web/templates/email/activity/_post_activity_item.text.eex:13
+#: lib/web/templates/email/activity/_post_activity_item.html.heex:34 lib/web/templates/email/activity/_post_activity_item.text.eex:13
msgid "The post %{post} was deleted by %{profile}."
msgstr "Le billet %{post} a été supprimé par %{profile}."
-#, elixir-format
-#: lib/web/templates/email/activity/_post_activity_item.html.heex:19
-#: lib/web/templates/email/activity/_post_activity_item.text.eex:7
+#: lib/web/templates/email/activity/_post_activity_item.html.heex:19 lib/web/templates/email/activity/_post_activity_item.text.eex:7
msgid "The post %{post} was updated by %{profile}."
msgstr "Le billet %{post} a été mis à jour par %{profile}."
-#, elixir-format
-#: lib/service/activity/renderer/member.ex:46
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22
+#: lib/service/activity/renderer/member.ex:46 lib/web/templates/email/activity/_member_activity_item.html.heex:33
+#: lib/web/templates/email/activity/_member_activity_item.text.eex:22
msgid "%{member} joined the group."
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/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} 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/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} a répondu à un commentaire sur l'événement %{event}."
-#, 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 "Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans vos préférences."
-#, elixir-format
-#: lib/web/templates/email/email_direct_activity.html.heex:135
-#: lib/web/templates/email/email_direct_activity.text.eex:23
+#: lib/web/templates/email/email_direct_activity.html.heex:135 lib/web/templates/email/email_direct_activity.text.eex:23
msgid "View one more activity"
msgid_plural "View %{count} more activities"
msgstr[0] "Voir une activité de plus"
msgstr[1] "Voir %{count} activités de plus"
-#, 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
+#: 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] "Il y a eu une activité !"
msgstr[1] "Il y a eu de l'activité !"
-#, elixir-format
#: lib/service/activity/renderer/renderer.ex:46
msgid "Activity on %{instance}"
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/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} 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/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} vous a mentionné dans un commentaire sous l'événement %{event}."
-#, elixir-format
#: lib/service/activity/renderer/discussion.ex:45
msgid "%{profile} mentionned you in the discussion %{discussion}."
msgstr "%{profile} vous a mentionné dans la discussion %{discussion}."
-#, 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 ""
-"Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans %{tag_start}vos "
-"préférences%{tag_end}."
+"Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans %{tag_start}vos préférences"
+"%{tag_end}."
-#, elixir-format
-#: lib/web/templates/email/email_direct_activity.html.heex:42
-#: lib/web/templates/email/email_direct_activity.text.eex:5
+#: lib/web/templates/email/email_direct_activity.html.heex:42 lib/web/templates/email/email_direct_activity.text.eex:5
msgid "Here's your weekly activity recap"
msgstr "Voici votre récapitulatif hebdomadaire d'activité"
-#, elixir-format
#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
msgid "Activity notification for %{instance}"
msgstr "Notification d'activité sur %{instance}"
-#, elixir-format
#: lib/web/email/activity.ex:126
msgid "Daily activity recap for %{instance}"
msgstr "Récapitulatif quotidien d'activité sur %{instance}"
-#, elixir-format
-#: lib/web/templates/email/email_direct_activity.html.heex:40
-#: lib/web/templates/email/email_direct_activity.text.eex:4
+#: lib/web/templates/email/email_direct_activity.html.heex:40 lib/web/templates/email/email_direct_activity.text.eex:4
msgid "Here's your daily activity recap"
msgstr "Voici votre récapitulatif quotidien d'activité"
-#, elixir-format
#: lib/web/email/activity.ex:133
msgid "Weekly activity recap for %{instance}"
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/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} 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/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} a posté une nouvelle réponse sous votre événement %{event}."
-#, elixir-format
#: lib/web/email/activity.ex:46
msgid "Announcement for your event %{event}"
msgstr "Annonce pour votre événement %{event}"
-#, elixir-format
#: lib/service/activity/renderer/group.ex:23
msgid "The group %{group} was updated by %{profile}."
msgstr "Le groupe %{group} a été mis à jour par %{profile}."
-#, elixir-format
#: lib/service/activity/renderer/post.ex:47
msgid "The post %{post} from group %{group} was deleted by %{profile}."
msgstr "Le billet %{post} du groupe %{group} a été supprimé par %{profile}."
-#, elixir-format
#: lib/service/activity/renderer/post.ex:31
msgid "The post %{post} from group %{group} was published by %{profile}."
msgstr "Le billet %{post} du groupe %{group} a été publié par %{profile}."
-#, elixir-format
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "Le billet %{post} du groupe %{group} a été mis à jour par %{profile}."
+
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr "%{profile} a approuvé la demande d'adhésion de %{member}."
+
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr "%{profile} a rejeté la demande d'adhésion de %{member}."
diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po
index b7ac756ca..56b24fa4c 100644
--- a/priv/gettext/fr/LC_MESSAGES/default.po
+++ b/priv/gettext/fr/LC_MESSAGES/default.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2021-11-10 20:42+0100\n"
+"PO-Revision-Date: 2021-11-12 17:13+0100\n"
"Last-Translator: Thomas Citharel \n"
"Language-Team: French \n"
"Language: fr\n"
@@ -830,7 +830,7 @@ msgstr "Si vous pensez qu'il s'agit d'une erreur, vous pouvez contacter les admi
msgid "So long, and thanks for the fish!"
msgstr "Salut, et encore merci pour le poisson !"
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Vous avez été enlevé du groupe %{group}"
@@ -1296,3 +1296,39 @@ msgstr "Nouvelle localisation :"
#: lib/web/templates/email/event_updated.text.eex:8
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
+msgid "Sorry, not this time!"
+msgstr "Désolé, pas cette fois !"
+
+#: lib/web/templates/email/group_membership_approval.html.heex:52
+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
+msgid "You're in!"
+msgstr "Vous en êtes !"
+
+#: lib/web/email/member.ex:60
+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
+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
+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
+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
+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
+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."
diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po
index 24ece2762..2f9a0ac4d 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-10-11 17:40+0200\n"
+"PO-Revision-Date: 2021-11-12 17:14+0100\n"
"Last-Translator: Vincent Finance \n"
"Language-Team: French \n"
"Language: fr\n"
@@ -96,921 +96,747 @@ msgstr "doit être supérieur ou égal à %{number}"
msgid "must be equal to %{number}"
msgstr "doit être égal à %{number}"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:107
msgid "Cannot refresh the token"
msgstr "Impossible de rafraîchir le jeton"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:245
msgid "Current profile is not a member of this group"
msgstr "Le profil actuel n'est pas un membre de ce groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:249
msgid "Current profile is not an administrator of the selected group"
msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:593
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:242
-#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342
-#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79
+#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 lib/graphql/resolvers/group.ex:274
+#: lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 lib/graphql/resolvers/group.ex:391
+#: lib/graphql/resolvers/member.ex:79
msgid "Group not found"
msgstr "Groupe non trouvé"
-#, elixir-format
#: 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é"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:85
msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "Impossible de s'authentifier, votre adresse e-mail ou bien votre mot de passe sont invalides."
-#, elixir-format
#: lib/graphql/resolvers/group.ex:308
msgid "Member not found"
msgstr "Membre non trouvé"
-#, elixir-format
#: lib/graphql/resolvers/actor.ex:94
msgid "No profile found for the moderator user"
msgstr "Aucun profil trouvé pour l'utilisateur modérateur"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:253
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:278
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/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 "Le profil n'est pas possédé par l'utilisateur connecté"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:156
msgid "Registrations are not open"
msgstr "Les inscriptions ne sont pas ouvertes"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:408
msgid "The current password is invalid"
msgstr "Le mot de passe actuel est invalid"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:451
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/user.ex:454
msgid "The new email must be different"
msgstr "La nouvelle adresse e-mail doit être différente"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:411
msgid "The new password must be different"
msgstr "Le nouveau mot de passe doit être différent"
-#, elixir-format
-#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520
-#: lib/graphql/resolvers/user.ex:523
+#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 lib/graphql/resolvers/user.ex:523
msgid "The password provided is invalid"
msgstr "Le mot de passe fourni est invalide"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:415
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr ""
"Le mot de passe que vous avez choisi est trop court. Merci de vous assurer que votre mot de passe contienne au moins "
"6 caractères."
-#, elixir-format
#: lib/graphql/resolvers/user.ex:274
msgid "This user can't reset their password"
msgstr "Cet·te utilisateur·ice ne peut pas réinitialiser son mot de passe"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:81
msgid "This user has been disabled"
msgstr "Cet·te utilisateur·ice a été désactivé·e"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237
msgid "Unable to validate user"
msgstr "Impossible de valider l'utilisateur·ice"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:501
msgid "User already disabled"
msgstr "L'utilisateur·ice est déjà désactivé·e"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:568
msgid "User requested is not logged-in"
msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:280
msgid "You are already a member of this group"
msgstr "Vous êtes déjà membre de ce groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:315
msgid "You can't leave this group because you are the only administrator"
msgstr "Vous ne pouvez pas quitter ce groupe car vous en êtes le ou la seul·e administrateur·ice"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:277
msgid "You cannot join this group"
msgstr "Vous ne pouvez pas rejoindre ce groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:112
msgid "You may not list groups unless moderator."
msgstr "Vous ne pouvez pas lister les groupes sauf à être modérateur·ice."
-#, elixir-format
#: lib/graphql/resolvers/user.ex:466
msgid "You need to be logged-in to change your email"
msgstr "Vous devez être connecté·e pour changer votre adresse e-mail"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:423
msgid "You need to be logged-in to change your password"
msgstr "Vous devez être connecté·e pour changer votre mot de passe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:254
msgid "You need to be logged-in to delete a group"
msgstr "Vous devez être connecté·e pour supprimer un groupe"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:528
msgid "You need to be logged-in to delete your account"
msgstr "Vous devez être connecté·e pour supprimer votre compte"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:285
msgid "You need to be logged-in to join a group"
msgstr "Vous devez être connecté·e pour rejoindre un groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:320
msgid "You need to be logged-in to leave a group"
msgstr "Vous devez être connecté·e pour quitter un groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:218
msgid "You need to be logged-in to update a group"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:112
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:256 lib/graphql/resolvers/user.ex:281
msgid "You requested again a confirmation email too soon"
msgstr "Vous avez à nouveau demandé un email de confirmation trop vite"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:159
msgid "Your email is not on the allowlist"
msgstr "Votre adresse e-mail n'est pas sur la liste d'autorisations"
-#, elixir-format
#: lib/graphql/resolvers/actor.ex:100
msgid "Error while performing background task"
msgstr "Erreur lors de l'exécution d'une tâche d'arrière-plan"
-#, elixir-format
#: lib/graphql/resolvers/actor.ex:32
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
msgid "No remote profile found with this ID"
msgstr "Aucun profil distant trouvé avec cet ID"
-#, elixir-format
#: lib/graphql/resolvers/actor.ex:72
msgid "Only moderators and administrators can suspend a profile"
msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent suspendre un profil"
-#, elixir-format
#: lib/graphql/resolvers/actor.ex:105
msgid "Only moderators and administrators can unsuspend a profile"
msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent annuler la suspension d'un profil"
-#, elixir-format
#: lib/graphql/resolvers/actor.ex:29
msgid "Only remote profiles may be refreshed"
msgstr "Seuls les profils distants peuvent être rafraîchis"
-#, elixir-format
#: lib/graphql/resolvers/actor.ex:64
msgid "Profile already suspended"
msgstr "Le profil est déjà suspendu"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:96
msgid "A valid email is required by your instance"
msgstr "Une adresse e-mail valide est requise par votre instance"
-#, elixir-format
-#: lib/graphql/resolvers/participant.ex:90
-#: lib/graphql/resolvers/participant.ex:143
+#: lib/graphql/resolvers/participant.ex:90 lib/graphql/resolvers/participant.ex:143
msgid "Anonymous participation is not enabled"
msgstr "La participation anonyme n'est pas activée"
-#, elixir-format
#: lib/graphql/resolvers/person.ex:210
msgid "Cannot remove the last administrator of a group"
msgstr "Impossible de supprimer le ou la dernier·ère administrateur·ice d'un groupe"
-#, elixir-format
#: lib/graphql/resolvers/person.ex:207
msgid "Cannot remove the last identity of a user"
msgstr "Impossible de supprimer le dernier profil d'un·e utilisateur·ice"
-#, elixir-format
#: lib/graphql/resolvers/comment.ex:126
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
msgid "Discussion not found"
msgstr "Discussion non trouvée"
-#, elixir-format
#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
msgid "Error while saving report"
msgstr "Erreur lors de la sauvegarde du signalement"
-#, elixir-format
#: lib/graphql/resolvers/report.ex:102
msgid "Error while updating report"
msgstr "Erreur lors de la mise à jour du signalement"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:131
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/resolvers/event.ex:412
+#: 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:336
+#: 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 "L'événement avec cet ID %{id} n'existe pas"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:103
msgid "Internal Error"
msgstr "Erreur interne"
-#, elixir-format
#: lib/graphql/resolvers/discussion.ex:219
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"
-#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token"
msgstr "Aucun jeton de flux correspondant"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:259
msgid "Participant already has role %{role}"
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:187 lib/graphql/resolvers/participant.ex:220
+#: lib/graphql/resolvers/participant.ex:263
msgid "Participant not found"
msgstr "Participant·e non trouvé·e"
-#, elixir-format
#: lib/graphql/resolvers/person.ex:32
msgid "Person with ID %{id} not found"
msgstr "Personne avec l'ID %{id} non trouvé"
-#, elixir-format
#: lib/graphql/resolvers/person.ex:56
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
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
msgid "Post doesn't exist"
msgstr "Le billet n'existe pas"
-#, elixir-format
#: lib/graphql/resolvers/member.ex:82
msgid "Profile invited doesn't exist"
msgstr "Le profil invité n'existe pas"
-#, elixir-format
#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95
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
msgid "Profile not found"
msgstr "Profile non trouvé"
-#, elixir-format
#: lib/graphql/resolvers/report.ex:40
msgid "Report not found"
msgstr "Groupe non trouvé"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
msgid "Resource doesn't exist"
msgstr "La ressource n'existe pas"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:124
msgid "The event has already reached its maximum capacity"
msgstr "L'événement a déjà atteint sa capacité maximale"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:282
msgid "This token is invalid"
msgstr "Ce jeton est invalide"
-#, elixir-format
#: 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:240
+#: 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"
-#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:73
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
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
msgid "User not found"
msgstr "Utilisateur·ice non trouvé·e"
-#, elixir-format
#: lib/graphql/resolvers/person.ex:310
msgid "You already have a profile for this user"
msgstr "Vous avez déjà un profil pour cet utilisateur"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:134
msgid "You are already a participant of this event"
msgstr "Vous êtes déjà un·e participant·e à cet événement"
-#, elixir-format
#: lib/graphql/resolvers/member.ex:85
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:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171 lib/graphql/resolvers/member.ex:186
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"
-#, elixir-format
#: lib/graphql/resolvers/comment.ex:59
msgid "You are not allowed to create a comment if not connected"
msgstr "Vous n'êtes pas autorisé·e à créer un commentaire si non connecté·e"
-#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected"
msgstr "Vous n'êtes pas autorisé·e à créer un jeton de flux si non connecté·e"
-#, elixir-format
#: lib/graphql/resolvers/comment.ex:134
msgid "You are not allowed to delete a comment if not connected"
msgstr "Vous n'êtes pas autorisé·e à supprimer un commentaire si non connecté·e"
-#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected"
msgstr "Vous n'êtes pas autorisé·e à supprimer un jeton de flux si non connecté·e"
-#, elixir-format
#: lib/graphql/resolvers/comment.ex:93
msgid "You are not allowed to update a comment if not connected"
msgstr "Vous n'êtes pas autorisé·e à mettre à jour un commentaire si non connecté·e"
-#, elixir-format
-#: lib/graphql/resolvers/participant.ex:181
-#: lib/graphql/resolvers/participant.ex:214
+#: 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 "Vous ne pouvez pas quitter cet événement car vous en êtes le ou la seule créateur·ice participant"
-#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Vous ne pouvez pas vous définir avec un rôle de membre inférieur pour ce groupe car vous en êtes le ou la seul·e "
"administrateur·ice"
-#, elixir-format
#: lib/graphql/resolvers/comment.ex:122
msgid "You cannot delete this comment"
msgstr "Vous ne pouvez pas supprimer ce commentaire"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:408
msgid "You cannot delete this event"
msgstr "Vous ne pouvez pas supprimer cet événement"
-#, elixir-format
#: lib/graphql/resolvers/member.ex:88
msgid "You cannot invite to this group"
msgstr "Vous ne pouvez pas rejoindre ce groupe"
-#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:76
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
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
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
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
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
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
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
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"
-#, elixir-format
#: lib/graphql/resolvers/discussion.ex:84
msgid "You need to be logged-in to access discussions"
msgstr "Vous devez être connecté·e pour accéder aux discussions"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:96
msgid "You need to be logged-in to access resources"
msgstr "Vous devez être connecté·e pour supprimer un groupe"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:318
msgid "You need to be logged-in to create events"
msgstr "Vous devez être connecté·e pour créer des événements"
-#, elixir-format
#: lib/graphql/resolvers/post.ex:141
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
msgid "You need to be logged-in to create reports"
msgstr "Vous devez être connecté·e pour quitter un groupe"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:137
msgid "You need to be logged-in to create resources"
msgstr "Vous devez être connecté·e pour quitter un groupe"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:417
msgid "You need to be logged-in to delete an event"
msgstr "Vous devez être connecté·e pour supprimer un groupe"
-#, elixir-format
#: lib/graphql/resolvers/post.ex:214
msgid "You need to be logged-in to delete posts"
msgstr "Vous devez être connecté·e pour supprimer un groupe"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:204
msgid "You need to be logged-in to delete resources"
msgstr "Vous devez être connecté·e pour supprimer un groupe"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:108
msgid "You need to be logged-in to join an event"
msgstr "Vous devez être connecté·e pour rejoindre un événement"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:225
msgid "You need to be logged-in to leave an event"
msgstr "Vous devez être connecté·e pour quitter un groupe"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:374
msgid "You need to be logged-in to update an event"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
-#, elixir-format
#: lib/graphql/resolvers/post.ex:180
msgid "You need to be logged-in to update posts"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:174
msgid "You need to be logged-in to update resources"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:233
msgid "You need to be logged-in to view a resource preview"
msgstr "Vous devez être connecté·e pour supprimer un groupe"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:129
msgid "Parent resource doesn't belong to this group"
msgstr "La ressource parente n'appartient pas à ce groupe"
-#, elixir-format
#: lib/mobilizon/users/user.ex:114
msgid "The chosen password is too short."
msgstr "Le mot de passe choisi est trop court."
-#, 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 "Le jeton d'inscription est déjà utilisé, cela ressemble à un problème de notre côté."
-#, elixir-format
#: lib/mobilizon/users/user.ex:108
msgid "This email is already used."
msgstr "Cette adresse e-mail est déjà utilisée."
-#, elixir-format
#: lib/graphql/error.ex:97
msgid "Post not found"
msgstr "Billet non trouvé"
-#, elixir-format
#: lib/graphql/error.ex:84
msgid "Invalid arguments passed"
msgstr "Paramètres fournis invalides"
-#, elixir-format
#: lib/graphql/error.ex:90
msgid "Invalid credentials"
msgstr "Identifiants invalides"
-#, elixir-format
#: lib/graphql/error.ex:88
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
msgid "Resource not found"
msgstr "Ressource non trouvée"
-#, elixir-format
#: lib/graphql/error.ex:102
msgid "Something went wrong"
msgstr "Quelque chose s'est mal passé"
-#, elixir-format
#: lib/graphql/error.ex:83
msgid "Unknown Resource"
msgstr "Ressource inconnue"
-#, elixir-format
#: lib/graphql/error.ex:93
msgid "You don't have permission to do this"
msgstr "Vous n'avez pas la permission de faire ceci"
-#, elixir-format
#: lib/graphql/error.ex:85
msgid "You need to be logged in"
msgstr "Vous devez être connecté·e"
-#, elixir-format
#: lib/graphql/resolvers/member.ex:116
msgid "You can't accept this invitation with this profile."
msgstr "Vous ne pouvez pas accepter cette invitation avec ce profil."
-#, elixir-format
#: lib/graphql/resolvers/member.ex:137
msgid "You can't reject this invitation with this profile."
msgstr "Vous ne pouvez pas rejeter cette invitation avec ce profil."
-#, elixir-format
#: lib/graphql/resolvers/media.ex:71
msgid "File doesn't have an allowed MIME type."
msgstr "Le fichier n'a pas un type MIME autorisé."
-#, elixir-format
#: lib/graphql/resolvers/group.ex:213
msgid "Profile is not administrator for the group"
msgstr "Le profil n'est pas administrateur·ice pour le groupe"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:363
msgid "You can't edit this event."
msgstr "Vous ne pouvez pas éditer cet événement."
-#, elixir-format
#: lib/graphql/resolvers/event.ex:366
msgid "You can't attribute this event to this profile."
msgstr "Vous ne pouvez pas attribuer cet événement à ce profil."
-#, elixir-format
#: lib/graphql/resolvers/member.ex:140
msgid "This invitation doesn't exist."
msgstr "Cette invitation n'existe pas."
-#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Ce·tte membre a déjà été rejetté·e."
-#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre."
-#, elixir-format
#: lib/mobilizon/actors/actor.ex:350
msgid "This username is already taken."
msgstr "Cet identifiant est déjà pris."
-#, elixir-format
#: lib/graphql/resolvers/discussion.ex:81
msgid "You must provide either an ID or a slug to access a discussion"
msgstr "Vous devez fournir un ID ou bien un slug pour accéder à une discussion"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:313
msgid "Organizer profile is not owned by the user"
msgstr "Le profil de l'organisateur·ice n'appartient pas à l'utilisateur·ice"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:93
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:159 lib/graphql/resolvers/group.ex:201
-#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
+#: lib/graphql/resolvers/group.ex:159 lib/graphql/resolvers/group.ex:201 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"
-#, elixir-format
#: lib/web/views/utils.ex:34
msgid "Index file not found. You need to recompile the front-end."
msgstr "Fichier d'index non trouvé. Vous devez recompiler le front-end."
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:126
msgid "Error while creating resource"
msgstr "Erreur lors de la création de la resource"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:484
msgid "Invalid activation token"
msgstr "Jeton d'activation invalide"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:223
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/participant.ex:328
+#: 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"
-#, 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 "Le profil de l'organisateur⋅ice n'a pas la permission de créer un événement au nom de ce groupe"
-#, 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 "Ce profil n'a pas la permission de mettre à jour un événement au nom du groupe"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:163
msgid "Your e-mail has been denied registration or uses a disallowed e-mail provider"
msgstr "Votre adresse e-mail a été refusée à l'inscription ou bien utilise un fournisseur d'e-mail interdit"
-#, elixir-format
#: lib/graphql/resolvers/comment.ex:129
msgid "Comment not found"
msgstr "Commentaire non trouvé"
-#, elixir-format
#: lib/graphql/resolvers/discussion.ex:123
msgid "Error while creating a discussion"
msgstr "Erreur lors de la création de la discussion"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:607
msgid "Error while updating locale"
msgstr "Erreur lors de la mise à jour des options linguistiques"
-#, elixir-format
#: lib/graphql/resolvers/person.ex:307
msgid "Error while uploading pictures"
msgstr "Erreur lors du téléversement des images"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:190
msgid "Failed to leave the event"
msgstr "Impossible de quitter l'événement"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:209
msgid "Failed to update the group"
msgstr "Impossible de mettre à jour le groupe"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:448
msgid "Failed to update user email"
msgstr "Impossible de mettre à jour l'adresse e-mail de utilisateur"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:480
msgid "Failed to validate user email"
msgstr "Impossible de valider l'adresse e-mail de l'utilisateur·ice"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:146
msgid "The anonymous actor ID is invalid"
msgstr "L'ID de l'acteur anonyme est invalide"
-#, elixir-format
#: lib/graphql/resolvers/resource.ex:162
msgid "Unknown error while updating resource"
msgstr "Erreur inconnue lors de la mise à jour de la resource"
-#, elixir-format
#: lib/graphql/resolvers/comment.ex:84
msgid "You are not the comment creator"
msgstr "Vous n'êtes pas le ou la createur⋅ice du commentaire"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:405
msgid "You cannot change your password."
msgstr "Vous ne pouvez pas changer votre mot de passe."
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:321
msgid "Format not supported"
msgstr "Format non supporté"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:305
msgid "A dependency needed to export to %{format} is not installed"
msgstr "Une dépendance nécessaire pour exporter en %{format} n'est pas installée"
-#, elixir-format
#: lib/graphql/resolvers/participant.ex:313
msgid "An error occured while saving export"
msgstr "Une erreur est survenue lors de l'enregistrement de l'export"
-#, elixir-format
#: lib/web/controllers/export_controller.ex:30
msgid "Export to format %{format} is not enabled on this instance"
msgstr "L'export au format %{format} n'est pas activé sur cette instance"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:165
msgid "Only admins can create groups"
msgstr "Seul⋅es les administrateur⋅ices peuvent créer des groupes"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:306
msgid "Only groups can create events"
msgstr "Seuls les groupes peuvent créer des événements"
-#, elixir-format
#: lib/graphql/resolvers/event.ex:292
msgid "Unknown error while creating event"
msgstr "Erreur inconnue lors de la création de l'événement"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:461
msgid "User cannot change email"
msgstr "L'utilisateur ne peut changer son adresse e-mail"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:364
msgid "Follow does not match your account"
-msgstr ""
+msgstr "L'abonnement ne correspond pas à votre compte"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:368
msgid "Follow not found"
-msgstr ""
+msgstr "Abonnement non trouvé"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:327
msgid "Profile with username %{username} not found"
msgstr "Personne avec le nom %{name} non trouvé"
-#, elixir-format
#: lib/graphql/resolvers/user.ex:322
msgid "This profile does not belong to you"
-msgstr ""
+msgstr "Ce profil ne vous appartient pas"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:338
msgid "You are already following this group"
-msgstr ""
+msgstr "Vous êtes déjà membre de ce groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:347
msgid "You need to be logged-in to follow a group"
msgstr "Vous devez être connecté·e pour rejoindre un groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:396
msgid "You need to be logged-in to unfollow a group"
msgstr "Vous devez être connecté·e pour rejoindre un groupe"
-#, elixir-format
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
+
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr "Ce membre n'existe pas"
+
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre."
+
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr "Vous devez être connecté⋅e pour supprimer un⋅e membre"
diff --git a/priv/gettext/gd/LC_MESSAGES/activity.po b/priv/gettext/gd/LC_MESSAGES/activity.po
index e25236beb..5ae3f2a6e 100644
--- a/priv/gettext/gd/LC_MESSAGES/activity.po
+++ b/priv/gettext/gd/LC_MESSAGES/activity.po
@@ -24,209 +24,209 @@ 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/service/activity/renderer/member.ex:38
#: 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 "Ghabh %{member} ris a’ bhallrachd sa bhuidheann."
+#, elixir-format
#: lib/service/activity/renderer/member.ex:42
#: 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 "Dhiùlt %{member} a’ bhallrachd sa bhuidheann."
+#, elixir-format
#: lib/service/activity/renderer/member.ex:30
#: 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 "Dh’iarr %{member} ballrachd sa bhuidheann."
+#, elixir-format
#: lib/service/activity/renderer/member.ex:34
#: 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 "Fhuair %{member} cuireadh o %{profile}."
+#, elixir-format
#: lib/service/activity/renderer/member.ex:50
#: 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 "Chuir %{profile} am ball %{member} ris."
+#, elixir-format
#: lib/service/activity/renderer/discussion.ex:65
#: 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 "Chuir %{profile} an deasbad %{discussion} san tasg-lann."
+#, elixir-format
#: lib/service/activity/renderer/discussion.ex:25
#: 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 "Chruthaich %{profile} an deasbad %{discussion}."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:24
#: 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 "Chruthaich %{profile} am pasgan %{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 "Chruthaich %{profile} am buidheann %{group}."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:33
#: 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 "Chruthaich %{profile} an goireas %{resource}."
+#, elixir-format
#: lib/service/activity/renderer/discussion.ex:75
#: 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 "Sguab %{profile} às an deasbad %{discussion}."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:97
#: 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 "Sguab %{profile} às am pasgan %{resource}."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:106
#: 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 "Sguab %{profile} às an goireas %{resource}."
-#: lib/service/activity/renderer/member.ex:58
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
#, elixir-format
+#: lib/service/activity/renderer/member.ex:66
+#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "Dhùin %{profile} am ball %{member} a-mach."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:76
#: 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 "Ghluais %{profile} am pasgan %{resource}."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:85
#: 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 "Ghluais %{profile} an goireas %{resource}."
-#: lib/service/activity/renderer/member.ex:62
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
#, elixir-format
+#: lib/service/activity/renderer/member.ex:70
+#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "Dh’fhàg %{profile} am buidheann."
+#, elixir-format
#: lib/service/activity/renderer/discussion.ex:55
#: 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 "Thug %{profile} ainm ùr air %{discussion}."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:45
#: 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 "Thug %{profile} %{resource} air a’ phasgan %{old_resource_title}."
+#, elixir-format
#: lib/service/activity/renderer/resource.ex:59
#: 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 "Thug %{profile} %{resource} air a’ ghoireas %{old_resource_title}."
+#, elixir-format
#: lib/service/activity/renderer/discussion.ex:35
#: 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 "Fhreagair %{profile} san deasbad %{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 "Dh’ùraich %{profile} am buidheann %{group}."
-#: lib/service/activity/renderer/member.ex:54
-#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
#, elixir-format
+#: lib/service/activity/renderer/member.ex:62
+#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
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
-#, elixir-format
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
-#, elixir-format
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
-#, elixir-format
msgid "The event %{event} was updated by %{profile}."
msgstr "Chaidh an tachartas %{event} ùrachadh le %{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 "Chaidh am post %{post} a chruthachadh le %{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 "Chaidh am post %{post} a sguabadh às le %{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 "Chaidh am post %{post} ùrachadh le %{profile}."
+#, elixir-format
#: lib/service/activity/renderer/member.ex:46
#: 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 "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
-#, elixir-format
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
-#, elixir-format
msgid "%{profile} replied to a comment on the event %{event}."
msgstr "Fhreagair %{profile} do bheachd air an tachartas %{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 ""
"A bheil thu airson brathan fhaighinn mu ghnìomhachd? ’S urrainn dhut "
"atharrachadh dè cho tric ’s a gheibh thu iad no an cur à comas sna "
"roghainnean agad."
+#, 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] "Seall %{count} ghnìomhachd a bharrachd"
@@ -234,10 +234,10 @@ msgstr[1] "Seall %{count} ghnìomhachd a bharrachd"
msgstr[2] "Seall %{count} gnìomhachdan a bharrachd"
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.text.eex:7
-#, elixir-format
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
msgstr[0] "Bha gnìomhachd ann!"
@@ -245,99 +245,109 @@ msgstr[1] "Bha gnìomhachdan ann!"
msgstr[2] "Bha gnìomhachdan ann!"
msgstr[3] "Bha gnìomhachdan ann!"
-#: lib/service/activity/renderer/renderer.ex:46
#, elixir-format
+#: lib/service/activity/renderer/renderer.ex:46
msgid "Activity on %{instance}"
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
-#, elixir-format
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
-#, elixir-format
msgid "%{profile} mentionned you in a comment under event %{event}."
msgstr "Thug %{profile} iomradh ort ann am beachd san tachartas %{event}."
-#: lib/service/activity/renderer/discussion.ex:45
#, elixir-format
+#: lib/service/activity/renderer/discussion.ex:45
msgid "%{profile} mentionned you in the discussion %{discussion}."
msgstr "Thug %{profile} iomradh ort san deasbad %{discussion}."
-#: 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 ""
"A bheil thu airson brathan fhaighinn mu ghnìomhachd? ’S urrainn dhut "
"atharrachadh dè cho tric ’s a gheibh thu iad no an cur à comas sna "
"%{tag_start}roghainnean%{tag_end} agad."
+#, 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 "Seo dhut ath-shùil air gnìomhachd na seachdaine"
-#: 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 "Brath gnìomhachd airson %{instance}"
-#: lib/web/email/activity.ex:126
#, elixir-format
+#: lib/web/email/activity.ex:126
msgid "Daily activity recap for %{instance}"
msgstr "Ath-shùil air gnìomhachd %{instance} làitheil"
+#, 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 "Seo dhut ath-shùil air gnìomhachd an latha"
-#: lib/web/email/activity.ex:133
#, elixir-format
+#: lib/web/email/activity.ex:133
msgid "Weekly activity recap for %{instance}"
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
-#, elixir-format
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
-#, elixir-format
msgid "%{profile} has posted a new reply under your event %{event}."
msgstr "Chuir %{profile} freagairt ùr ris fon tachartas %{event} agad."
-#: lib/web/email/activity.ex:46
#, elixir-format
+#: lib/web/email/activity.ex:46
msgid "Announcement for your event %{event}"
msgstr "Brath-fios dhan tachartas %{event} agad"
-#: 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 "Chaidh am buidheann %{group} ùrachadh le %{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 ""
"Chaidh am post %{post} on bhuidheann %{group} a sguabadh às le %{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 ""
"Chaidh am post %{post} on bhuidheann %{group} fhoillseachadh le %{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 "Chaidh am post %{post} on bhuidheann %{group} ùrachadh le %{profile}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr "Dh’ùraich %{profile} am ball %{member}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/gd/LC_MESSAGES/default.po b/priv/gettext/gd/LC_MESSAGES/default.po
new file mode 100644
index 000000000..1db2e4986
--- /dev/null
+++ b/priv/gettext/gd/LC_MESSAGES/default.po
@@ -0,0 +1,1686 @@
+## "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: gd\n"
+"Plural-Forms: nplurals=4\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] ""
+msgstr[2] ""
+msgstr[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] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#, 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] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#, 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] ""
+msgstr[2] ""
+msgstr[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] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#, 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] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#, 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:"
+msgid_plural "You have %{number_participation_requests} attendance requests to process:"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+#, 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
+#: 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
+#: 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:51
+#: lib/web/templates/email/pending_participation_notification.text.eex:6
+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:64
+#: lib/web/templates/email/pending_participation_notification.text.eex:8
+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:298
+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:304
+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:73
+#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91
+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
+msgid "Administrator"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:55
+msgid "Creator"
+msgstr ""
+
+#, elixir-format
+#: lib/service/export/participants/common.ex:49
+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:11
+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/card/_metadata.html.heex:70
+msgid "Manage your participation"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/date/event_tz_date_range.html.heex:5
+#: lib/web/templates/email/date/event_tz_date_range.text.eex:1
+msgid "On %{date} from %{start_time} to %{end_time}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.html.heex:19
+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:5
+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/card/_metadata.text.eex:4
+msgid "Manage your participation:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_title.text.eex:3
+#: lib/web/templates/email/participation/card/_title.text.eex:3
+msgid "Organizer: %{organizer}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_metadata.html.heex:92
+msgid "Participate"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_metadata.text.eex:4
+msgid "Participate:"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/event_card.text.eex:7
+msgid "Read more : %{url}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/templates/email/participation/card/_title.text.eex:1
+msgid "Title: %{title}"
+msgstr ""
+
+#, elixir-format
+#: lib/web/email/group.ex: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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/gd/LC_MESSAGES/errors.po b/priv/gettext/gd/LC_MESSAGES/errors.po
new file mode 100644
index 000000000..ab2ecf327
--- /dev/null
+++ b/priv/gettext/gd/LC_MESSAGES/errors.po
@@ -0,0 +1,1031 @@
+## "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: gd\n"
+"Plural-Forms: nplurals=4\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] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "should have %{count} item(s)"
+msgid_plural "should have %{count} item(s)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "should be at least %{count} character(s)"
+msgid_plural "should be at least %{count} character(s)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "should have at least %{count} item(s)"
+msgid_plural "should have at least %{count} item(s)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "should be at most %{count} character(s)"
+msgid_plural "should be at most %{count} character(s)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "should have at most %{count} item(s)"
+msgid_plural "should have at most %{count} item(s)"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+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:245
+msgid "Current profile is not a member of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:249
+msgid "Current profile is not an administrator of the selected group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:593
+msgid "Error while saving user settings"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242
+#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342
+#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79
+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:308
+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:253
+msgid "No user to validate with this email was found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278
+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:156
+msgid "Registrations are not open"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:408
+msgid "The current password is invalid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:451
+msgid "The new email doesn't seem to be valid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:454
+msgid "The new email must be different"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:411
+msgid "The new password must be different"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520
+#: lib/graphql/resolvers/user.ex:523
+msgid "The password provided is invalid"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:415
+msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:274
+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:232 lib/graphql/resolvers/user.ex:237
+msgid "Unable to validate user"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:501
+msgid "User already disabled"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:568
+msgid "User requested is not logged-in"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:280
+msgid "You are already a member of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:315
+msgid "You can't leave this group because you are the only administrator"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:277
+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:466
+msgid "You need to be logged-in to change your email"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:423
+msgid "You need to be logged-in to change your password"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:254
+msgid "You need to be logged-in to delete a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:528
+msgid "You need to be logged-in to delete your account"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:285
+msgid "You need to be logged-in to join a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:320
+msgid "You need to be logged-in to leave a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:218
+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:256 lib/graphql/resolvers/user.ex:281
+msgid "You requested again a confirmation email too soon"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:159
+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:63 lib/graphql/resolvers/report.ex:82
+msgid "Error while saving report"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:102
+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:82
+msgid "Profile invited doesn't exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95
+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:40
+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 lib/graphql/resolvers/person.ex:458
+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:85
+msgid "You are not a member of this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
+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:190
+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:88
+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:54
+msgid "You need to be logged-in and a moderator to list action logs"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:28
+msgid "You need to be logged-in and a moderator to list reports"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:107
+msgid "You need to be logged-in and a moderator to update a report"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/report.ex:45
+msgid "You need to be logged-in and a moderator to view a report"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:255
+msgid "You need to be logged-in and an administrator to access admin settings"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:239
+msgid "You need to be logged-in and an administrator to access dashboard statistics"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/admin.ex:281
+msgid "You need to be logged-in and an administrator to save admin settings"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/discussion.ex: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:79
+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:116
+msgid "You can't accept this invitation with this profile."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:137
+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:213
+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:140
+msgid "This invitation doesn't exist."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:215
+msgid "This member already has been rejected."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:239
+msgid "You don't have the right to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/mobilizon/actors/actor.ex:350
+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:159 lib/graphql/resolvers/group.ex:201
+#: 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:484
+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:163
+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:607
+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:209
+msgid "Failed to update the group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:448
+msgid "Failed to update user email"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:480
+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:405
+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:165
+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:461
+msgid "User cannot change email"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:364
+msgid "Follow does not match your account"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:368
+msgid "Follow not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:327
+msgid "Profile with username %{username} not found"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/user.ex:322
+msgid "This profile does not belong to you"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:338
+msgid "You are already following this group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:347
+msgid "You need to be logged-in to follow a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:396
+msgid "You need to be logged-in to unfollow a group"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/group.ex:373
+msgid "You need to be logged-in to update a group follow"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/gl/LC_MESSAGES/activity.po b/priv/gettext/gl/LC_MESSAGES/activity.po
index 1929ed6dd..d2c4d672b 100644
--- a/priv/gettext/gl/LC_MESSAGES/activity.po
+++ b/priv/gettext/gl/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/gl/LC_MESSAGES/default.po b/priv/gettext/gl/LC_MESSAGES/default.po
index 90b248477..37751e910 100644
--- a/priv/gettext/gl/LC_MESSAGES/default.po
+++ b/priv/gettext/gl/LC_MESSAGES/default.po
@@ -1226,7 +1226,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Ata aquí, e grazas pola atención!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Foches eliminada do grupo %{group}"
@@ -1916,7 +1916,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Localización"
@@ -1925,3 +1925,50 @@ msgstr "Localización"
#: 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 "Vas ir!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/gl/LC_MESSAGES/errors.po b/priv/gettext/gl/LC_MESSAGES/errors.po
index 1e206f06a..71e741960 100644
--- a/priv/gettext/gl/LC_MESSAGES/errors.po
+++ b/priv/gettext/gl/LC_MESSAGES/errors.po
@@ -525,7 +525,8 @@ msgid "You are not a member of this group"
msgstr "Non es membro deste grupo"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Non es moderadora ou administradora deste grupo"
@@ -562,7 +563,7 @@ msgstr ""
"Non podes saír do evento porque es a única creadora do evento que participa"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Non podes adxudicarte un rol menor neste grupo porque es a única "
@@ -808,12 +809,12 @@ msgid "This invitation doesn't exist."
msgstr "O convite non existe."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Este membro xa foi rexeitado."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Non tes permiso para eliminar este membro."
@@ -1028,3 +1029,18 @@ msgstr "Tes que estar conectada para poder unirte a un grupo"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Tes que estar conectada para poder actualizar un grupo"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Non tes permiso para eliminar este membro."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/hu/LC_MESSAGES/activity.po b/priv/gettext/hu/LC_MESSAGES/activity.po
index 8dfd9991b..19f0bdc8c 100644
--- a/priv/gettext/hu/LC_MESSAGES/activity.po
+++ b/priv/gettext/hu/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/hu/LC_MESSAGES/default.po b/priv/gettext/hu/LC_MESSAGES/default.po
index 80c639978..c7f570e4d 100644
--- a/priv/gettext/hu/LC_MESSAGES/default.po
+++ b/priv/gettext/hu/LC_MESSAGES/default.po
@@ -1082,7 +1082,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1667,7 +1667,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Hely"
@@ -1676,3 +1676,50 @@ msgstr "Hely"
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/hu/LC_MESSAGES/errors.po b/priv/gettext/hu/LC_MESSAGES/errors.po
index dbf666b0d..7b0a91778 100644
--- a/priv/gettext/hu/LC_MESSAGES/errors.po
+++ b/priv/gettext/hu/LC_MESSAGES/errors.po
@@ -542,7 +542,8 @@ msgid "You are not a member of this group"
msgstr "Nem tagja ennek a csoportnak"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Nem moderátor vagy adminisztrátor ennél a csoportnál"
@@ -579,7 +580,7 @@ msgstr ""
"Nem hagyhatja el az eseményt, mert Ön az egyedüli eseménylétrehozó résztvevő"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Nem állíthatja magát alacsonyabb tagszerepre ennél a csoportnál, mert Ön az "
@@ -831,12 +832,12 @@ msgid "This invitation doesn't exist."
msgstr "Ez a meghívás nem létezik."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Ez a tag már vissza lett utasítva."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Nincs meg a jogosultsága a tag eltávolításához."
@@ -1048,3 +1049,18 @@ msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Bejelentkezve kell lennie egy csoport frissítéséhez"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Nincs meg a jogosultsága a tag eltávolításához."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/id/LC_MESSAGES/activity.po b/priv/gettext/id/LC_MESSAGES/activity.po
index a91c38429..91ba56c36 100644
--- a/priv/gettext/id/LC_MESSAGES/activity.po
+++ b/priv/gettext/id/LC_MESSAGES/activity.po
@@ -102,7 +102,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -120,7 +120,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} keluar dari kelompok."
@@ -156,7 +156,7 @@ msgid "%{profile} updated the group %{group}."
msgstr "%{profile} memperbarui kelompok %{group}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -326,3 +326,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "Postingan %{post} dari kelompok %{group} diperbarui oleh %{profile}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/id/LC_MESSAGES/default.po b/priv/gettext/id/LC_MESSAGES/default.po
index 3a07feeac..a5d1db147 100644
--- a/priv/gettext/id/LC_MESSAGES/default.po
+++ b/priv/gettext/id/LC_MESSAGES/default.po
@@ -1065,7 +1065,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Sampai jumpa, dan terima kasih atas ikannya!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Anda telah dikeluarkan dari kelompok %{group}"
@@ -1650,7 +1650,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Lokasi"
@@ -1659,3 +1659,50 @@ msgstr "Lokasi"
#: 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 "Anda ikut!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/id/LC_MESSAGES/errors.po b/priv/gettext/id/LC_MESSAGES/errors.po
index 629b45f56..3c69c150a 100644
--- a/priv/gettext/id/LC_MESSAGES/errors.po
+++ b/priv/gettext/id/LC_MESSAGES/errors.po
@@ -516,7 +516,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -552,7 +553,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -787,12 +788,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1002,3 +1003,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/it/LC_MESSAGES/activity.po b/priv/gettext/it/LC_MESSAGES/activity.po
index ec430f3c7..f298415c7 100644
--- a/priv/gettext/it/LC_MESSAGES/activity.po
+++ b/priv/gettext/it/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po
index 501a16893..f0f8d4804 100644
--- a/priv/gettext/it/LC_MESSAGES/default.po
+++ b/priv/gettext/it/LC_MESSAGES/default.po
@@ -1257,7 +1257,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Addio, e grazie per il pesce!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Sei stato rimosso dal gruppo %{group}"
@@ -1957,7 +1957,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Posizione"
@@ -1966,3 +1966,50 @@ msgstr "Posizione"
#: 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 "Ce l'hai fatta!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po
index 14655d6f9..0ad848a53 100644
--- a/priv/gettext/it/LC_MESSAGES/errors.po
+++ b/priv/gettext/it/LC_MESSAGES/errors.po
@@ -524,7 +524,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:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Non sei un moderatore o amministratore di questo gruppo"
@@ -561,7 +562,7 @@ msgstr ""
"Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Non puoi impostare te stesso per un ruolo di membro inferiore per questo "
@@ -806,12 +807,12 @@ msgid "This invitation doesn't exist."
msgstr "Questo invito non esiste."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Questo memebro è già stato rifiutato."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Non hai il diritto di rimuovere questo membro."
@@ -1025,3 +1026,18 @@ msgstr "È necessario effettuare il login per entrare a far parte di un gruppo"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "È necessario effettuare il login per aggiornare un gruppo"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Non hai il diritto di rimuovere questo membro."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/ja/LC_MESSAGES/activity.po b/priv/gettext/ja/LC_MESSAGES/activity.po
index 90aade4aa..2537b6100 100644
--- a/priv/gettext/ja/LC_MESSAGES/activity.po
+++ b/priv/gettext/ja/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -314,3 +314,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po
index 0249b8218..d6ad97c6a 100644
--- a/priv/gettext/ja/LC_MESSAGES/default.po
+++ b/priv/gettext/ja/LC_MESSAGES/default.po
@@ -1025,7 +1025,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1610,7 +1610,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1619,3 +1619,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/ja/LC_MESSAGES/errors.po b/priv/gettext/ja/LC_MESSAGES/errors.po
index 8c7987790..dd2e84012 100644
--- a/priv/gettext/ja/LC_MESSAGES/errors.po
+++ b/priv/gettext/ja/LC_MESSAGES/errors.po
@@ -509,7 +509,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -545,7 +546,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -780,12 +781,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -995,3 +996,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/nl/LC_MESSAGES/activity.po b/priv/gettext/nl/LC_MESSAGES/activity.po
index f48f0663d..adf5c5f42 100644
--- a/priv/gettext/nl/LC_MESSAGES/activity.po
+++ b/priv/gettext/nl/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po
index 30386955d..64cf1d6ff 100644
--- a/priv/gettext/nl/LC_MESSAGES/default.po
+++ b/priv/gettext/nl/LC_MESSAGES/default.po
@@ -1049,7 +1049,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1635,7 +1635,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1644,3 +1644,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/nl/LC_MESSAGES/errors.po b/priv/gettext/nl/LC_MESSAGES/errors.po
index bd82c2abd..a222d3c52 100644
--- a/priv/gettext/nl/LC_MESSAGES/errors.po
+++ b/priv/gettext/nl/LC_MESSAGES/errors.po
@@ -515,7 +515,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -551,7 +552,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -786,12 +787,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1001,3 +1002,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/nn/LC_MESSAGES/activity.po b/priv/gettext/nn/LC_MESSAGES/activity.po
index 9b5a1a9cd..6320ab4f5 100644
--- a/priv/gettext/nn/LC_MESSAGES/activity.po
+++ b/priv/gettext/nn/LC_MESSAGES/activity.po
@@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} sletta ressursen %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "%{profile} kasta ut medlemen %{member}."
@@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} flytta ressursen %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} forlét gruppa."
@@ -152,7 +152,7 @@ msgid "%{profile} updated the group %{group}."
msgstr "%{profile} oppdaterte gruppa %{group}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr "%{profile} oppdaterte medlemen %{member}."
@@ -328,3 +328,13 @@ msgstr "%{profile} la ut innlegget %{post} i gruppa %{group}."
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "%{profile} oppdaterte innlegget %{post} i gruppa %{group}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr "%{profile} oppdaterte medlemen %{member}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/nn/LC_MESSAGES/default.po b/priv/gettext/nn/LC_MESSAGES/default.po
index cf45a223b..b03ad1751 100644
--- a/priv/gettext/nn/LC_MESSAGES/default.po
+++ b/priv/gettext/nn/LC_MESSAGES/default.po
@@ -1221,7 +1221,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Ha det så lenge, og takk for all fisken!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Du er fjerna frå gruppa %{group}"
@@ -1915,7 +1915,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Stad"
@@ -1924,3 +1924,50 @@ msgstr "Stad"
#: 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 "Du skal dit!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/nn/LC_MESSAGES/errors.po b/priv/gettext/nn/LC_MESSAGES/errors.po
index d1852adee..0f3e49cb0 100644
--- a/priv/gettext/nn/LC_MESSAGES/errors.po
+++ b/priv/gettext/nn/LC_MESSAGES/errors.po
@@ -538,7 +538,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:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Du er ikkje styrar eller administrator for denne gruppa"
@@ -577,7 +578,7 @@ msgstr ""
"oppretta hendinga"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Du kan ikkje gje deg sjølv ei deltakarrolle i denne gruppa, fordi du er den "
@@ -823,12 +824,12 @@ msgid "This invitation doesn't exist."
msgstr "Invitasjonen finst ikkje."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Denne medlemen har allereie fått avslag."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Du har ikkje løyve til å fjerna denne medlemen."
@@ -1045,3 +1046,18 @@ msgstr "Du må vera innlogga for å bli med i ei gruppe"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Du må vera innlogga for å oppdatera ei gruppe"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Du har ikkje løyve til å fjerna denne medlemen."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/oc/LC_MESSAGES/activity.po b/priv/gettext/oc/LC_MESSAGES/activity.po
index 4a66e3c3c..b143c8aff 100644
--- a/priv/gettext/oc/LC_MESSAGES/activity.po
+++ b/priv/gettext/oc/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/oc/LC_MESSAGES/default.po b/priv/gettext/oc/LC_MESSAGES/default.po
index 79ff993cf..2ea67e705 100644
--- a/priv/gettext/oc/LC_MESSAGES/default.po
+++ b/priv/gettext/oc/LC_MESSAGES/default.po
@@ -1126,7 +1126,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Vos an tirat del grop %{group}"
@@ -1720,7 +1720,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Localizacion"
@@ -1729,3 +1729,50 @@ msgstr "Localizacion"
#: 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 "I anatz !"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/oc/LC_MESSAGES/errors.po b/priv/gettext/oc/LC_MESSAGES/errors.po
index 4f512ac68..8b04c520c 100644
--- a/priv/gettext/oc/LC_MESSAGES/errors.po
+++ b/priv/gettext/oc/LC_MESSAGES/errors.po
@@ -527,7 +527,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -563,7 +564,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -798,12 +799,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1013,3 +1014,18 @@ msgstr "Devetz d'esser conectat per rejónher un grop"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Devetz d'esser conectat per metre à jorn un grop"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/pl/LC_MESSAGES/activity.po b/priv/gettext/pl/LC_MESSAGES/activity.po
index eab828fc4..87c6cb41c 100644
--- a/priv/gettext/pl/LC_MESSAGES/activity.po
+++ b/priv/gettext/pl/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -318,3 +318,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/pl/LC_MESSAGES/default.po b/priv/gettext/pl/LC_MESSAGES/default.po
index 26119dbfd..9ff926fe4 100644
--- a/priv/gettext/pl/LC_MESSAGES/default.po
+++ b/priv/gettext/pl/LC_MESSAGES/default.po
@@ -1135,7 +1135,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Zostałeś(-aś) usunięty(-a) z grupy %{group}"
@@ -1734,7 +1734,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Miejsce"
@@ -1743,3 +1743,50 @@ msgstr "Miejsce"
#: 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 "Weźmiesz udział!"
+
+#, 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/pl/LC_MESSAGES/errors.po b/priv/gettext/pl/LC_MESSAGES/errors.po
index 07715dfab..28ab4c42b 100644
--- a/priv/gettext/pl/LC_MESSAGES/errors.po
+++ b/priv/gettext/pl/LC_MESSAGES/errors.po
@@ -534,7 +534,8 @@ msgid "You are not a member of this group"
msgstr "Nie jesteś członkiem tej grupy"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Nie jesteś moderatorem ani administratorem tej grupy"
@@ -570,7 +571,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Nie możesz przydzielić sobie niższej rangi grupy, ponieważ jesteś jedynym "
@@ -815,12 +816,12 @@ msgid "This invitation doesn't exist."
msgstr "To zaproszenie nie istnieje."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Ten członek już został odrzucony."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "Nie masz uprawnień do usunięcia tego członka."
@@ -1030,3 +1031,18 @@ msgstr "Musisz być zalogowany(-a), aby dołączyć do grupy"
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Musisz być zalogowany(-a), aby zaktualizować grupę"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "Nie masz uprawnień do usunięcia tego członka."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/pt/LC_MESSAGES/activity.po b/priv/gettext/pt/LC_MESSAGES/activity.po
index cf114ab69..83e8e70d1 100644
--- a/priv/gettext/pt/LC_MESSAGES/activity.po
+++ b/priv/gettext/pt/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/pt/LC_MESSAGES/default.po b/priv/gettext/pt/LC_MESSAGES/default.po
index 5cdf51b6a..b582a975f 100644
--- a/priv/gettext/pt/LC_MESSAGES/default.po
+++ b/priv/gettext/pt/LC_MESSAGES/default.po
@@ -1030,7 +1030,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1615,7 +1615,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1624,3 +1624,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/pt/LC_MESSAGES/errors.po b/priv/gettext/pt/LC_MESSAGES/errors.po
index 279741704..40227ebb7 100644
--- a/priv/gettext/pt/LC_MESSAGES/errors.po
+++ b/priv/gettext/pt/LC_MESSAGES/errors.po
@@ -515,7 +515,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -551,7 +552,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -786,12 +787,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1001,3 +1002,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/activity.po b/priv/gettext/pt_BR/LC_MESSAGES/activity.po
index f2e0cd29a..2db94afaf 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/activity.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/default.po b/priv/gettext/pt_BR/LC_MESSAGES/default.po
index 5d9b177be..63040018c 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/default.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/default.po
@@ -1107,7 +1107,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1727,7 +1727,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1736,3 +1736,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/errors.po b/priv/gettext/pt_BR/LC_MESSAGES/errors.po
index 95c568db7..4081f9c12 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/errors.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/errors.po
@@ -515,7 +515,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -551,7 +552,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -786,12 +787,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1001,3 +1002,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/ru/LC_MESSAGES/activity.po b/priv/gettext/ru/LC_MESSAGES/activity.po
index 1634fc752..deb099324 100644
--- a/priv/gettext/ru/LC_MESSAGES/activity.po
+++ b/priv/gettext/ru/LC_MESSAGES/activity.po
@@ -98,7 +98,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} удалил ресурс %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr "%{profile} исключил участника %{member}."
@@ -116,7 +116,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr "%{profile} переместил ресурс %{resource}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr "%{profile} вышел из группы."
@@ -152,7 +152,7 @@ msgid "%{profile} updated the group %{group}."
msgstr "%{profile} обновил группу %{group}."
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr "%{profile} обновил участника %{member}."
@@ -330,3 +330,13 @@ msgstr "Сообщение %{post} из группы %{group} было опуб
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "Сообщение %{post} из группы %{group} было обновлено %{profile}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr "%{profile} обновил участника %{member}."
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/ru/LC_MESSAGES/default.po b/priv/gettext/ru/LC_MESSAGES/default.po
index 232b42ca4..418568f2e 100644
--- a/priv/gettext/ru/LC_MESSAGES/default.po
+++ b/priv/gettext/ru/LC_MESSAGES/default.po
@@ -1257,7 +1257,7 @@ msgid "So long, and thanks for the fish!"
msgstr "Всего хорошего, и спасибо за рыбу!"
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr "Вас исключили из группы %{group}"
@@ -1960,7 +1960,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr "Местонахождение"
@@ -1969,3 +1969,50 @@ msgstr "Местонахождение"
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/ru/LC_MESSAGES/errors.po b/priv/gettext/ru/LC_MESSAGES/errors.po
index 8c3e485b5..8d52c6b95 100644
--- a/priv/gettext/ru/LC_MESSAGES/errors.po
+++ b/priv/gettext/ru/LC_MESSAGES/errors.po
@@ -539,7 +539,8 @@ msgid "You are not a member of this group"
msgstr "Вы не состоите в этой группе"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr "Вы не модератор и не администратор этой группы"
@@ -577,7 +578,7 @@ msgstr ""
"участником, создавшим его"
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
"Вы не можете назначить себе роль с меньшими правами для этой группы, потому "
@@ -835,12 +836,12 @@ msgid "This invitation doesn't exist."
msgstr "Такого приглашения не существует."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr "Этот участник уже был отклонён."
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr "У вас нет прав на удаление этого участника."
@@ -1056,3 +1057,18 @@ msgstr "Вам необходимо войти в систему, чтобы п
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr "Вам необходимо войти в систему, чтобы обновить группу"
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr "У вас нет прав на удаление этого участника."
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""
diff --git a/priv/gettext/sv/LC_MESSAGES/activity.po b/priv/gettext/sv/LC_MESSAGES/activity.po
index 0ce555dd7..b82c2ca33 100644
--- a/priv/gettext/sv/LC_MESSAGES/activity.po
+++ b/priv/gettext/sv/LC_MESSAGES/activity.po
@@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:58
+#: lib/service/activity/renderer/member.ex:66
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
msgid "%{profile} excluded member %{member}."
msgstr ""
@@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:62
+#: lib/service/activity/renderer/member.ex:70
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
msgid "%{profile} quit the group."
msgstr ""
@@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
msgstr ""
#, elixir-format
-#: lib/service/activity/renderer/member.ex:54
+#: lib/service/activity/renderer/member.ex:62
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
msgid "%{profile} updated the member %{member}."
msgstr ""
@@ -316,3 +316,13 @@ msgstr ""
#: lib/service/activity/renderer/post.ex:39
msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:54
+msgid "%{profile} approved the membership request from %{member}."
+msgstr ""
+
+#, elixir-format
+#: lib/service/activity/renderer/member.ex:58
+msgid "%{profile} rejected the membership request from %{member}."
+msgstr ""
diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po
index d29b33c4f..62b19e9e8 100644
--- a/priv/gettext/sv/LC_MESSAGES/default.po
+++ b/priv/gettext/sv/LC_MESSAGES/default.po
@@ -1055,7 +1055,7 @@ msgid "So long, and thanks for the fish!"
msgstr ""
#, elixir-format
-#: lib/web/email/member.ex:61
+#: lib/web/email/member.ex:113
msgid "You have been removed from group %{group}"
msgstr ""
@@ -1643,7 +1643,7 @@ msgstr ""
msgid "New end date:"
msgstr ""
-#, elixir-format, fuzzy
+#, elixir-format
#: lib/web/templates/email/event_updated.text.eex:10
msgid "New location:"
msgstr ""
@@ -1652,3 +1652,50 @@ msgstr ""
#: 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, fuzzy
+#: lib/web/templates/email/group_membership_approval.text.eex:3
+msgid "Your membership request for group %{group} has been approved."
+msgstr ""
+
+#, elixir-format, fuzzy
+#: 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 ""
diff --git a/priv/gettext/sv/LC_MESSAGES/errors.po b/priv/gettext/sv/LC_MESSAGES/errors.po
index 9c08b3cc7..79441c638 100644
--- a/priv/gettext/sv/LC_MESSAGES/errors.po
+++ b/priv/gettext/sv/LC_MESSAGES/errors.po
@@ -522,7 +522,8 @@ msgid "You are not a member of this group"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:155
+#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
+#: lib/graphql/resolvers/member.ex:186
msgid "You are not a moderator or admin for this group"
msgstr ""
@@ -558,7 +559,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:159
+#: lib/graphql/resolvers/member.ex:190
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr ""
@@ -793,12 +794,12 @@ msgid "This invitation doesn't exist."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:185
+#: lib/graphql/resolvers/member.ex:215
msgid "This member already has been rejected."
msgstr ""
#, elixir-format
-#: lib/graphql/resolvers/member.ex:192
+#: lib/graphql/resolvers/member.ex:239
msgid "You don't have the right to remove this member."
msgstr ""
@@ -1008,3 +1009,18 @@ msgstr ""
#: lib/graphql/resolvers/group.ex:373
msgid "You need to be logged-in to update a group follow"
msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:208
+msgid "This member does not exist"
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:232
+msgid "You don't have the role needed to remove this member."
+msgstr ""
+
+#, elixir-format
+#: lib/graphql/resolvers/member.ex:250
+msgid "You must be logged-in to remove a member"
+msgstr ""