Forbid creating usernames with uppercase characters

We don't actually enforce anything on the ActivityPub level, only
user-facing interfaces

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
master
Thomas Citharel 2 years ago
parent c28dae45bb
commit e6077d0dc3
No known key found for this signature in database
GPG Key ID: A061B9DDE0CA0773
  1. 2
      js/src/i18n/en_US.json
  2. 2
      js/src/i18n/fr_FR.json
  3. 13
      js/src/views/Account/Register.vue
  4. 4
      js/src/views/Account/children/EditIdentity.vue
  5. 25
      js/src/views/Group/Create.vue
  6. 2
      js/tests/e2e/specs/login.js
  7. 1
      lib/graphql/resolvers/group.ex
  8. 4
      lib/graphql/resolvers/person.ex
  9. 7
      lib/mobilizon/actors/actor.ex
  10. 18
      priv/gettext/ar/LC_MESSAGES/default.po
  11. 138
      priv/gettext/ar/LC_MESSAGES/errors.po
  12. 18
      priv/gettext/be/LC_MESSAGES/default.po
  13. 138
      priv/gettext/be/LC_MESSAGES/errors.po
  14. 480
      priv/gettext/ca/LC_MESSAGES/default.po
  15. 326
      priv/gettext/ca/LC_MESSAGES/errors.po
  16. 18
      priv/gettext/cs/LC_MESSAGES/default.po
  17. 138
      priv/gettext/cs/LC_MESSAGES/errors.po
  18. 18
      priv/gettext/de/LC_MESSAGES/default.po
  19. 138
      priv/gettext/de/LC_MESSAGES/errors.po
  20. 16
      priv/gettext/default.pot
  21. 18
      priv/gettext/en/LC_MESSAGES/default.po
  22. 138
      priv/gettext/en/LC_MESSAGES/errors.po
  23. 138
      priv/gettext/errors.pot
  24. 480
      priv/gettext/es/LC_MESSAGES/default.po
  25. 326
      priv/gettext/es/LC_MESSAGES/errors.po
  26. 480
      priv/gettext/fi/LC_MESSAGES/default.po
  27. 326
      priv/gettext/fi/LC_MESSAGES/errors.po
  28. 426
      priv/gettext/fr/LC_MESSAGES/default.po
  29. 134
      priv/gettext/fr/LC_MESSAGES/errors.po
  30. 480
      priv/gettext/gl/LC_MESSAGES/default.po
  31. 326
      priv/gettext/gl/LC_MESSAGES/errors.po
  32. 1369
      priv/gettext/hu/LC_MESSAGES/default.po
  33. 326
      priv/gettext/hu/LC_MESSAGES/errors.po
  34. 480
      priv/gettext/it/LC_MESSAGES/default.po
  35. 326
      priv/gettext/it/LC_MESSAGES/errors.po
  36. 18
      priv/gettext/ja/LC_MESSAGES/default.po
  37. 138
      priv/gettext/ja/LC_MESSAGES/errors.po
  38. 18
      priv/gettext/nl/LC_MESSAGES/default.po
  39. 138
      priv/gettext/nl/LC_MESSAGES/errors.po
  40. 480
      priv/gettext/nn/LC_MESSAGES/default.po
  41. 326
      priv/gettext/nn/LC_MESSAGES/errors.po
  42. 480
      priv/gettext/oc/LC_MESSAGES/default.po
  43. 326
      priv/gettext/oc/LC_MESSAGES/errors.po
  44. 480
      priv/gettext/pl/LC_MESSAGES/default.po
  45. 326
      priv/gettext/pl/LC_MESSAGES/errors.po
  46. 18
      priv/gettext/pt/LC_MESSAGES/default.po
  47. 138
      priv/gettext/pt/LC_MESSAGES/errors.po
  48. 18
      priv/gettext/pt_BR/LC_MESSAGES/default.po
  49. 138
      priv/gettext/pt_BR/LC_MESSAGES/errors.po
  50. 18
      priv/gettext/ru/LC_MESSAGES/default.po
  51. 138
      priv/gettext/ru/LC_MESSAGES/errors.po
  52. 18
      priv/gettext/sv/LC_MESSAGES/default.po
  53. 138
      priv/gettext/sv/LC_MESSAGES/errors.po
  54. 583
      test/graphql/resolvers/user_test.exs
  55. 10
      test/mobilizon/actors/actors_test.exs

@ -231,7 +231,7 @@
"On {date} starting at {startTime}": "On {date} starting at {startTime}",
"On {date}": "On {date}",
"Only accessible through link (private)": "Only accessible through link (private)",
"Only alphanumeric characters and underscores are supported.": "Only alphanumeric characters and underscores are supported.",
"Only alphanumeric lowercased characters and underscores are supported.": "Only alphanumeric lowercased characters and underscores are supported.",
"Open": "Open",
"Opened reports": "Opened reports",
"Or": "Or",

@ -480,7 +480,7 @@
"Only accessible through link": "Accessible uniquement par le lien",
"Only accessible through link (private)": "Uniquement accessible par lien (privé)",
"Only accessible to members of the group": "Accessible uniquement aux membres du groupe",
"Only alphanumeric characters and underscores are supported.": "Seuls les caractères alphanumériques et les tirets bas sont acceptés.",
"Only alphanumeric lowercased characters and underscores are supported.": "Seuls les caractères alphanumériques minuscules et les tirets bas sont acceptés.",
"Only group moderators can create, edit and delete posts.": "Seul·e·s les modérateur·rice·s du groupe peuvent créer, éditer et supprimer des billets.",
"Open": "Ouvert",
"Opened reports": "Signalements ouverts",

@ -26,12 +26,21 @@
:type="errors.preferred_username ? 'is-danger' : null"
:message="errors.preferred_username"
>
<b-field>
<b-field
:message="
$t('Only alphanumeric lowercased characters and underscores are supported.')
"
>
<b-input
aria-required="true"
required
expanded
v-model="identity.preferredUsername"
:validation-message="
identity.preferredUsername
? $t('Only alphanumeric lowercased characters and underscores are supported.')
: null
"
/>
<p class="control">
<span class="button is-static">@{{ host }}</span>
@ -164,7 +173,7 @@ export default class Register extends mixins(identityEditionMixin) {
} catch (errorCatched) {
this.errors = errorCatched.graphQLErrors.reduce(
(acc: { [key: string]: string }, error: any) => {
acc[error.details] = error.message;
acc[error.details || error.field] = error.message;
return acc;
},
{}

@ -181,7 +181,9 @@ export default class EditIdentity extends mixins(identityEditionMixin) {
get message(): string | null {
if (this.isUpdate) return null;
return this.$t("Only alphanumeric characters and underscores are supported.") as string;
return this.$t(
"Only alphanumeric lowercased characters and underscores are supported."
) as string;
}
get avatarUrl(): string | null {

@ -1,6 +1,6 @@
<template>
<section class="section container">
<h1>{{ $t("Create a new group") }}</h1>
<h1 class="title">{{ $t("Create a new group") }}</h1>
<b-message type="is-danger" v-for="(value, index) in errors" :key="index">
{{ value }}
@ -14,8 +14,23 @@
<div class="field">
<label class="label">{{ $t("Federated Group Name") }}</label>
<div class="field-body">
<b-field>
<b-input aria-required="true" required expanded v-model="group.preferredUsername" />
<b-field
:message="$t('Only alphanumeric lowercased characters and underscores are supported.')"
>
<b-input
ref="preferredUsernameInput"
aria-required="true"
required
expanded
v-model="group.preferredUsername"
pattern="[a-z0-9_]+"
:useHtml5Validation="true"
:validation-message="
group.preferredUsername
? $t('Only alphanumeric lowercased characters and underscores are supported.')
: null
"
/>
<p class="control">
<span class="button is-static">@{{ host }}</span>
</p>
@ -36,12 +51,12 @@
</b-field>
<div>
{{ $t("Avatar") }}
<b>{{ $t("Avatar") }}</b>
<picture-upload :textFallback="$t('Avatar')" v-model="avatarFile" />
</div>
<div>
{{ $t("Banner") }}
<b>{{ $t("Banner") }}</b>
<picture-upload :textFallback="$t('Banner')" v-model="bannerFile" />
</div>

@ -95,7 +95,7 @@ describe("Login", () => {
.find("textarea")
.type("This shouln't work because it' using a dupublicated username");
cy.get(".control.has-text-centered").contains("button", "Create my profile").click();
cy.contains(".help.is-danger", "Username is already taken");
cy.contains(".help.is-danger", "This username is already taken.");
cy.get("form .field input").first(0).clear().type("test_user_2");
cy.get("form .field input").eq(1).type("Not");

@ -123,6 +123,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
) do
with creator_actor_id <- Map.get(args, :creator_actor_id),
{:is_owned, %Actor{} = creator_actor} <- User.owns_actor(user, creator_actor_id),
args <- Map.update(args, :preferred_username, "", &String.downcase/1),
args <- Map.put(args, :creator_actor, creator_actor),
args <- save_attached_pictures(args),
{:ok, _activity, %Actor{type: :Group} = group} <-

@ -120,7 +120,8 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
) do
args = Map.put(args, :user_id, user.id)
with args <- save_attached_pictures(args),
with args <- Map.update(args, :preferred_username, "", &String.downcase/1),
args <- save_attached_pictures(args),
{:ok, %Actor{} = new_person} <- Actors.new_person(args) do
{:ok, new_person}
end
@ -220,6 +221,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
user_actor <- Users.get_actor_for_user(user),
no_actor <- is_nil(user_actor),
{:no_actor, true} <- {:no_actor, no_actor},
args <- Map.update(args, :preferred_username, "", &String.downcase/1),
args <- Map.put(args, :user_id, user.id),
args <- save_attached_pictures(args),
{:ok, %Actor{} = new_person} <- Actors.new_person(args, true) do

@ -18,6 +18,7 @@ defmodule Mobilizon.Actors.Actor do
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
import Mobilizon.Web.Gettext, only: [dgettext: 2]
require Logger
@ -337,7 +338,11 @@ defmodule Mobilizon.Actors.Actor do
) do
with nil <- Map.get(changes, :domain, nil),
%__MODULE__{preferred_username: _} <- Actors.get_local_actor_by_name(username) do
add_error(changeset, :preferred_username, "Username is already taken")
add_error(
changeset,
:preferred_username,
dgettext("errors", "This username is already taken.")
)
else
_ -> changeset
end

@ -115,17 +115,17 @@ msgid "You created an account on %{host} with this email address. You are one cl
msgstr ""
#, elixir-format
#: lib/web/email/participation.ex:113
#: lib/web/email/participation.ex:112
msgid "Your participation to event %{title} has been approved"
msgstr ""
#, elixir-format
#: lib/web/email/participation.ex:71
#: lib/web/email/participation.ex:70
msgid "Your participation to event %{title} has been rejected"
msgstr ""
#, elixir-format
#: lib/web/email/event.ex:36
#: lib/web/email/event.ex:37
msgid "Event %{title} has been updated"
msgstr "تم تحديث الفعالية %{title}"
@ -145,7 +145,7 @@ msgid "Warning"
msgstr "تنبيه"
#, elixir-format
#: lib/web/email/participation.ex:135
#: lib/web/email/participation.ex:134
msgid "Confirm your participation to event %{title}"
msgstr ""
@ -417,7 +417,7 @@ msgstr[5] ""
#, elixir-format
#: lib/web/templates/email/notification_each_week.html.eex:38
#: lib/web/templates/email/notification_each_week.text.eex:4
#: 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] ""
@ -428,7 +428,7 @@ msgstr[4] ""
msgstr[5] ""
#, elixir-format
#: lib/service/metadata/utils.ex:27
#: lib/service/metadata/utils.ex:52
msgid "The event organizer didn't add any description."
msgstr ""
@ -783,7 +783,7 @@ msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:133
#: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70
#: lib/web/templates/email/notification_each_week.text.eex:14 lib/web/templates/email/on_day_notification.html.eex:70
#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.eex:70
#: lib/web/templates/email/on_day_notification.text.eex:14
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."
@ -1267,7 +1267,7 @@ msgid "You recently requested to attend <b>%{title}</b>."
msgstr "لقد قمتَ بتقديم طلب للمشاركة في فعالية %{title}."
#, elixir-format
#: lib/web/email/participation.ex:92
#: lib/web/email/participation.ex:91
msgid "Your participation to event %{title} has been confirmed"
msgstr ""
@ -1394,7 +1394,7 @@ msgstr ""
msgid "We're sorry, but something went wrong on our end."
msgstr ""
#, elixir-format, fuzzy
#, elixir-format
#: lib/web/templates/email/email.html.eex:88
#: lib/web/templates/email/email.text.eex:4
msgid "This is a demonstration site to test Mobilizon."

@ -124,17 +124,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139
#: lib/graphql/resolvers/group.ex:137
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:201
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:207
#: lib/graphql/resolvers/group.ex:205
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -144,13 +144,13 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:83
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198
#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83
msgid "Group not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:69
#: lib/graphql/resolvers/group.ex:66
msgid "Group with ID %{id} not found"
msgstr ""
@ -160,7 +160,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:280
#: lib/graphql/resolvers/group.ex:261
msgid "Member not found"
msgstr ""
@ -176,19 +176,18 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:232 lib/graphql/resolvers/user.ex:76
#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76
#: lib/graphql/resolvers/user.ex:219
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:80 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
#: lib/graphql/resolvers/person.ex:301 lib/graphql/resolvers/picture.ex:75 lib/graphql/resolvers/report.ex:110
#: lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160
#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189
#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297
#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57
msgid "Profile is not owned by authenticated user"
msgstr ""
@ -254,22 +253,22 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:254
#: lib/graphql/resolvers/group.ex:235
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:287
#: lib/graphql/resolvers/group.ex:268
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:251
#: lib/graphql/resolvers/group.ex:232
msgid "You cannot join this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:97
#: lib/graphql/resolvers/group.ex:94
msgid "You may not list groups unless moderator."
msgstr ""
@ -284,7 +283,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:212
#: lib/graphql/resolvers/group.ex:210
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -294,17 +293,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:259
#: lib/graphql/resolvers/group.ex:240
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:292
#: lib/graphql/resolvers/group.ex:273
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:177
#: lib/graphql/resolvers/group.ex:175
msgid "You need to be logged-in to update a group"
msgstr ""
@ -364,22 +363,22 @@ msgid "Profile already suspended"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:96
#: lib/graphql/resolvers/participant.ex:93
msgid "A valid email is required by your instance"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:90
#: lib/graphql/resolvers/participant.ex:87
msgid "Anonymous participation is not enabled"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:188
#: lib/graphql/resolvers/person.ex:186
msgid "Cannot remove the last administrator of a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:185
#: lib/graphql/resolvers/person.ex:183
msgid "Cannot remove the last identity of a user"
msgstr ""
@ -394,17 +393,17 @@ msgid "Discussion not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:87
#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84
msgid "Error while saving report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:113
#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:131
#: lib/graphql/resolvers/participant.ex:128
msgid "Event id not found"
msgstr ""
@ -415,23 +414,23 @@ msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:160
#: lib/graphql/resolvers/participant.ex:84
#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:103
#: lib/graphql/resolvers/participant.ex:100
msgid "Internal Error"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:234
#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231
msgid "Moderator profile is not owned by authenticated user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:181
#: lib/graphql/resolvers/discussion.ex:184
msgid "No discussion with ID %{id}"
msgstr ""
@ -441,7 +440,7 @@ msgid "No profile found for user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66
#: lib/graphql/resolvers/feed_token.ex:63
msgid "No such feed token"
msgstr ""
@ -451,14 +450,14 @@ msgid "Organizer profile is not owned by the user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:244
#: lib/graphql/resolvers/participant.ex:241
msgid "Participant already has role %{role}"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:173
#: lib/graphql/resolvers/participant.ex:202 lib/graphql/resolvers/participant.ex:237
#: lib/graphql/resolvers/participant.ex:247
#: lib/graphql/resolvers/participant.ex:170
#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234
#: lib/graphql/resolvers/participant.ex:244
msgid "Participant not found"
msgstr ""
@ -473,7 +472,7 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:45
#: lib/graphql/resolvers/picture.ex:42
msgid "Picture with ID %{id} was not found"
msgstr ""
@ -507,12 +506,12 @@ msgid "Profile is not member of group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:154 lib/graphql/resolvers/person.ex:182
#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180
msgid "Profile not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:241
#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
@ -527,12 +526,12 @@ msgid "Resource doesn't exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:124
#: lib/graphql/resolvers/participant.ex:121
msgid "The event has already reached its maximum capacity"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:267
#: lib/graphql/resolvers/participant.ex:264
msgid "This token is invalid"
msgstr ""
@ -548,32 +547,32 @@ msgid "Todo list doesn't exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72
#: lib/graphql/resolvers/feed_token.ex:69
msgid "Token does not exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69
#: lib/graphql/resolvers/feed_token.ex:66
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319
msgid "User not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:235
#: lib/graphql/resolvers/person.ex:234
msgid "You already have a profile for this user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:134
#: lib/graphql/resolvers/participant.ex:131
msgid "You are already a participant of this event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:185
#: lib/graphql/resolvers/discussion.ex:188
msgid "You are not a member of the group the discussion belongs to"
msgstr ""
@ -593,7 +592,7 @@ msgid "You are not allowed to create a comment if not connected"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:44
#: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected"
msgstr ""
@ -603,7 +602,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:81
#: lib/graphql/resolvers/feed_token.ex:78
msgid "You are not allowed to delete a feed token if not connected"
msgstr ""
@ -613,8 +612,8 @@ msgid "You are not allowed to update a comment if not connected"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:167
#: lib/graphql/resolvers/participant.ex:196
#: lib/graphql/resolvers/participant.ex:164
#: lib/graphql/resolvers/participant.ex:193
msgid "You can't leave event because you're the only event creator participant"
msgstr ""
@ -639,7 +638,7 @@ msgid "You cannot invite to this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:75
#: lib/graphql/resolvers/feed_token.ex:72
msgid "You don't have permission to delete this token"
msgstr ""
@ -654,7 +653,7 @@ msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:118
#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
@ -664,17 +663,17 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:220
#: lib/graphql/resolvers/admin.ex:236
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:205
#: lib/graphql/resolvers/admin.ex:221
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:244
#: lib/graphql/resolvers/admin.ex:260
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@ -699,7 +698,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:81 lib/graphql/resolvers/report.ex:92
#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89
msgid "You need to be logged-in to create reports"
msgstr ""
@ -724,12 +723,12 @@ msgid "You need to be logged-in to delete resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:108
#: lib/graphql/resolvers/participant.ex:105
msgid "You need to be logged-in to join an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:207
#: lib/graphql/resolvers/participant.ex:204
msgid "You need to be logged-in to leave an event"
msgstr ""
@ -754,12 +753,12 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:86
#: lib/graphql/resolvers/picture.ex:83
msgid "You need to login to upload a picture"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:84
#: lib/graphql/resolvers/report.ex:81
msgid "Reporter ID does not match the anonymous profile id"
msgstr ""
@ -774,7 +773,7 @@ msgid "Parent resource doesn't belong to this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:93
#: lib/graphql/resolvers/participant.ex:90
msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
@ -849,12 +848,12 @@ msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
#: lib/graphql/resolvers/picture.ex:75
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
#: lib/graphql/resolvers/group.ex:170
msgid "Profile is not administrator for the group"
msgstr ""
@ -882,3 +881,8 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:189
msgid "You don't have the right to remove this member."
msgstr ""
#, elixir-format
#: lib/mobilizon/actors/actor.ex:344
msgid "This username is already taken."
msgstr ""

@ -112,17 +112,17 @@ msgid "You created an account on %{host} with this email address. You are one cl
msgstr ""
#, elixir-format
#: lib/web/email/participation.ex:113
#: lib/web/email/participation.ex:112
msgid "Your participation to event %{title} has been approved"
msgstr ""
#, elixir-format
#: lib/web/email/participation.ex:71
#: lib/web/email/participation.ex:70
msgid "Your participation to event %{title} has been rejected"
msgstr ""
#, elixir-format
#: lib/web/email/event.ex:36
#: lib/web/email/event.ex:37
msgid "Event %{title} has been updated"
msgstr ""
@ -142,7 +142,7 @@ msgid "Warning"
msgstr ""
#, elixir-format
#: lib/web/email/participation.ex:135
#: lib/web/email/participation.ex:134
msgid "Confirm your participation to event %{title}"
msgstr ""
@ -402,7 +402,7 @@ msgstr[2] ""
#, elixir-format
#: lib/web/templates/email/notification_each_week.html.eex:38
#: lib/web/templates/email/notification_each_week.text.eex:4
#: 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] ""
@ -410,7 +410,7 @@ msgstr[1] ""
msgstr[2] ""
#, elixir-format
#: lib/service/metadata/utils.ex:27
#: lib/service/metadata/utils.ex:52
msgid "The event organizer didn't add any description."
msgstr ""
@ -765,7 +765,7 @@ msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:133
#: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70
#: lib/web/templates/email/notification_each_week.text.eex:14 lib/web/templates/email/on_day_notification.html.eex:70
#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.eex:70
#: lib/web/templates/email/on_day_notification.text.eex:14
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."
@ -1243,7 +1243,7 @@ msgid "You recently requested to attend <b>%{title}</b>."
msgstr ""
#, elixir-format
#: lib/web/email/participation.ex:92
#: lib/web/email/participation.ex:91
msgid "Your participation to event %{title} has been confirmed"
msgstr ""
@ -1370,7 +1370,7 @@ msgstr ""
msgid "We're sorry, but something went wrong on our end."
msgstr ""
#, elixir-format, fuzzy
#, elixir-format
#: lib/web/templates/email/email.html.eex:88
#: lib/web/templates/email/email.text.eex:4
msgid "This is a demonstration site to test Mobilizon."

@ -98,17 +98,17 @@ msgid "Cannot refresh the token"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:139
#: lib/graphql/resolvers/group.ex:137
msgid "Creator profile is not owned by the current user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:201
msgid "Current profile is not a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:207
#: lib/graphql/resolvers/group.ex:205
msgid "Current profile is not an administrator of the selected group"
msgstr ""
@ -118,13 +118,13 @@ msgid "Error while saving user settings"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:83
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198
#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83
msgid "Group not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:69
#: lib/graphql/resolvers/group.ex:66
msgid "Group with ID %{id} not found"
msgstr ""
@ -134,7 +134,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:280
#: lib/graphql/resolvers/group.ex:261
msgid "Member not found"
msgstr ""
@ -150,19 +150,18 @@ msgid "No user to validate with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:232 lib/graphql/resolvers/user.ex:76
#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76
#: lib/graphql/resolvers/user.ex:219
msgid "No user with this email was found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:80 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
#: lib/graphql/resolvers/person.ex:301 lib/graphql/resolvers/picture.ex:75 lib/graphql/resolvers/report.ex:110
#: lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/member.ex:80
#: lib/graphql/resolvers/participant.ex:29 lib/graphql/resolvers/participant.ex:160
#: lib/graphql/resolvers/participant.ex:189 lib/graphql/resolvers/person.ex:155 lib/graphql/resolvers/person.ex:189
#: lib/graphql/resolvers/person.ex:255 lib/graphql/resolvers/person.ex:284 lib/graphql/resolvers/person.ex:297
#: lib/graphql/resolvers/picture.ex:72 lib/graphql/resolvers/report.ex:107 lib/graphql/resolvers/todos.ex:57
msgid "Profile is not owned by authenticated user"
msgstr ""
@ -228,22 +227,22 @@ msgid "User requested is not logged-in"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:254
#: lib/graphql/resolvers/group.ex:235
msgid "You are already a member of this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:287
#: lib/graphql/resolvers/group.ex:268
msgid "You can't leave this group because you are the only administrator"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:251
#: lib/graphql/resolvers/group.ex:232
msgid "You cannot join this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:97
#: lib/graphql/resolvers/group.ex:94
msgid "You may not list groups unless moderator."
msgstr ""
@ -258,7 +257,7 @@ msgid "You need to be logged-in to change your password"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:212
#: lib/graphql/resolvers/group.ex:210
msgid "You need to be logged-in to delete a group"
msgstr ""
@ -268,17 +267,17 @@ msgid "You need to be logged-in to delete your account"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:259
#: lib/graphql/resolvers/group.ex:240
msgid "You need to be logged-in to join a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:292
#: lib/graphql/resolvers/group.ex:273
msgid "You need to be logged-in to leave a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:177
#: lib/graphql/resolvers/group.ex:175
msgid "You need to be logged-in to update a group"
msgstr ""
@ -338,22 +337,22 @@ msgid "Profile already suspended"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:96
#: lib/graphql/resolvers/participant.ex:93
msgid "A valid email is required by your instance"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:90
#: lib/graphql/resolvers/participant.ex:87
msgid "Anonymous participation is not enabled"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:188
#: lib/graphql/resolvers/person.ex:186
msgid "Cannot remove the last administrator of a group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:185
#: lib/graphql/resolvers/person.ex:183
msgid "Cannot remove the last identity of a user"
msgstr ""
@ -368,17 +367,17 @@ msgid "Discussion not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:87
#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:84
msgid "Error while saving report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:113
#: lib/graphql/resolvers/report.ex:110
msgid "Error while updating report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:131
#: lib/graphql/resolvers/participant.ex:128
msgid "Event id not found"
msgstr ""
@ -389,23 +388,23 @@ msgid "Event not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:87
#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:160
#: lib/graphql/resolvers/participant.ex:84
#: lib/graphql/resolvers/participant.ex:125 lib/graphql/resolvers/participant.ex:157
msgid "Event with this ID %{id} doesn't exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:103
#: lib/graphql/resolvers/participant.ex:100
msgid "Internal Error"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:234
#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:231
msgid "Moderator profile is not owned by authenticated user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:181
#: lib/graphql/resolvers/discussion.ex:184
msgid "No discussion with ID %{id}"
msgstr ""
@ -415,7 +414,7 @@ msgid "No profile found for user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66
#: lib/graphql/resolvers/feed_token.ex:63
msgid "No such feed token"
msgstr ""
@ -425,14 +424,14 @@ msgid "Organizer profile is not owned by the user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:244
#: lib/graphql/resolvers/participant.ex:241
msgid "Participant already has role %{role}"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:173
#: lib/graphql/resolvers/participant.ex:202 lib/graphql/resolvers/participant.ex:237
#: lib/graphql/resolvers/participant.ex:247
#: lib/graphql/resolvers/participant.ex:170
#: lib/graphql/resolvers/participant.ex:199 lib/graphql/resolvers/participant.ex:234
#: lib/graphql/resolvers/participant.ex:244
msgid "Participant not found"
msgstr ""
@ -447,7 +446,7 @@ msgid "Person with username %{username} not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:45
#: lib/graphql/resolvers/picture.ex:42
msgid "Picture with ID %{id} was not found"
msgstr ""
@ -481,12 +480,12 @@ msgid "Profile is not member of group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:154 lib/graphql/resolvers/person.ex:182
#: lib/graphql/resolvers/person.ex:152 lib/graphql/resolvers/person.ex:180
msgid "Profile not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:241
#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:238
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
@ -501,12 +500,12 @@ msgid "Resource doesn't exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:124
#: lib/graphql/resolvers/participant.ex:121
msgid "The event has already reached its maximum capacity"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:267
#: lib/graphql/resolvers/participant.ex:264
msgid "This token is invalid"
msgstr ""
@ -522,32 +521,32 @@ msgid "Todo list doesn't exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72
#: lib/graphql/resolvers/feed_token.ex:69
msgid "Token does not exist"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69
#: lib/graphql/resolvers/feed_token.ex:66
msgid "Token is not a valid UUID"
msgstr ""
#, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:319
msgid "User not found"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/person.ex:235
#: lib/graphql/resolvers/person.ex:234
msgid "You already have a profile for this user"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:134
#: lib/graphql/resolvers/participant.ex:131
msgid "You are already a participant of this event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/discussion.ex:185
#: lib/graphql/resolvers/discussion.ex:188
msgid "You are not a member of the group the discussion belongs to"
msgstr ""
@ -567,7 +566,7 @@ msgid "You are not allowed to create a comment if not connected"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:44
#: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected"
msgstr ""
@ -577,7 +576,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:81
#: lib/graphql/resolvers/feed_token.ex:78
msgid "You are not allowed to delete a feed token if not connected"
msgstr ""
@ -587,8 +586,8 @@ msgid "You are not allowed to update a comment if not connected"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:167
#: lib/graphql/resolvers/participant.ex:196
#: lib/graphql/resolvers/participant.ex:164
#: lib/graphql/resolvers/participant.ex:193
msgid "You can't leave event because you're the only event creator participant"
msgstr ""
@ -613,7 +612,7 @@ msgid "You cannot invite to this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:75
#: lib/graphql/resolvers/feed_token.ex:72
msgid "You don't have permission to delete this token"
msgstr ""
@ -628,7 +627,7 @@ msgid "You need to be logged-in and a moderator to list reports"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:118
#: lib/graphql/resolvers/report.ex:115
msgid "You need to be logged-in and a moderator to update a report"
msgstr ""
@ -638,17 +637,17 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:220
#: lib/graphql/resolvers/admin.ex:236
msgid "You need to be logged-in and an administrator to access admin settings"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:205
#: lib/graphql/resolvers/admin.ex:221
msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/admin.ex:244
#: lib/graphql/resolvers/admin.ex:260
msgid "You need to be logged-in and an administrator to save admin settings"
msgstr ""
@ -673,7 +672,7 @@ msgid "You need to be logged-in to create posts"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:81 lib/graphql/resolvers/report.ex:92
#: lib/graphql/resolvers/report.ex:78 lib/graphql/resolvers/report.ex:89
msgid "You need to be logged-in to create reports"
msgstr ""
@ -698,12 +697,12 @@ msgid "You need to be logged-in to delete resources"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:108
#: lib/graphql/resolvers/participant.ex:105
msgid "You need to be logged-in to join an event"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:207
#: lib/graphql/resolvers/participant.ex:204
msgid "You need to be logged-in to leave an event"
msgstr ""
@ -728,12 +727,12 @@ msgid "You need to be logged-in to view a resource preview"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:86
#: lib/graphql/resolvers/picture.ex:83
msgid "You need to login to upload a picture"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/report.ex:84
#: lib/graphql/resolvers/report.ex:81
msgid "Reporter ID does not match the anonymous profile id"
msgstr ""
@ -748,7 +747,7 @@ msgid "Parent resource doesn't belong to this group"
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/participant.ex:93
#: lib/graphql/resolvers/participant.ex:90
msgid "Profile ID provided is not the anonymous profile one"
msgstr ""
@ -823,12 +822,12 @@ msgid "You can't reject this invitation with this profile."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/picture.ex:78
#: lib/graphql/resolvers/picture.ex:75
msgid "File doesn't have an allowed MIME type."
msgstr ""
#, elixir-format
#: lib/graphql/resolvers/group.ex:172
#: lib/graphql/resolvers/group.ex:170
msgid "Profile is not administrator for the group"
msgstr ""
@ -856,3 +855,8 @@ msgstr ""
#: lib/graphql/resolvers/member.ex:189
msgid "You don't have the right to remove this member."
msgstr ""
#, elixir-format
#: lib/mobilizon/actors/actor.ex:344
msgid "This username is already taken."
msgstr ""

File diff suppressed because it is too large Load Diff

@ -93,767 +93,771 @@ msgstr "ha de ser superior o igual a %{number}"
msgid "must be equal to %{number}"
msgstr "ha de ser igual a %{number}"
#: lib/graphql/resolvers/user.ex:103
#, elixir-format
#: lib/graphql/resolvers/user.ex:103
msgid "Cannot refresh the token"
msgstr "No s'ha pogut actualitzar el codi d'accés"
#: lib/graphql/resolvers/group.ex:139
#, elixir-format
#: lib/graphql/resolvers/group.ex:137
msgid "Creator profile is not owned by the current user"
msgstr "El perfil del creador no pertany a l'usuària actual"
#: lib/graphql/resolvers/group.ex:203
#, elixir-format
#: lib/graphql/resolvers/group.ex:201
msgid "Current profile is not a member of this group"
msgstr "El perfil actual no pertany a aquest grup"
#: lib/graphql/resolvers/group.ex:207
#, elixir-format
#: lib/graphql/resolvers/group.ex:205
msgid "Current profile is not an administrator of the selected group"
msgstr "El perfil actual no administra el grup seleccionat"
#: lib/graphql/resolvers/user.ex:512
#, elixir-format
#: lib/graphql/resolvers/user.ex:512
msgid "Error while saving user settings"
msgstr "No s'han pogut desar les preferències"
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:83
#, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:198
#: lib/graphql/resolvers/group.ex:229 lib/graphql/resolvers/group.ex:264 lib/graphql/resolvers/member.ex:83
msgid "Group not found"
msgstr "No s'ha trobat el grup"
#: lib/graphql/resolvers/group.ex:69
#, elixir-format
#: lib/graphql/resolvers/group.ex:66
msgid "Group with ID %{id} not found"
msgstr "No s'ha trobat el grup amb identificador %{id}"
#: lib/graphql/resolvers/user.ex:83
#, elixir-format
#: lib/graphql/resolvers/user.ex:83
msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "No t'hem pogut autenticar. El teu correu o contrasenya són incorrectes."
#: lib/graphql/resolvers/group.ex:280
#, elixir-format
#: lib/graphql/resolvers/group.ex:261
msgid "Member not found"
msgstr "No s'ha trobat el/la membre"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
#: lib/graphql/resolvers/user.ex:417
#, elixir-format
msgid "No profile found for the moderator user"
msgstr ""
#: lib/graphql/resolvers/user.ex:195
#, elixir-format
#: lib/graphql/resolvers/user.ex:195
msgid "No user to validate with this email was found"
msgstr ""
#: lib/graphql/resolvers/person.ex:232 lib/graphql/resolvers/user.ex:76
#: lib/graphql/resolvers/user.ex:219
#, elixir-format
#: lib/graphql/resolvers/person.ex:231 lib/graphql/resolvers/user.ex:76
#: lib/graphql/resolvers/user.ex:219
msgid "No user with this email was found"
msgstr ""
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
#: lib/graphql/resolvers/member.ex:80 lib/graphql/resolvers/participant.ex:29
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 lib/graphql/resolvers/person.ex:157