Merge tag '1.1.2' into chapril

This commit is contained in:
Tykayn 2021-04-29 16:02:14 +02:00 committed by tykayn
commit 78934c9234
127 changed files with 4526 additions and 3504 deletions

View File

@ -184,7 +184,7 @@ pages:
- mkdir -p /kaniko/.docker - mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > /kaniko/.docker/config.json - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > /kaniko/.docker/config.json
script: script:
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/docker/production/Dockerfile --destination $DOCKER_IMAGE_NAME --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP --build-arg CI_COMMIT_TAG=$CI_COMMIT_TAG - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/docker/production/Dockerfile --destination $DOCKER_IMAGE_NAME --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP
build-docker-master: build-docker-master:
<<: *docker <<: *docker

View File

@ -5,7 +5,30 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 1.1.1 - 21-03-2021 ## 1.1.2 - 28-04-2021
### Changed
- Added an unique index on the addresses url
- Added org.opencontainers.image.source annotation to the Docker image
- Improved the moderation action logs interface
### Fixes
- **Fixed some invalid email headers**
- **Fixed and repaired default profile still pointing on deleted profile**
- Fixed some ActivityPub issues and improve error handling
- Fixed a duplicate sentence in the email changed html template
- Fixed resource metadata remote image URL
- Fixed not only remote groups being refreshed after the acceptation of an invite
- Fixed an UI overflow on the organizer metadata block if the organizer remote username is too long
### Translations
- German
- Russian
## 1.1.1 - 22-04-2021
### Changed ### Changed

View File

@ -34,14 +34,13 @@ FROM alpine
ARG BUILD_DATE ARG BUILD_DATE
ARG VCS_REF ARG VCS_REF
ARG CI_COMMIT_TAG
ARG MOBILIZON_VERSION=${CI_COMMIT_TAG}
LABEL org.opencontainers.image.title="mobilizon" \ LABEL org.opencontainers.image.title="mobilizon" \
org.opencontainers.image.description="Mobilizon for Docker" \ org.opencontainers.image.description="Mobilizon for Docker" \
org.opencontainers.image.vendor="joinmobilizon.org" \ org.opencontainers.image.vendor="joinmobilizon.org" \
org.opencontainers.image.documentation="https://docs.joinmobilizon.org" \ org.opencontainers.image.documentation="https://docs.joinmobilizon.org" \
org.opencontainers.image.licenses="AGPL-3.0" \ org.opencontainers.image.licenses="AGPL-3.0" \
org.opencontainers.image.source="https://framagit.org/framasoft/mobilizon" \
org.opencontainers.image.url="https://joinmobilizon.org" \ org.opencontainers.image.url="https://joinmobilizon.org" \
org.opencontainers.image.revision=$VCS_REF \ org.opencontainers.image.revision=$VCS_REF \
org.opencontainers.image.created=$BUILD_DATE org.opencontainers.image.created=$BUILD_DATE
@ -57,7 +56,7 @@ EXPOSE 4000
ENV MOBILIZON_DOCKER=true ENV MOBILIZON_DOCKER=true
COPY --from=builder --chown=nobody:nobody _build/prod/rel/mobilizon ./ COPY --from=builder --chown=nobody:nobody _build/prod/rel/mobilizon ./
RUN cp /releases/${MOBILIZON_VERSION}/runtime.exs /etc/mobilizon/config.exs RUN cp /releases/*/runtime.exs /etc/mobilizon/config.exs
COPY docker/production/docker-entrypoint.sh ./ COPY docker/production/docker-entrypoint.sh ./
ENTRYPOINT ["./docker-entrypoint.sh"] ENTRYPOINT ["./docker-entrypoint.sh"]

View File

@ -5,17 +5,50 @@
"kind": "INTERFACE", "kind": "INTERFACE",
"name": "ActionLogObject", "name": "ActionLogObject",
"possibleTypes": [ "possibleTypes": [
{
"name": "Comment"
},
{ {
"name": "Event" "name": "Event"
}, },
{ {
"name": "Comment" "name": "Person"
}, },
{ {
"name": "Report" "name": "Report"
}, },
{ {
"name": "ReportNote" "name": "ReportNote"
},
{
"name": "User"
}
]
},
{
"kind": "INTERFACE",
"name": "ActivityObject",
"possibleTypes": [
{
"name": "Comment"
},
{
"name": "Discussion"
},
{
"name": "Event"
},
{
"name": "Group"
},
{
"name": "Member"
},
{
"name": "Post"
},
{
"name": "Resource"
} }
] ]
}, },
@ -33,6 +66,18 @@
"name": "Application" "name": "Application"
} }
] ]
},
{
"kind": "INTERFACE",
"name": "Interactable",
"possibleTypes": [
{
"name": "Event"
},
{
"name": "Group"
}
]
} }
] ]
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "mobilizon", "name": "mobilizon",
"version": "1.1.1", "version": "1.1.2",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",

View File

@ -6,28 +6,10 @@ import { AUTH_ACCESS_TOKEN, AUTH_REFRESH_TOKEN } from "@/constants";
import { REFRESH_TOKEN } from "@/graphql/auth"; import { REFRESH_TOKEN } from "@/graphql/auth";
import { saveTokenData } from "@/utils/auth"; import { saveTokenData } from "@/utils/auth";
import { ApolloClient } from "apollo-client"; import { ApolloClient } from "apollo-client";
import introspectionQueryResultData from "../../fragmentTypes.json";
export const fragmentMatcher = new IntrospectionFragmentMatcher({ export const fragmentMatcher = new IntrospectionFragmentMatcher({
introspectionQueryResultData: { introspectionQueryResultData,
__schema: {
types: [
{
kind: "UNION",
name: "SearchResult",
possibleTypes: [
{ name: "Event" },
{ name: "Person" },
{ name: "Group" },
],
},
{
kind: "INTERFACE",
name: "Actor",
possibleTypes: [{ name: "Person" }, { name: "Group" }],
},
],
},
},
}); });
export async function refreshAccessToken( export async function refreshAccessToken(

View File

@ -32,6 +32,7 @@ div.eventMetadataBlock {
p { p {
flex: 1; flex: 1;
overflow: hidden;
&.padding-left { &.padding-left {
padding-left: 20px; padding-left: 20px;

View File

@ -158,45 +158,69 @@ export const CREATE_REPORT_NOTE = gql`
`; `;
export const LOGS = gql` export const LOGS = gql`
query { query ActionLogs($page: Int, $limit: Int) {
actionLogs { actionLogs(page: $page, limit: $limit) {
id elements {
action
actor {
id id
preferredUsername action
domain actor {
avatar {
id
url
}
}
object {
... on Report {
id
}
... on ReportNote {
report {
id
}
}
... on Event {
id
title
}
... on Person {
id id
preferredUsername preferredUsername
domain domain
name avatar {
id
url
}
} }
... on User { object {
id ... on Report {
email id
confirmedAt }
... on ReportNote {
report {
id
}
}
... on Event {
id
title
}
... on Comment {
id
text
event {
id
title
uuid
}
actor {
id
preferredUsername
domain
name
}
}
... on Person {
id
preferredUsername
domain
name
}
... on Group {
id
preferredUsername
domain
name
}
... on User {
id
email
confirmedAt
}
} }
insertedAt
} }
insertedAt total
} }
} }
`; `;

View File

@ -490,7 +490,6 @@
"No moderation logs yet": "Encara no hi ha registres de moderació", "No moderation logs yet": "Encara no hi ha registres de moderació",
"No more activity to display.": "No hi ha res més a mostrar.", "No more activity to display.": "No hi ha res més a mostrar.",
"No notification settings yet": "Encara no hi ha configuració de les modificacions", "No notification settings yet": "Encara no hi ha configuració de les modificacions",
"No one is going to this event": "Ningú ha confirmat|Hi va una persona|Hi aniran {going} persones",
"No open reports yet": "No hi ha cap denúncia oberta", "No open reports yet": "No hi ha cap denúncia oberta",
"No participant matches the filters": "Cap participant coincideix amb els filtres", "No participant matches the filters": "Cap participant coincideix amb els filtres",
"No participant to approve|Approve participant|Approve {number} participants": "Cap participant per aprovar|Aprova la participant|Aprova {number} participants", "No participant to approve|Approve participant|Approve {number} participants": "Cap participant per aprovar|Aprova la participant|Aprova {number} participants",

View File

@ -504,7 +504,6 @@
"No message": "Keine Nachricht", "No message": "Keine Nachricht",
"No moderation logs yet": "Bisher keine Moderationsprotokolle", "No moderation logs yet": "Bisher keine Moderationsprotokolle",
"No more activity to display.": "Es gibt keine weiteren anzuzeigenden Ereignisse.", "No more activity to display.": "Es gibt keine weiteren anzuzeigenden Ereignisse.",
"No one is going to this event": "Niemand nimmt an dieser Veranstaltung teil|Eine Person nimmt teil|{going} Personen nehmen teil",
"No ongoing todos": "Keine aktiven To-dos", "No ongoing todos": "Keine aktiven To-dos",
"No open reports yet": "Bisher keine ausstehenden Berichte", "No open reports yet": "Bisher keine ausstehenden Berichte",
"No participant matches the filters": "Kein Teilnehmer entspricht den Filterkriterien", "No participant matches the filters": "Kein Teilnehmer entspricht den Filterkriterien",
@ -1020,7 +1019,7 @@
"Your timezone is currently set to {timezone}.": "Ihre Zeitzone ist aktuell {timezone}.", "Your timezone is currently set to {timezone}.": "Ihre Zeitzone ist aktuell {timezone}.",
"Your timezone was detected as {timezone}.": "Ihre Zeitzone wurde erkannt als {timezone}.", "Your timezone was detected as {timezone}.": "Ihre Zeitzone wurde erkannt als {timezone}.",
"Your timezone {timezone} isn't supported.": "Ihre Zeitzone {timezone} wird nicht unterstützt.", "Your timezone {timezone} isn't supported.": "Ihre Zeitzone {timezone} wird nicht unterstützt.",
"Your upcoming events": "Deine bevorstehenden Veranstaltungen", "Your upcoming events": "Ihre bevorstehenden Veranstaltungen",
"[This comment has been deleted by it's author]": "[Dieser Kommentar wurde vom Autor entfernt]", "[This comment has been deleted by it's author]": "[Dieser Kommentar wurde vom Autor entfernt]",
"[This comment has been deleted]": "[Ihr Kommentar wurde gelöscht]", "[This comment has been deleted]": "[Ihr Kommentar wurde gelöscht]",
"[deleted]": "[gelöscht]", "[deleted]": "[gelöscht]",

View File

@ -425,7 +425,7 @@
"This identity is not a member of any group.": "This identity is not a member of any group.", "This identity is not a member of any group.": "This identity is not a member of any group.",
"(Masked)": "(Masked)", "(Masked)": "(Masked)",
"{available}/{capacity} available places": "No places left|{available}/{capacity} available places", "{available}/{capacity} available places": "No places left|{available}/{capacity} available places",
"No one is going to this event": "No one is going to this event|One person going|{going} persons going", "No one is participating|One person participating|{going} people participating": "No one is participating|One person participating|{going} people participating",
"By @{group}": "By @{group}", "By @{group}": "By @{group}",
"Date and time": "Date and time", "Date and time": "Date and time",
"Location": "Location", "Location": "Location",
@ -985,5 +985,10 @@
"Unable to update the profile. The avatar picture may be too heavy.": "Unable to update the profile. The avatar picture may be too heavy.", "Unable to update the profile. The avatar picture may be too heavy.": "Unable to update the profile. The avatar picture may be too heavy.",
"Unable to create the profile. The avatar picture may be too heavy.": "Unable to create the profile. The avatar picture may be too heavy.", "Unable to create the profile. The avatar picture may be too heavy.": "Unable to create the profile. The avatar picture may be too heavy.",
"Error while loading the preview": "Error while loading the preview", "Error while loading the preview": "Error while loading the preview",
"Instance feeds": "Instance feeds" "Instance feeds": "Instance feeds",
"{moderator} suspended group {profile}": "{moderator} suspended group {profile}",
"{moderator} has unsuspended group {profile}": "{moderator} has unsuspended group {profile}",
"{moderator} has done an unknown action": "{moderator} has done an unknown action",
"{moderator} has deleted a comment from {author} under the event {event}": "{moderator} has deleted a comment from {author} under the event {event}",
"{moderator} has deleted a comment from {author}": "{moderator} has deleted a comment from {author}"
} }

View File

@ -521,7 +521,6 @@
"No moderation logs yet": "Aún no hay registros de moderación", "No moderation logs yet": "Aún no hay registros de moderación",
"No more activity to display.": "No hay más actividad para mostrar.", "No more activity to display.": "No hay más actividad para mostrar.",
"No notification settings yet": "Aún no hay configuración de notificaciones", "No notification settings yet": "Aún no hay configuración de notificaciones",
"No one is going to this event": "Nadie asistirá a este evento|Una persona irá|{going} irán personas",
"No ongoing todos": "No hay tareas pendientes (\"to-do\") en marcha", "No ongoing todos": "No hay tareas pendientes (\"to-do\") en marcha",
"No open reports yet": "Aún no hay informes abiertos", "No open reports yet": "Aún no hay informes abiertos",
"No participant matches the filters": "Ningún participante coincide con los filtros", "No participant matches the filters": "Ningún participante coincide con los filtros",

View File

@ -480,7 +480,6 @@
"No message": "Ei viestiä", "No message": "Ei viestiä",
"No moderation logs yet": "Moderointilokia ei vielä ole", "No moderation logs yet": "Moderointilokia ei vielä ole",
"No notification settings yet": "Ei vielä ilmoitusasetuksia", "No notification settings yet": "Ei vielä ilmoitusasetuksia",
"No one is going to this event": "Kukaan ei ole menossa tähän tapahtumaan|Yksi henkilö menossa|{going} henkilöä menossa",
"No ongoing todos": "Ei keskeneräisiä tehtäviä", "No ongoing todos": "Ei keskeneräisiä tehtäviä",
"No open reports yet": "Avoimia raportteja ei vielä ole", "No open reports yet": "Avoimia raportteja ei vielä ole",
"No participant matches the filters": "Ei suodattimia vastaavia osallistujia", "No participant matches the filters": "Ei suodattimia vastaavia osallistujia",

View File

@ -479,7 +479,7 @@
"No message": "Pas de message", "No message": "Pas de message",
"No moderation logs yet": "Pas encore de journaux de modération", "No moderation logs yet": "Pas encore de journaux de modération",
"No more activity to display.": "Il n'y a plus d'activités à afficher.", "No more activity to display.": "Il n'y a plus d'activités à afficher.",
"No one is going to this event": "Personne n'y va|Une personne y va|{going} personnes y vont", "No one is participating|One person participating|{going} people participating": "Personne ne participe|Une personne participe|{going} personnes participent",
"No ongoing todos": "Pas de todos en cours", "No ongoing todos": "Pas de todos en cours",
"No open reports yet": "Aucun signalement ouvert pour le moment", "No open reports yet": "Aucun signalement ouvert pour le moment",
"No participant matches the filters": "Aucun·e participant·e ne correspond aux filtres", "No participant matches the filters": "Aucun·e participant·e ne correspond aux filtres",
@ -1079,5 +1079,10 @@
"Unable to update the profile. The avatar picture may be too heavy.": "Impossible de mettre à jour le profil. L'image d'avatar est probablement trop lourde.", "Unable to update the profile. The avatar picture may be too heavy.": "Impossible de mettre à jour le profil. L'image d'avatar est probablement trop lourde.",
"Unable to create the profile. The avatar picture may be too heavy.": "Impossible de créer le profil. L'image d'avatar est probablement trop lourde.", "Unable to create the profile. The avatar picture may be too heavy.": "Impossible de créer le profil. L'image d'avatar est probablement trop lourde.",
"Error while loading the preview": "Erreur lors du chargement de l'aperçu", "Error while loading the preview": "Erreur lors du chargement de l'aperçu",
"Instance feeds": "Flux de l'instance" "Instance feeds": "Flux de l'instance",
"{moderator} suspended group {profile}": "{moderator} a suspendu le groupe {profile}",
"{moderator} has unsuspended group {profile}": "{moderator} a annulé la suspension du groupe {profile}",
"{moderator} has done an unknown action": "{moderator} a effectué une action inconnue",
"{moderator} has deleted a comment from {author} under the event {event}": "{moderator} a supprimé un commentaire de {author} sous l'événement {event}",
"{moderator} has deleted a comment from {author}": "{moderator} a supprimé un commentaire de {author}"
} }

View File

@ -447,7 +447,6 @@
"No message": "Chan eil teachdaireachd ann", "No message": "Chan eil teachdaireachd ann",
"No moderation logs yet": "Chan eil loga maorsainneachd ann fhathast", "No moderation logs yet": "Chan eil loga maorsainneachd ann fhathast",
"No more activity to display.": "Chan eil barrachd ghnìomhan ri an sealltainn ann.", "No more activity to display.": "Chan eil barrachd ghnìomhan ri an sealltainn ann.",
"No one is going to this event": "Thèid {going} ann|Thèid {going} ann|Thèid {going} ann|Thèid {going} ann",
"No open reports yet": "Chan eil gearan gun fhuasgladh ann", "No open reports yet": "Chan eil gearan gun fhuasgladh ann",
"No participant matches the filters": "Chan eil com-pàirtiche sam bith a maidseadh nan criathragan", "No participant matches the filters": "Chan eil com-pàirtiche sam bith a maidseadh nan criathragan",
"No participant to approve|Approve participant|Approve {number} participants": "Aontaich ri {number} chom-pàirtiche|Aontaich ri {number} chom-pàirtiche|Aontaich ri {number} com-pàirtichean|Aontaich ri {number} com-pàirtiche", "No participant to approve|Approve participant|Approve {number} participants": "Aontaich ri {number} chom-pàirtiche|Aontaich ri {number} chom-pàirtiche|Aontaich ri {number} com-pàirtichean|Aontaich ri {number} com-pàirtiche",

View File

@ -493,7 +493,6 @@
"No message": "Sen mensaxe", "No message": "Sen mensaxe",
"No moderation logs yet": "Sen rexistros da moderación", "No moderation logs yet": "Sen rexistros da moderación",
"No more activity to display.": "Sen máis actividade que amosar.", "No more activity to display.": "Sen máis actividade que amosar.",
"No one is going to this event": "Ninguén vai a este evento|Unha persoa vai ir|{going} persoas van ir",
"No open reports yet": "Aínda non se presentaron denuncias", "No open reports yet": "Aínda non se presentaron denuncias",
"No participant matches the filters": "Ningún participante para estos filtros", "No participant matches the filters": "Ningún participante para estos filtros",
"No participant to approve|Approve participant|Approve {number} participants": "Sen participantes que aprobar|Aprobar participante|Aprobar {number} participantes", "No participant to approve|Approve participant|Approve {number} participants": "Sen participantes que aprobar|Aprobar participante|Aprobar {number} participantes",

View File

@ -462,7 +462,6 @@
"No message": "Nincs üzenet", "No message": "Nincs üzenet",
"No moderation logs yet": "Még nincsenek moderálási naplók", "No moderation logs yet": "Még nincsenek moderálási naplók",
"No more activity to display.": "Nincs több megjelenítendő tevékenység.", "No more activity to display.": "Nincs több megjelenítendő tevékenység.",
"No one is going to this event": "Senki sem jön erre az eseményre|Egy személy jön|{going} személy jön",
"No open reports yet": "Még nincsenek nyitott jelentések", "No open reports yet": "Még nincsenek nyitott jelentések",
"No participant matches the filters": "Nincs a szűrőkre illeszkedő résztvevő", "No participant matches the filters": "Nincs a szűrőkre illeszkedő résztvevő",
"No participant to approve|Approve participant|Approve {number} participants": "Nincs jóváhagyandó résztvevő|Résztvevő jóváhagyása|{number} résztvevő jóváhagyása", "No participant to approve|Approve participant|Approve {number} participants": "Nincs jóváhagyandó résztvevő|Résztvevő jóváhagyása|{number} résztvevő jóváhagyása",

View File

@ -10,7 +10,9 @@
"<b>Please do not use it in any real way.</b>": "<b>Non puoi ancora usarlo per pubblicizzare eventi reali!</b>", "<b>Please do not use it in any real way.</b>": "<b>Non puoi ancora usarlo per pubblicizzare eventi reali!</b>",
"<b>{contact}</b> will be displayed as contact.": "<b>{contact}</b> verrà visualizzato come contatto.|<b>{contact}</b> verranno visualizzati come contatti.", "<b>{contact}</b> will be displayed as contact.": "<b>{contact}</b> verrà visualizzato come contatto.|<b>{contact}</b> verranno visualizzati come contatti.",
"@{group}": "@{group}", "@{group}": "@{group}",
"@{username}": "@{username}",
"@{username} ({role})": "@{username} ({role})", "@{username} ({role})": "@{username} ({role})",
"@{username}'s follow request was rejected": "La richiesta di follow a @{username} è stata respinta",
"A cookie is a small file containing information that is sent to your computer when you visit a website. When you visit the site again, the cookie allows that site to recognize your browser. Cookies may store user preferences and other information. You can configure your browser to refuse all cookies. However, this may result in some website features or services partially working. Local storage works the same way but allows you to store more data.": "Un cookie è un piccolo file contenente informazioni che vengono inviate al tuo computer quando visiti un sito web. Quando visiti nuovamente il sito, il cookie consente a quel sito di riconoscere il tuo browser. I cookie possono memorizzare le preferenze dell'utente e altre informazioni. Puoi configurare il tuo browser per rifiutare tutti i cookie. Tuttavia, ciò potrebbe comportare il funzionamento parziale di alcune funzionalità o servizi del sito Web. L'archiviazione locale funziona allo stesso modo ma consente di archiviare più dati.", "A cookie is a small file containing information that is sent to your computer when you visit a website. When you visit the site again, the cookie allows that site to recognize your browser. Cookies may store user preferences and other information. You can configure your browser to refuse all cookies. However, this may result in some website features or services partially working. Local storage works the same way but allows you to store more data.": "Un cookie è un piccolo file contenente informazioni che vengono inviate al tuo computer quando visiti un sito web. Quando visiti nuovamente il sito, il cookie consente a quel sito di riconoscere il tuo browser. I cookie possono memorizzare le preferenze dell'utente e altre informazioni. Puoi configurare il tuo browser per rifiutare tutti i cookie. Tuttavia, ciò potrebbe comportare il funzionamento parziale di alcune funzionalità o servizi del sito Web. L'archiviazione locale funziona allo stesso modo ma consente di archiviare più dati.",
"A federated software": "Un software federato", "A federated software": "Un software federato",
"A place for your code of conduct, rules or guidelines. You can use HTML tags.": "Un posto per il codice di condotta, le regole o le linee guida. Puoi uare tag HTML.", "A place for your code of conduct, rules or guidelines. You can use HTML tags.": "Un posto per il codice di condotta, le regole o le linee guida. Puoi uare tag HTML.",
@ -57,10 +59,11 @@
"Administrator": "Amministratore", "Administrator": "Amministratore",
"All good, let's continue!": "Tutto a posto, continuiamo!", "All good, let's continue!": "Tutto a posto, continuiamo!",
"All group members and other eventual server admins will still be able to view this information.": "Tutti i membri del gruppo e altri eventuali amministratori del server potranno comunque visualizzare queste informazioni.", "All group members and other eventual server admins will still be able to view this information.": "Tutti i membri del gruppo e altri eventuali amministratori del server potranno comunque visualizzare queste informazioni.",
"All the places have already been taken": "Tutti i posti sono stati occupati|Un posto è ancora disponibile|{places} i posti sono ancora disponibili", "All the places have already been taken": "Tutti i posti sono stati già occupati",
"Allow all comments": "Permetti a tutti di commentare", "Allow all comments": "Permetti a tutti di commentare",
"Allow all comments from users with accounts": "Consenti tutti i commenti degli utenti che hanno effettuato l'accesso", "Allow all comments from users with accounts": "Consenti tutti i commenti degli utenti che hanno effettuato l'accesso",
"Allow registrations": "Consenti registrazioni", "Allow registrations": "Consenti registrazioni",
"An error has occured. Sorry about that. You may try to reload the page.": "Si è verificato un errore. Ci scusiamo. Potresti provare a ricaricare la pagina.",
"An error has occurred.": "C'è stato un errore.", "An error has occurred.": "C'è stato un errore.",
"An ethical alternative": "Un'alternativa etica", "An ethical alternative": "Un'alternativa etica",
"An instance is an installed version of the Mobilizon software running on a server. An instance can be run by anyone using the {mobilizon_software} or other federated apps, aka the “fediverse”. This instance's name is {instance_name}. Mobilizon is a federated network of multiple instances (just like email servers), users registered on different instances may communicate even though they didn't register on the same instance.": "Un'istanza è una versione installata del software Mobilizon in esecuzione su un server. Un istanza può essere gestita da chiunque utilizzi il {mobilizon_software} o un altre apps federate, note anche come \"fediverso\". Il nome di quest'istanza è {instance_name}. Mobilizon è una rete federata di più istanze (roprio come i server e-mail), utenti registrati su istanze diverse possono comunque comunicare anche se non si sono registrati nella stessa istanza.", "An instance is an installed version of the Mobilizon software running on a server. An instance can be run by anyone using the {mobilizon_software} or other federated apps, aka the “fediverse”. This instance's name is {instance_name}. Mobilizon is a federated network of multiple instances (just like email servers), users registered on different instances may communicate even though they didn't register on the same instance.": "Un'istanza è una versione installata del software Mobilizon in esecuzione su un server. Un istanza può essere gestita da chiunque utilizzi il {mobilizon_software} o un altre apps federate, note anche come \"fediverso\". Il nome di quest'istanza è {instance_name}. Mobilizon è una rete federata di più istanze (roprio come i server e-mail), utenti registrati su istanze diverse possono comunque comunicare anche se non si sono registrati nella stessa istanza.",
@ -86,6 +89,7 @@
"Are you sure you want to delete this event? This action cannot be reverted.": "Sei sicuro di voler cancellare questo evento? Questa azione è irreversibile.", "Are you sure you want to delete this event? This action cannot be reverted.": "Sei sicuro di voler cancellare questo evento? Questa azione è irreversibile.",
"As the event organizer has chosen to manually validate participation requests, your participation will be really confirmed only once you receive an email stating it's being accepted.": "Poiché chi organizza l'evento ha scelto di approvare manualmente le richieste di partecipazione, la tua partecipazione sarà realmente confermata una volta che riceverai una mail che indica che è stata accettata.", "As the event organizer has chosen to manually validate participation requests, your participation will be really confirmed only once you receive an email stating it's being accepted.": "Poiché chi organizza l'evento ha scelto di approvare manualmente le richieste di partecipazione, la tua partecipazione sarà realmente confermata una volta che riceverai una mail che indica che è stata accettata.",
"Assigned to": "Assegnato a", "Assigned to": "Assegnato a",
"Atom feed for events and posts": "Atom feed per eventi e messaggi",
"Avatar": "Avatar", "Avatar": "Avatar",
"Back to previous page": "Torna alla pagina precedente", "Back to previous page": "Torna alla pagina precedente",
"Banner": "Banner", "Banner": "Banner",
@ -113,6 +117,7 @@
"Change password": "Cambia password", "Change password": "Cambia password",
"Change timezone": "Cambia il fuso orario", "Change timezone": "Cambia il fuso orario",
"Check your inbox (and your junk mail folder).": "Controlla la tua casella di posta (e la cartella della posta indesiderata).", "Check your inbox (and your junk mail folder).": "Controlla la tua casella di posta (e la cartella della posta indesiderata).",
"City or region": "Città o regione",
"Clear": "Sgombra", "Clear": "Sgombra",
"Clear participation data for all events": "Rimuovi dati di partecipazione per tutti gli eventi", "Clear participation data for all events": "Rimuovi dati di partecipazione per tutti gli eventi",
"Clear participation data for this event": "Rimuovi dati di partecipazione per questo evento", "Clear participation data for this event": "Rimuovi dati di partecipazione per questo evento",
@ -137,6 +142,7 @@
"Contact": "Contatta", "Contact": "Contatta",
"Continue editing": "Continua la modifica", "Continue editing": "Continua la modifica",
"Cookies and Local storage": "Cookie e memoria locale", "Cookies and Local storage": "Cookie e memoria locale",
"Copy details to clipboard": "Copia i dettagli negli appunti",
"Country": "Paese", "Country": "Paese",
"Create": "Crea", "Create": "Crea",
"Create a calc": "Crea un calc", "Create a calc": "Crea un calc",
@ -231,6 +237,9 @@
"Enter your own privacy policy. HTML tags allowed. The {mobilizon_privacy_policy} is provided as template.": "Inserisci la tua politica sulla riservatezza. Tag HTML consentiti. La {mobilizon_privacy_policy} viene fornita come modello.", "Enter your own privacy policy. HTML tags allowed. The {mobilizon_privacy_policy} is provided as template.": "Inserisci la tua politica sulla riservatezza. Tag HTML consentiti. La {mobilizon_privacy_policy} viene fornita come modello.",
"Enter your own terms. HTML tags allowed. The {mobilizon_terms} are provided as template.": "Inserisci i tuoi termini. Tag HTML consentiti. I {mobilizon_terms} sono forniti come modello.", "Enter your own terms. HTML tags allowed. The {mobilizon_terms} are provided as template.": "Inserisci i tuoi termini. Tag HTML consentiti. I {mobilizon_terms} sono forniti come modello.",
"Error": "Errore", "Error": "Errore",
"Error details copied!": "Dettagli dell'errore copiati!",
"Error message": "Messaggio di errore",
"Error stacktrace": "Stacktrace dell'errore",
"Error while changing email": "Errore nel cambiamento della mail", "Error while changing email": "Errore nel cambiamento della mail",
"Error while login with {provider}. Retry or login another way.": "Si è verifcato un errore durante il login con {providel}. Riprova o fai il login in altro modo.", "Error while login with {provider}. Retry or login another way.": "Si è verifcato un errore durante il login con {providel}. Riprova o fai il login in altro modo.",
"Error while login with {provider}. This login provider doesn't exist.": "Si è verificato un errore durante il login con {provider}. Questo provider non esiste.", "Error while login with {provider}. This login provider doesn't exist.": "Si è verificato un errore durante il login con {provider}. Questo provider non esiste.",
@ -249,6 +258,7 @@
"Event {eventTitle} deleted": "Evento {eventTitle} rimosso", "Event {eventTitle} deleted": "Evento {eventTitle} rimosso",
"Event {eventTitle} reported": "Evento {eventTitle} segnalato", "Event {eventTitle} reported": "Evento {eventTitle} segnalato",
"Events": "Eventi", "Events": "Eventi",
"Events nearby": "Eventi nelle vicinanze",
"Events tagged with {tag}": "Eventi contrassegnati con {tag}", "Events tagged with {tag}": "Eventi contrassegnati con {tag}",
"Everything": "Tutti", "Everything": "Tutti",
"Ex: mobilizon.fr": "Es: mobilizon.fr", "Ex: mobilizon.fr": "Es: mobilizon.fr",
@ -311,6 +321,8 @@
"I participate": "Parteciperò", "I participate": "Parteciperò",
"I want to allow people to participate without an account.": "Voglio permettere alle persone di partecipare senza un account.", "I want to allow people to participate without an account.": "Voglio permettere alle persone di partecipare senza un account.",
"I want to approve every participation request": "Voglio approvare ogni richiesta di partecipazione", "I want to approve every participation request": "Voglio approvare ogni richiesta di partecipazione",
"ICS feed for events": "Feed ICS per eventi",
"ICS/WebCal Feed": "Feed ICS/WebCal",
"Identity {displayName} created": "Identità {displayName} creata", "Identity {displayName} created": "Identità {displayName} creata",
"Identity {displayName} deleted": "Identità {displayName} eliminata", "Identity {displayName} deleted": "Identità {displayName} eliminata",
"Identity {displayName} updated": "Identità {displayName} aggiornata", "Identity {displayName} updated": "Identità {displayName} aggiornata",
@ -345,6 +357,7 @@
"Invite a new member": "Invita un nuovo membro", "Invite a new member": "Invita un nuovo membro",
"Invite member": "Invita membro", "Invite member": "Invita membro",
"Invited": "Invitato", "Invited": "Invitato",
"It is possible that the content is not accessible on this instance, because this instance has blocked the profiles or groups behind this content.": "È possibile che il contenuto non sia accessibile su questa istanza, perché questa istanza ha bloccato i profili o i gruppi che stanno dietro questo contenuto.",
"Italic": "Corsivo", "Italic": "Corsivo",
"Join <b>{instance}</b>, a Mobilizon instance": "Entra in <b>{instance}</b>, un'istanza di Mobilizon", "Join <b>{instance}</b>, a Mobilizon instance": "Entra in <b>{instance}</b>, un'istanza di Mobilizon",
"Join group": "Unisciti al gruppo", "Join group": "Unisciti al gruppo",
@ -354,6 +367,7 @@
"Last IP adress": "Ultimo indirizzo IP", "Last IP adress": "Ultimo indirizzo IP",
"Last group created": "Ultimo gruppo creato", "Last group created": "Ultimo gruppo creato",
"Last published event": "Ultimo evento pubblicato", "Last published event": "Ultimo evento pubblicato",
"Last published events": "Ultimi eventi pubblicati",
"Last sign-in": "Ultimo accesso", "Last sign-in": "Ultimo accesso",
"Last week": "Ultima settimana", "Last week": "Ultima settimana",
"Latest posts": "Ultimi post", "Latest posts": "Ultimi post",
@ -440,7 +454,7 @@
"No member matches the filters": "Nessun membro corrisponde ai filtri", "No member matches the filters": "Nessun membro corrisponde ai filtri",
"No message": "Nessun messaggio", "No message": "Nessun messaggio",
"No moderation logs yet": "Ancora nessun registro di moderazione", "No moderation logs yet": "Ancora nessun registro di moderazione",
"No one is going to this event": "Nessuno va a questo evento|Va una persona|Vanno {going} persone", "No more activity to display.": "Non ci sono più attività da visualizzare.",
"No open reports yet": "Ancora nessuna segnalazione aperta", "No open reports yet": "Ancora nessuna segnalazione aperta",
"No participant matches the filters": "Nessun partecipante corrisponde ai filtri", "No participant matches the filters": "Nessun partecipante corrisponde ai filtri",
"No participant to approve|Approve participant|Approve {number} participants": "Nessun partecipante da approvare|Approva partecipante|Approva {number} partecipanti", "No participant to approve|Approve participant|Approve {number} participants": "Nessun partecipante da approvare|Approva partecipante|Approva {number} partecipanti",
@ -472,13 +486,17 @@
"On {date} ending at {endTime}": "Il {date} finendo alle {endTime}", "On {date} ending at {endTime}": "Il {date} finendo alle {endTime}",
"On {date} from {startTime} to {endTime}": "Il {date} dalle {startTime} alle {endTime}", "On {date} from {startTime} to {endTime}": "Il {date} dalle {startTime} alle {endTime}",
"On {date} starting at {startTime}": "Il {date} iniziando alle {startTime}", "On {date} starting at {startTime}": "Il {date} iniziando alle {startTime}",
"On {instance}": "Su {instance}",
"Only accessible through link": "Accessibile solo attraverso il collegamento", "Only accessible through link": "Accessibile solo attraverso il collegamento",
"Only accessible through link (private)": "Accessibile solo tramite link (privato)", "Only accessible through link (private)": "Accessibile solo tramite link (privato)",
"Only accessible to members of the group": "Accessibile solo ai membri del gruppo", "Only accessible to members of the group": "Accessibile solo ai membri del gruppo",
"Only alphanumeric characters and underscores are supported.": "Solo caratteri alfanumerici e trattini bassi sono supportati.", "Only alphanumeric characters and underscores are supported.": "Solo caratteri alfanumerici e trattini bassi sono supportati.",
"Only alphanumeric lowercased characters and underscores are supported.": "Sono accettati solo caratteri alfanumerici in minuscolo, e il tratto basso (underscore).", "Only alphanumeric lowercased characters and underscores are supported.": "Sono accettati solo caratteri alfanumerici in minuscolo, e il tratto basso (underscore).",
"Only group members can access discussions": "Solo i membri del gruppo possono accedere alle discussioni",
"Only group moderators can create, edit and delete posts.": "Solo i moderatori del gruppo possono creare, modificare ed eliminare i post.", "Only group moderators can create, edit and delete posts.": "Solo i moderatori del gruppo possono creare, modificare ed eliminare i post.",
"Open": "Aperto/a", "Open": "Aperto/a",
"Open a topic on our forum": "Apri una discussione sul nostro forum",
"Open an issue on our bug tracker (advanced users)": "Apri una issue sul nostro bug tracker (utenti avanzati)",
"Opened reports": "Segnalazioni aperte", "Opened reports": "Segnalazioni aperte",
"Or": "Oppure", "Or": "Oppure",
"Organized": "Organizzato", "Organized": "Organizzato",
@ -513,6 +531,7 @@
"Pick a profile or a group": "Scegli un profilo o un gruppo", "Pick a profile or a group": "Scegli un profilo o un gruppo",
"Pick an identity": "Scegli un'identità", "Pick an identity": "Scegli un'identità",
"Pick an instance": "Scegli un'istanza", "Pick an instance": "Scegli un'istanza",
"Please add as many details as possible to help identify the problem.": "Si prega di aggiungere quanti più dettagli possibili per aiutare a identificare il problema.",
"Please check your spam folder if you didn't receive the email.": "Per favore verifica la tua cartella di posta indesiderata (spam) se non hai ricevuto la mail.", "Please check your spam folder if you didn't receive the email.": "Per favore verifica la tua cartella di posta indesiderata (spam) se non hai ricevuto la mail.",
"Please contact this instance's Mobilizon admin if you think this is a mistake.": "Per favore contatta l'amministrazione di Mobilizon di questa istanza se pensi che questo sia un errore.", "Please contact this instance's Mobilizon admin if you think this is a mistake.": "Per favore contatta l'amministrazione di Mobilizon di questa istanza se pensi che questo sia un errore.",
"Please do not use it in any real way.": "Si prega di non utilizzare in nessun modo.", "Please do not use it in any real way.": "Si prega di non utilizzare in nessun modo.",
@ -589,6 +608,7 @@
"Resource provided is not an URL": "La risorsa data non è un URL", "Resource provided is not an URL": "La risorsa data non è un URL",
"Resources": "Risorse", "Resources": "Risorse",
"Restricted": "Limitato", "Restricted": "Limitato",
"Return to the group page": "Ritorna alla pagina del gruppo",
"Right now": "Proprio adesso", "Right now": "Proprio adesso",
"Role": "Ruolo", "Role": "Ruolo",
"Rules": "Regole", "Rules": "Regole",
@ -601,6 +621,7 @@
"Searching…": "Ricerca…", "Searching…": "Ricerca…",
"Search…": "Cerca…", "Search…": "Cerca…",
"Select a language": "Seleziona una lingua", "Select a language": "Seleziona una lingua",
"Select a radius": "Seleziona un raggio",
"Select a timezone": "Seleziona un fuso orario", "Select a timezone": "Seleziona un fuso orario",
"Select languages": "Seleziona lingue", "Select languages": "Seleziona lingue",
"Send email": "Manda email", "Send email": "Manda email",
@ -627,6 +648,7 @@
"Suspend group": "Sospendi gruppo", "Suspend group": "Sospendi gruppo",
"Suspended": "Sospeso", "Suspended": "Sospeso",
"Task lists": "Elenchi di attività", "Task lists": "Elenchi di attività",
"Technical details": "Dettagli tecnici",
"Tentative": "Provvisorio", "Tentative": "Provvisorio",
"Tentative: Will be confirmed later": "Provvisorio: sarà confermato più tardi", "Tentative: Will be confirmed later": "Provvisorio: sarà confermato più tardi",
"Terms": "Condizioni", "Terms": "Condizioni",
@ -647,6 +669,10 @@
"The event will show as attributed to this group.": "L'evento verrà visualizzato come attribuito a questo gruppo.", "The event will show as attributed to this group.": "L'evento verrà visualizzato come attribuito a questo gruppo.",
"The event will show as attributed to your personal profile.": "L'evento verrà visualizzato come attribuito al tuo profilo personale.", "The event will show as attributed to your personal profile.": "L'evento verrà visualizzato come attribuito al tuo profilo personale.",
"The event will show the group as organizer.": "L'evento mostrerà il gruppo come organizzatore.", "The event will show the group as organizer.": "L'evento mostrerà il gruppo come organizzatore.",
"The event {event} was created by {profile}.": "L'evento {event} è stato creato da {profile}.",
"The event {event} was deleted by {profile}.": "L'evento {event} è stato cancellato da {profile}.",
"The event {event} was updated by {profile}.": "L'evento {event} è stato aggiornato da {profile}.",
"The events you created are not shown here.": "Gli eventi che hai creato non vengono mostrati qui.",
"The group will be publicly listed in search results and may be suggested in the explore section. Only public informations will be shown on it's page.": "Il gruppo verrà elencato pubblicamente nei risultati di ricerca e potrebbe essere suggerito nella sezione Esplora. Nella sua pagina verranno mostrate solo le informazioni pubbliche.", "The group will be publicly listed in search results and may be suggested in the explore section. Only public informations will be shown on it's page.": "Il gruppo verrà elencato pubblicamente nei risultati di ricerca e potrebbe essere suggerito nella sezione Esplora. Nella sua pagina verranno mostrate solo le informazioni pubbliche.",
"The instance administrator is the person or entity that runs this Mobilizon instance.": "L'amministratore dell'istanza è la persona o entità che gestisce quest'istanza Mobilizon.", "The instance administrator is the person or entity that runs this Mobilizon instance.": "L'amministratore dell'istanza è la persona o entità che gestisce quest'istanza Mobilizon.",
"The member was removed from the group {group}": "Il membro è stato rimosso dal gruppo {group}", "The member was removed from the group {group}": "Il membro è stato rimosso dal gruppo {group}",
@ -654,11 +680,17 @@
"The organiser has chosen to close comments.": "L'organizzatore ha scelto di disabilitare i commenti.", "The organiser has chosen to close comments.": "L'organizzatore ha scelto di disabilitare i commenti.",
"The page you're looking for doesn't exist.": "La pagina che stai cercando non esiste.", "The page you're looking for doesn't exist.": "La pagina che stai cercando non esiste.",
"The password was successfully changed": "La password è stata cambiata con successo", "The password was successfully changed": "La password è stata cambiata con successo",
"The post {post} was created by {profile}.": "Il post {post} è stato creato da {profile}.",
"The post {post} was deleted by {profile}.": "Il post {post} è stato cancellato da {profile}.",
"The post {post} was updated by {profile}.": "Il post {post} è stato aggiornato da {profile}.",
"The report will be sent to the moderators of your instance. You can explain why you report this content below.": "La segnalazione sarà inviata a chi modera la tua istanza. Puoi spiegare perché segnali questo contenuto qua sotto.", "The report will be sent to the moderators of your instance. You can explain why you report this content below.": "La segnalazione sarà inviata a chi modera la tua istanza. Puoi spiegare perché segnali questo contenuto qua sotto.",
"The technical details of the error can help developers solve the problem more easily. Please add them to your feedback.": "I dettagli tecnici dell'errore possono aiutare gli sviluppatori a risolvere il problema più facilmente. Per favore aggiungili al tuo feedback.",
"The {default_privacy_policy} will be used. They will be translated in the user's language.": "Verrà utilizzata la {default_privacy_policy}. Verranno tradotti nella lingua dell'utente.", "The {default_privacy_policy} will be used. They will be translated in the user's language.": "Verrà utilizzata la {default_privacy_policy}. Verranno tradotti nella lingua dell'utente.",
"The {default_terms} will be used. They will be translated in the user's language.": "Saranno usate le {default_terms}. Saranno tradotte nel linguaggio dell'utente.", "The {default_terms} will be used. They will be translated in the user's language.": "Saranno usate le {default_terms}. Saranno tradotte nel linguaggio dell'utente.",
"There are {participants} participants.": "Ci sono {participants} partecipanti.", "There are {participants} participants.": "Ci sono {participants} partecipanti.",
"There is no activity yet. Start doing some things to see activity appear here.": "Non sono ancora presenti attività. Inizia a fare qualcosa per veder apparire le attività.",
"There will be no way to recover your data.": "Non c'è modo di recuperare i tuoi dati.", "There will be no way to recover your data.": "Non c'è modo di recuperare i tuoi dati.",
"There's no discussions yet": "Non sono presenti discussioni",
"These events may interest you": "Questo evento potrebbe interessarti", "These events may interest you": "Questo evento potrebbe interessarti",
"This Mobilizon instance and this event organizer allows anonymous participations, but requires validation through email confirmation.": "Questa istanza Mobilizon e chi organizza questo evento permettono la partecipazione anonima, ma richiedono una validazione tramite email di conferma.", "This Mobilizon instance and this event organizer allows anonymous participations, but requires validation through email confirmation.": "Questa istanza Mobilizon e chi organizza questo evento permettono la partecipazione anonima, ma richiedono una validazione tramite email di conferma.",
"This URL is not supported": "Questo URL non è supportato", "This URL is not supported": "Questo URL non è supportato",
@ -697,6 +729,7 @@
"Type or select a date…": "Digita o seleziona una data…", "Type or select a date…": "Digita o seleziona una data…",
"URL": "URL", "URL": "URL",
"URL copied to clipboard": "URL copiato negli appunti", "URL copied to clipboard": "URL copiato negli appunti",
"Unable to copy to clipboard": "Impossibile copiare negli appunti",
"Unable to detect timezone.": "Impossibile rilevare il fuso orario.", "Unable to detect timezone.": "Impossibile rilevare il fuso orario.",
"Unable to load event for participation. The error details are provided below:": "Impossibile caricare l'evento per la partecipazione. Di seguito vengono forniti i dettagli dell'errore:", "Unable to load event for participation. The error details are provided below:": "Impossibile caricare l'evento per la partecipazione. Di seguito vengono forniti i dettagli dell'errore:",
"Unable to save your participation in this browser.": "Impossibile salvare la tua partecipazione in questo browser.", "Unable to save your participation in this browser.": "Impossibile salvare la tua partecipazione in questo browser.",
@ -733,6 +766,7 @@
"Visible everywhere on the web (public)": "Visibile ovunque dalla rete (pubblico)", "Visible everywhere on the web (public)": "Visibile ovunque dalla rete (pubblico)",
"Waiting for organization team approval.": "In attesa dell'approvazione dal gruppo di organizzazione.", "Waiting for organization team approval.": "In attesa dell'approvazione dal gruppo di organizzazione.",
"Warning": "Avviso", "Warning": "Avviso",
"We improve this software thanks to your feedback. To let us know about this issue, two possibilities (both unfortunately require user account creation):": "Miglioriamo questo software grazie ai tuoi feedback. Per comunicarci questo problema hai due possibilità (entrambe purtroppo richiedono la creazione di un account utente):",
"We just sent an email to {email}": "Abbiamo appena mandato una mail a {email}", "We just sent an email to {email}": "Abbiamo appena mandato una mail a {email}",
"We use your timezone to make sure you get notifications for an event at the correct time.": "Usiamo il tuo fuso orario per fare in modo che le notifiche per un evento ti arrivino al momento giusto.", "We use your timezone to make sure you get notifications for an event at the correct time.": "Usiamo il tuo fuso orario per fare in modo che le notifiche per un evento ti arrivino al momento giusto.",
"We will redirect you to your instance in order to interact with this event": "Ti reindirizzeremo alla tua istanza in modo da interagire con questo evento", "We will redirect you to your instance in order to interact with this event": "Ti reindirizzeremo alla tua istanza in modo da interagire con questo evento",
@ -744,13 +778,16 @@
"Welcome back {username}!": "Bentrovatə {username}!", "Welcome back {username}!": "Bentrovatə {username}!",
"Welcome back!": "Bentrovatə!", "Welcome back!": "Bentrovatə!",
"Welcome to Mobilizon, {username}!": "Benvenutə su Mobilizon, {username}!", "Welcome to Mobilizon, {username}!": "Benvenutə su Mobilizon, {username}!",
"What can I do to help?": "Che posso fare per aiutarti?",
"When a moderator from the group creates an event and attributes it to the group, it will show up here.": "Quando un moderatore del gruppo crea un evento e lo attribuisce al gruppo, verrà visualizzato qui.", "When a moderator from the group creates an event and attributes it to the group, it will show up here.": "Quando un moderatore del gruppo crea un evento e lo attribuisce al gruppo, verrà visualizzato qui.",
"Who can view this event and participate": "Chi può vedere questo evento e partecipare", "Who can view this event and participate": "Chi può vedere questo evento e partecipare",
"Who can view this post": "Chi può visualizzare questo post", "Who can view this post": "Chi può visualizzare questo post",
"Who published {number} events": "Chi ha pubblicato {number} eventi", "Who published {number} events": "Chi ha pubblicato {number} eventi",
"Why create an account?": "Perchè creare un account?", "Why create an account?": "Perchè creare un account?",
"Will allow to display and manage your participation status on the event page when using this device. Uncheck if you're using a public device.": "Consentirà di visualizzare e gestire lo stato di partecipazione sulla pagina dell'evento quando si utilizza questo dispositivo. Deseleziona se stai utilizzando un dispositivo pubblico.", "Will allow to display and manage your participation status on the event page when using this device. Uncheck if you're using a public device.": "Consentirà di visualizzare e gestire lo stato di partecipazione sulla pagina dell'evento quando si utilizza questo dispositivo. Deseleziona se stai utilizzando un dispositivo pubblico.",
"Within {number} kilometers of {place}": "|Entro un chilometro da {place}|Entro {number} chilometri da {place}",
"Write something…": "Scrivi qualcosa…", "Write something…": "Scrivi qualcosa…",
"Yesterday": "Ieri",
"You are not an administrator for this group.": "Non sei un amministratore di questo gruppo.", "You are not an administrator for this group.": "Non sei un amministratore di questo gruppo.",
"You are not part of any group.": "Non fai parte di nessun gruppo.", "You are not part of any group.": "Non fai parte di nessun gruppo.",
"You are participating in this event anonymously": "Stai partecipando a questo evento in forma anonima", "You are participating in this event anonymously": "Stai partecipando a questo evento in forma anonima",
@ -760,6 +797,13 @@
"You can pick your timezone into your preferences.": "Puoi scegliere il tuo fuso orario nelle preferenze.", "You can pick your timezone into your preferences.": "Puoi scegliere il tuo fuso orario nelle preferenze.",
"You can try another search term or drag and drop the marker on the map": "Puoi provare un altro termine di ricerca o trascinare il marcatore sulla mappa", "You can try another search term or drag and drop the marker on the map": "Puoi provare un altro termine di ricerca o trascinare il marcatore sulla mappa",
"You can't change your password because you are registered through {provider}.": "Non puoi cambiare la tua password perché sei registrato con {provider}.", "You can't change your password because you are registered through {provider}.": "Non puoi cambiare la tua password perché sei registrato con {provider}.",
"You created the event {event}.": "Hai creato l'evento {event}.",
"You created the post {post}.": "Hai creato il post {post}.",
"You deleted the event {event}.": "Hai cancellato l'evento {event}.",
"You deleted the post {post}.": "Hai cancellato il post {post}.",
"You demoted the member {member} to an unknown role.": "Hai degradato {member} a un ruolo sconosciuto.",
"You demoted {member} to moderator.": "Hai degradato {member} a moderatore.",
"You demoted {member} to simple member.": "Hai degradato {member} a membro semplice.",
"You didn't create or join any event yet.": "Non hai ancora creato o partecipato a nessun evento.", "You didn't create or join any event yet.": "Non hai ancora creato o partecipato a nessun evento.",
"You don't follow any instances yet.": "Non segui ancora nessuna istanza.", "You don't follow any instances yet.": "Non segui ancora nessuna istanza.",
"You have been disconnected": "Sei stato disconnesso", "You have been disconnected": "Sei stato disconnesso",
@ -769,11 +813,19 @@
"You have one event in {days} days.": "Non hai eventi in {days} giorni | Hai un evento in {days} giorni. | Hai {count} eventi in {days} giorni", "You have one event in {days} days.": "Non hai eventi in {days} giorni | Hai un evento in {days} giorni. | Hai {count} eventi in {days} giorni",
"You have one event today.": "Non hai eventi oggi | Hai un evento oggi. | Hai {count} eventi oggi", "You have one event today.": "Non hai eventi oggi | Hai un evento oggi. | Hai {count} eventi oggi",
"You have one event tomorrow.": "Non hai eventi domani | Hai un evento domani | Hai {count} eventi domani", "You have one event tomorrow.": "Non hai eventi domani | Hai un evento domani | Hai {count} eventi domani",
"You invited {member}.": "Hai invitato {member}.",
"You may clear all participation information for this device with the buttons below.": "Puoi rimuovere tutte le informazioni di partecipazione da questo dispositivo col bottone qui sotto.", "You may clear all participation information for this device with the buttons below.": "Puoi rimuovere tutte le informazioni di partecipazione da questo dispositivo col bottone qui sotto.",
"You may now close this window, or {return_to_event}.": "Ora puoi chiudere questa finestra, o {return_to_event}.", "You may now close this window, or {return_to_event}.": "Ora puoi chiudere questa finestra, o {return_to_event}.",
"You may now close this window.": "Ora puoi chiudere questa finestra.", "You may now close this window.": "Ora puoi chiudere questa finestra.",
"You need to create the group before you create an event.": "Devi creare un gruppo prima di creare un evento.", "You need to create the group before you create an event.": "Devi creare un gruppo prima di creare un evento.",
"You need to login.": "Devi accedere.", "You need to login.": "Devi accedere.",
"You promoted the member {member} to an unknown role.": "Hai promosso l'utente {member} a un ruolo sconosciuto.",
"You promoted {member} to administrator.": "Hai promosso {member} ad amministratore.",
"You promoted {member} to moderator.": "Hai promosso {member} a moderatore.",
"You requested to join the group.": "Hai richiesto di unirti al gruppo.",
"You updated the event {event}.": "Hai aggiornato l'evento {event}.",
"You updated the member {member}.": "Hai aggiornato il membro {member}.",
"You updated the post {post}.": "Hai aggiornato il post {post}.",
"You will be able to add an avatar and set other options in your account settings.": "Potrai aggiungere un avatar e impostare altre opzioni nelle impostazioni del tuo account.", "You will be able to add an avatar and set other options in your account settings.": "Potrai aggiungere un avatar e impostare altre opzioni nelle impostazioni del tuo account.",
"You will be redirected to the original instance": "Sarai reindirizzato verso l'istanza originale", "You will be redirected to the original instance": "Sarai reindirizzato verso l'istanza originale",
"You will find here all the events you have created or of which you are a participant.": "Qui troverai tutti gli eventi che hai creato o di cui sei partecipante.", "You will find here all the events you have created or of which you are a participant.": "Qui troverai tutti gli eventi che hai creato o di cui sei partecipante.",
@ -785,6 +837,7 @@
"Your account has been validated": "Il tuo account è stato validato", "Your account has been validated": "Il tuo account è stato validato",
"Your account is being validated": "Il tuo account è in via di validazione", "Your account is being validated": "Il tuo account è in via di validazione",
"Your account is nearly ready, {username}": "Il tuo account è quasi pronto, {username}", "Your account is nearly ready, {username}": "Il tuo account è quasi pronto, {username}",
"Your city or region and the radius will only be used to suggest you events nearby. The event radius will consider the administrative center of the area.": "La tua città o regione e il raggio saranno usati solo per suggerirti eventi nelle vicinanze. Il raggio dell'evento considererà il centro amministrativo della zona.",
"Your current email is {email}. You use it to log in.": "La tua email attuale è {email}. La usi per accedere.", "Your current email is {email}. You use it to log in.": "La tua email attuale è {email}. La usi per accedere.",
"Your email": "La tua email", "Your email": "La tua email",
"Your email address was automatically set based on your {provider} account.": "Il tuo indirizzo email è stato impostato automaticamente in base al tuo account {provider}.", "Your email address was automatically set based on your {provider} account.": "Il tuo indirizzo email è stato impostato automaticamente in base al tuo account {provider}.",
@ -806,6 +859,7 @@
"Your timezone is currently set to {timezone}.": "Il fuso orario è attualmente impostato su {timezone}.", "Your timezone is currently set to {timezone}.": "Il fuso orario è attualmente impostato su {timezone}.",
"Your timezone was detected as {timezone}.": "Il tuo fuso orario è stato rilevato come {timezone}.", "Your timezone was detected as {timezone}.": "Il tuo fuso orario è stato rilevato come {timezone}.",
"Your timezone {timezone} isn't supported.": "Il tuo fuso orario {timezone} non è supportato.", "Your timezone {timezone} isn't supported.": "Il tuo fuso orario {timezone} non è supportato.",
"Your upcoming events": "I tuoi prossimi eventi",
"[This comment has been deleted by it's author]": "[Questo commento è stato eliminato dal suo autore]", "[This comment has been deleted by it's author]": "[Questo commento è stato eliminato dal suo autore]",
"[This comment has been deleted]": "[Questo commento è stato eliminato]", "[This comment has been deleted]": "[Questo commento è stato eliminato]",
"[deleted]": "[cancellato]", "[deleted]": "[cancellato]",
@ -835,11 +889,16 @@
"with another identity…": "con altra identità…", "with another identity…": "con altra identità…",
"{approved} / {total} seats": "{approved} / {total} posti", "{approved} / {total} seats": "{approved} / {total} posti",
"{available}/{capacity} available places": "Nessun posto rimasto|{available}/{capacity} posti rimasti", "{available}/{capacity} available places": "Nessun posto rimasto|{available}/{capacity} posti rimasti",
"{count} km": "{count} km",
"{count} participants": "Ancora nessun partecipante | Un partecipante | {counts} partecipanti", "{count} participants": "Ancora nessun partecipante | Un partecipante | {counts} partecipanti",
"{count} requests waiting": "{count} richieste in attesa", "{count} requests waiting": "{count} richieste in attesa",
"{count} team members": "{count} membri del team", "{count} team members": "{count} membri del team",
"{group} activity timeline": "{group} cronologia delle attività",
"{group}'s events": "{group} eventi", "{group}'s events": "{group} eventi",
"{instanceName} is an instance of the {mobilizon} software.": "{instanceName} è un'istanza del software {mobilizon}.", "{instanceName} is an instance of the {mobilizon} software.": "{instanceName} è un'istanza del software {mobilizon}.",
"{instanceName} is an instance of {mobilizon_link}, a free software built with the community.": "{instanceName} è un'istanza di {mobilizon_link}, un software libero costruito con la comunità.",
"{member} requested to join the group.": "{member} ha richiesto di unirsi al gruppo.",
"{member} was invited by {profile}.": "{member} è stato invitato da {profile}.",
"{moderator} added a note on {report}": "ha aggiunto una nota su", "{moderator} added a note on {report}": "ha aggiunto una nota su",
"{moderator} closed {report}": "{moderator} ha chiuso {report}", "{moderator} closed {report}": "{moderator} ha chiuso {report}",
"{moderator} deleted an event named \"{title}\"": "{moderator} ha cancellato un evento denominato \"{title}\"", "{moderator} deleted an event named \"{title}\"": "{moderator} ha cancellato un evento denominato \"{title}\"",
@ -854,6 +913,13 @@
"{number} participations": "Nessuna partecipazione|Una partecipazione|{number} partecipazioni", "{number} participations": "Nessuna partecipazione|Una partecipazione|{number} partecipazioni",
"{number} posts": "Nessun post|Un post|{number} di post", "{number} posts": "Nessun post|Un post|{number} di post",
"{profile} (by default)": "{profile} (per impostazione predefinita)", "{profile} (by default)": "{profile} (per impostazione predefinita)",
"{profile} demoted {member} to an unknown role.": "{profile} ha degradato {member} a un ruolo sconosciuto.",
"{profile} demoted {member} to moderator.": "{profile} ha degradato {member} a moderatore.",
"{profile} demoted {member} to simple member.": "{profile} ha degradato {member} a membro semplice.",
"{profile} promoted {member} to administrator.": "{profile} ha promosso {member} ad amministratore.",
"{profile} promoted {member} to an unknown role.": "{profile} ha promosso {member} a un ruolo sconosciuto.",
"{profile} promoted {member} to moderator.": "{profile} ha promosso {member} a moderatore.",
"{profile} updated the member {member}.": "{profile} ha aggiornato il membro {member}.",
"{title} ({count} todos)": "{title} ({count} tutti)", "{title} ({count} todos)": "{title} ({count} tutti)",
"{username} was invited to {group}": "{username} è stato invitato a {group}", "{username} was invited to {group}": "{username} è stato invitato a {group}",
"© The OpenStreetMap Contributors": "© The OpenStreetMap Contributors" "© The OpenStreetMap Contributors": "© The OpenStreetMap Contributors"

View File

@ -463,7 +463,6 @@
"No message": "Inga melding", "No message": "Inga melding",
"No moderation logs yet": "Ingen gjennomsynsloggar enno", "No moderation logs yet": "Ingen gjennomsynsloggar enno",
"No more activity to display.": "Ikkje meir aktivitet å visa.", "No more activity to display.": "Ikkje meir aktivitet å visa.",
"No one is going to this event": "Ingen skal på denne hendinga|Ein person skal|{going} personar skal",
"No open reports yet": "Ingen opne rapportar enno", "No open reports yet": "Ingen opne rapportar enno",
"No participant matches the filters": "Ingen deltakarar passar med filtra", "No participant matches the filters": "Ingen deltakarar passar med filtra",
"No participant to approve|Approve participant|Approve {number} participants": "Ingen deltakar å godkjenna|Godkjenn deltakar|Godkjenn {number} deltakarar", "No participant to approve|Approve participant|Approve {number} participants": "Ingen deltakar å godkjenna|Godkjenn deltakar|Godkjenn {number} deltakarar",

View File

@ -495,7 +495,6 @@
"No message": "Cap de messatge", "No message": "Cap de messatge",
"No moderation logs yet": "Cap de jornals de moderacion pel moment", "No moderation logs yet": "Cap de jornals de moderacion pel moment",
"No notification settings yet": "Cap de paramètres de notificacion pel moment", "No notification settings yet": "Cap de paramètres de notificacion pel moment",
"No one is going to this event": "Degun i va pas|Una persona i va|{going} personas i van",
"No open reports yet": "Cap de senhalament dubèrt pel moment", "No open reports yet": "Cap de senhalament dubèrt pel moment",
"No participant matches the filters": "Cap de participant correspond pas als filtres", "No participant matches the filters": "Cap de participant correspond pas als filtres",
"No participant to approve|Approve participant|Approve {number} participants": "Cap de participar de validar|Validar la participacion|Validar los {number} participants", "No participant to approve|Approve participant|Approve {number} participants": "Cap de participar de validar|Validar la participacion|Validar los {number} participants",

View File

@ -435,7 +435,6 @@
"No member matches the filters": "Żaden członek nie spełnia kryteriów", "No member matches the filters": "Żaden członek nie spełnia kryteriów",
"No message": "Brak wiadomości", "No message": "Brak wiadomości",
"No moderation logs yet": "Nie ma jeszcze dzienników moderacyjnych", "No moderation logs yet": "Nie ma jeszcze dzienników moderacyjnych",
"No one is going to this event": "Nikt nie wybiera się na to wydarzenie|Jedna osoba wybiera się|{going} osoba wybiera się",
"No open reports yet": "Jeszcze nie ma otwartych zgłoszeń", "No open reports yet": "Jeszcze nie ma otwartych zgłoszeń",
"No participant matches the filters": "Żaden członek nie spełnia kryteriów", "No participant matches the filters": "Żaden członek nie spełnia kryteriów",
"No participant to approve|Approve participant|Approve {number} participants": "Brak uczestników do przyjęcia|Przyjmij uczestnika|Przyjmij {number} uczestników|Przyjmij {number} uczestników", "No participant to approve|Approve participant|Approve {number} participants": "Brak uczestników do przyjęcia|Przyjmij uczestnika|Przyjmij {number} uczestników|Przyjmij {number} uczestników",

View File

@ -434,7 +434,6 @@
"No member matches the filters": "Nenhum membro corresponde aos filtros", "No member matches the filters": "Nenhum membro corresponde aos filtros",
"No message": "Nenhuma mensagem", "No message": "Nenhuma mensagem",
"No moderation logs yet": "Nenhum relatório de moderação ainda", "No moderation logs yet": "Nenhum relatório de moderação ainda",
"No one is going to this event": "Ninguém vai neste evento|Uma pessoa vai|{going} pessoas vão",
"No open reports yet": "Nenhum relatório aberto ainda", "No open reports yet": "Nenhum relatório aberto ainda",
"No participant matches the filters": "Nenhum participante corresponde aos filtros", "No participant matches the filters": "Nenhum participante corresponde aos filtros",
"No participant to approve|Approve participant|Approve {number} participants": "Nenhum participante para aprovar|Aprovar participante|Aprovar {number} participantes", "No participant to approve|Approve participant|Approve {number} participants": "Nenhum participante para aprovar|Aprovar participante|Aprovar {number} participantes",

View File

@ -122,7 +122,6 @@
"Click to upload": "Нажмите, чтобы загрузить", "Click to upload": "Нажмите, чтобы загрузить",
"Close": "Закрыть", "Close": "Закрыть",
"Close comments for all (except for admins)": "Закрыть комментарии для всех (кроме админов)", "Close comments for all (except for admins)": "Закрыть комментарии для всех (кроме админов)",
"Events nearby": "Ближайшие мероприятия",
"Closed": "Закрыто", "Closed": "Закрыто",
"Comment deleted": "Комментарий удален", "Comment deleted": "Комментарий удален",
"Comment from @{username} reported": "Жалоба на комментарий от @{username} отправлена", "Comment from @{username} reported": "Жалоба на комментарий от @{username} отправлена",
@ -255,6 +254,7 @@
"Event {eventTitle} deleted": "Мероприятие {eventTitle} удалено", "Event {eventTitle} deleted": "Мероприятие {eventTitle} удалено",
"Event {eventTitle} reported": "Жалоба на мероприятие {eventTitle} отправлена", "Event {eventTitle} reported": "Жалоба на мероприятие {eventTitle} отправлена",
"Events": "Мероприятия", "Events": "Мероприятия",
"Events nearby": "Ближайшие мероприятия",
"Events tagged with {tag}": "События с тегом {tag}", "Events tagged with {tag}": "События с тегом {tag}",
"Everything": "Всё", "Everything": "Всё",
"Ex: mobilizon.fr": "Например: mobilizon.fr", "Ex: mobilizon.fr": "Например: mobilizon.fr",
@ -342,6 +342,7 @@
"Instance Terms URL": "URL условий использования узла", "Instance Terms URL": "URL условий использования узла",
"Instance administrator": "Администратор узла", "Instance administrator": "Администратор узла",
"Instance configuration": "Настройки узла", "Instance configuration": "Настройки узла",
"Instance feeds": "Ленты узла",
"Instance languages": "Языки узла", "Instance languages": "Языки узла",
"Instance rules": "Правила узла", "Instance rules": "Правила узла",
"Instance settings": "Настройки узла", "Instance settings": "Настройки узла",
@ -451,7 +452,6 @@
"No message": "Нет сообщений", "No message": "Нет сообщений",
"No moderation logs yet": "Журналов модерования пока нет", "No moderation logs yet": "Журналов модерования пока нет",
"No more activity to display.": "Больше нет действия для отображения.", "No more activity to display.": "Больше нет действия для отображения.",
"No one is going to this event": "Пока никто не участвует|Один человек пойдёт|{going} людей пойдут",
"No open reports yet": "Пока нет открытых отчётов", "No open reports yet": "Пока нет открытых отчётов",
"No participant matches the filters": "Ни один участник не соответствует критериям", "No participant matches the filters": "Ни один участник не соответствует критериям",
"No participant to approve|Approve participant|Approve {number} participants": "Нет участников для одобрения | Принять участника | Принять {number} участников", "No participant to approve|Approve participant|Approve {number} participants": "Нет участников для одобрения | Принять участника | Принять {number} участников",

View File

@ -123,7 +123,6 @@
"Click to upload": "Kliknite za pošiljanje", "Click to upload": "Kliknite za pošiljanje",
"Close": "Zapri", "Close": "Zapri",
"Close comments for all (except for admins)": "Zapri komentarje za vse (razen za skrbnike)", "Close comments for all (except for admins)": "Zapri komentarje za vse (razen za skrbnike)",
"Events nearby": "Zapri dogodke",
"Closed": "Zaprto", "Closed": "Zaprto",
"Comment deleted": "Komentar je izbrisan", "Comment deleted": "Komentar je izbrisan",
"Comment from @{username} reported": "Prijavljen je bil komentar uporabnika @{username}", "Comment from @{username} reported": "Prijavljen je bil komentar uporabnika @{username}",
@ -238,6 +237,7 @@
"Error message": "Sporočilo o napaki", "Error message": "Sporočilo o napaki",
"Error stacktrace": "Sledenje napake", "Error stacktrace": "Sledenje napake",
"Error while changing email": "Napaka pri spreminjanju e-poštnega naslova", "Error while changing email": "Napaka pri spreminjanju e-poštnega naslova",
"Error while loading the preview": "Napaka pri nalaganju predogleda",
"Error while login with {provider}. Retry or login another way.": "Napaka pri prijavi s {provider}. Poskusite znova ali se prijavite na drug način.", "Error while login with {provider}. Retry or login another way.": "Napaka pri prijavi s {provider}. Poskusite znova ali se prijavite na drug način.",
"Error while login with {provider}. This login provider doesn't exist.": "Napaka pri prijavi s {provider}. Ta ponudnik ne obstaja.", "Error while login with {provider}. This login provider doesn't exist.": "Napaka pri prijavi s {provider}. Ta ponudnik ne obstaja.",
"Error while reporting group {groupTitle}": "Napaka pri poročanju skupine {groupTitle}", "Error while reporting group {groupTitle}": "Napaka pri poročanju skupine {groupTitle}",
@ -255,6 +255,7 @@
"Event {eventTitle} deleted": "Dogodek {eventTitle} je izbrisan", "Event {eventTitle} deleted": "Dogodek {eventTitle} je izbrisan",
"Event {eventTitle} reported": "Dogodek {eventTitle} je prijavljen", "Event {eventTitle} reported": "Dogodek {eventTitle} je prijavljen",
"Events": "Dogodki", "Events": "Dogodki",
"Events nearby": "Zapri dogodke",
"Events tagged with {tag}": "Dogodki z oznako {tag}", "Events tagged with {tag}": "Dogodki z oznako {tag}",
"Everything": "Vse", "Everything": "Vse",
"Ex: mobilizon.fr": "Npr.: mobilizon.fr", "Ex: mobilizon.fr": "Npr.: mobilizon.fr",
@ -342,6 +343,7 @@
"Instance Terms URL": "URL pogojev uporabe vozlišča", "Instance Terms URL": "URL pogojev uporabe vozlišča",
"Instance administrator": "Skrbnik vozlišča", "Instance administrator": "Skrbnik vozlišča",
"Instance configuration": "Nastavitve vozlišča", "Instance configuration": "Nastavitve vozlišča",
"Instance feeds": "Viri vozlišča",
"Instance languages": "Jezik vozlišča", "Instance languages": "Jezik vozlišča",
"Instance rules": "Pravila vozlišča", "Instance rules": "Pravila vozlišča",
"Instance settings": "Nastavitve vozlišča", "Instance settings": "Nastavitve vozlišča",
@ -451,7 +453,6 @@
"No message": "Ni sporočil", "No message": "Ni sporočil",
"No moderation logs yet": "Nobenega dnevnika moderiranja še ni", "No moderation logs yet": "Nobenega dnevnika moderiranja še ni",
"No more activity to display.": "Ni več dejavnosti za prikaz.", "No more activity to display.": "Ni več dejavnosti za prikaz.",
"No one is going to this event": "Nihče ne gre na ta dogodek|Ena oseba gre|{going} oseb gre",
"No open reports yet": "Še ni odprtih poročil", "No open reports yet": "Še ni odprtih poročil",
"No participant matches the filters": "Noben udeleženec se ne ujema s filtri", "No participant matches the filters": "Noben udeleženec se ne ujema s filtri",
"No participant to approve|Approve participant|Approve {number} participants": "Nobenega udeleženca za odobritev|Odobri udeleženca|Odobri {number} udeležencev", "No participant to approve|Approve participant|Approve {number} participants": "Nobenega udeleženca za odobritev|Odobri udeleženca|Odobri {number} udeležencev",
@ -688,6 +689,7 @@
"The post {post} was deleted by {profile}.": "Objavo {post} je izbrisal/a {profil}.", "The post {post} was deleted by {profile}.": "Objavo {post} je izbrisal/a {profil}.",
"The post {post} was updated by {profile}.": "Objavo {post} je posodobil/a {profil}.", "The post {post} was updated by {profile}.": "Objavo {post} je posodobil/a {profil}.",
"The report will be sent to the moderators of your instance. You can explain why you report this content below.": "Poročilo bo poslano moderatorjem vašega vozlišča. Spodaj lahko razložite, zakaj prijavljate to vsebino.", "The report will be sent to the moderators of your instance. You can explain why you report this content below.": "Poročilo bo poslano moderatorjem vašega vozlišča. Spodaj lahko razložite, zakaj prijavljate to vsebino.",
"The selected picture is too heavy. You need to select a file smaller than {size}.": "Izbrana slika je prevelika. Izbrati morate datoteko, ki je manjša od {size}.",
"The technical details of the error can help developers solve the problem more easily. Please add them to your feedback.": "Tehnične podrobnosti napake lahko razvijalcem pomagajo pri lažjem reševanju težave. Dodajte jih v povratne informacije.", "The technical details of the error can help developers solve the problem more easily. Please add them to your feedback.": "Tehnične podrobnosti napake lahko razvijalcem pomagajo pri lažjem reševanju težave. Dodajte jih v povratne informacije.",
"The {default_privacy_policy} will be used. They will be translated in the user's language.": "Uporabljen bo {default_privacy_policy}. Preveden bo v uporabnikov jezik.", "The {default_privacy_policy} will be used. They will be translated in the user's language.": "Uporabljen bo {default_privacy_policy}. Preveden bo v uporabnikov jezik.",
"The {default_terms} will be used. They will be translated in the user's language.": "Uporabljeni bodo {default_terms}. Prevedeni bodo v uporabnikov jezik.", "The {default_terms} will be used. They will be translated in the user's language.": "Uporabljeni bodo {default_terms}. Prevedeni bodo v uporabnikov jezik.",
@ -735,9 +737,12 @@
"URL": "URL", "URL": "URL",
"URL copied to clipboard": "URL je kopiran v odložišče", "URL copied to clipboard": "URL je kopiran v odložišče",
"Unable to copy to clipboard": "Ni mogoče kopirati v odložišče", "Unable to copy to clipboard": "Ni mogoče kopirati v odložišče",
"Unable to create the group. One of the pictures may be too heavy.": "Skupine ni mogoče ustvariti. Ena od slik je morda prevelika.",
"Unable to create the profile. The avatar picture may be too heavy.": "Ni mogoče ustvariti profila. Slika podobe je morda prevelika.",
"Unable to detect timezone.": "Časovnega pasu ni mogoče zaznati.", "Unable to detect timezone.": "Časovnega pasu ni mogoče zaznati.",
"Unable to load event for participation. The error details are provided below:": "Ni mogoče naložiti dogodka za udeležbo. Podrobnosti o napaki so navedene spodaj:", "Unable to load event for participation. The error details are provided below:": "Ni mogoče naložiti dogodka za udeležbo. Podrobnosti o napaki so navedene spodaj:",
"Unable to save your participation in this browser.": "V tem brskalniku ni mogoče shraniti vaše udeležbe.", "Unable to save your participation in this browser.": "V tem brskalniku ni mogoče shraniti vaše udeležbe.",
"Unable to update the profile. The avatar picture may be too heavy.": "Ni mogoče posodobiti profila. Slika podobe je morda prevelika.",
"Unfortunately, this instance isn't opened to registrations": "Na žalost tao vozlišče ni odprto za registracije", "Unfortunately, this instance isn't opened to registrations": "Na žalost tao vozlišče ni odprto za registracije",
"Unfortunately, your participation request was rejected by the organizers.": "Na žalost so organizatorji zavrnili vašo prošnjo za udeležbo.", "Unfortunately, your participation request was rejected by the organizers.": "Na žalost so organizatorji zavrnili vašo prošnjo za udeležbo.",
"Unknown": "Neznano", "Unknown": "Neznano",

View File

@ -157,7 +157,7 @@
<span v-else> <span v-else>
{{ {{
$tc( $tc(
"No one is going to this event", "No one is participating|One person participating|{going} people participating",
event.participantStats.participant, event.participantStats.participant,
{ {
going: event.participantStats.participant, going: event.participantStats.participant,
@ -185,7 +185,7 @@
<span v-else> <span v-else>
{{ {{
$tc( $tc(
"No one is going to this event", "No one is participating|One person participating|{going} people participating",
event.participantStats.participant, event.participantStats.participant,
{ {
going: event.participantStats.participant, going: event.participantStats.participant,
@ -341,7 +341,10 @@
:endsOn="event.endsOn" :endsOn="event.endsOn"
/> />
</event-metadata-block> </event-metadata-block>
<event-metadata-block :title="$t('Organized by')"> <event-metadata-block
class="metadata-organized-by"
:title="$t('Organized by')"
>
<popover-actor-card <popover-actor-card
:actor="event.organizerActor" :actor="event.organizerActor"
v-if="!event.attributedTo" v-if="!event.attributedTo"
@ -1430,6 +1433,20 @@ div.sidebar {
} }
} }
::v-deep .metadata-organized-by {
.v-popover.popover .trigger {
width: 100%;
.media-content {
width: calc(100% - 32px - 1rem);
p.has-text-grey {
text-overflow: ellipsis;
overflow: hidden;
}
}
}
}
div.event-description-comments { div.event-description-comments {
min-width: 20rem; min-width: 20rem;
padding: 1rem; padding: 1rem;

View File

@ -14,9 +14,9 @@
</li> </li>
</ul> </ul>
</nav> </nav>
<section> <section v-if="actionLogs.total > 0 && actionLogs.elements.length > 0">
<ul v-if="actionLogs.length > 0"> <ul>
<li v-for="log in actionLogs" :key="log.id"> <li v-for="log in actionLogs.elements" :key="log.id">
<div class="box"> <div class="box">
<img <img
class="image" class="image"
@ -147,7 +147,10 @@
<b slot="title">{{ log.object.title }}</b> <b slot="title">{{ log.object.title }}</b>
</i18n> </i18n>
<i18n <i18n
v-else-if="log.action === ActionLogAction.ACTOR_SUSPENSION" v-else-if="
log.action === ActionLogAction.ACTOR_SUSPENSION &&
log.object.__typename == 'Person'
"
tag="span" tag="span"
path="{moderator} suspended profile {profile}" path="{moderator} suspended profile {profile}"
> >
@ -169,7 +172,10 @@
</router-link> </router-link>
</i18n> </i18n>
<i18n <i18n
v-else-if="log.action === ActionLogAction.ACTOR_UNSUSPENSION" v-else-if="
log.action === ActionLogAction.ACTOR_UNSUSPENSION &&
log.object.__typename == 'Person'
"
tag="span" tag="span"
path="{moderator} has unsuspended profile {profile}" path="{moderator} has unsuspended profile {profile}"
> >
@ -190,6 +196,56 @@
>{{ displayNameAndUsername(log.object) }} >{{ displayNameAndUsername(log.object) }}
</router-link> </router-link>
</i18n> </i18n>
<i18n
v-else-if="
log.action === ActionLogAction.ACTOR_SUSPENSION &&
log.object.__typename == 'Group'
"
tag="span"
path="{moderator} suspended group {profile}"
>
<router-link
slot="moderator"
:to="{
name: RouteName.ADMIN_PROFILE,
params: { id: log.actor.id },
}"
>@{{ log.actor.preferredUsername }}</router-link
>
<router-link
slot="profile"
:to="{
name: RouteName.ADMIN_GROUP_PROFILE,
params: { id: log.object.id },
}"
>{{ displayNameAndUsername(log.object) }}
</router-link>
</i18n>
<i18n
v-else-if="
log.action === ActionLogAction.ACTOR_UNSUSPENSION &&
log.object.__typename == 'Group'
"
tag="span"
path="{moderator} has unsuspended group {profile}"
>
<router-link
slot="moderator"
:to="{
name: RouteName.ADMIN_PROFILE,
params: { id: log.actor.id },
}"
>@{{ log.actor.preferredUsername }}</router-link
>
<router-link
slot="profile"
:to="{
name: RouteName.ADMIN_GROUP_PROFILE,
params: { id: log.object.id },
}"
>{{ displayNameAndUsername(log.object) }}
</router-link>
</i18n>
<i18n <i18n
v-else-if="log.action === ActionLogAction.USER_DELETION" v-else-if="log.action === ActionLogAction.USER_DELETION"
tag="span" tag="span"
@ -214,25 +270,113 @@
</router-link> </router-link>
<b v-else slot="user">{{ log.object.email }}</b> <b v-else slot="user">{{ log.object.email }}</b>
</i18n> </i18n>
<span
v-else-if="
log.action === ActionLogAction.COMMENT_DELETION &&
log.object.event
"
>
<i18n
tag="span"
path="{moderator} has deleted a comment from {author} under the event {event}"
>
<router-link
slot="moderator"
:to="{
name: RouteName.ADMIN_PROFILE,
params: { id: log.actor.id },
}"
>@{{ log.actor.preferredUsername }}</router-link
>
<router-link
v-if="log.object.event && log.object.event.uuid"
slot="event"
:to="{
name: RouteName.EVENT,
params: { uuid: log.object.event.uuid },
}"
>{{ log.object.event.title }}
</router-link>
<b v-else slot="event">{{ log.object.event.title }}</b>
<router-link
slot="author"
:to="{
name: RouteName.ADMIN_PROFILE,
params: { id: log.object.actor.id },
}"
>{{ displayNameAndUsername(log.object.actor) }}
</router-link>
</i18n>
<pre v-html="log.object.text" />
</span>
<span v-else-if="log.action === ActionLogAction.COMMENT_DELETION">
<i18n
tag="span"
path="{moderator} has deleted a comment from {author}"
>
<router-link
slot="moderator"
:to="{
name: RouteName.ADMIN_PROFILE,
params: { id: log.actor.id },
}"
>@{{ log.actor.preferredUsername }}</router-link
>
<router-link
slot="author"
:to="{
name: RouteName.ADMIN_PROFILE,
params: { id: log.object.actor.id },
}"
>{{ displayNameAndUsername(log.object.actor) }}
</router-link>
</i18n>
<pre v-html="log.object.text" />
</span>
<i18n
v-else
tag="span"
path="{moderator} has done an unknown action"
>
<router-link
slot="moderator"
:to="{
name: RouteName.ADMIN_PROFILE,
params: { id: log.actor.id },
}"
>@{{ log.actor.preferredUsername }}</router-link
>
</i18n>
<br /> <br />
<small>{{ log.insertedAt | formatDateTimeString }}</small> <small>{{ log.insertedAt | formatDateTimeString }}</small>
</div> </div>
</li> </li>
</ul> </ul>
<div v-else> <b-pagination
<b-message type="is-info">{{ $t("No moderation logs yet") }}</b-message> :total="actionLogs.total"
</div> v-model="page"
:per-page="LOGS_PER_PAGE"
:aria-next-label="$t('Next page')"
:aria-previous-label="$t('Previous page')"
:aria-page-label="$t('Page')"
:aria-current-label="$t('Current page')"
>
</b-pagination>
</section> </section>
<div v-else>
<b-message type="is-info">{{ $t("No moderation logs yet") }}</b-message>
</div>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue } from "vue-property-decorator"; import { Component, Vue, Watch } from "vue-property-decorator";
import { IActionLog } from "@/types/report.model"; import { IActionLog } from "@/types/report.model";
import { LOGS } from "@/graphql/report"; import { LOGS } from "@/graphql/report";
import ReportCard from "@/components/Report/ReportCard.vue"; import ReportCard from "@/components/Report/ReportCard.vue";
import { ActionLogAction } from "@/types/enums"; import { ActionLogAction } from "@/types/enums";
import RouteName from "../../router/name"; import RouteName from "../../router/name";
import { displayNameAndUsername } from "../../types/actor"; import { displayNameAndUsername } from "../../types/actor";
import { Paginate } from "@/types/paginate";
@Component({ @Component({
components: { components: {
@ -242,17 +386,39 @@ import { displayNameAndUsername } from "../../types/actor";
actionLogs: { actionLogs: {
fetchPolicy: "cache-and-network", fetchPolicy: "cache-and-network",
query: LOGS, query: LOGS,
variables() {
return {
page: this.page,
limit: this.LOGS_PER_PAGE,
};
},
}, },
}, },
}) })
export default class ReportList extends Vue { export default class ReportList extends Vue {
actionLogs?: IActionLog[] = []; actionLogs?: Paginate<IActionLog> = { total: 0, elements: [] };
page = parseInt((this.$route.query.page as string) || "1", 10);
LOGS_PER_PAGE = 10;
ActionLogAction = ActionLogAction; ActionLogAction = ActionLogAction;
RouteName = RouteName; RouteName = RouteName;
displayNameAndUsername = displayNameAndUsername; displayNameAndUsername = displayNameAndUsername;
mounted(): void {
this.page = parseInt((this.$route.query.page as string) || "1", 10);
}
@Watch("page")
triggerLoadMoreMemberPageChange(page: string): void {
this.$router.replace({
name: RouteName.REPORT_LOGS,
query: { ...this.$route.query, page },
});
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -265,4 +431,8 @@ img.image {
a { a {
text-decoration: none; text-decoration: none;
} }
section ul li {
margin: 0.5rem auto;
}
</style> </style>

View File

@ -1444,9 +1444,9 @@
jest-diff "^24.3.0" jest-diff "^24.3.0"
"@types/jest@^26.0.18": "@types/jest@^26.0.18":
version "26.0.22" version "26.0.23"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7"
integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==
dependencies: dependencies:
jest-diff "^26.0.0" jest-diff "^26.0.0"
pretty-format "^26.0.0" pretty-format "^26.0.0"
@ -1500,7 +1500,12 @@
resolved "https://registry.yarnpkg.com/@types/ngeohash/-/ngeohash-0.6.2.tgz#356bb5e79294bc9f746ad89eb848eca2741a6e43" resolved "https://registry.yarnpkg.com/@types/ngeohash/-/ngeohash-0.6.2.tgz#356bb5e79294bc9f746ad89eb848eca2741a6e43"
integrity sha512-6nlq2eEh75JegDGUXis9wGTYIJpUvbori4qx++PRKQsV3YRkaqUNPNykzphniqPSZADXCouBuAnyptjUkMkhvw== integrity sha512-6nlq2eEh75JegDGUXis9wGTYIJpUvbori4qx++PRKQsV3YRkaqUNPNykzphniqPSZADXCouBuAnyptjUkMkhvw==
"@types/node@*", "@types/node@>=6": "@types/node@*":
version "15.0.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.1.tgz#ef34dea0881028d11398be5bf4e856743e3dc35a"
integrity sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==
"@types/node@>=6":
version "14.14.41" version "14.14.41"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615"
integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g== integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==
@ -3318,9 +3323,9 @@ bser@2.1.1:
node-int64 "^0.4.0" node-int64 "^0.4.0"
buefy@^0.9.0: buefy@^0.9.0:
version "0.9.6" version "0.9.7"
resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.9.6.tgz#83c026c4a6f8fdcab80ded59181efc20873e3a99" resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.9.7.tgz#694e73fe0b32632a53d94c5ba9cfa4468363badd"
integrity sha512-qoYtbTf78xvC5fcRsuUKqUizJCAk2rg6LiAzON8X1G0GTsHkCWRWBHsJmU/jk1/6B+TQ10pSGkQgB+OLrREeXg== integrity sha512-Fli0ZjNDgtFtHm0LItWmfhNJ1oLjDwPzUWccvwXXoo2mADXaH8JQxyhY+drUuUV5/GMu5PtwqQSqPgZy942VZg==
dependencies: dependencies:
bulma "0.9.2" bulma "0.9.2"
@ -3584,7 +3589,15 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
supports-color "^2.0.0" supports-color "^2.0.0"
chalk@^4.0.0, chalk@^4.1.0: chalk@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
@ -4088,9 +4101,9 @@ core-js@^2.4.0, core-js@^2.5.0:
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.6.4: core-js@^3.6.4:
version "3.10.2" version "3.11.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.2.tgz#17cb038ce084522a717d873b63f2b3ee532e2cd5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.11.0.tgz#05dac6aa70c0a4ad842261f8957b961d36eb8926"
integrity sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw== integrity sha512-bd79DPpx+1Ilh9+30aT5O1sgpQd4Ttg8oqkqi51ZzhedMM1omD2e6IOF48Z/DzDCZ2svp49tN/3vneTK6ZBkXw==
core-js@^3.6.5: core-js@^3.6.5:
version "3.10.1" version "3.10.1"
@ -12677,9 +12690,9 @@ vue-hot-reload-api@^2.3.0:
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
vue-i18n-extract@^1.0.2: vue-i18n-extract@^1.0.2:
version "1.2.1" version "1.2.3"
resolved "https://registry.yarnpkg.com/vue-i18n-extract/-/vue-i18n-extract-1.2.1.tgz#0695f628b8ffeba840fe4cbcc2bec2429cce88a5" resolved "https://registry.yarnpkg.com/vue-i18n-extract/-/vue-i18n-extract-1.2.3.tgz#7a16bbce29d587476df0bad85c0f9453b5bcfcbe"
integrity sha512-CaT2vqQi/b5YZyau+6OSvyY044GQu6kexMMUh2zF08s+i08hfbj3s/pdgKLq5EjFbSDFcx2SjF5zACWAhHtN5Q== integrity sha512-ZLtF6wp732KHKawHx5ZSmjyydkli9g26z0NfGLP89DkiGx4nKFYZ2oIH35HtImdhcfq1zqkeSwxs7kRzarLoVw==
dependencies: dependencies:
commander "^6.1.0" commander "^6.1.0"
dot-object "^2.1.4" dot-object "^2.1.4"

View File

@ -39,11 +39,12 @@ defmodule Mobilizon.Federation.ActivityPub do
Visibility Visibility
} }
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.Types.{Managable, Ownable} alias Mobilizon.Federation.ActivityPub.Types.{Managable, Ownable}
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.Convertible
alias Mobilizon.Federation.HTTPSignatures.Signature alias Mobilizon.Federation.HTTPSignatures.Signature
alias Mobilizon.Federation.WebFinger
alias Mobilizon.Service.Notifications.Scheduler alias Mobilizon.Service.Notifications.Scheduler
alias Mobilizon.Storage.Page alias Mobilizon.Storage.Page
@ -79,7 +80,6 @@ defmodule Mobilizon.Federation.ActivityPub do
{:ok, struct()} | {:error, any()} {:ok, struct()} | {:error, any()}
def fetch_object_from_url(url, options \\ []) do def fetch_object_from_url(url, options \\ []) do
Logger.info("Fetching object from url #{url}") Logger.info("Fetching object from url #{url}")
force_fetch = Keyword.get(options, :force, false)
with {:not_http, true} <- {:not_http, String.starts_with?(url, "http")}, with {:not_http, true} <- {:not_http, String.starts_with?(url, "http")},
{:existing, nil} <- {:existing, nil} <-
@ -99,39 +99,7 @@ defmodule Mobilizon.Federation.ActivityPub do
Preloader.maybe_preload(entity) Preloader.maybe_preload(entity)
else else
{:existing, entity} -> {:existing, entity} ->
Logger.debug("Entity is already existing") handle_existing_entity(url, entity, options)
res =
if force_fetch and not are_same_origin?(url, Endpoint.url()) do
Logger.debug("Entity is external and we want a force fetch")
case Fetcher.fetch_and_update(url, options) do
{:ok, _activity, entity} ->
{:ok, entity}
{:error, "Gone"} ->
{:error, "Gone", entity}
{:error, "Not found"} ->
{:error, "Not found", entity}
end
else
{:ok, entity}
end
Logger.debug("Going to preload an existing entity")
case res do
{:ok, entity} ->
Preloader.maybe_preload(entity)
{:error, status, entity} ->
{:ok, entity} = Preloader.maybe_preload(entity)
{:error, status, entity}
err ->
err
end
e -> e ->
Logger.warn("Something failed while fetching url #{inspect(e)}") Logger.warn("Something failed while fetching url #{inspect(e)}")
@ -139,37 +107,51 @@ defmodule Mobilizon.Federation.ActivityPub do
end end
end end
@doc """ @spec handle_existing_entity(String.t(), struct(), Keyword.t()) ::
Getting an actor from url, eventually creating it if we don't have it locally or if it needs an update {:ok, struct()}
""" | {:ok, struct()}
@spec get_or_fetch_actor_by_url(String.t(), boolean) :: {:ok, Actor.t()} | {:error, String.t()} | {:error, String.t(), struct()}
def get_or_fetch_actor_by_url(url, preload \\ false) | {:error, String.t()}
defp handle_existing_entity(url, entity, options) do
Logger.debug("Entity is already existing")
Logger.debug("Going to preload an existing entity")
def get_or_fetch_actor_by_url(nil, _preload), do: {:error, "Can't fetch a nil url"} case refresh_entity(url, entity, options) do
{:ok, entity} ->
Preloader.maybe_preload(entity)
def get_or_fetch_actor_by_url("https://www.w3.org/ns/activitystreams#Public", _preload) do {:error, status, entity} ->
with %Actor{url: url} <- Relay.get_actor() do {:ok, entity} = Preloader.maybe_preload(entity)
get_or_fetch_actor_by_url(url) {:error, status, entity}
err ->
err
end end
end end
@spec get_or_fetch_actor_by_url(String.t(), boolean()) :: {:ok, Actor.t()} | {:error, any()} @spec refresh_entity(String.t(), struct(), Keyword.t()) ::
def get_or_fetch_actor_by_url(url, preload) do {:ok, struct()} | {:error, String.t(), struct()} | {:error, String.t()}
with {:ok, %Actor{} = cached_actor} <- Actors.get_actor_by_url(url, preload), defp refresh_entity(url, entity, options) do
false <- Actors.needs_update?(cached_actor) do force_fetch = Keyword.get(options, :force, false)
{:ok, cached_actor}
else
_ ->
# For tests, see https://github.com/jjh42/mock#not-supported---mocking-internal-function-calls and Mobilizon.Federation.ActivityPubTest
case __MODULE__.make_actor_from_url(url, preload) do
{:ok, %Actor{} = actor} ->
{:ok, actor}
err -> if force_fetch and not are_same_origin?(url, Endpoint.url()) do
Logger.warn("Could not fetch by AP id") Logger.debug("Entity is external and we want a force fetch")
Logger.debug(inspect(err))
{:error, "Could not fetch by AP id"} case Fetcher.fetch_and_update(url, options) do
end {:ok, _activity, entity} ->
{:ok, entity}
{:error, "Gone"} ->
{:error, "Gone", entity}
{:error, "Not found"} ->
{:error, "Not found", entity}
{:error, "Object origin check failed"} ->
{:error, "Object origin check failed"}
end
else
{:ok, entity}
end end
end end
@ -287,7 +269,8 @@ defmodule Mobilizon.Federation.ActivityPub do
local \\ true, local \\ true,
public \\ true public \\ true
) do ) do
with {:ok, %Actor{id: object_owner_actor_id}} <- get_or_fetch_actor_by_url(object["actor"]), with {:ok, %Actor{id: object_owner_actor_id}} <-
ActivityPubActor.get_or_fetch_actor_by_url(object["actor"]),
{:ok, %Share{} = _share} <- Share.create(object["id"], actor.id, object_owner_actor_id), {:ok, %Share{} = _share} <- Share.create(object["id"], actor.id, object_owner_actor_id),
announce_data <- make_announce_data(actor, object, activity_id, public), announce_data <- make_announce_data(actor, object, activity_id, public),
{:ok, activity} <- create_activity(announce_data, local), {:ok, activity} <- create_activity(announce_data, local),
@ -604,68 +587,6 @@ defmodule Mobilizon.Federation.ActivityPub do
end end
end end
@doc """
Create an actor locally by its URL (AP ID)
"""
@spec make_actor_from_url(String.t(), boolean()) :: {:ok, %Actor{}} | {:error, any()}
def make_actor_from_url(url, preload \\ false) do
if are_same_origin?(url, Endpoint.url()) do
{:error, "Can't make a local actor from URL"}
else
case fetch_and_prepare_actor_from_url(url) do
{:ok, data} ->
Actors.upsert_actor(data, preload)
# Request returned 410
{:error, :actor_deleted} ->
Logger.info("Actor was deleted")
{:error, :actor_deleted}
{:error, e} ->
Logger.warn("Failed to make actor from url")
{:error, e}
e ->
Logger.warn("Failed to make actor from url")
{:error, e}
end
end
end
@doc """
Find an actor in our local database or call WebFinger to find what's its AP ID is and then fetch it
"""
@spec find_or_make_actor_from_nickname(String.t(), atom() | nil) :: tuple()
def find_or_make_actor_from_nickname(nickname, type \\ nil) do
case Actors.get_actor_by_name(nickname, type) do
%Actor{} = actor ->
{:ok, actor}
nil ->
make_actor_from_nickname(nickname)
end
end
@spec find_or_make_person_from_nickname(String.t()) :: tuple()
def find_or_make_person_from_nickname(nick), do: find_or_make_actor_from_nickname(nick, :Person)
@spec find_or_make_group_from_nickname(String.t()) :: tuple()
def find_or_make_group_from_nickname(nick), do: find_or_make_actor_from_nickname(nick, :Group)
@doc """
Create an actor inside our database from username, using WebFinger to find out its AP ID and then fetch it
"""
@spec make_actor_from_nickname(String.t()) :: {:ok, %Actor{}} | {:error, any()}
def make_actor_from_nickname(nickname) do
case WebFinger.finger(nickname) do
{:ok, url} when is_binary(url) ->
make_actor_from_url(url)
_e ->
{:error, "No ActivityPub URL found in WebFinger"}
end
end
@spec is_create_activity?(Activity.t()) :: boolean @spec is_create_activity?(Activity.t()) :: boolean
defp is_create_activity?(%Activity{data: %{"type" => "Create"}}), do: true defp is_create_activity?(%Activity{data: %{"type" => "Create"}}), do: true
defp is_create_activity?(_), do: false defp is_create_activity?(_), do: false
@ -783,40 +704,6 @@ defmodule Mobilizon.Federation.ActivityPub do
) )
end end
# Fetching a remote actor's information through its AP ID
@spec fetch_and_prepare_actor_from_url(String.t()) :: {:ok, struct()} | {:error, atom()} | any()
defp fetch_and_prepare_actor_from_url(url) do
Logger.debug("Fetching and preparing actor from url")
Logger.debug(inspect(url))
res =
with {:ok, %{status: 200, body: body}} <-
Tesla.get(url,
headers: [{"Accept", "application/activity+json"}],
follow_redirect: true
),
:ok <- Logger.debug("response okay, now decoding json"),
{:ok, data} <- Jason.decode(body) do
Logger.debug("Got activity+json response at actor's endpoint, now converting data")
{:ok, Converter.Actor.as_to_model_data(data)}
else
# Actor is gone, probably deleted
{:ok, %{status: 410}} ->
Logger.info("Response HTTP 410")
{:error, :actor_deleted}
{:error, e} ->
Logger.warn("Could not decode actor at fetch #{url}, #{inspect(e)}")
{:error, e}
e ->
Logger.warn("Could not decode actor at fetch #{url}, #{inspect(e)}")
{:error, e}
end
res
end
@doc """ @doc """
Return all public activities (events & comments) for an actor Return all public activities (events & comments) for an actor
""" """
@ -937,10 +824,7 @@ defmodule Mobilizon.Federation.ActivityPub do
Mobilizon.Service.Activity.Member.insert_activity(member, Mobilizon.Service.Activity.Member.insert_activity(member,
subject: "member_approved" subject: "member_approved"
), ),
_ <- _ <- maybe_refresh_group(member),
unless(is_nil(member.parent.domain),
do: Refresher.fetch_group(member.parent.url, member.actor)
),
Absinthe.Subscription.publish(Endpoint, member.actor, Absinthe.Subscription.publish(Endpoint, member.actor,
group_membership_changed: [ group_membership_changed: [
Actor.preferred_username_and_domain(member.parent), Actor.preferred_username_and_domain(member.parent),
@ -979,6 +863,7 @@ defmodule Mobilizon.Federation.ActivityPub do
Mobilizon.Service.Activity.Member.insert_activity(member, Mobilizon.Service.Activity.Member.insert_activity(member,
subject: "member_accepted_invitation" subject: "member_accepted_invitation"
), ),
_ <- maybe_refresh_group(member),
accept_data <- %{ accept_data <- %{
"type" => "Accept", "type" => "Accept",
"attributedTo" => member.parent.url, "attributedTo" => member.parent.url,
@ -992,6 +877,14 @@ defmodule Mobilizon.Federation.ActivityPub do
end end
end end
defp maybe_refresh_group(%Member{
parent: %Actor{domain: parent_domain, url: parent_url},
actor: %Actor{} = actor
}) do
unless is_nil(parent_domain),
do: Refresher.fetch_group(parent_url, actor)
end
@spec reject_join(Participant.t(), map()) :: {:ok, Participant.t(), Activity.t()} | any() @spec reject_join(Participant.t(), map()) :: {:ok, Participant.t(), Activity.t()} | any()
defp reject_join(%Participant{} = participant, additional) do defp reject_join(%Participant{} = participant, additional) do
with {:ok, %Participant{} = participant} <- with {:ok, %Participant{} = participant} <-

View File

@ -0,0 +1,102 @@
defmodule Mobilizon.Federation.ActivityPub.Actor do
@moduledoc """
Module to handle ActivityPub Actor interactions
"""
alias Mobilizon.Actors
alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub.{Fetcher, Relay}
alias Mobilizon.Federation.WebFinger
alias Mobilizon.Web.Endpoint
require Logger
import Mobilizon.Federation.ActivityPub.Utils, only: [are_same_origin?: 2]
@doc """
Getting an actor from url, eventually creating it if we don't have it locally or if it needs an update
"""
@spec get_or_fetch_actor_by_url(String.t(), boolean) :: {:ok, Actor.t()} | {:error, String.t()}
def get_or_fetch_actor_by_url(url, preload \\ false)
def get_or_fetch_actor_by_url(nil, _preload), do: {:error, "Can't fetch a nil url"}
def get_or_fetch_actor_by_url("https://www.w3.org/ns/activitystreams#Public", _preload) do
with %Actor{url: url} <- Relay.get_actor() do
get_or_fetch_actor_by_url(url)
end
end
@spec get_or_fetch_actor_by_url(String.t(), boolean()) :: {:ok, Actor.t()} | {:error, any()}
def get_or_fetch_actor_by_url(url, preload) do
with {:ok, %Actor{} = cached_actor} <- Actors.get_actor_by_url(url, preload),
false <- Actors.needs_update?(cached_actor) do
{:ok, cached_actor}
else
_ ->
# For tests, see https://github.com/jjh42/mock#not-supported---mocking-internal-function-calls and Mobilizon.Federation.ActivityPubTest
case __MODULE__.make_actor_from_url(url, preload) do
{:ok, %Actor{} = actor} ->
{:ok, actor}
{:error, err} ->
Logger.debug("Could not fetch by AP id")
Logger.debug(inspect(err))
{:error, "Could not fetch by AP id"}
end
end
end
@doc """
Create an actor locally by its URL (AP ID)
"""
@spec make_actor_from_url(String.t(), boolean()) :: {:ok, %Actor{}} | {:error, any()}
def make_actor_from_url(url, preload \\ false) do
if are_same_origin?(url, Endpoint.url()) do
{:error, "Can't make a local actor from URL"}
else
case Fetcher.fetch_and_prepare_actor_from_url(url) do
{:ok, data} ->
Actors.upsert_actor(data, preload)
# Request returned 410
{:error, :actor_deleted} ->
Logger.info("Actor was deleted")
{:error, :actor_deleted}
{:error, e} ->
Logger.warn("Failed to make actor from url")
{:error, e}
end
end
end
@doc """
Find an actor in our local database or call WebFinger to find what's its AP ID is and then fetch it
"""
@spec find_or_make_actor_from_nickname(String.t(), atom() | nil) :: tuple()
def find_or_make_actor_from_nickname(nickname, type \\ nil) do
case Actors.get_actor_by_name(nickname, type) do
%Actor{} = actor ->
{:ok, actor}
nil ->
make_actor_from_nickname(nickname)
end
end
@spec find_or_make_group_from_nickname(String.t()) :: tuple()
def find_or_make_group_from_nickname(nick), do: find_or_make_actor_from_nickname(nick, :Group)
@doc """
Create an actor inside our database from username, using WebFinger to find out its AP ID and then fetch it
"""
@spec make_actor_from_nickname(String.t()) :: {:ok, %Actor{}} | {:error, any()}
def make_actor_from_nickname(nickname) do
case WebFinger.finger(nickname) do
{:ok, url} when is_binary(url) ->
make_actor_from_url(url)
_e ->
{:error, "No ActivityPub URL found in WebFinger"}
end
end
end

View File

@ -13,6 +13,7 @@ defmodule Mobilizon.Federation.ActivityPub.Federator do
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Transmogrifier} alias Mobilizon.Federation.ActivityPub.{Activity, Transmogrifier}
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
require Logger require Logger
@ -42,7 +43,8 @@ defmodule Mobilizon.Federation.ActivityPub.Federator do
Logger.debug(inspect(activity)) Logger.debug(inspect(activity))
Logger.debug(fn -> "Running publish for #{activity.data["id"]}" end) Logger.debug(fn -> "Running publish for #{activity.data["id"]}" end)
with {:ok, %Actor{} = actor} <- ActivityPub.get_or_fetch_actor_by_url(activity.data["actor"]) do with {:ok, %Actor{} = actor} <-
ActivityPubActor.get_or_fetch_actor_by_url(activity.data["actor"]) do
Logger.info(fn -> "Sending #{activity.data["id"]} out via AP" end) Logger.info(fn -> "Sending #{activity.data["id"]} out via AP" end)
ActivityPub.publish(actor, activity) ActivityPub.publish(actor, activity)
end end
@ -61,7 +63,7 @@ defmodule Mobilizon.Federation.ActivityPub.Federator do
e -> e ->
# Just drop those for now # Just drop those for now
Logger.error("Unhandled activity") Logger.debug("Unhandled activity")
Logger.debug(inspect(e)) Logger.debug(inspect(e))
Logger.debug(Jason.encode!(params)) Logger.debug(Jason.encode!(params))
end end

View File

@ -8,6 +8,7 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
alias Mobilizon.Federation.HTTPSignatures.Signature alias Mobilizon.Federation.HTTPSignatures.Signature
alias Mobilizon.Federation.ActivityPub.{Relay, Transmogrifier} alias Mobilizon.Federation.ActivityPub.{Relay, Transmogrifier}
alias Mobilizon.Federation.ActivityStream.Converter.Actor, as: ActorConverter
alias Mobilizon.Service.HTTP.ActivityPub, as: ActivityPubClient alias Mobilizon.Service.HTTP.ActivityPub, as: ActivityPubClient
import Mobilizon.Federation.ActivityPub.Utils, import Mobilizon.Federation.ActivityPub.Utils,
@ -30,11 +31,11 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
{:ok, data} {:ok, data}
else else
{:ok, %Tesla.Env{status: 410}} -> {:ok, %Tesla.Env{status: 410}} ->
Logger.warn("Resource at #{url} is 410 Gone") Logger.debug("Resource at #{url} is 410 Gone")
{:error, "Gone"} {:error, "Gone"}
{:ok, %Tesla.Env{status: 404}} -> {:ok, %Tesla.Env{status: 404}} ->
Logger.warn("Resource at #{url} is 404 Gone") Logger.debug("Resource at #{url} is 404 Gone")
{:error, "Not found"} {:error, "Not found"}
{:ok, %Tesla.Env{} = res} -> {:ok, %Tesla.Env{} = res} ->
@ -75,7 +76,7 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
@spec fetch_and_update(String.t(), Keyword.t()) :: {:ok, map(), struct()} @spec fetch_and_update(String.t(), Keyword.t()) :: {:ok, map(), struct()}
def fetch_and_update(url, options \\ []) do def fetch_and_update(url, options \\ []) do
with {:ok, data} when is_map(data) <- fetch(url, options), with {:ok, data} when is_map(data) <- fetch(url, options),
{:origin_check, true} <- {:origin_check, origin_check?(url, data)}, {:origin_check, true} <- {:origin_check, origin_check(url, data)},
params <- %{ params <- %{
"type" => "Update", "type" => "Update",
"to" => data["to"], "to" => data["to"],
@ -87,7 +88,6 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
Transmogrifier.handle_incoming(params) Transmogrifier.handle_incoming(params)
else else
{:origin_check, false} -> {:origin_check, false} ->
Logger.warn("Object origin check failed")
{:error, "Object origin check failed"} {:error, "Object origin check failed"}
{:error, err} -> {:error, err} ->
@ -95,6 +95,57 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
end end
end end
@doc """
Fetching a remote actor's information through its AP ID
"""
@spec fetch_and_prepare_actor_from_url(String.t()) :: {:ok, map()} | {:error, atom()} | any()
def fetch_and_prepare_actor_from_url(url) do
Logger.debug("Fetching and preparing actor from url")
Logger.debug(inspect(url))
res =
with {:ok, %{status: 200, body: body}} <-
Tesla.get(url,
headers: [{"Accept", "application/activity+json"}],
follow_redirect: true
),
:ok <- Logger.debug("response okay, now decoding json"),
{:ok, data} <- Jason.decode(body) do
Logger.debug("Got activity+json response at actor's endpoint, now converting data")
{:ok, ActorConverter.as_to_model_data(data)}
else
# Actor is gone, probably deleted
{:ok, %{status: 410}} ->
Logger.info("Response HTTP 410")
{:error, :actor_deleted}
{:ok, %Tesla.Env{}} ->
Logger.info("Non 200 HTTP Code")
{:error, :http_error}
{:error, e} ->
Logger.warn("Could not decode actor at fetch #{url}, #{inspect(e)}")
{:error, e}
e ->
Logger.warn("Could not decode actor at fetch #{url}, #{inspect(e)}")
{:error, e}
end
res
end
@spec origin_check(String.t(), map()) :: boolean()
defp origin_check(url, data) do
if origin_check?(url, data) do
true
else
Sentry.capture_message("Object origin check failed", extra: %{url: url, data: data})
Logger.debug("Object origin check failed")
false
end
end
@spec address_invalid(String.t()) :: false | {:error, :invalid_url} @spec address_invalid(String.t()) :: false | {:error, :invalid_url}
defp address_invalid(address) do defp address_invalid(address) do
with %URI{host: host, scheme: scheme} <- URI.parse(address), with %URI{host: host, scheme: scheme} <- URI.parse(address),

View File

@ -12,6 +12,7 @@ defmodule Mobilizon.Federation.ActivityPub.Preloader do
alias Mobilizon.Resources.Resource alias Mobilizon.Resources.Resource
alias Mobilizon.Tombstone alias Mobilizon.Tombstone
@spec maybe_preload(struct()) :: {:ok, struct()} | {:error, struct()}
def maybe_preload(%Event{url: url}), def maybe_preload(%Event{url: url}),
do: {:ok, Events.get_public_event_by_url_with_preload!(url)} do: {:ok, Events.get_public_event_by_url_with_preload!(url)}

View File

@ -6,8 +6,8 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
alias Mobilizon.Actors alias Mobilizon.Actors
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.{Fetcher, Relay, Transmogrifier, Utils} alias Mobilizon.Federation.ActivityPub.{Fetcher, Relay, Transmogrifier, Utils}
alias Mobilizon.Storage.Repo
require Logger require Logger
@doc """ @doc """
@ -32,7 +32,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
end end
def refresh_profile(%Actor{type: type, url: url}) when type in [:Person, :Application] do def refresh_profile(%Actor{type: type, url: url}) when type in [:Person, :Application] do
with {:ok, %Actor{outbox_url: outbox_url}} <- ActivityPub.make_actor_from_url(url), with {:ok, %Actor{outbox_url: outbox_url}} <- ActivityPubActor.make_actor_from_url(url),
:ok <- fetch_collection(outbox_url, Relay.get_actor()) do :ok <- fetch_collection(outbox_url, Relay.get_actor()) do
:ok :ok
end end
@ -50,7 +50,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
discussions_url: discussions_url, discussions_url: discussions_url,
events_url: events_url events_url: events_url
}} <- }} <-
ActivityPub.make_actor_from_url(group_url), ActivityPubActor.make_actor_from_url(group_url),
:ok <- fetch_collection(outbox_url, on_behalf_of), :ok <- fetch_collection(outbox_url, on_behalf_of),
:ok <- fetch_collection(members_url, on_behalf_of), :ok <- fetch_collection(members_url, on_behalf_of),
:ok <- fetch_collection(resources_url, on_behalf_of), :ok <- fetch_collection(resources_url, on_behalf_of),
@ -60,9 +60,23 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
:ok <- fetch_collection(events_url, on_behalf_of) do :ok <- fetch_collection(events_url, on_behalf_of) do
:ok :ok
else else
{:error, err} ->
Logger.error("Error while refreshing a group")
Sentry.capture_message("Error while refreshing a group",
extra: %{group_url: group_url}
)
Logger.debug(inspect(err))
err -> err ->
Logger.error("Error while refreshing a group") Logger.error("Error while refreshing a group")
Logger.error(inspect(err))
Sentry.capture_message("Error while refreshing a group",
extra: %{group_url: group_url}
)
Logger.debug(inspect(err))
end end
end end
@ -96,14 +110,11 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
end end
end end
@spec refresh_all_external_groups :: any() @spec refresh_all_external_groups :: :ok
def refresh_all_external_groups do def refresh_all_external_groups do
Repo.transaction(fn -> Actors.list_external_groups()
Actors.list_external_groups_for_stream() |> Enum.filter(&Actors.needs_update?/1)
|> Stream.filter(&Actors.needs_update?/1) |> Enum.each(&refresh_profile/1)
|> Stream.map(&refresh_profile/1)
|> Stream.run()
end)
end end
defp process_collection(%{"type" => type, "orderedItems" => items}, _on_behalf_of) defp process_collection(%{"type" => type, "orderedItems" => items}, _on_behalf_of)
@ -122,6 +133,14 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
:ok :ok
end end
# Lemmy uses an OrderedCollection with the items property
defp process_collection(%{"type" => type, "items" => items} = collection, on_behalf_of)
when type in ["OrderedCollection", "OrderedCollectionPage"] do
collection
|> Map.put("orderedItems", items)
|> process_collection(on_behalf_of)
end
defp process_collection(%{"type" => "OrderedCollection", "first" => first}, on_behalf_of) defp process_collection(%{"type" => "OrderedCollection", "first" => first}, on_behalf_of)
when is_map(first), when is_map(first),
do: process_collection(first, on_behalf_of) do: process_collection(first, on_behalf_of)
@ -150,6 +169,11 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
Transmogrifier.handle_incoming(data) Transmogrifier.handle_incoming(data)
end end
# If we're handling an announce activity
defp handling_element(%{"type" => "Announce"} = data) do
handling_element(get_in(data, ["object"]))
end
# If we're handling directly an object # If we're handling directly an object
defp handling_element(data) when is_map(data) do defp handling_element(data) when is_map(data) do
object = get_in(data, ["object"]) object = get_in(data, ["object"])

View File

@ -13,6 +13,7 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Refresher, Transmogrifier} alias Mobilizon.Federation.ActivityPub.{Activity, Refresher, Transmogrifier}
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.WebFinger alias Mobilizon.Federation.WebFinger
alias Mobilizon.GraphQL.API.Follows alias Mobilizon.GraphQL.API.Follows
@ -37,7 +38,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
def follow(address) do def follow(address) do
with {:ok, target_instance} <- fetch_actor(address), with {:ok, target_instance} <- fetch_actor(address),
%Actor{} = local_actor <- get_actor(), %Actor{} = local_actor <- get_actor(),
{:ok, %Actor{} = target_actor} <- ActivityPub.get_or_fetch_actor_by_url(target_instance), {:ok, %Actor{} = target_actor} <-
ActivityPubActor.get_or_fetch_actor_by_url(target_instance),
{:ok, activity, follow} <- Follows.follow(local_actor, target_actor) do {:ok, activity, follow} <- Follows.follow(local_actor, target_actor) do
Logger.info("Relay: followed instance #{target_instance}; id=#{activity.data["id"]}") Logger.info("Relay: followed instance #{target_instance}; id=#{activity.data["id"]}")
{:ok, activity, follow} {:ok, activity, follow}
@ -56,7 +58,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
def unfollow(address) do def unfollow(address) do
with {:ok, target_instance} <- fetch_actor(address), with {:ok, target_instance} <- fetch_actor(address),
%Actor{} = local_actor <- get_actor(), %Actor{} = local_actor <- get_actor(),
{:ok, %Actor{} = target_actor} <- ActivityPub.get_or_fetch_actor_by_url(target_instance), {:ok, %Actor{} = target_actor} <-
ActivityPubActor.get_or_fetch_actor_by_url(target_instance),
{:ok, activity, follow} <- Follows.unfollow(local_actor, target_actor) do {:ok, activity, follow} <- Follows.unfollow(local_actor, target_actor) do
Logger.info("Relay: unfollowed instance #{target_instance}: id=#{activity.data["id"]}") Logger.info("Relay: unfollowed instance #{target_instance}: id=#{activity.data["id"]}")
{:ok, activity, follow} {:ok, activity, follow}
@ -73,7 +76,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
with {:ok, target_instance} <- fetch_actor(address), with {:ok, target_instance} <- fetch_actor(address),
%Actor{} = local_actor <- get_actor(), %Actor{} = local_actor <- get_actor(),
{:ok, %Actor{} = target_actor} <- ActivityPub.get_or_fetch_actor_by_url(target_instance), {:ok, %Actor{} = target_actor} <-
ActivityPubActor.get_or_fetch_actor_by_url(target_instance),
{:ok, activity, follow} <- Follows.accept(target_actor, local_actor) do {:ok, activity, follow} <- Follows.accept(target_actor, local_actor) do
{:ok, activity, follow} {:ok, activity, follow}
end end
@ -84,7 +88,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
with {:ok, target_instance} <- fetch_actor(address), with {:ok, target_instance} <- fetch_actor(address),
%Actor{} = local_actor <- get_actor(), %Actor{} = local_actor <- get_actor(),
{:ok, %Actor{} = target_actor} <- ActivityPub.get_or_fetch_actor_by_url(target_instance), {:ok, %Actor{} = target_actor} <-
ActivityPubActor.get_or_fetch_actor_by_url(target_instance),
{:ok, activity, follow} <- Follows.reject(target_actor, local_actor) do {:ok, activity, follow} <- Follows.reject(target_actor, local_actor) do
{:ok, activity, follow} {:ok, activity, follow}
end end
@ -94,7 +99,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
Logger.debug("We're trying to refresh a remote instance") Logger.debug("We're trying to refresh a remote instance")
with {:ok, target_instance} <- fetch_actor(address), with {:ok, target_instance} <- fetch_actor(address),
{:ok, %Actor{} = target_actor} <- ActivityPub.get_or_fetch_actor_by_url(target_instance) do {:ok, %Actor{} = target_actor} <-
ActivityPubActor.get_or_fetch_actor_by_url(target_instance) do
Refresher.refresh_profile(target_actor) Refresher.refresh_profile(target_actor)
end end
end end

View File

@ -18,6 +18,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Refresher, Relay, Utils} alias Mobilizon.Federation.ActivityPub.{Activity, Refresher, Relay, Utils}
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.Types.Ownable alias Mobilizon.Federation.ActivityPub.Types.Ownable
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
alias Mobilizon.Tombstone alias Mobilizon.Tombstone
@ -117,12 +118,13 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
def handle_incoming(%{ def handle_incoming(%{
"type" => "Create", "type" => "Create",
"object" => %{"type" => "Group", "id" => group_url} = _object "object" => %{"type" => type, "id" => actor_url} = _object
}) do })
Logger.info("Handle incoming to create a group") when type in ["Group", "Person", "Actor"] do
Logger.info("Handle incoming to create an actor")
with {:ok, %Actor{} = group} <- ActivityPub.get_or_fetch_actor_by_url(group_url) do with {:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(actor_url) do
{:ok, nil, group} {:ok, nil, actor}
end end
end end
@ -201,8 +203,8 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
def handle_incoming( def handle_incoming(
%{"type" => "Follow", "object" => followed, "actor" => follower, "id" => id} = _data %{"type" => "Follow", "object" => followed, "actor" => follower, "id" => id} = _data
) do ) do
with {:ok, %Actor{} = followed} <- ActivityPub.get_or_fetch_actor_by_url(followed, true), with {:ok, %Actor{} = followed} <- ActivityPubActor.get_or_fetch_actor_by_url(followed, true),
{:ok, %Actor{} = follower} <- ActivityPub.get_or_fetch_actor_by_url(follower), {:ok, %Actor{} = follower} <- ActivityPubActor.get_or_fetch_actor_by_url(follower),
{:ok, activity, object} <- ActivityPub.follow(follower, followed, id, false) do {:ok, activity, object} <- ActivityPub.follow(follower, followed, id, false) do
{:ok, activity, object} {:ok, activity, object}
else else
@ -221,7 +223,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
with {:existing_todo_list, nil} <- with {:existing_todo_list, nil} <-
{:existing_todo_list, Todos.get_todo_list_by_url(object_url)}, {:existing_todo_list, Todos.get_todo_list_by_url(object_url)},
{:ok, %Actor{url: actor_url}} <- ActivityPub.get_or_fetch_actor_by_url(actor_url), {:ok, %Actor{url: actor_url}} <- ActivityPubActor.get_or_fetch_actor_by_url(actor_url),
object_data when is_map(object_data) <- object_data when is_map(object_data) <-
object |> Converter.TodoList.as_to_model_data(), object |> Converter.TodoList.as_to_model_data(),
{:ok, %Activity{} = activity, %TodoList{} = todo_list} <- {:ok, %Activity{} = activity, %TodoList{} = todo_list} <-
@ -295,7 +297,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
} = data } = data
) do ) do
with actor_url <- Utils.get_actor(data), with actor_url <- Utils.get_actor(data),
{:ok, %Actor{} = actor} <- ActivityPub.get_or_fetch_actor_by_url(actor_url), {:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(actor_url),
{:object_not_found, {:ok, %Activity{} = activity, object}} <- {:object_not_found, {:ok, %Activity{} = activity, object}} <-
{:object_not_found, {:object_not_found,
do_handle_incoming_accept_following(accepted_object, actor) || do_handle_incoming_accept_following(accepted_object, actor) ||
@ -328,7 +330,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
%{"type" => "Reject", "object" => rejected_object, "actor" => _actor, "id" => id} = data %{"type" => "Reject", "object" => rejected_object, "actor" => _actor, "id" => id} = data
) do ) do
with actor_url <- Utils.get_actor(data), with actor_url <- Utils.get_actor(data),
{:ok, %Actor{} = actor} <- ActivityPub.get_or_fetch_actor_by_url(actor_url), {:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(actor_url),
{:object_not_found, {:ok, activity, object}} <- {:object_not_found, {:ok, activity, object}} <-
{:object_not_found, {:object_not_found,
do_handle_incoming_reject_following(rejected_object, actor) || do_handle_incoming_reject_following(rejected_object, actor) ||
@ -359,7 +361,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
) do ) do
with actor_url <- Utils.get_actor(data), with actor_url <- Utils.get_actor(data),
{:ok, %Actor{id: actor_id, suspended: false} = actor} <- {:ok, %Actor{id: actor_id, suspended: false} = actor} <-
ActivityPub.get_or_fetch_actor_by_url(actor_url), ActivityPubActor.get_or_fetch_actor_by_url(actor_url),
:ok <- Logger.debug("Fetching contained object"), :ok <- Logger.debug("Fetching contained object"),
{:ok, entity} <- process_announce_data(object, actor), {:ok, entity} <- process_announce_data(object, actor),
:ok <- eventually_create_share(object, entity, actor_id) do :ok <- eventually_create_share(object, entity, actor_id) do
@ -371,14 +373,16 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
end end
end end
def handle_incoming(%{ def handle_incoming(
"type" => "Update", %{
"object" => %{"type" => object_type} = object, "type" => "Update",
"actor" => _actor_id "object" => %{"type" => object_type} = object,
}) "actor" => _actor_id
} = params
)
when object_type in ["Person", "Group", "Application", "Service", "Organization"] do when object_type in ["Person", "Group", "Application", "Service", "Organization"] do
with {:ok, %Actor{suspended: false} = old_actor} <- with {:ok, %Actor{suspended: false} = old_actor} <-
ActivityPub.get_or_fetch_actor_by_url(object["id"]), ActivityPubActor.get_or_fetch_actor_by_url(object["id"]),
object_data <- object_data <-
object |> Converter.Actor.as_to_model_data(), object |> Converter.Actor.as_to_model_data(),
{:ok, %Activity{} = activity, %Actor{} = new_actor} <- {:ok, %Activity{} = activity, %Actor{} = new_actor} <-
@ -386,7 +390,11 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
{:ok, activity, new_actor} {:ok, activity, new_actor}
else else
e -> e ->
Logger.error(inspect(e)) Sentry.capture_message("Error while handling an Update activity",
extra: %{params: params}
)
Logger.debug(inspect(e))
:error :error
end end
end end
@ -397,7 +405,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
) do ) do
with actor <- Utils.get_actor(update_data), with actor <- Utils.get_actor(update_data),
{:ok, %Actor{url: actor_url, suspended: false} = actor} <- {:ok, %Actor{url: actor_url, suspended: false} = actor} <-
ActivityPub.get_or_fetch_actor_by_url(actor), ActivityPubActor.get_or_fetch_actor_by_url(actor),
{:ok, %Event{} = old_event} <- {:ok, %Event{} = old_event} <-
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(), object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
object_data <- Converter.Event.as_to_model_data(object), object_data <- Converter.Event.as_to_model_data(object),
@ -422,7 +430,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
with actor <- Utils.get_actor(update_data), with actor <- Utils.get_actor(update_data),
{:ok, %Actor{url: actor_url, suspended: false}} <- {:ok, %Actor{url: actor_url, suspended: false}} <-
ActivityPub.get_or_fetch_actor_by_url(actor), ActivityPubActor.get_or_fetch_actor_by_url(actor),
{:origin_check, true} <- {:origin_check, Utils.origin_check?(actor_url, update_data)}, {:origin_check, true} <- {:origin_check, Utils.origin_check?(actor_url, update_data)},
object_data <- Converter.Comment.as_to_model_data(object), object_data <- Converter.Comment.as_to_model_data(object),
{:ok, old_entity} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(), {:ok, old_entity} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
@ -442,7 +450,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
) do ) do
with actor <- Utils.get_actor(update_data), with actor <- Utils.get_actor(update_data),
{:ok, %Actor{url: actor_url, suspended: false} = actor} <- {:ok, %Actor{url: actor_url, suspended: false} = actor} <-
ActivityPub.get_or_fetch_actor_by_url(actor), ActivityPubActor.get_or_fetch_actor_by_url(actor),
{:ok, %Post{} = old_post} <- {:ok, %Post{} = old_post} <-
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(), object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
object_data <- Converter.Post.as_to_model_data(object), object_data <- Converter.Post.as_to_model_data(object),
@ -470,7 +478,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
when type in ["ResourceCollection", "Document"] do when type in ["ResourceCollection", "Document"] do
with actor <- Utils.get_actor(update_data), with actor <- Utils.get_actor(update_data),
{:ok, %Actor{url: actor_url, suspended: false}} <- {:ok, %Actor{url: actor_url, suspended: false}} <-
ActivityPub.get_or_fetch_actor_by_url(actor), ActivityPubActor.get_or_fetch_actor_by_url(actor),
{:ok, %Resource{} = old_resource} <- {:ok, %Resource{} = old_resource} <-
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(), object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
object_data <- Converter.Resource.as_to_model_data(object), object_data <- Converter.Resource.as_to_model_data(object),
@ -495,7 +503,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
with actor <- Utils.get_actor(update_data), with actor <- Utils.get_actor(update_data),
{:ok, %Actor{url: actor_url, suspended: false} = actor} <- {:ok, %Actor{url: actor_url, suspended: false} = actor} <-
ActivityPub.get_or_fetch_actor_by_url(actor), ActivityPubActor.get_or_fetch_actor_by_url(actor),
{:origin_check, true} <- {:origin_check, Utils.origin_check?(actor_url, update_data)}, {:origin_check, true} <- {:origin_check, Utils.origin_check?(actor_url, update_data)},
object_data <- Converter.Member.as_to_model_data(object), object_data <- Converter.Member.as_to_model_data(object),
{:ok, old_entity} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(), {:ok, old_entity} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
@ -537,7 +545,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
} = data } = data
) do ) do
with actor <- Utils.get_actor(data), with actor <- Utils.get_actor(data),
{:ok, %Actor{} = actor} <- ActivityPub.get_or_fetch_actor_by_url(actor), {:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(actor),
{:ok, object} <- fetch_obj_helper_as_activity_streams(object_id), {:ok, object} <- fetch_obj_helper_as_activity_streams(object_id),
{:ok, activity, object} <- {:ok, activity, object} <-
ActivityPub.unannounce(actor, object, id, cancelled_activity_id, false) do ActivityPub.unannounce(actor, object, id, cancelled_activity_id, false) do
@ -555,8 +563,9 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
"id" => id "id" => id
} = _data } = _data
) do ) do
with {:ok, %Actor{domain: nil} = followed} <- ActivityPub.get_or_fetch_actor_by_url(followed), with {:ok, %Actor{domain: nil} = followed} <-
{:ok, %Actor{} = follower} <- ActivityPub.get_or_fetch_actor_by_url(follower), ActivityPubActor.get_or_fetch_actor_by_url(followed),
{:ok, %Actor{} = follower} <- ActivityPubActor.get_or_fetch_actor_by_url(follower),
{:ok, activity, object} <- ActivityPub.unfollow(follower, followed, id, false) do {:ok, activity, object} <- ActivityPub.unfollow(follower, followed, id, false) do
{:ok, activity, object} {:ok, activity, object}
else else
@ -572,7 +581,8 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
%{"type" => "Delete", "object" => object, "actor" => _actor, "id" => _id} = data %{"type" => "Delete", "object" => object, "actor" => _actor, "id" => _id} = data
) do ) do
with actor_url <- Utils.get_actor(data), with actor_url <- Utils.get_actor(data),
{:ok, %Actor{} = actor} <- ActivityPub.get_or_fetch_actor_by_url(actor_url), {:actor, {:ok, %Actor{} = actor}} <-
{:actor, ActivityPubActor.get_or_fetch_actor_by_url(actor_url)},
object_id <- Utils.get_url(object), object_id <- Utils.get_url(object),
{:ok, object} <- is_group_object_gone(object_id), {:ok, object} <- is_group_object_gone(object_id),
{:origin_check, true} <- {:origin_check, true} <-
@ -586,8 +596,25 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
Logger.warn("Object origin check failed") Logger.warn("Object origin check failed")
:error :error
{:actor, {:error, "Could not fetch by AP id"}} ->
{:error, :unknown_actor}
{:error, e} ->
Logger.debug(inspect(e))
# Sentry.capture_message("Error while handling a Delete activity",
# extra: %{data: data}
# )
:error
e -> e ->
Logger.error(inspect(e)) Logger.error(inspect(e))
# Sentry.capture_message("Error while handling a Delete activity",
# extra: %{data: data}
# )
:error :error
end end
end end
@ -598,7 +625,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
when type in ["ResourceCollection", "Document"] do when type in ["ResourceCollection", "Document"] do
with actor <- Utils.get_actor(data), with actor <- Utils.get_actor(data),
{:ok, %Actor{url: actor_url, suspended: false} = actor} <- {:ok, %Actor{url: actor_url, suspended: false} = actor} <-
ActivityPub.get_or_fetch_actor_by_url(actor), ActivityPubActor.get_or_fetch_actor_by_url(actor),
{:ok, %Resource{} = old_resource} <- {:ok, %Resource{} = old_resource} <-
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(), object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
object_data <- Converter.Resource.as_to_model_data(object), object_data <- Converter.Resource.as_to_model_data(object),
@ -610,7 +637,12 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
{:ok, activity, new_resource} {:ok, activity, new_resource}
else else
e -> e ->
Logger.error(inspect(e)) Logger.debug(inspect(e))
Sentry.capture_message("Error while handling an Move activity",
extra: %{data: data}
)
:error :error
end end
end end
@ -625,7 +657,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
) do ) do
with actor <- Utils.get_actor(data), with actor <- Utils.get_actor(data),
{:ok, %Actor{url: _actor_url, suspended: false} = actor} <- {:ok, %Actor{url: _actor_url, suspended: false} = actor} <-
ActivityPub.get_or_fetch_actor_by_url(actor), ActivityPubActor.get_or_fetch_actor_by_url(actor),
object <- Utils.get_url(object), object <- Utils.get_url(object),
{:ok, object} <- ActivityPub.fetch_object_from_url(object), {:ok, object} <- ActivityPub.fetch_object_from_url(object),
{:ok, activity, object} <- {:ok, activity, object} <-
@ -643,7 +675,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
def handle_incoming(%{"type" => "Leave", "object" => object, "actor" => actor} = data) do def handle_incoming(%{"type" => "Leave", "object" => object, "actor" => actor} = data) do
with actor <- Utils.get_actor(data), with actor <- Utils.get_actor(data),
{:ok, %Actor{} = actor} <- ActivityPub.get_or_fetch_actor_by_url(actor), {:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(actor),
object <- Utils.get_url(object), object <- Utils.get_url(object),
{:ok, object} <- ActivityPub.fetch_object_from_url(object), {:ok, object} <- ActivityPub.fetch_object_from_url(object),
{:ok, activity, object} <- ActivityPub.leave(object, actor, false) do {:ok, activity, object} <- ActivityPub.leave(object, actor, false) do
@ -673,10 +705,10 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
Logger.info("Handle incoming to invite someone") Logger.info("Handle incoming to invite someone")
with {:ok, %Actor{} = actor} <- with {:ok, %Actor{} = actor} <-
data |> Utils.get_actor() |> ActivityPub.get_or_fetch_actor_by_url(), data |> Utils.get_actor() |> ActivityPubActor.get_or_fetch_actor_by_url(),
{:ok, object} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(), {:ok, object} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
{:ok, %Actor{} = target} <- {:ok, %Actor{} = target} <-
target |> Utils.get_url() |> ActivityPub.get_or_fetch_actor_by_url(), target |> Utils.get_url() |> ActivityPubActor.get_or_fetch_actor_by_url(),
{:ok, activity, %Member{} = member} <- {:ok, activity, %Member{} = member} <-
ActivityPub.invite(object, actor, target, false, %{url: id}) do ActivityPub.invite(object, actor, target, false, %{url: id}) do
{:ok, activity, member} {:ok, activity, member}
@ -689,10 +721,10 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
Logger.info("Handle incoming to remove a member from a group") Logger.info("Handle incoming to remove a member from a group")
with {:ok, %Actor{id: moderator_id} = moderator} <- with {:ok, %Actor{id: moderator_id} = moderator} <-
data |> Utils.get_actor() |> ActivityPub.get_or_fetch_actor_by_url(), data |> Utils.get_actor() |> ActivityPubActor.get_or_fetch_actor_by_url(),
{:ok, person_id} <- get_remove_object(object), {:ok, person_id} <- get_remove_object(object),
{:ok, %Actor{type: :Group, id: group_id} = group} <- {:ok, %Actor{type: :Group, id: group_id} = group} <-
origin |> Utils.get_url() |> ActivityPub.get_or_fetch_actor_by_url(), origin |> Utils.get_url() |> ActivityPubActor.get_or_fetch_actor_by_url(),
{:is_admin, {:ok, %Member{role: role}}} {:is_admin, {:ok, %Member{role: role}}}
when role in [:moderator, :administrator, :creator] <- when role in [:moderator, :administrator, :creator] <-
{:is_admin, Actors.get_member(moderator_id, group_id)}, {:is_admin, Actors.get_member(moderator_id, group_id)},
@ -741,6 +773,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
def handle_incoming(object) do def handle_incoming(object) do
Logger.info("Handing something with type #{object["type"]} not supported") Logger.info("Handing something with type #{object["type"]} not supported")
Logger.debug(inspect(object)) Logger.debug(inspect(object))
{:error, :not_supported} {:error, :not_supported}
end end

View File

@ -14,6 +14,7 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Federator, Relay} alias Mobilizon.Federation.ActivityPub.{Activity, Federator, Relay}
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.Types.Ownable alias Mobilizon.Federation.ActivityPub.Types.Ownable
alias Mobilizon.Federation.ActivityStream.Converter alias Mobilizon.Federation.ActivityStream.Converter
alias Mobilizon.Federation.HTTPSignatures alias Mobilizon.Federation.HTTPSignatures
@ -175,7 +176,7 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
@spec remote_actors(list(String.t())) :: list(Actor.t()) @spec remote_actors(list(String.t())) :: list(Actor.t())
def remote_actors(recipients) do def remote_actors(recipients) do
recipients recipients
|> Enum.map(fn url -> ActivityPub.get_or_fetch_actor_by_url(url) end) |> Enum.map(fn url -> ActivityPubActor.get_or_fetch_actor_by_url(url) end)
|> Enum.map(fn {status, actor} -> |> Enum.map(fn {status, actor} ->
case status do case status do
:ok -> :ok ->
@ -259,7 +260,9 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
are_same_origin?(id, actor) are_same_origin?(id, actor)
end end
def origin_check?(_id, %{"type" => type} = _params) when type in ["Actor", "Group"], do: true def origin_check?(id, %{"type" => type, "id" => actor_id} = _params)
when type in ["Actor", "Person", "Group"],
do: id == actor_id
def origin_check?(_id, %{"actor" => nil} = _args), do: false def origin_check?(_id, %{"actor" => nil} = _args), do: false
@ -701,4 +704,42 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
true true
end end
end end
@spec label_in_collection?(any(), any()) :: boolean()
defp label_in_collection?(url, coll) when is_binary(coll), do: url == coll
defp label_in_collection?(url, coll) when is_list(coll), do: url in coll
defp label_in_collection?(_, _), do: false
@spec label_in_message?(String.t(), map()) :: boolean()
def label_in_message?(label, params),
do:
[params["to"], params["cc"], params["bto"], params["bcc"]]
|> Enum.any?(&label_in_collection?(label, &1))
@spec unaddressed_message?(map()) :: boolean()
def unaddressed_message?(params),
do:
[params["to"], params["cc"], params["bto"], params["bcc"]]
|> Enum.all?(&is_nil(&1))
@spec recipient_in_message(Actor.t(), Actor.t(), map()) :: boolean()
def recipient_in_message(%Actor{url: url} = _recipient, %Actor{} = _actor, params),
do: label_in_message?(url, params) || unaddressed_message?(params)
defp extract_list(target) when is_binary(target), do: [target]
defp extract_list(lst) when is_list(lst), do: lst
defp extract_list(_), do: []
def maybe_splice_recipient(url, params) do
need_splice? =
!label_in_collection?(url, params["to"]) &&
!label_in_collection?(url, params["cc"])
if need_splice? do
cc_list = extract_list(params["cc"])
Map.put(params, "cc", [url | cc_list])
else
params
end
end
end end

View File

@ -8,7 +8,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Discussion do
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Discussions.Discussion alias Mobilizon.Discussions.Discussion
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
alias Mobilizon.Federation.ActivityStream.Converter.Discussion, as: DiscussionConverter alias Mobilizon.Federation.ActivityStream.Converter.Discussion, as: DiscussionConverter
alias Mobilizon.Storage.Repo alias Mobilizon.Storage.Repo
@ -49,10 +49,10 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Discussion do
def as_to_model_data(%{"type" => "Note", "name" => name} = object) when not is_nil(name) do def as_to_model_data(%{"type" => "Note", "name" => name} = object) when not is_nil(name) do
with creator_url <- Map.get(object, "actor"), with creator_url <- Map.get(object, "actor"),
{:ok, %Actor{id: creator_id, suspended: false}} <- {:ok, %Actor{id: creator_id, suspended: false}} <-
ActivityPub.get_or_fetch_actor_by_url(creator_url), ActivityPubActor.get_or_fetch_actor_by_url(creator_url),
actor_url <- Map.get(object, "attributedTo"), actor_url <- Map.get(object, "attributedTo"),
{:ok, %Actor{id: actor_id, suspended: false}} <- {:ok, %Actor{id: actor_id, suspended: false}} <-
ActivityPub.get_or_fetch_actor_by_url(actor_url) do ActivityPubActor.get_or_fetch_actor_by_url(actor_url) do
%{ %{
title: name, title: name,
actor_id: actor_id, actor_id: actor_id,

View File

@ -14,7 +14,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Flag do
alias Mobilizon.Events.Event alias Mobilizon.Events.Event
alias Mobilizon.Reports.Report alias Mobilizon.Reports.Report
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.Relay alias Mobilizon.Federation.ActivityPub.Relay
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
@ -65,10 +65,11 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Flag do
@spec as_to_model(map) :: map @spec as_to_model(map) :: map
def as_to_model(%{"object" => objects} = object) do def as_to_model(%{"object" => objects} = object) do
with {:ok, %Actor{} = reporter} <- ActivityPub.get_or_fetch_actor_by_url(object["actor"]), with {:ok, %Actor{} = reporter} <-
ActivityPubActor.get_or_fetch_actor_by_url(object["actor"]),
%Actor{} = reported <- %Actor{} = reported <-
Enum.reduce_while(objects, nil, fn url, _ -> Enum.reduce_while(objects, nil, fn url, _ ->
case ActivityPub.get_or_fetch_actor_by_url(url) do case ActivityPubActor.get_or_fetch_actor_by_url(url) do
{:ok, %Actor{} = actor} -> {:ok, %Actor{} = actor} ->
{:halt, actor} {:halt, actor}

View File

@ -8,7 +8,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Member do
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Actors.Member, as: MemberModel alias Mobilizon.Actors.Member, as: MemberModel
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.Utils alias Mobilizon.Federation.ActivityPub.Utils
alias Mobilizon.Federation.ActivityStream.Convertible alias Mobilizon.Federation.ActivityStream.Convertible
@ -53,5 +53,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Member do
@spec get_actor(String.t() | map() | nil) :: {:ok, Actor.t()} | {:error, String.t()} @spec get_actor(String.t() | map() | nil) :: {:ok, Actor.t()} | {:error, String.t()}
defp get_actor(nil), do: {:error, "nil property found for actor data"} defp get_actor(nil), do: {:error, "nil property found for actor data"}
defp get_actor(actor), do: actor |> Utils.get_url() |> ActivityPub.get_or_fetch_actor_by_url()
defp get_actor(actor),
do: actor |> Utils.get_url() |> ActivityPubActor.get_or_fetch_actor_by_url()
end end

View File

@ -6,7 +6,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Post do
internal one, and back. internal one, and back.
""" """
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.{Audience, Utils} alias Mobilizon.Federation.ActivityPub.{Audience, Utils}
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
alias Mobilizon.Federation.ActivityStream.Converter.Media, as: MediaConverter alias Mobilizon.Federation.ActivityStream.Converter.Media, as: MediaConverter
@ -91,7 +91,9 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Post do
@spec get_actor(String.t() | map() | nil) :: {:ok, Actor.t()} | {:error, String.t()} @spec get_actor(String.t() | map() | nil) :: {:ok, Actor.t()} | {:error, String.t()}
defp get_actor(nil), do: {:error, "nil property found for actor data"} defp get_actor(nil), do: {:error, "nil property found for actor data"}
defp get_actor(actor), do: actor |> Utils.get_url() |> ActivityPub.get_or_fetch_actor_by_url()
defp get_actor(actor),
do: actor |> Utils.get_url() |> ActivityPubActor.get_or_fetch_actor_by_url()
defp to_date(nil), do: nil defp to_date(nil), do: nil
defp to_date(%DateTime{} = date), do: DateTime.to_iso8601(date) defp to_date(%DateTime{} = date), do: DateTime.to_iso8601(date)

View File

@ -7,6 +7,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Resource do
""" """
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.Utils alias Mobilizon.Federation.ActivityPub.Utils
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
alias Mobilizon.Resources alias Mobilizon.Resources
@ -88,7 +89,9 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Resource do
@spec get_actor(String.t() | map() | nil) :: {:ok, Actor.t()} | {:error, String.t()} @spec get_actor(String.t() | map() | nil) :: {:ok, Actor.t()} | {:error, String.t()}
defp get_actor(nil), do: {:error, "nil property found for actor data"} defp get_actor(nil), do: {:error, "nil property found for actor data"}
defp get_actor(actor), do: actor |> Utils.get_url() |> ActivityPub.get_or_fetch_actor_by_url()
defp get_actor(actor),
do: actor |> Utils.get_url() |> ActivityPubActor.get_or_fetch_actor_by_url()
defp get_context(%Resource{parent_id: nil, actor: %Actor{resources_url: resources_url}}), defp get_context(%Resource{parent_id: nil, actor: %Actor{resources_url: resources_url}}),
do: resources_url do: resources_url

View File

@ -7,6 +7,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Todo do
""" """
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
alias Mobilizon.Todos alias Mobilizon.Todos
alias Mobilizon.Todos.{Todo, TodoList} alias Mobilizon.Todos.{Todo, TodoList}
@ -51,7 +52,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Todo do
%{"type" => "Todo", "actor" => actor_url, "todoList" => todo_list_url} = object %{"type" => "Todo", "actor" => actor_url, "todoList" => todo_list_url} = object
) do ) do
with {:ok, %Actor{id: creator_id} = _creator} <- with {:ok, %Actor{id: creator_id} = _creator} <-
ActivityPub.get_or_fetch_actor_by_url(actor_url), ActivityPubActor.get_or_fetch_actor_by_url(actor_url),
{:todo_list, %TodoList{id: todo_list_id}} <- {:todo_list, %TodoList{id: todo_list_id}} <-
{:todo_list, Todos.get_todo_list_by_url(todo_list_url)} do {:todo_list, Todos.get_todo_list_by_url(todo_list_url)} do
%{ %{

View File

@ -6,7 +6,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.TodoList do
internal one, and back. internal one, and back.
""" """
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible} alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
alias Mobilizon.Todos.TodoList alias Mobilizon.Todos.TodoList
@ -39,7 +39,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.TodoList do
@impl Converter @impl Converter
@spec as_to_model_data(map) :: {:ok, map} | {:error, any()} @spec as_to_model_data(map) :: {:ok, map} | {:error, any()}
def as_to_model_data(%{"type" => "TodoList", "actor" => actor_url} = object) do def as_to_model_data(%{"type" => "TodoList", "actor" => actor_url} = object) do
case ActivityPub.get_or_fetch_actor_by_url(actor_url) do case ActivityPubActor.get_or_fetch_actor_by_url(actor_url) do
{:ok, %Actor{type: :Group, id: group_id} = _group} -> {:ok, %Actor{type: :Group, id: group_id} = _group} ->
%{ %{
title: object["name"], title: object["name"],

View File

@ -10,7 +10,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do
alias Mobilizon.Mention alias Mobilizon.Mention
alias Mobilizon.Storage.Repo alias Mobilizon.Storage.Repo
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityStream.Converter.Media, as: MediaConverter alias Mobilizon.Federation.ActivityStream.Converter.Media, as: MediaConverter
alias Mobilizon.Web.Endpoint alias Mobilizon.Web.Endpoint
@ -114,7 +114,8 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do
@spec create_mention(map(), list()) :: list() @spec create_mention(map(), list()) :: list()
defp create_mention(mention, acc) when is_map(mention) do defp create_mention(mention, acc) when is_map(mention) do
with true <- mention["type"] == "Mention", with true <- mention["type"] == "Mention",
{:ok, %Actor{id: actor_id}} <- ActivityPub.get_or_fetch_actor_by_url(mention["href"]) do {:ok, %Actor{id: actor_id}} <-
ActivityPubActor.get_or_fetch_actor_by_url(mention["href"]) do
acc ++ [%{actor_id: actor_id}] acc ++ [%{actor_id: actor_id}]
else else
_err -> _err ->
@ -169,7 +170,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do
@spec fetch_actor(String.t()) :: Actor.t() @spec fetch_actor(String.t()) :: Actor.t()
defp fetch_actor(actor_url) do defp fetch_actor(actor_url) do
with {:ok, %Actor{suspended: false} = actor} <- with {:ok, %Actor{suspended: false} = actor} <-
ActivityPub.get_or_fetch_actor_by_url(actor_url) do ActivityPubActor.get_or_fetch_actor_by_url(actor_url) do
actor actor
end end
end end

View File

@ -12,7 +12,7 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
require Logger require Logger
@ -50,9 +50,10 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
# Gets a public key for a given ActivityPub actor ID (url). # Gets a public key for a given ActivityPub actor ID (url).
@spec get_public_key_for_url(String.t()) :: @spec get_public_key_for_url(String.t()) ::
{:ok, String.t()} | {:error, :actor_fetch_error | :pem_decode_error} {:ok, String.t()}
| {:error, :actor_fetch_error | :pem_decode_error | :actor_not_fetchable}
defp get_public_key_for_url(url) do defp get_public_key_for_url(url) do
with {:ok, %Actor{keys: keys}} <- ActivityPub.get_or_fetch_actor_by_url(url), with {:ok, %Actor{keys: keys}} <- ActivityPubActor.get_or_fetch_actor_by_url(url),
{:ok, public_key} <- prepare_public_key(keys) do {:ok, public_key} <- prepare_public_key(keys) do
{:ok, public_key} {:ok, public_key}
else else
@ -61,8 +62,16 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
{:error, :pem_decode_error} {:error, :pem_decode_error}
_ -> {:error, "Could not fetch by AP id"} ->
{:error, :actor_not_fetchable}
err ->
Sentry.capture_message("Unable to fetch actor, so no keys for you",
extra: %{url: url}
)
Logger.error("Unable to fetch actor, so no keys for you") Logger.error("Unable to fetch actor, so no keys for you")
Logger.error(inspect(err))
{:error, :actor_fetch_error} {:error, :actor_fetch_error}
end end
@ -74,9 +83,6 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
:ok <- Logger.debug("Fetching public key for #{actor_id}"), :ok <- Logger.debug("Fetching public key for #{actor_id}"),
{:ok, public_key} <- get_public_key_for_url(actor_id) do {:ok, public_key} <- get_public_key_for_url(actor_id) do
{:ok, public_key} {:ok, public_key}
else
e ->
{:error, e}
end end
end end
@ -84,12 +90,9 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
with %{"keyId" => kid} <- HTTPSignatures.signature_for_conn(conn), with %{"keyId" => kid} <- HTTPSignatures.signature_for_conn(conn),
actor_id <- key_id_to_actor_url(kid), actor_id <- key_id_to_actor_url(kid),
:ok <- Logger.debug("Refetching public key for #{actor_id}"), :ok <- Logger.debug("Refetching public key for #{actor_id}"),
{:ok, _actor} <- ActivityPub.make_actor_from_url(actor_id), {:ok, _actor} <- ActivityPubActor.make_actor_from_url(actor_id),
{:ok, public_key} <- get_public_key_for_url(actor_id) do {:ok, public_key} <- get_public_key_for_url(actor_id) do
{:ok, public_key} {:ok, public_key}
else
e ->
{:error, e}
end end
end end

View File

@ -10,7 +10,7 @@ defmodule Mobilizon.Federation.WebFinger do
alias Mobilizon.Actors alias Mobilizon.Actors
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.WebFinger.XmlBuilder alias Mobilizon.Federation.WebFinger.XmlBuilder
alias Mobilizon.Service.HTTP.{HostMetaClient, WebfingerClient} alias Mobilizon.Service.HTTP.{HostMetaClient, WebfingerClient}
alias Mobilizon.Web.Endpoint alias Mobilizon.Web.Endpoint
@ -56,7 +56,7 @@ defmodule Mobilizon.Federation.WebFinger do
{:ok, represent_actor(actor, "JSON")} {:ok, represent_actor(actor, "JSON")}
else else
_e -> _e ->
case ActivityPub.get_or_fetch_actor_by_url(resource) do case ActivityPubActor.get_or_fetch_actor_by_url(resource) do
{:ok, %Actor{} = actor} when not is_nil(actor) -> {:ok, %Actor{} = actor} when not is_nil(actor) ->
{:ok, represent_actor(actor, "JSON")} {:ok, represent_actor(actor, "JSON")}

View File

@ -10,6 +10,7 @@ defmodule Mobilizon.GraphQL.API.Search do
alias Mobilizon.Storage.Page alias Mobilizon.Storage.Page
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
require Logger require Logger
@ -92,7 +93,7 @@ defmodule Mobilizon.GraphQL.API.Search do
# If the search string is an username # If the search string is an username
@spec process_from_username(String.t()) :: Page.t() @spec process_from_username(String.t()) :: Page.t()
defp process_from_username(search) do defp process_from_username(search) do
case ActivityPub.find_or_make_actor_from_nickname(search) do case ActivityPubActor.find_or_make_actor_from_nickname(search) do
{:ok, actor} -> {:ok, actor} ->
%Page{total: 1, elements: [actor]} %Page{total: 1, elements: [actor]}

View File

@ -27,7 +27,8 @@ defmodule Mobilizon.GraphQL.Resolvers.Admin do
%{context: %{current_user: %User{role: role}}} %{context: %{current_user: %User{role: role}}}
) )
when is_moderator(role) do when is_moderator(role) do
with action_logs <- Mobilizon.Admin.list_action_logs(page, limit) do with %Page{elements: action_logs, total: total} <-
Mobilizon.Admin.list_action_logs(page, limit) do
action_logs = action_logs =
action_logs action_logs
|> Enum.map(fn %ActionLog{ |> Enum.map(fn %ActionLog{
@ -44,7 +45,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Admin do
end) end)
|> Enum.filter(& &1) |> Enum.filter(& &1)
{:ok, action_logs} {:ok, %Page{elements: action_logs, total: total}}
end end
end end

View File

@ -142,7 +142,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do
else else
{:actor_approve_permission, _} -> {:actor_approve_permission, _} ->
{:error, {:error,
dgettext("errors", "Provided moderator profile doesn't have permission on this event")} dgettext("errors", "Provided profile doesn't have moderator permissions on this event")}
end end
end end

View File

@ -7,6 +7,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
alias Mobilizon.{Actors, Events, Users} alias Mobilizon.{Actors, Events, Users}
alias Mobilizon.Actors.{Actor, Member} alias Mobilizon.Actors.{Actor, Member}
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.GraphQL.API alias Mobilizon.GraphQL.API
alias Mobilizon.Users.User alias Mobilizon.Users.User
alias Mobilizon.Web.Upload alias Mobilizon.Web.Upload
@ -27,7 +28,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
} }
) do ) do
with {:group, {:ok, %Actor{id: group_id, suspended: false} = group}} <- with {:group, {:ok, %Actor{id: group_id, suspended: false} = group}} <-
{:group, ActivityPub.find_or_make_group_from_nickname(name)}, {:group, ActivityPubActor.find_or_make_group_from_nickname(name)},
{:actor, %Actor{id: actor_id} = _actor} <- {:actor, Users.get_actor_for_user(user)}, {:actor, %Actor{id: actor_id} = _actor} <- {:actor, Users.get_actor_for_user(user)},
{:member, true} <- {:member, Actors.is_member?(actor_id, group_id)} do {:member, true} <- {:member, Actors.is_member?(actor_id, group_id)} do
{:ok, group} {:ok, group}
@ -45,7 +46,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
def find_group(_parent, %{preferred_username: name}, _resolution) do def find_group(_parent, %{preferred_username: name}, _resolution) do
with {:ok, %Actor{suspended: false} = actor} <- with {:ok, %Actor{suspended: false} = actor} <-
ActivityPub.find_or_make_group_from_nickname(name), ActivityPubActor.find_or_make_group_from_nickname(name),
%Actor{} = actor <- restrict_fields_for_non_member_request(actor) do %Actor{} = actor <- restrict_fields_for_non_member_request(actor) do
{:ok, actor} {:ok, actor}
else else

View File

@ -7,7 +7,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
alias Mobilizon.{Actors, Users} alias Mobilizon.{Actors, Users}
alias Mobilizon.Actors.{Actor, Member} alias Mobilizon.Actors.{Actor, Member}
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Refresher alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Storage.Page alias Mobilizon.Storage.Page
alias Mobilizon.Users.User alias Mobilizon.Users.User
import Mobilizon.Web.Gettext import Mobilizon.Web.Gettext
@ -70,7 +70,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
target_actor_username |> String.trim() |> String.trim_leading("@"), target_actor_username |> String.trim() |> String.trim_leading("@"),
{:target_actor_username, {:ok, %Actor{id: target_actor_id} = target_actor}} <- {:target_actor_username, {:ok, %Actor{id: target_actor_id} = target_actor}} <-
{:target_actor_username, {:target_actor_username,
ActivityPub.find_or_make_actor_from_nickname(target_actor_username)}, ActivityPubActor.find_or_make_actor_from_nickname(target_actor_username)},
{:existant, true} <- {:existant, true} <-
{:existant, check_member_not_existant_or_rejected(target_actor_id, group.id)}, {:existant, check_member_not_existant_or_rejected(target_actor_id, group.id)},
{:ok, _activity, %Member{} = member} <- ActivityPub.invite(group, actor, target_actor) do {:ok, _activity, %Member{} = member} <- ActivityPub.invite(group, actor, target_actor) do
@ -99,7 +99,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
def accept_invitation(_parent, %{id: member_id}, %{context: %{current_user: %User{} = user}}) do def accept_invitation(_parent, %{id: member_id}, %{context: %{current_user: %User{} = user}}) do
with %Actor{id: actor_id} <- Users.get_actor_for_user(user), with %Actor{id: actor_id} <- Users.get_actor_for_user(user),
%Member{actor: %Actor{id: member_actor_id} = actor} = member <- %Member{actor: %Actor{id: member_actor_id}} = member <-
Actors.get_member(member_id), Actors.get_member(member_id),
{:is_same_actor, true} <- {:is_same_actor, member_actor_id === actor_id}, {:is_same_actor, true} <- {:is_same_actor, member_actor_id === actor_id},
{:ok, _activity, %Member{} = member} <- {:ok, _activity, %Member{} = member} <-
@ -108,8 +108,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
member, member,
true true
) do ) do
# Launch an async task to refresh the group profile, fetch resources, discussions, members
Refresher.fetch_group(member.parent.url, actor)
{:ok, member} {:ok, member}
else else
{:is_same_actor, false} -> {:is_same_actor, false} ->

View File

@ -231,7 +231,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Participant do
{:actor_approve_permission, _} -> {:actor_approve_permission, _} ->
{:error, {:error,
dgettext("errors", "Provided moderator profile doesn't have permission on this event")} dgettext("errors", "Provided profile doesn't have moderator permissions on this event")}
{:same_role, true} -> {:same_role, true} ->
{:error, dgettext("errors", "Participant already has role %{role}", role: new_role)} {:error, dgettext("errors", "Participant already has role %{role}", role: new_role)}

View File

@ -13,6 +13,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
import Mobilizon.Web.Gettext import Mobilizon.Web.Gettext
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
require Logger require Logger
alias Mobilizon.Web.Upload alias Mobilizon.Web.Upload
@ -39,7 +40,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
context: %{current_user: %User{} = user} context: %{current_user: %User{} = user}
}) do }) do
with {:ok, %Actor{id: actor_id} = actor} <- with {:ok, %Actor{id: actor_id} = actor} <-
ActivityPub.find_or_make_actor_from_nickname(preferred_username), ActivityPubActor.find_or_make_actor_from_nickname(preferred_username),
{:own, {:is_owned, _}} <- {:own, User.owns_actor(user, actor_id)} do {:own, {:is_owned, _}} <- {:own, User.owns_actor(user, actor_id)} do
{:ok, actor} {:ok, actor}
else else

View File

@ -29,7 +29,7 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do
Represents a group of actors Represents a group of actors
""" """
object :group do object :group do
interfaces([:actor, :interactable, :activity_object]) interfaces([:actor, :interactable, :activity_object, :action_log_object])
field(:id, :id, description: "Internal ID for this group") field(:id, :id, description: "Internal ID for this group")
field(:url, :string, description: "The ActivityPub actor's URL") field(:url, :string, description: "The ActivityPub actor's URL")

View File

@ -22,6 +22,14 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do
field(:inserted_at, :datetime, description: "The time when the action was performed") field(:inserted_at, :datetime, description: "The time when the action was performed")
end end
@desc """
A paginated list of action logs
"""
object :paginated_action_log_list do
field(:elements, list_of(:action_log), description: "A list of action logs")
field(:total, :integer, description: "The total number of action logs in the list")
end
@desc """ @desc """
The different types of action log actions The different types of action log actions
""" """
@ -62,6 +70,9 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do
%User{}, _ -> %User{}, _ ->
:user :user
%Actor{type: "Group"}, _ ->
:group
_, _ -> _, _ ->
nil nil
end) end)
@ -144,7 +155,7 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do
object :admin_queries do object :admin_queries do
@desc "Get the list of action logs" @desc "Get the list of action logs"
field :action_logs, type: list_of(:action_log) do field :action_logs, type: :paginated_action_log_list do
arg(:page, :integer, default_value: 1) arg(:page, :integer, default_value: 1)
arg(:limit, :integer, default_value: 10) arg(:limit, :integer, default_value: 10)
resolve(&Admin.list_action_logs/3) resolve(&Admin.list_action_logs/3)

View File

@ -6,7 +6,7 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.CommentType do
import Absinthe.Resolution.Helpers, only: [dataloader: 1] import Absinthe.Resolution.Helpers, only: [dataloader: 1]
alias Mobilizon.{Actors, Discussions} alias Mobilizon.{Actors, Discussions, Events}
alias Mobilizon.GraphQL.Resolvers.Comment alias Mobilizon.GraphQL.Resolvers.Comment
@desc "A comment" @desc "A comment"

View File

@ -4,7 +4,7 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
""" """
use Mix.Task use Mix.Task
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Storage.Repo alias Mobilizon.Storage.Repo
import Ecto.Query import Ecto.Query
import Mix.Tasks.Mobilizon.Common import Mix.Tasks.Mobilizon.Common
@ -65,7 +65,7 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
def run([preferred_username]) do def run([preferred_username]) do
start_mobilizon() start_mobilizon()
case ActivityPub.make_actor_from_nickname(preferred_username) do case ActivityPubActor.make_actor_from_nickname(preferred_username) do
{:ok, %Actor{}} -> {:ok, %Actor{}} ->
shell_info(""" shell_info("""
Actor #{preferred_username} refreshed Actor #{preferred_username} refreshed
@ -89,7 +89,7 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
@spec make_actor(String.t(), boolean()) :: any() @spec make_actor(String.t(), boolean()) :: any()
defp make_actor(username, verbose) do defp make_actor(username, verbose) do
ActivityPub.make_actor_from_nickname(username) ActivityPubActor.make_actor_from_nickname(username)
rescue rescue
_ -> _ ->
if verbose do if verbose do

View File

@ -333,28 +333,33 @@ defmodule Mobilizon.Actors do
|> Multi.run(:remove_avatar, fn _, _ -> remove_avatar(actor) end) |> Multi.run(:remove_avatar, fn _, _ -> remove_avatar(actor) end)
multi = multi =
if type == :Group do case type do
multi :Group ->
|> Multi.run(:delete_remote_members, fn _, _ -> multi
delete_group_elements(actor, :remote_members) |> Multi.run(:delete_remote_members, fn _, _ ->
end) delete_group_elements(actor, :remote_members)
|> Multi.run(:delete_group_organized_events, fn _, _ -> end)
delete_group_elements(actor, :events) |> Multi.run(:delete_group_organized_events, fn _, _ ->
end) delete_group_elements(actor, :events)
|> Multi.run(:delete_group_posts, fn _, _ -> end)
delete_group_elements(actor, :posts) |> Multi.run(:delete_group_posts, fn _, _ ->
end) delete_group_elements(actor, :posts)
|> Multi.run(:delete_group_resources, fn _, _ -> end)
delete_group_elements(actor, :resources) |> Multi.run(:delete_group_resources, fn _, _ ->
end) delete_group_elements(actor, :resources)
|> Multi.run(:delete_group_todo_lists, fn _, _ -> end)
delete_group_elements(actor, :todo_lists) |> Multi.run(:delete_group_todo_lists, fn _, _ ->
end) delete_group_elements(actor, :todo_lists)
|> Multi.run(:delete_group_discussions, fn _, _ -> end)
delete_group_elements(actor, :discussions) |> Multi.run(:delete_group_discussions, fn _, _ ->
end) delete_group_elements(actor, :discussions)
else end)
multi
:Person ->
# When deleting a profile, reset default_actor_id
Multi.run(multi, :reset_default_actor_id, fn _, _ ->
reset_default_actor_id(actor)
end)
end end
multi = multi =
@ -374,12 +379,22 @@ defmodule Mobilizon.Actors do
{:error, remove, error, _} when remove in [:remove_banner, :remove_avatar] -> {:error, remove, error, _} when remove in [:remove_banner, :remove_avatar] ->
Logger.error("Error while deleting actor's banner or avatar") Logger.error("Error while deleting actor's banner or avatar")
Logger.error(inspect(error, pretty: true))
Sentry.capture_message("Error while deleting actor's banner or avatar",
extra: %{err: error}
)
Logger.debug(inspect(error, pretty: true))
{:error, error} {:error, error}
err -> err ->
Logger.error("Unknown error while deleting actor") Logger.error("Unknown error while deleting actor")
Logger.error(inspect(err, pretty: true))
Sentry.capture_message("Error while deleting actor's banner or avatar",
extra: %{err: err}
)
Logger.debug(inspect(err, pretty: true))
{:error, err} {:error, err}
end end
end end
@ -652,10 +667,11 @@ defmodule Mobilizon.Actors do
@doc """ @doc """
Lists the groups. Lists the groups.
""" """
@spec list_groups_for_stream :: Enum.t() @spec list_external_groups(non_neg_integer()) :: list(Actor.t())
def list_external_groups_for_stream do def list_external_groups(limit \\ 100) when limit > 0 do
external_groups_query() external_groups_query()
|> Repo.stream() |> limit(^limit)
|> Repo.all()
end end
@doc """ @doc """
@ -1814,6 +1830,24 @@ defmodule Mobilizon.Actors do
end end
end end
@spec reset_default_actor_id(Actor.t()) :: {:ok, User.t()} | {:error, :user_not_found}
defp reset_default_actor_id(%Actor{type: :Person, user: %User{id: user_id} = user, id: actor_id}) do
Logger.debug("reset_default_actor_id")
new_actor_id =
user
|> Users.get_actors_for_user()
|> Enum.map(& &1.id)
|> Enum.find(&(&1 !== actor_id))
{:ok, Users.update_user_default_actor(user_id, new_actor_id)}
rescue
_e in Ecto.NoResultsError ->
{:error, :user_not_found}
end
defp reset_default_actor_id(%Actor{type: :Person, user: nil}), do: {:ok, nil}
defp accumulate_paginated_elements( defp accumulate_paginated_elements(
%Actor{} = actor, %Actor{} = actor,
method, method,

View File

@ -63,6 +63,7 @@ defmodule Mobilizon.Addresses.Address do
|> cast(attrs, @attrs) |> cast(attrs, @attrs)
|> set_url() |> set_url()
|> validate_required(@required_attrs) |> validate_required(@required_attrs)
|> unique_constraint(:url, name: :addresses_url_index)
end end
@spec set_url(Ecto.Changeset.t()) :: Ecto.Changeset.t() @spec set_url(Ecto.Changeset.t()) :: Ecto.Changeset.t()

View File

@ -36,11 +36,10 @@ defmodule Mobilizon.Admin do
@doc """ @doc """
Returns the list of action logs. Returns the list of action logs.
""" """
@spec list_action_logs(integer | nil, integer | nil) :: [ActionLog.t()] @spec list_action_logs(integer | nil, integer | nil) :: Page.t()
def list_action_logs(page \\ nil, limit \\ nil) do def list_action_logs(page \\ nil, limit \\ nil) do
list_action_logs_query() list_action_logs_query()
|> Page.paginate(page, limit) |> Page.build_page(page, limit)
|> Repo.all()
end end
@doc """ @doc """

View File

@ -208,7 +208,7 @@ defmodule Mobilizon.Service.RichMedia.Parser do
defp check_parsed_data(%{title: title} = data) defp check_parsed_data(%{title: title} = data)
when is_binary(title) and byte_size(title) > 0 do when is_binary(title) and byte_size(title) > 0 do
{:ok, data} data
end end
defp check_parsed_data(data) do defp check_parsed_data(data) do
@ -285,15 +285,20 @@ defmodule Mobilizon.Service.RichMedia.Parser do
image_remote_url = image_remote_url =
cond do cond do
is_nil(image_uri.host) -> "#{uri.scheme}://#{uri.host}#{image_remote_url}" is_nil(image_uri.host) -> "#{uri.scheme}://#{uri.host}#{correct_path(image_remote_url)}"
is_nil(image_uri.scheme) -> "#{uri.scheme}:#{image_remote_url}" is_nil(image_uri.scheme) -> "#{uri.scheme}:#{image_remote_url}"
true -> image_remote_url true -> image_remote_url
end end
Map.put(data, :image_remote_url, image_remote_url) data = Map.put(data, :image_remote_url, image_remote_url)
{:ok, data}
end end
defp check_remote_picture_path(data), do: data defp check_remote_picture_path(data), do: {:ok, data}
# Sometimes paths have "/" in front, sometimes not
defp correct_path("/" <> _ = path), do: path
defp correct_path(path), do: "/#{path}"
# Twitter requires a well-know crawler user-agent to show server-rendered data # Twitter requires a well-know crawler user-agent to show server-rendered data
defp default_user_agent("https://twitter.com/" <> _) do defp default_user_agent("https://twitter.com/" <> _) do

View File

@ -10,7 +10,8 @@ defmodule Mobilizon.Web.ActivityPubController do
alias Mobilizon.Actors.{Actor, Member} alias Mobilizon.Actors.{Actor, Member}
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Federator alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.{Federator, Utils}
alias Mobilizon.Web.ActivityPub.ActorView alias Mobilizon.Web.ActivityPub.ActorView
alias Mobilizon.Web.Cache alias Mobilizon.Web.Cache
@ -105,7 +106,17 @@ defmodule Mobilizon.Web.ActivityPubController do
actor_collection(conn, "outbox", args) actor_collection(conn, "outbox", args)
end end
# TODO: Ensure that this inbox is a recipient of the message def inbox(%{assigns: %{valid_signature: true}} = conn, %{"name" => preferred_username} = params) do
with %Actor{url: recipient_url} = recipient <-
Actors.get_local_actor_by_name(preferred_username),
{:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(params["actor"]),
true <- Utils.recipient_in_message(recipient, actor, params),
params <- Utils.maybe_splice_recipient(recipient_url, params) do
Federator.enqueue(:incoming_ap_doc, params)
json(conn, "ok")
end
end
def inbox(%{assigns: %{valid_signature: true}} = conn, params) do def inbox(%{assigns: %{valid_signature: true}} = conn, params) do
Logger.debug("Got something with valid signature inside inbox") Logger.debug("Got something with valid signature inside inbox")
Federator.enqueue(:incoming_ap_doc, params) Federator.enqueue(:incoming_ap_doc, params)
@ -114,7 +125,7 @@ defmodule Mobilizon.Web.ActivityPubController do
# only accept relayed Creates # only accept relayed Creates
def inbox(conn, %{"type" => "Create"} = params) do def inbox(conn, %{"type" => "Create"} = params) do
Logger.info( Logger.debug(
"Signature missing or not from author, relayed Create message, fetching object from source" "Signature missing or not from author, relayed Create message, fetching object from source"
) )
@ -126,8 +137,9 @@ defmodule Mobilizon.Web.ActivityPubController do
def inbox(conn, params) do def inbox(conn, params) do
headers = Enum.into(conn.req_headers, %{}) headers = Enum.into(conn.req_headers, %{})
if String.contains?(headers["signature"], params["actor"]) do if headers["signature"] && params["actor"] &&
Logger.error( String.contains?(headers["signature"], params["actor"]) do
Logger.debug(
"Signature validation error for: #{params["actor"]}, make sure you are forwarding the HTTP Host header!" "Signature validation error for: #{params["actor"]}, make sure you are forwarding the HTTP Host header!"
) )

View File

@ -5,7 +5,6 @@ defmodule Mobilizon.Web.Email do
use Bamboo.Phoenix, view: Mobilizon.Web.EmailView use Bamboo.Phoenix, view: Mobilizon.Web.EmailView
alias Ecto.UUID
alias Mobilizon.{Config, Events} alias Mobilizon.{Config, Events}
alias Mobilizon.Events.Event alias Mobilizon.Events.Event
alias Mobilizon.Service.Export.ICalendar alias Mobilizon.Service.Export.ICalendar
@ -19,27 +18,27 @@ defmodule Mobilizon.Web.Email do
|> new_email() |> new_email()
|> from({Config.instance_name(), Config.instance_email_from()}) |> from({Config.instance_name(), Config.instance_email_from()})
|> put_header("Reply-To", Config.instance_email_reply_to()) |> put_header("Reply-To", Config.instance_email_reply_to())
|> put_header("Date", date()) |> maybe_put_date_header()
|> put_header("Message-Id", message_id()) |> maybe_put_message_id()
|> assign(:instance, instance) |> assign(:instance, instance)
|> put_html_layout({EmailView, "email.html"}) |> put_html_layout({EmailView, "email.html"})
|> put_text_layout({EmailView, "email.text"}) |> put_text_layout({EmailView, "email.text"})
end end
# Generating an UUID randomly causes Bamboo.Test.assert_delivered_email/1 to fail # Generating an UUID randomly causes Bamboo.Test.assert_delivered_email/1 to fail
defp message_id do defp maybe_put_message_id(email) do
if Application.fetch_env!(:mobilizon, :env) == :test do if Application.fetch_env!(:mobilizon, :env) == :test do
"TEST_ENV_MESSAGE_ID@#{Config.instance_hostname()}" put_header(email, "Message-Id", "TEST_ENV_MESSAGE_ID@#{Config.instance_hostname()}")
else else
"#{UUID.generate()}@#{Config.instance_hostname()}" email
end end
end end
defp date do defp maybe_put_date_header(email) do
if Application.fetch_env!(:mobilizon, :env) == :test do if Application.fetch_env!(:mobilizon, :env) == :test do
"REMOVED FOR TESTING" put_header(email, "Date", "REMOVED FOR TESTING")
else else
Timex.format!(DateTime.utc_now(), "{WDshort}, {D} {Mshort} {YYYY} {h24}:{m}:{s} {Z}") email
end end
end end

View File

@ -12,7 +12,7 @@ defmodule Mobilizon.Web.Plugs.MappedSignatureToIdentity do
alias Mobilizon.Actors.Actor alias Mobilizon.Actors.Actor
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
alias Mobilizon.Federation.ActivityPub.Utils alias Mobilizon.Federation.ActivityPub.Utils
alias Mobilizon.Federation.HTTPSignatures.Signature alias Mobilizon.Federation.HTTPSignatures.Signature
@ -34,7 +34,7 @@ defmodule Mobilizon.Web.Plugs.MappedSignatureToIdentity do
@spec actor_from_key_id(Plug.Conn.t()) :: Actor.t() | nil @spec actor_from_key_id(Plug.Conn.t()) :: Actor.t() | nil
defp actor_from_key_id(conn) do defp actor_from_key_id(conn) do
with key_actor_id when is_binary(key_actor_id) <- key_id_from_conn(conn), with key_actor_id when is_binary(key_actor_id) <- key_id_from_conn(conn),
{:ok, %Actor{} = actor} <- ActivityPub.get_or_fetch_actor_by_url(key_actor_id) do {:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(key_actor_id) do
actor actor
else else
_ -> _ ->

View File

@ -37,9 +37,6 @@
<p style="margin: 0;"> <p style="margin: 0;">
<%= gettext("The email address for your account on <b>%{host}</b> is being changed to:", host: @instance[:name]) |> raw %> <%= gettext("The email address for your account on <b>%{host}</b> is being changed to:", host: @instance[:name]) |> raw %>
</p> </p>
<p>
<%= gettext("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}.", host: @instance[:name]) %>
</p>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -47,6 +47,14 @@ defmodule Mobilizon.Web.ErrorView do
%{msg: "Not acceptable"} %{msg: "Not acceptable"}
end end
def render("500.json", assigns) do
render("500.html", assigns)
end
def render("500.activity-json", assigns) do
render("500.html", assigns)
end
def render("500.html", assigns) do def render("500.html", assigns) do
Mobilizon.Config.instance_config() Mobilizon.Config.instance_config()
|> Keyword.get(:default_language, "en") |> Keyword.get(:default_language, "en")

View File

@ -1,7 +1,7 @@
defmodule Mobilizon.Mixfile do defmodule Mobilizon.Mixfile do
use Mix.Project use Mix.Project
@version "1.1.1" @version "1.1.2"
def project do def project do
[ [
@ -119,7 +119,7 @@ defmodule Mobilizon.Mixfile do
{:http_sign, "~> 0.1.1"}, {:http_sign, "~> 0.1.1"},
{:ecto_enum, "~> 1.4"}, {:ecto_enum, "~> 1.4"},
{:ex_ical, "~> 0.2"}, {:ex_ical, "~> 0.2"},
{:bamboo, "~> 2.1", override: true}, {:bamboo, "~> 2.1"},
{:bamboo_phoenix, "~> 1.0"}, {:bamboo_phoenix, "~> 1.0"},
{:bamboo_smtp, "~> 4.0"}, {:bamboo_smtp, "~> 4.0"},
{:geolix, "~> 2.0"}, {:geolix, "~> 2.0"},

View File

@ -1,12 +1,12 @@
%{ %{
"absinthe": {:hex, :absinthe, "1.6.4", "d2958908b72ce146698de8ccbc03622630471eb0e354e06823aaef183e5067bd", [:mix], [{:dataloader, "~> 1.0.0", [hex: :dataloader, repo: "hexpm", optional: true]}, {:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "6e9c1cf36d86c704cb9a9c78db62d1c2676b03e0f61a28a23fc42749e8cd41ae"}, "absinthe": {:hex, :absinthe, "1.6.4", "d2958908b72ce146698de8ccbc03622630471eb0e354e06823aaef183e5067bd", [:mix], [{:dataloader, "~> 1.0.0", [hex: :dataloader, repo: "hexpm", optional: true]}, {:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "6e9c1cf36d86c704cb9a9c78db62d1c2676b03e0f61a28a23fc42749e8cd41ae"},
"absinthe_phoenix": {:hex, :absinthe_phoenix, "2.0.1", "112cb3468db2748a85bd8bd3f4d6d33f37408a96cb170077026ace96ddb1bab2", [:mix], [{:absinthe, "~> 1.5", [hex: :absinthe, repo: "hexpm", optional: false]}, {:absinthe_plug, "~> 1.5", [hex: :absinthe_plug, repo: "hexpm", optional: false]}, {:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.5", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.13", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}], "hexpm", "e773adc876fbc84fb05a82e125d9c263f129520b36e5576554ffcb8cf49db445"}, "absinthe_phoenix": {:hex, :absinthe_phoenix, "2.0.1", "112cb3468db2748a85bd8bd3f4d6d33f37408a96cb170077026ace96ddb1bab2", [:mix], [{:absinthe, "~> 1.5", [hex: :absinthe, repo: "hexpm", optional: false]}, {:absinthe_plug, "~> 1.5", [hex: :absinthe_plug, repo: "hexpm", optional: false]}, {:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.5", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.13", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}], "hexpm", "e773adc876fbc84fb05a82e125d9c263f129520b36e5576554ffcb8cf49db445"},
"absinthe_plug": {:hex, :absinthe_plug, "1.5.7", "c9954c5eff0a11be185f73987533d38d6aa44ca6bd5253de32de099f82996ce5", [:mix], [{:absinthe, "~> 1.5", [hex: :absinthe, repo: "hexpm", optional: false]}, {:plug, "~> 1.4", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "2e7d766c5b3ec57aed06db0d420674bc0ff6998c55c85f5fb9bb0d3dcf7ad20d"}, "absinthe_plug": {:hex, :absinthe_plug, "1.5.8", "38d230641ba9dca8f72f1fed2dfc8abd53b3907d1996363da32434ab6ee5d6ab", [:mix], [{:absinthe, "~> 1.5", [hex: :absinthe, repo: "hexpm", optional: false]}, {:plug, "~> 1.4", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bbb04176647b735828861e7b2705465e53e2cf54ccf5a73ddd1ebd855f996e5a"},
"argon2_elixir": {:hex, :argon2_elixir, "2.4.0", "2a22ea06e979f524c53b42b598fc6ba38cdcbc977a155e33e057732cfb1fb311", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "4ea82e183cf8e7f66dab1f767fedcfe6a195e140357ef2b0423146b72e0a551d"}, "argon2_elixir": {:hex, :argon2_elixir, "2.4.0", "2a22ea06e979f524c53b42b598fc6ba38cdcbc977a155e33e057732cfb1fb311", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "4ea82e183cf8e7f66dab1f767fedcfe6a195e140357ef2b0423146b72e0a551d"},
"atomex": {:hex, :atomex, "0.4.1", "7d3910ff7795db91b9af9f8d3e65af7ac69f235adf03484995fc667a36f3edc5", [:mix], [{:xml_builder, "~> 2.1", [hex: :xml_builder, repo: "hexpm", optional: false]}], "hexpm", "f3ac737f7493d42cfddf917f3ac49d60e0a0cf1a35c0712851b07fe8c0a05c7a"}, "atomex": {:hex, :atomex, "0.4.1", "7d3910ff7795db91b9af9f8d3e65af7ac69f235adf03484995fc667a36f3edc5", [:mix], [{:xml_builder, "~> 2.1", [hex: :xml_builder, repo: "hexpm", optional: false]}], "hexpm", "f3ac737f7493d42cfddf917f3ac49d60e0a0cf1a35c0712851b07fe8c0a05c7a"},
"bamboo": {:hex, :bamboo, "2.1.0", "3c58f862efd74fa8c8d48a410ac592b41f7d24785e828566f7a0af549269ddc3", [:mix], [{:hackney, ">= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.4", [hex: :mime, repo: "hexpm", optional: false]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "f0ad2623b9a1d2dc06dcf289b59df9ebc522f49f3a21971ec87a8fce04e6d33e"}, "bamboo": {:hex, :bamboo, "2.1.0", "3c58f862efd74fa8c8d48a410ac592b41f7d24785e828566f7a0af549269ddc3", [:mix], [{:hackney, ">= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.4", [hex: :mime, repo: "hexpm", optional: false]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "f0ad2623b9a1d2dc06dcf289b59df9ebc522f49f3a21971ec87a8fce04e6d33e"},
"bamboo_phoenix": {:hex, :bamboo_phoenix, "1.0.0", "f3cc591ffb163ed0bf935d256f1f4645cd870cf436545601215745fb9cc9953f", [:mix], [{:bamboo, ">= 2.0.0", [hex: :bamboo, repo: "hexpm", optional: false]}, {:phoenix, ">= 1.3.0", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "6db88fbb26019c84a47994bb2bd879c0887c29ce6c559bc6385fd54eb8b37dee"}, "bamboo_phoenix": {:hex, :bamboo_phoenix, "1.0.0", "f3cc591ffb163ed0bf935d256f1f4645cd870cf436545601215745fb9cc9953f", [:mix], [{:bamboo, ">= 2.0.0", [hex: :bamboo, repo: "hexpm", optional: false]}, {:phoenix, ">= 1.3.0", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "6db88fbb26019c84a47994bb2bd879c0887c29ce6c559bc6385fd54eb8b37dee"},
"bamboo_smtp": {:hex, :bamboo_smtp, "4.0.0", "0cc7df161d5d440d280a6d2eb20bf80bc45ea77161728a229e5ab339dcd087cd", [:mix], [{:bamboo, "~> 2.0.0", [hex: :bamboo, repo: "hexpm", optional: false]}, {:gen_smtp, "~> 1.1.0", [hex: :gen_smtp, repo: "hexpm", optional: false]}], "hexpm", "2412015092121b9f24f3f2e654bcd98e5c5f9afb323a94f8defa22e70ba8f23d"}, "bamboo_smtp": {:hex, :bamboo_smtp, "4.0.1", "7e48188663f6164a81183688bb263be4c3952648fcd3ce52164f44d68777f9cd", [:mix], [{:bamboo, "~> 2.1.0", [hex: :bamboo, repo: "hexpm", optional: false]}, {:gen_smtp, "~> 1.1.1", [hex: :gen_smtp, repo: "hexpm", optional: false]}], "hexpm", "7ff1d62ae39bfb1c14f6d3cddba0fa1482a45c2a2b497a2da601eff7099605c8"},
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"}, "bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
"cachex": {:hex, :cachex, "3.3.0", "6f2ebb8f27491fe39121bd207c78badc499214d76c695658b19d6079beeca5c2", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "d90e5ee1dde14cef33f6b187af4335b88748b72b30c038969176cd4e6ccc31a1"}, "cachex": {:hex, :cachex, "3.3.0", "6f2ebb8f27491fe39121bd207c78badc499214d76c695658b19d6079beeca5c2", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "d90e5ee1dde14cef33f6b187af4335b88748b72b30c038969176cd4e6ccc31a1"},
"certifi": {:hex, :certifi, "2.6.1", "dbab8e5e155a0763eea978c913ca280a6b544bfa115633fa20249c3d396d9493", [:rebar3], [], "hexpm", "524c97b4991b3849dd5c17a631223896272c6b0af446778ba4675a1dff53bb7e"}, "certifi": {:hex, :certifi, "2.6.1", "dbab8e5e155a0763eea978c913ca280a6b544bfa115633fa20249c3d396d9493", [:rebar3], [], "hexpm", "524c97b4991b3849dd5c17a631223896272c6b0af446778ba4675a1dff53bb7e"},
@ -81,7 +81,7 @@
"jose": {:hex, :jose, "1.11.1", "59da64010c69aad6cde2f5b9248b896b84472e99bd18f246085b7b9fe435dcdb", [:mix, :rebar3], [], "hexpm", "078f6c9fb3cd2f4cfafc972c814261a7d1e8d2b3685c0a76eb87e158efff1ac5"}, "jose": {:hex, :jose, "1.11.1", "59da64010c69aad6cde2f5b9248b896b84472e99bd18f246085b7b9fe435dcdb", [:mix, :rebar3], [], "hexpm", "078f6c9fb3cd2f4cfafc972c814261a7d1e8d2b3685c0a76eb87e158efff1ac5"},
"jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm", "fc3499fed7a726995aa659143a248534adc754ebd16ccd437cd93b649a95091f"}, "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm", "fc3499fed7a726995aa659143a248534adc754ebd16ccd437cd93b649a95091f"},
"jumper": {:hex, :jumper, "1.0.1", "3c00542ef1a83532b72269fab9f0f0c82bf23a35e27d278bfd9ed0865cecabff", [:mix], [], "hexpm", "318c59078ac220e966d27af3646026db9b5a5e6703cb2aa3e26bcfaba65b7433"}, "jumper": {:hex, :jumper, "1.0.1", "3c00542ef1a83532b72269fab9f0f0c82bf23a35e27d278bfd9ed0865cecabff", [:mix], [], "hexpm", "318c59078ac220e966d27af3646026db9b5a5e6703cb2aa3e26bcfaba65b7433"},
"junit_formatter": {:hex, :junit_formatter, "3.1.0", "3f69c61c5413750f9c45e367d77aabbeac9b395acf478d8e70b4ee9d1989c709", [:mix], [], "hexpm", "da52401a93f711fc4f77ffabdda68f9a16fcad5d96f5fce4ae606ab1d73b72f4"}, "junit_formatter": {:hex, :junit_formatter, "3.2.0", "6a64d6327c48472e983af7645aeb1d756cad4b33c5ab3a5db820f13d6d2b85fe", [:mix], [], "hexpm", "043d6f660667ee64c6d7e5edb867b7900c395356346e77185879449b50486681"},
"linkify": {:hex, :linkify, "0.5.0", "e0ea8de73ff44742d6a889721221f4c4eccaad5284957ee9832ffeb347602d54", [:mix], [], "hexpm", "4ccd958350aee7c51c89e21f05b15d30596ebbba707e051d21766be1809df2d7"}, "linkify": {:hex, :linkify, "0.5.0", "e0ea8de73ff44742d6a889721221f4c4eccaad5284957ee9832ffeb347602d54", [:mix], [], "hexpm", "4ccd958350aee7c51c89e21f05b15d30596ebbba707e051d21766be1809df2d7"},
"makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"}, "makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"},
"makeup_elixir": {:hex, :makeup_elixir, "0.15.1", "b5888c880d17d1cc3e598f05cdb5b5a91b7b17ac4eaf5f297cb697663a1094dd", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "db68c173234b07ab2a07f645a5acdc117b9f99d69ebf521821d89690ae6c6ec8"}, "makeup_elixir": {:hex, :makeup_elixir, "0.15.1", "b5888c880d17d1cc3e598f05cdb5b5a91b7b17ac4eaf5f297cb697663a1094dd", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "db68c173234b07ab2a07f645a5acdc117b9f99d69ebf521821d89690ae6c6ec8"},
@ -111,7 +111,7 @@
"plug_cowboy": {:hex, :plug_cowboy, "2.5.0", "51c998f788c4e68fc9f947a5eba8c215fbb1d63a520f7604134cab0270ea6513", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5b2c8925a5e2587446f33810a58c01e66b3c345652eeec809b76ba007acde71a"}, "plug_cowboy": {:hex, :plug_cowboy, "2.5.0", "51c998f788c4e68fc9f947a5eba8c215fbb1d63a520f7604134cab0270ea6513", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5b2c8925a5e2587446f33810a58c01e66b3c345652eeec809b76ba007acde71a"},
"plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"}, "plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"},
"poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm", "ba8836feea4b394bb718a161fc59a288fe0109b5006d6bdf97b6badfcf6f0f25"}, "poison": {:hex, :poison, "4.0.1", "bcb755a16fac91cad79bfe9fc3585bb07b9331e50cfe3420a24bcc2d735709ae", [:mix], [], "hexpm", "ba8836feea4b394bb718a161fc59a288fe0109b5006d6bdf97b6badfcf6f0f25"},
"postgrex": {:hex, :postgrex, "0.15.8", "f5e782bbe5e8fa178d5e3cd1999c857dc48eda95f0a4d7f7bd92a50e84a0d491", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "698fbfacea34c4cf22c8281abeb5cf68d99628d541874f085520ab3b53d356fe"}, "postgrex": {:hex, :postgrex, "0.15.9", "46f8fe6f25711aeb861c4d0ae09780facfdf3adbd2fb5594ead61504dd489bda", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "610719103e4cb2223d4ab78f9f0f3e720320eeca6011415ab4137ddef730adee"},
"progress_bar": {:hex, :progress_bar, "2.0.1", "7b40200112ae533d5adceb80ff75fbe66dc753bca5f6c55c073bfc122d71896d", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm", "2519eb58a2f149a3a094e729378256d8cb6d96a259ec94841bd69fdc71f18f87"}, "progress_bar": {:hex, :progress_bar, "2.0.1", "7b40200112ae533d5adceb80ff75fbe66dc753bca5f6c55c073bfc122d71896d", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm", "2519eb58a2f149a3a094e729378256d8cb6d96a259ec94841bd69fdc71f18f87"},
"ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm", "451d8527787df716d99dc36162fca05934915db0b6141bbdac2ea8d3c7afc7d7"}, "ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm", "451d8527787df716d99dc36162fca05934915db0b6141bbdac2ea8d3c7afc7d7"},
"remote_ip": {:hex, :remote_ip, "1.0.0", "3d7fb45204a5704443f480cee9515e464997f52c35e0a60b6ece1f81484067ae", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "9e9fcad4e50c43b5234bb6a9629ed6ab223f3ed07147bd35470e4ee5c8caf907"}, "remote_ip": {:hex, :remote_ip, "1.0.0", "3d7fb45204a5704443f480cee9515e464997f52c35e0a60b6ece1f81484067ae", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "9e9fcad4e50c43b5234bb6a9629ed6ab223f3ed07147bd35470e4ee5c8caf907"},

View File

@ -868,8 +868,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1392,21 +1392,22 @@ msgstr ""
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1429,3 +1430,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -125,12 +125,12 @@ msgid "Cannot refresh the token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "" msgstr ""
@ -140,13 +140,13 @@ msgid "Error while saving user settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "" msgstr ""
@ -156,7 +156,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "" msgstr ""
@ -172,16 +172,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -247,22 +247,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -277,7 +277,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -287,17 +287,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -362,12 +362,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -414,7 +414,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -424,7 +424,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -441,12 +441,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -480,15 +480,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -521,22 +516,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -551,7 +546,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -571,7 +566,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -587,7 +582,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -607,12 +602,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -632,22 +627,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -787,12 +782,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -802,7 +797,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -817,17 +812,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -837,7 +832,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -852,8 +847,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -862,7 +857,7 @@ msgstr ""
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "" msgstr ""
@ -876,3 +871,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

View File

@ -844,8 +844,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1368,21 +1368,22 @@ msgstr ""
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1405,3 +1406,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -99,12 +99,12 @@ msgid "Cannot refresh the token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "" msgstr ""
@ -114,13 +114,13 @@ msgid "Error while saving user settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "" msgstr ""
@ -130,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "" msgstr ""
@ -146,16 +146,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -221,22 +221,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -251,7 +251,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -261,17 +261,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -336,12 +336,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -388,7 +388,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -398,7 +398,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -415,12 +415,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -454,15 +454,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -495,22 +490,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -525,7 +520,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -545,7 +540,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -561,7 +556,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -581,12 +576,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -606,22 +601,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -761,12 +756,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -776,7 +771,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -791,17 +786,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -811,7 +806,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -826,8 +821,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -836,7 +831,7 @@ msgstr ""
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "" msgstr ""
@ -850,3 +845,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

View File

@ -1024,8 +1024,8 @@ msgstr ""
". Ara és:" ". Ara és:"
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
"Si no has fet aquest canvi tu mateix/a, és possible que algú hagi aconseguit " "Si no has fet aquest canvi tu mateix/a, és possible que algú hagi aconseguit "
@ -1617,21 +1617,22 @@ msgstr "Aquesta és una web de proves per provar la beta de Mobilizon."
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "El flux de %{name}" msgstr "El flux de %{name}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "El flux d'activitats privades de %{actor} a %{instance}" msgstr "El flux d'activitats privades de %{actor} a %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "El flux d'activitats públiques de %{actor} a %{instance}" msgstr "El flux d'activitats públiques de %{actor} a %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "Flux de %{email} a %{instance}" msgstr "Flux de %{email} a %{instance}"
@ -1654,3 +1655,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "Sembla ser que el servidor de Mobilizon està temporalment inaccessible." msgstr "Sembla ser que el servidor de Mobilizon està temporalment inaccessible."
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
msgstr "No s'ha pogut actualitzar el codi d'accés" msgstr "No s'ha pogut actualitzar el codi d'accés"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "El perfil actual no pertany a aquest grup" msgstr "El perfil actual no pertany a aquest grup"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "El perfil actual no administra el grup seleccionat" msgstr "El perfil actual no administra el grup seleccionat"
@ -115,13 +115,13 @@ msgid "Error while saving user settings"
msgstr "No s'han pogut desar les preferències" msgstr "No s'han pogut desar les preferències"
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "No s'ha trobat el grup" msgstr "No s'ha trobat el grup"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "No s'ha trobat el grup amb identificador %{id}" msgstr "No s'ha trobat el grup amb identificador %{id}"
@ -131,7 +131,7 @@ 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." msgstr "No t'hem pogut autenticar. El teu correu o contrasenya són incorrectes."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "No s'ha trobat el/la membre" msgstr "No s'ha trobat el/la membre"
@ -147,16 +147,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -222,22 +222,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -252,7 +252,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -262,17 +262,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -337,12 +337,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -389,7 +389,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -399,7 +399,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -416,12 +416,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -455,15 +455,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -496,22 +491,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -526,7 +521,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -546,7 +541,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -562,7 +557,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -582,12 +577,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -607,22 +602,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -762,12 +757,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -777,7 +772,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -792,17 +787,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -812,7 +807,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -827,8 +822,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -837,7 +832,7 @@ msgstr ""
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "" msgstr ""
@ -851,3 +846,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

View File

@ -844,8 +844,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1368,21 +1368,22 @@ msgstr ""
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1405,3 +1406,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -99,12 +99,12 @@ msgid "Cannot refresh the token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "" msgstr ""
@ -114,13 +114,13 @@ msgid "Error while saving user settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "" msgstr ""
@ -130,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "" msgstr ""
@ -146,16 +146,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -221,22 +221,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -251,7 +251,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -261,17 +261,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -336,12 +336,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -388,7 +388,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -398,7 +398,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -415,12 +415,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -454,15 +454,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -495,22 +490,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -525,7 +520,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -545,7 +540,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -561,7 +556,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -581,12 +576,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -606,22 +601,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -761,12 +756,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -776,7 +771,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -791,17 +786,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -811,7 +806,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -826,8 +821,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -836,7 +831,7 @@ msgstr ""
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "" msgstr ""
@ -850,3 +845,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
msgstr "Der Token konnte nicht aktualisiert werden" msgstr "Der Token konnte nicht aktualisiert werden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "Aktuelles Profil ist nicht Mitglied dieser Gruppe" msgstr "Aktuelles Profil ist nicht Mitglied dieser Gruppe"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "Aktuelles Profil ist kein Administrator der ausgewählten Gruppe" msgstr "Aktuelles Profil ist kein Administrator der ausgewählten Gruppe"
@ -115,13 +115,13 @@ msgid "Error while saving user settings"
msgstr "Fehler beim Speichern von Benutzereinstellungen" msgstr "Fehler beim Speichern von Benutzereinstellungen"
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Gruppe nicht gefunden" msgstr "Gruppe nicht gefunden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "Gruppe mit der ID %{id} nicht gefunden" msgstr "Gruppe mit der ID %{id} nicht gefunden"
@ -133,7 +133,7 @@ msgstr ""
"Passwort sind ungültig." "Passwort sind ungültig."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Mitglied wurde nicht gefunden" msgstr "Mitglied wurde nicht gefunden"
@ -150,16 +150,16 @@ msgstr ""
"Es wurde kein Benutzer gefunden, der mit dieser E-Mail validiert werden kann" "Es wurde kein Benutzer gefunden, der mit dieser E-Mail validiert werden kann"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "Es wurde kein Benutzer mit dieser E-Mail gefunden" msgstr "Es wurde kein Benutzer mit dieser E-Mail gefunden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "Profil ist nicht im Besitz des authentifizierten Benutzers" msgstr "Profil ist nicht im Besitz des authentifizierten Benutzers"
@ -227,24 +227,24 @@ msgid "User requested is not logged-in"
msgstr "Angeforderter Benutzer ist nicht eingeloggt" msgstr "Angeforderter Benutzer ist nicht eingeloggt"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Sie sind bereits Mitglied in dieser Gruppe" msgstr "Sie sind bereits Mitglied in dieser Gruppe"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
"Sie können diese Gruppe nicht verlassen, da Sie der einzige Administrator " "Sie können diese Gruppe nicht verlassen, da Sie der einzige Administrator "
"sind" "sind"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "Sie können dieser Gruppe nicht beitreten" msgstr "Sie können dieser Gruppe nicht beitreten"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "Sie dürfen keine Gruppen auflisten, es sei denn, Sie sind Moderator." msgstr "Sie dürfen keine Gruppen auflisten, es sei denn, Sie sind Moderator."
@ -259,7 +259,7 @@ msgid "You need to be logged-in to change your password"
msgstr "Sie müssen eingeloggt sein, um Ihr Passwort zu ändern" msgstr "Sie müssen eingeloggt sein, um Ihr Passwort zu ändern"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu löschen" msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu löschen"
@ -269,17 +269,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "Sie müssen eingeloggt sein, um Ihr Konto zu löschen" msgstr "Sie müssen eingeloggt sein, um Ihr Konto zu löschen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Sie müssen eingeloggt sein, um einer Gruppe beizutreten" msgstr "Sie müssen eingeloggt sein, um einer Gruppe beizutreten"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu verlassen" msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu verlassen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu aktualisieren" msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu aktualisieren"
@ -345,12 +345,12 @@ msgid "Anonymous participation is not enabled"
msgstr "Anonyme Teilnahme ist nicht möglich" msgstr "Anonyme Teilnahme ist nicht möglich"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "Der letzte Administrator einer Gruppe kann nicht entfernt werden" msgstr "Der letzte Administrator einer Gruppe kann nicht entfernt werden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "Kann die letzte Identität eines Benutzers nicht entfernen" msgstr "Kann die letzte Identität eines Benutzers nicht entfernen"
@ -397,7 +397,7 @@ msgid "Internal Error"
msgstr "Interner Fehler" msgstr "Interner Fehler"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Keine Diskussion mit ID %{id}" msgstr "Keine Diskussion mit ID %{id}"
@ -407,7 +407,7 @@ msgid "No profile found for user"
msgstr "Kein Profil für Benutzer gefunden" msgstr "Kein Profil für Benutzer gefunden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "Kein solches Feed-Token" msgstr "Kein solches Feed-Token"
@ -424,12 +424,12 @@ msgid "Participant not found"
msgstr "Teilnehmer nicht gefunden" msgstr "Teilnehmer nicht gefunden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "Person mit ID %{id} nicht gefunden" msgstr "Person mit ID %{id} nicht gefunden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "Person mit Benutzernamen %{username} nicht gefunden" msgstr "Person mit Benutzernamen %{username} nicht gefunden"
@ -465,15 +465,10 @@ msgid "Profile is not member of group"
msgstr "Profil ist nicht Mitglied der Gruppe" msgstr "Profil ist nicht Mitglied der Gruppe"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Profil nicht gefunden" msgstr "Profil nicht gefunden"
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr "Dieses Moderatorenprofil hat keine Berechtigung für diese Veranstaltung"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -506,22 +501,22 @@ msgid "Todo list doesn't exist"
msgstr "ToDo-Liste existiert nicht" msgstr "ToDo-Liste existiert nicht"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "Token existiert nicht" msgstr "Token existiert nicht"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "Token ist keine gültige UUID" msgstr "Token ist keine gültige UUID"
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "User nicht gefunden" msgstr "User nicht gefunden"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Sie haben bereits ein Profil für diesen Benutzer" msgstr "Sie haben bereits ein Profil für diesen Benutzer"
@ -536,7 +531,7 @@ msgid "You are not a member of this group"
msgstr "Sie sind nicht Mitglied in dieser Gruppe" msgstr "Sie sind nicht Mitglied in dieser Gruppe"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "Sie sind kein Moderator oder Admin für diese Gruppe" msgstr "Sie sind kein Moderator oder Admin für diese Gruppe"
@ -556,7 +551,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "Sie dürfen einen Kommentar nicht löschen, wenn Sie nicht verbunden sind" msgstr "Sie dürfen einen Kommentar nicht löschen, wenn Sie nicht verbunden sind"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "Sie dürfen ein Feed-Token nicht löschen, wenn keine Verbindung besteht" msgstr "Sie dürfen ein Feed-Token nicht löschen, wenn keine Verbindung besteht"
@ -575,7 +570,7 @@ msgstr ""
"Teilnehmer sind, der die Veranstaltung erstellt" "Teilnehmer sind, der die Veranstaltung erstellt"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
"Sie können sich nicht auf eine niedrigere Mitgliedsrolle für diese Gruppe " "Sie können sich nicht auf eine niedrigere Mitgliedsrolle für diese Gruppe "
@ -597,12 +592,12 @@ msgid "You cannot invite to this group"
msgstr "Sie können nicht in diese Gruppe einladen" msgstr "Sie können nicht in diese Gruppe einladen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "Sie haben nicht die Berechtigung diesen Token zu löschen" msgstr "Sie haben nicht die Berechtigung diesen Token zu löschen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
"Sie müssen eingeloggt und ein Moderator sein, um Aktionsprotokolle " "Sie müssen eingeloggt und ein Moderator sein, um Aktionsprotokolle "
@ -626,28 +621,28 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "Sie müssen eingeloggt und ein Moderator sein, um einen Bericht zu sehen" msgstr "Sie müssen eingeloggt und ein Moderator sein, um einen Bericht zu sehen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
"Sie müssen angemeldet und ein Administrator sein, um auf die Admin-" "Sie müssen angemeldet und ein Administrator sein, um auf die Admin-"
"Einstellungen zugreifen zu können" "Einstellungen zugreifen zu können"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
"Sie müssen angemeldet und ein Administrator sein, um auf die Dashboard-" "Sie müssen angemeldet und ein Administrator sein, um auf die Dashboard-"
"Statistiken zugreifen zu können" "Statistiken zugreifen zu können"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
"Sie müssen eingeloggt und ein Administrator sein, um Admin-Einstellungen zu " "Sie müssen eingeloggt und ein Administrator sein, um Admin-Einstellungen zu "
"speichern" "speichern"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Sie müssen eingeloggt sein, um auf Diskussionen zugreifen zu können" msgstr "Sie müssen eingeloggt sein, um auf Diskussionen zugreifen zu können"
@ -789,12 +784,12 @@ msgid "You need to be logged in"
msgstr "Sie müssen eingeloggt sein" msgstr "Sie müssen eingeloggt sein"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "Sie können diese Einladung mit diesem Profil nicht annehmen." msgstr "Sie können diese Einladung mit diesem Profil nicht annehmen."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "Sie können diese Einladung mit diesem Profil nicht ablehnen." msgstr "Sie können diese Einladung mit diesem Profil nicht ablehnen."
@ -804,7 +799,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "Die Datei hat keinen zulässigen MIME-Typ." msgstr "Die Datei hat keinen zulässigen MIME-Typ."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "Profil ist nicht Administrator für die Gruppe" msgstr "Profil ist nicht Administrator für die Gruppe"
@ -819,17 +814,17 @@ msgid "You can't attribute this event to this profile."
msgstr "Sie können dieses Ereignis nicht diesem Profil zuordnen." msgstr "Sie können dieses Ereignis nicht diesem Profil zuordnen."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "Diese Einladung gibt es nicht." msgstr "Diese Einladung gibt es nicht."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Dieses Mitglied ist bereits abgelehnt worden." msgstr "Dieses Mitglied ist bereits abgelehnt worden."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "Sie haben nicht das Recht, dieses Mitglied zu entfernen." msgstr "Sie haben nicht das Recht, dieses Mitglied zu entfernen."
@ -839,7 +834,7 @@ msgid "This username is already taken."
msgstr "Dieser Benutzername ist bereits vergeben." msgstr "Dieser Benutzername ist bereits vergeben."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
"Sie müssen entweder eine ID oder einen Slug angeben, um auf eine Diskussion " "Sie müssen entweder eine ID oder einen Slug angeben, um auf eine Diskussion "
@ -856,8 +851,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "Die angegebene Profil-ID ist nicht die des anonymen Profils" msgstr "Die angegebene Profil-ID ist nicht die des anonymen Profils"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "Das Bild ist zu groß" msgstr "Das Bild ist zu groß"
@ -866,7 +861,7 @@ msgstr "Das Bild ist zu groß"
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Fehler beim Speichern des Reports" msgstr "Fehler beim Speichern des Reports"
@ -880,3 +875,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Dieses Moderatorenprofil hat keine Berechtigung für diese Veranstaltung"

View File

@ -823,8 +823,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1347,21 +1347,22 @@ msgstr ""
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1384,3 +1385,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -876,8 +876,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1400,21 +1400,22 @@ msgstr "This is a demonstration site to test the beta version of Mobilizon."
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1437,3 +1438,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -103,12 +103,12 @@ msgid "Cannot refresh the token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "" msgstr ""
@ -118,13 +118,13 @@ msgid "Error while saving user settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "" msgstr ""
@ -134,7 +134,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "" msgstr ""
@ -150,16 +150,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -225,22 +225,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -255,7 +255,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -265,17 +265,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -340,12 +340,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -392,7 +392,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -402,7 +402,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -419,12 +419,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -458,15 +458,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -499,22 +494,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -529,7 +524,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -549,7 +544,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -565,7 +560,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -585,12 +580,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -610,22 +605,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -765,12 +760,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -780,7 +775,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -795,17 +790,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -815,7 +810,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -830,8 +825,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -840,7 +835,7 @@ msgstr ""
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "" msgstr ""
@ -854,3 +849,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

View File

@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "" msgstr ""
@ -115,13 +115,13 @@ msgid "Error while saving user settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "" msgstr ""
@ -131,7 +131,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "" msgstr ""
@ -147,16 +147,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -222,22 +222,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -252,7 +252,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -262,17 +262,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -337,12 +337,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -389,7 +389,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -399,7 +399,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -416,12 +416,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -455,15 +455,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -496,22 +491,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -526,7 +521,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -546,7 +541,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -562,7 +557,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -582,12 +577,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -607,22 +602,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -762,12 +757,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -777,7 +772,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -792,17 +787,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -812,7 +807,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -827,8 +822,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -851,3 +846,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

View File

@ -1036,8 +1036,8 @@ msgstr ""
"electrónico vinculada a su cuenta en% {host} se ha cambiado de esta a:" "electrónico vinculada a su cuenta en% {host} se ha cambiado de esta a:"
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
"Si no activó este cambio usted mismo, es probable que alguien haya obtenido " "Si no activó este cambio usted mismo, es probable que alguien haya obtenido "
@ -1685,21 +1685,22 @@ msgstr "Este es un sitio de demostración para probar Mobilizon."
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "Flujo de %{name}" msgstr "Flujo de %{name}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "Flujo de eventos privados de %{actor} a %{instance}" msgstr "Flujo de eventos privados de %{actor} a %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "Flujo público de eventos de %{actor} a %{instance}" msgstr "Flujo público de eventos de %{actor} a %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "Flujo para %{email} en %{instance}" msgstr "Flujo para %{email} en %{instance}"
@ -1727,3 +1728,8 @@ msgstr "Detalles técnicos"
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
"El servidor de Mobilizon %{instance} parece estar temporalmente inactivo." "El servidor de Mobilizon %{instance} parece estar temporalmente inactivo."
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -94,780 +94,780 @@ msgstr "debe ser mayor o igual que% {number}"
msgid "must be equal to %{number}" msgid "must be equal to %{number}"
msgstr "debe ser igual a% {number}" msgstr "debe ser igual a% {number}"
#: lib/graphql/resolvers/user.ex:100
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:100
msgid "Cannot refresh the token" msgid "Cannot refresh the token"
msgstr "No se puede actualizar el token" msgstr "No se puede actualizar el token"
#: lib/graphql/resolvers/group.ex:198
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "El perfil actual no es miembro de este grupo" msgstr "El perfil actual no es miembro de este grupo"
#: lib/graphql/resolvers/group.ex:202
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "El perfil actual no es un administrador del grupo seleccionado" msgstr "El perfil actual no es un administrador del grupo seleccionado"
#: lib/graphql/resolvers/user.ex:501
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:501
msgid "Error while saving user settings" msgid "Error while saving user settings"
msgstr "Error al guardar los parámetros del usuario" msgstr "Error al guardar los parámetros del usuario"
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Grupo no encontrado" msgstr "Grupo no encontrado"
#: lib/graphql/resolvers/group.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "No se encontró el grupo con ID% {id}" msgstr "No se encontró el grupo con ID% {id}"
#: lib/graphql/resolvers/user.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:80
msgid "Impossible to authenticate, either your email or password are invalid." msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
"Imposible autenticarse, su correo electrónico o contraseña no son válidos." "Imposible autenticarse, su correo electrónico o contraseña no son válidos."
#: lib/graphql/resolvers/group.ex:258
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Miembro no encontrado" msgstr "Miembro no encontrado"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 #: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
#: lib/graphql/resolvers/user.ex:406 #: lib/graphql/resolvers/user.ex:406
#, elixir-format
msgid "No profile found for the moderator user" msgid "No profile found for the moderator user"
msgstr "No se encontró el perfil del usuario moderador" msgstr "No se encontró el perfil del usuario moderador"
#: lib/graphql/resolvers/user.ex:193
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:193
msgid "No user to validate with this email was found" msgid "No user to validate with this email was found"
msgstr "No se encontró ningún usuario para validar con este correo electrónico" msgstr "No se encontró ningún usuario para validar con este correo electrónico"
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "No se encontró ningún usuario con este correo electrónico" msgstr "No se encontró ningún usuario con este correo electrónico"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
#, elixir-format
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "El perfil no es propiedad del usuario autenticado" msgstr "El perfil no es propiedad del usuario autenticado"
#: lib/graphql/resolvers/user.ex:123
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:123
msgid "Registrations are not open" msgid "Registrations are not open"
msgstr "Las inscripciones no están abiertas" msgstr "Las inscripciones no están abiertas"
#: lib/graphql/resolvers/user.ex:331
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:331
msgid "The current password is invalid" msgid "The current password is invalid"
msgstr "La contraseña actual no es válida" msgstr "La contraseña actual no es válida"
#: lib/graphql/resolvers/user.ex:376
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:376
msgid "The new email doesn't seem to be valid" msgid "The new email doesn't seem to be valid"
msgstr "El nuevo correo electrónico no parece ser válido" msgstr "El nuevo correo electrónico no parece ser válido"
#: lib/graphql/resolvers/user.ex:373
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:373
msgid "The new email must be different" msgid "The new email must be different"
msgstr "El nuevo correo electrónico debe ser diferente" msgstr "El nuevo correo electrónico debe ser diferente"
#: lib/graphql/resolvers/user.ex:334
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:334
msgid "The new password must be different" msgid "The new password must be different"
msgstr "La nueva contraseña debe ser diferente" msgstr "La nueva contraseña debe ser diferente"
#, elixir-format
#: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428 #: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428
#: lib/graphql/resolvers/user.ex:431 #: lib/graphql/resolvers/user.ex:431
#, elixir-format
msgid "The password provided is invalid" msgid "The password provided is invalid"
msgstr "La contraseña proporcionada no es válida" msgstr "La contraseña proporcionada no es válida"
#: lib/graphql/resolvers/user.ex:338
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:338
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr "" msgstr ""
"La contraseña que ha elegido es demasiado corta. Asegúrese de que su " "La contraseña que ha elegido es demasiado corta. Asegúrese de que su "
"contraseña contenga al menos 6 caracteres." "contraseña contenga al menos 6 caracteres."
#: lib/graphql/resolvers/user.ex:214
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:214
msgid "This user can't reset their password" msgid "This user can't reset their password"
msgstr "Este usuario no puede restablecer su contraseña" msgstr "Este usuario no puede restablecer su contraseña"
#: lib/graphql/resolvers/user.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:76
msgid "This user has been disabled" msgid "This user has been disabled"
msgstr "Este usuario ha sido inhabilitado" msgstr "Este usuario ha sido inhabilitado"
#: lib/graphql/resolvers/user.ex:177
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:177
msgid "Unable to validate user" msgid "Unable to validate user"
msgstr "No se puede validar al usuario" msgstr "No se puede validar al usuario"
#: lib/graphql/resolvers/user.ex:409
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:409
msgid "User already disabled" msgid "User already disabled"
msgstr "El usuario ya está inhabilitado" msgstr "El usuario ya está inhabilitado"
#: lib/graphql/resolvers/user.ex:476
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:476
msgid "User requested is not logged-in" msgid "User requested is not logged-in"
msgstr "El usuario solicitado no ha iniciado sesión" msgstr "El usuario solicitado no ha iniciado sesión"
#: lib/graphql/resolvers/group.ex:232
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Ya eres miembro de este grupo" msgstr "Ya eres miembro de este grupo"
#: lib/graphql/resolvers/group.ex:265
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "No puedes dejar este grupo porque eres el único administrador" msgstr "No puedes dejar este grupo porque eres el único administrador"
#: lib/graphql/resolvers/group.ex:229
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "No puedes unirte a este grupo" msgstr "No puedes unirte a este grupo"
#: lib/graphql/resolvers/group.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "No puedes enumerar grupos a menos que seas moderador." msgstr "No puedes enumerar grupos a menos que seas moderador."
#: lib/graphql/resolvers/user.ex:381
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:381
msgid "You need to be logged-in to change your email" msgid "You need to be logged-in to change your email"
msgstr "Debes iniciar sesión para cambiar tu correo electrónico" msgstr "Debes iniciar sesión para cambiar tu correo electrónico"
#: lib/graphql/resolvers/user.ex:346
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:346
msgid "You need to be logged-in to change your password" msgid "You need to be logged-in to change your password"
msgstr "Debes iniciar sesión para cambiar tu contraseña" msgstr "Debes iniciar sesión para cambiar tu contraseña"
#: lib/graphql/resolvers/group.ex:207
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "Debes iniciar sesión para eliminar un grupo" msgstr "Debes iniciar sesión para eliminar un grupo"
#: lib/graphql/resolvers/user.ex:436
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:436
msgid "You need to be logged-in to delete your account" msgid "You need to be logged-in to delete your account"
msgstr "Debes iniciar sesión para eliminar su cuenta" msgstr "Debes iniciar sesión para eliminar su cuenta"
#: lib/graphql/resolvers/group.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Debes iniciar sesión para eliminar su cuenta" msgstr "Debes iniciar sesión para eliminar su cuenta"
#: lib/graphql/resolvers/group.ex:270
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "Debes iniciar sesión para dejar un grupo" msgstr "Debes iniciar sesión para dejar un grupo"
#: lib/graphql/resolvers/group.ex:172
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "Debes iniciar sesión para actualizar un grupo" msgstr "Debes iniciar sesión para actualizar un grupo"
#: lib/graphql/resolvers/user.ex:105
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:105
msgid "You need to have an existing token to get a refresh token" msgid "You need to have an existing token to get a refresh token"
msgstr "Debes tener un token existente para obtener un token de actualización" msgstr "Debes tener un token existente para obtener un token de actualización"
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
msgid "You requested again a confirmation email too soon" msgid "You requested again a confirmation email too soon"
msgstr "" msgstr ""
"Solicitó de nuevo un correo electrónico de confirmación demasiado pronto" "Solicitó de nuevo un correo electrónico de confirmación demasiado pronto"
#: lib/graphql/resolvers/user.ex:126
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:126
msgid "Your email is not on the allowlist" msgid "Your email is not on the allowlist"
msgstr "Tu correo electrónico no está en la lista de permitidos" msgstr "Tu correo electrónico no está en la lista de permitidos"
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
msgid "Error while performing background task" msgid "Error while performing background task"
msgstr "Error al realizar la tarea en segundo plano" msgstr "Error al realizar la tarea en segundo plano"
#: lib/graphql/resolvers/actor.ex:27
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:27
msgid "No profile found with this ID" msgid "No profile found with this ID"
msgstr "No se encontró ningún perfil con este ID" msgstr "No se encontró ningún perfil con este ID"
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
msgid "No remote profile found with this ID" msgid "No remote profile found with this ID"
msgstr "No se encontró ningún perfil remoto con este ID" msgstr "No se encontró ningún perfil remoto con este ID"
#: lib/graphql/resolvers/actor.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:69
msgid "Only moderators and administrators can suspend a profile" msgid "Only moderators and administrators can suspend a profile"
msgstr "Solo los moderadores y administradores pueden suspender un perfil" msgstr "Solo los moderadores y administradores pueden suspender un perfil"
#: lib/graphql/resolvers/actor.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:99
msgid "Only moderators and administrators can unsuspend a profile" msgid "Only moderators and administrators can unsuspend a profile"
msgstr "" msgstr ""
"Solo los moderadores y administradores pueden anular la suspensión de un " "Solo los moderadores y administradores pueden anular la suspensión de un "
"perfil" "perfil"
#: lib/graphql/resolvers/actor.ex:24
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:24
msgid "Only remote profiles may be refreshed" msgid "Only remote profiles may be refreshed"
msgstr "Solo se pueden actualizar los perfiles remotos" msgstr "Solo se pueden actualizar los perfiles remotos"
#: lib/graphql/resolvers/actor.ex:61
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:61
msgid "Profile already suspended" msgid "Profile already suspended"
msgstr "Perfil ya suspendido" msgstr "Perfil ya suspendido"
#: lib/graphql/resolvers/participant.ex:92
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:92
msgid "A valid email is required by your instance" msgid "A valid email is required by your instance"
msgstr "Su instancia requiere un correo electrónico válido" msgstr "Su instancia requiere un correo electrónico válido"
#: lib/graphql/resolvers/participant.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:86
msgid "Anonymous participation is not enabled" msgid "Anonymous participation is not enabled"
msgstr "La participación anónima no está habilitada" msgstr "La participación anónima no está habilitada"
#: lib/graphql/resolvers/person.ex:195
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "No se puede eliminar al último administrador de un grupo" msgstr "No se puede eliminar al último administrador de un grupo"
#: lib/graphql/resolvers/person.ex:192
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "No se puede eliminar la última identidad de un usuario" msgstr "No se puede eliminar la última identidad de un usuario"
#: lib/graphql/resolvers/comment.ex:108
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:108
msgid "Comment is already deleted" msgid "Comment is already deleted"
msgstr "El comentario ya está eliminado" msgstr "El comentario ya está eliminado"
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
msgid "Discussion not found" msgid "Discussion not found"
msgstr "Discusión no encontrada" msgstr "Discusión no encontrada"
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
msgid "Error while saving report" msgid "Error while saving report"
msgstr "Error al guardar el informe" msgstr "Error al guardar el informe"
#: lib/graphql/resolvers/report.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:96
msgid "Error while updating report" msgid "Error while updating report"
msgstr "Error al actualizar el informe" msgstr "Error al actualizar el informe"
#: lib/graphql/resolvers/participant.ex:127
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:127
msgid "Event id not found" msgid "Event id not found"
msgstr "ID de evento no encontrado" msgstr "ID de evento no encontrado"
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281 #: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
#: lib/graphql/resolvers/event.ex:325 #: lib/graphql/resolvers/event.ex:325
#, elixir-format
msgid "Event not found" msgid "Event not found"
msgstr "Evento no encontrado" msgstr "Evento no encontrado"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:83 #: lib/graphql/resolvers/participant.ex:83
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156 #: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
#, elixir-format
msgid "Event with this ID %{id} doesn't exist" msgid "Event with this ID %{id} doesn't exist"
msgstr "El evento con este ID%{id} no existe" msgstr "El evento con este ID%{id} no existe"
#: lib/graphql/resolvers/participant.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:99
msgid "Internal Error" msgid "Internal Error"
msgstr "Error interno" msgstr "Error interno"
#: lib/graphql/resolvers/discussion.ex:201
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Sin discusión con ID%{id}" msgstr "Sin discusión con ID%{id}"
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
msgid "No profile found for user" msgid "No profile found for user"
msgstr "No se encontró perfil para el usuario" msgstr "No se encontró perfil para el usuario"
#: lib/graphql/resolvers/feed_token.ex:63
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "No existe tal token de alimentación" msgstr "No existe tal token de alimentación"
#: lib/graphql/resolvers/participant.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:237
msgid "Participant already has role %{role}" msgid "Participant already has role %{role}"
msgstr "El participante ya tiene el rol%{role}" msgstr "El participante ya tiene el rol%{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:169 #: lib/graphql/resolvers/participant.ex:169
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230 #: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
#: lib/graphql/resolvers/participant.ex:240 #: lib/graphql/resolvers/participant.ex:240
#, elixir-format
msgid "Participant not found" msgid "Participant not found"
msgstr "Participante no encontrado" msgstr "Participante no encontrado"
#: lib/graphql/resolvers/person.ex:29
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "Persona con ID%{id} no encontrada" msgstr "Persona con ID%{id} no encontrada"
#: lib/graphql/resolvers/person.ex:51
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "Persona con nombre de usuario %{username} no encontrada" msgstr "Persona con nombre de usuario %{username} no encontrada"
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
msgid "Post ID is not a valid ID" msgid "Post ID is not a valid ID"
msgstr "La ID de publicación no es válida" msgstr "La ID de publicación no es válida"
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
msgid "Post doesn't exist" msgid "Post doesn't exist"
msgstr "La publicación no existe" msgstr "La publicación no existe"
#: lib/graphql/resolvers/member.ex:83
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:83
msgid "Profile invited doesn't exist" msgid "Profile invited doesn't exist"
msgstr "El perfil invitado no existe" msgstr "El perfil invitado no existe"
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
msgid "Profile is already a member of this group" msgid "Profile is already a member of this group"
msgstr "Perfil ya es miembro de este grupo" msgstr "Perfil ya es miembro de este grupo"
#, elixir-format
#: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173
#: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128
#: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171
#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 #: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222
#, elixir-format
msgid "Profile is not member of group" msgid "Profile is not member of group"
msgstr "El perfil no es miembro del grupo" msgstr "El perfil no es miembro del grupo"
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Perfil no encontrado" msgstr "Perfil no encontrado"
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
#, elixir-format #, elixir-format
msgid "Provided moderator profile doesn't have permission on this event"
msgstr "El perfil de moderador proporcionado no tiene permiso para este evento"
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
#, elixir-format
msgid "Report not found" msgid "Report not found"
msgstr "Informe no encontrado" msgstr "Informe no encontrado"
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
msgid "Resource doesn't exist" msgid "Resource doesn't exist"
msgstr "El recurso no existe" msgstr "El recurso no existe"
#: lib/graphql/resolvers/participant.ex:120
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:120
msgid "The event has already reached its maximum capacity" msgid "The event has already reached its maximum capacity"
msgstr "El evento ya alcanzó su capacidad máxima" msgstr "El evento ya alcanzó su capacidad máxima"
#: lib/graphql/resolvers/participant.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:260
msgid "This token is invalid" msgid "This token is invalid"
msgstr "Este token no es válido" msgstr "Este token no es válido"
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
msgid "Todo doesn't exist" msgid "Todo doesn't exist"
msgstr "Todo no existe" msgstr "Todo no existe"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 #: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
#: lib/graphql/resolvers/todos.ex:216 #: lib/graphql/resolvers/todos.ex:216
#, elixir-format
msgid "Todo list doesn't exist" msgid "Todo list doesn't exist"
msgstr "La lista de tareas pendientes no existe" msgstr "La lista de tareas pendientes no existe"
#: lib/graphql/resolvers/feed_token.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "El token no existe" msgstr "El token no existe"
#: lib/graphql/resolvers/feed_token.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "El token no es un UUID válido" msgstr "El token no es un UUID válido"
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "Usuario no encontrado" msgstr "Usuario no encontrado"
#: lib/graphql/resolvers/person.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Ya tienes un perfil para este usuario" msgstr "Ya tienes un perfil para este usuario"
#: lib/graphql/resolvers/participant.ex:130
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:130
msgid "You are already a participant of this event" msgid "You are already a participant of this event"
msgstr "Ya eres participante de este evento" msgstr "Ya eres participante de este evento"
#: lib/graphql/resolvers/member.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:86
msgid "You are not a member of this group" msgid "You are not a member of this group"
msgstr "no eres un miembro de este grupo" msgstr "no eres un miembro de este grupo"
#: lib/graphql/resolvers/member.ex:151
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "No eres moderador ni administrador de este grupo" msgstr "No eres moderador ni administrador de este grupo"
#: lib/graphql/resolvers/comment.ex:54
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:54
msgid "You are not allowed to create a comment if not connected" msgid "You are not allowed to create a comment if not connected"
msgstr "No está permitido crear un comentario si no está conectado" msgstr "No está permitido crear un comentario si no está conectado"
#: lib/graphql/resolvers/feed_token.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected" msgid "You are not allowed to create a feed token if not connected"
msgstr "No puede crear un token de feed si no está conectado" msgstr "No puede crear un token de feed si no está conectado"
#: lib/graphql/resolvers/comment.ex:113
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:113
msgid "You are not allowed to delete a comment if not connected" msgid "You are not allowed to delete a comment if not connected"
msgstr "No puede eliminar un comentario si no está conectado" msgstr "No puede eliminar un comentario si no está conectado"
#: lib/graphql/resolvers/feed_token.ex:78
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "No puede eliminar un token de feed si no está conectado" msgstr "No puede eliminar un token de feed si no está conectado"
#: lib/graphql/resolvers/comment.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:76
msgid "You are not allowed to update a comment if not connected" msgid "You are not allowed to update a comment if not connected"
msgstr "No se le permite actualizar un comentario si no está conectado" msgstr "No se le permite actualizar un comentario si no está conectado"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:163 #: lib/graphql/resolvers/participant.ex:163
#: lib/graphql/resolvers/participant.ex:192 #: lib/graphql/resolvers/participant.ex:192
#, elixir-format
msgid "You can't leave event because you're the only event creator participant" msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
"No puedes abandonar el evento porque eres el único participante creador del " "No puedes abandonar el evento porque eres el único participante creador del "
"evento" "evento"
#: lib/graphql/resolvers/member.ex:155
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
"No puede establecerse en un rol de miembro inferior para este grupo porque " "No puede establecerse en un rol de miembro inferior para este grupo porque "
"es el único administrador" "es el único administrador"
#: lib/graphql/resolvers/comment.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:104
msgid "You cannot delete this comment" msgid "You cannot delete this comment"
msgstr "No puedes borrar este comentario" msgstr "No puedes borrar este comentario"
#: lib/graphql/resolvers/event.ex:321
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:321
msgid "You cannot delete this event" msgid "You cannot delete this event"
msgstr "No puedes borrar este evento" msgstr "No puedes borrar este evento"
#: lib/graphql/resolvers/member.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:89
msgid "You cannot invite to this group" msgid "You cannot invite to this group"
msgstr "No puedes invitar a este grupo" msgstr "No puedes invitar a este grupo"
#: lib/graphql/resolvers/feed_token.ex:72
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "No tienes permiso para eliminar este token" msgstr "No tienes permiso para eliminar este token"
#: lib/graphql/resolvers/admin.ex:52
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
"Debe iniciar sesión y un moderador para enumerar los registros de acción" "Debe iniciar sesión y un moderador para enumerar los registros de acción"
#: lib/graphql/resolvers/report.ex:26
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:26
msgid "You need to be logged-in and a moderator to list reports" msgid "You need to be logged-in and a moderator to list reports"
msgstr "Debe iniciar sesión y un moderador para enumerar los informes" msgstr "Debe iniciar sesión y un moderador para enumerar los informes"
#: lib/graphql/resolvers/report.ex:101
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:101
msgid "You need to be logged-in and a moderator to update a report" msgid "You need to be logged-in and a moderator to update a report"
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe" msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
#: lib/graphql/resolvers/report.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:41
msgid "You need to be logged-in and a moderator to view a report" msgid "You need to be logged-in and a moderator to view a report"
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe" msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
#: lib/graphql/resolvers/admin.ex:236
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
"Debe iniciar sesión y ser administrador para acceder a la configuración de " "Debe iniciar sesión y ser administrador para acceder a la configuración de "
"administrador" "administrador"
#: lib/graphql/resolvers/admin.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del " "Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
"panel" "panel"
#: lib/graphql/resolvers/admin.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del " "Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
"panel" "panel"
#: lib/graphql/resolvers/discussion.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Debe iniciar sesión para acceder a las discusiones" msgstr "Debe iniciar sesión para acceder a las discusiones"
#: lib/graphql/resolvers/resource.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:94
msgid "You need to be logged-in to access resources" msgid "You need to be logged-in to access resources"
msgstr "Debes iniciar sesión para acceder a los recursos" msgstr "Debes iniciar sesión para acceder a los recursos"
#: lib/graphql/resolvers/event.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:256
msgid "You need to be logged-in to create events" msgid "You need to be logged-in to create events"
msgstr "Debes iniciar sesión para crear eventos" msgstr "Debes iniciar sesión para crear eventos"
#: lib/graphql/resolvers/post.ex:140
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:140
msgid "You need to be logged-in to create posts" msgid "You need to be logged-in to create posts"
msgstr "Debes iniciar sesión para crear publicaciones" msgstr "Debes iniciar sesión para crear publicaciones"
#: lib/graphql/resolvers/report.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:74
msgid "You need to be logged-in to create reports" msgid "You need to be logged-in to create reports"
msgstr "Debe iniciar sesión para crear informes" msgstr "Debe iniciar sesión para crear informes"
#: lib/graphql/resolvers/resource.ex:133
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:133
msgid "You need to be logged-in to create resources" msgid "You need to be logged-in to create resources"
msgstr "Debe iniciar sesión para crear recursos" msgstr "Debe iniciar sesión para crear recursos"
#: lib/graphql/resolvers/event.ex:330
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:330
msgid "You need to be logged-in to delete an event" msgid "You need to be logged-in to delete an event"
msgstr "Debe iniciar sesión para eliminar un evento" msgstr "Debe iniciar sesión para eliminar un evento"
#: lib/graphql/resolvers/post.ex:211
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:211
msgid "You need to be logged-in to delete posts" msgid "You need to be logged-in to delete posts"
msgstr "Debes iniciar sesión para eliminar publicaciones" msgstr "Debes iniciar sesión para eliminar publicaciones"
#: lib/graphql/resolvers/resource.ex:191
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:191
msgid "You need to be logged-in to delete resources" msgid "You need to be logged-in to delete resources"
msgstr "Debes iniciar sesión para eliminar recursos" msgstr "Debes iniciar sesión para eliminar recursos"
#: lib/graphql/resolvers/participant.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:104
msgid "You need to be logged-in to join an event" msgid "You need to be logged-in to join an event"
msgstr "Debes iniciar sesión para eliminar recursos" msgstr "Debes iniciar sesión para eliminar recursos"
#: lib/graphql/resolvers/participant.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:203
msgid "You need to be logged-in to leave an event" msgid "You need to be logged-in to leave an event"
msgstr "Debes iniciar sesión para salir de un evento" msgstr "Debes iniciar sesión para salir de un evento"
#: lib/graphql/resolvers/event.ex:295
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:295
msgid "You need to be logged-in to update an event" msgid "You need to be logged-in to update an event"
msgstr "Debe iniciar sesión para actualizar un evento" msgstr "Debe iniciar sesión para actualizar un evento"
#: lib/graphql/resolvers/post.ex:178
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:178
msgid "You need to be logged-in to update posts" msgid "You need to be logged-in to update posts"
msgstr "Debes iniciar sesión para actualizar las publicaciones" msgstr "Debes iniciar sesión para actualizar las publicaciones"
#: lib/graphql/resolvers/resource.ex:162
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:162
msgid "You need to be logged-in to update resources" msgid "You need to be logged-in to update resources"
msgstr "Debes iniciar sesión para actualizar los recursos" msgstr "Debes iniciar sesión para actualizar los recursos"
#: lib/graphql/resolvers/resource.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:218
msgid "You need to be logged-in to view a resource preview" msgid "You need to be logged-in to view a resource preview"
msgstr "Debe iniciar sesión para ver una vista previa del recurso" msgstr "Debe iniciar sesión para ver una vista previa del recurso"
#: lib/graphql/resolvers/resource.ex:125
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:125
msgid "Parent resource doesn't belong to this group" msgid "Parent resource doesn't belong to this group"
msgstr "El recurso principal no pertenece a este grupo" msgstr "El recurso principal no pertenece a este grupo"
#: lib/mobilizon/users/user.ex:109
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:109
msgid "The chosen password is too short." msgid "The chosen password is too short."
msgstr "La contraseña elegida es demasiado corta." msgstr "La contraseña elegida es demasiado corta."
#: lib/mobilizon/users/user.ex:138
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:138
msgid "The registration token is already in use, this looks like an issue on our side." msgid "The registration token is already in use, this looks like an issue on our side."
msgstr "" msgstr ""
"El token de registro ya está en uso, esto parece un problema de nuestra " "El token de registro ya está en uso, esto parece un problema de nuestra "
"parte." "parte."
#: lib/mobilizon/users/user.ex:104
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:104
msgid "This email is already used." msgid "This email is already used."
msgstr "Este correo electrónico ya está en uso." msgstr "Este correo electrónico ya está en uso."
#: lib/graphql/error.ex:88
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:88
msgid "Post not found" msgid "Post not found"
msgstr "Informe no encontrado" msgstr "Informe no encontrado"
#: lib/graphql/error.ex:75
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:75
msgid "Invalid arguments passed" msgid "Invalid arguments passed"
msgstr "Se pasaron argumentos no válidos" msgstr "Se pasaron argumentos no válidos"
#: lib/graphql/error.ex:81
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:81
msgid "Invalid credentials" msgid "Invalid credentials"
msgstr "Credenciales no válidas" msgstr "Credenciales no válidas"
#: lib/graphql/error.ex:79
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:79
msgid "Reset your password to login" msgid "Reset your password to login"
msgstr "Restablezca su contraseña para iniciar sesión" msgstr "Restablezca su contraseña para iniciar sesión"
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
msgid "Resource not found" msgid "Resource not found"
msgstr "Recurso no encontrado" msgstr "Recurso no encontrado"
#: lib/graphql/error.ex:93
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:93
msgid "Something went wrong" msgid "Something went wrong"
msgstr "Algo salió mal" msgstr "Algo salió mal"
#: lib/graphql/error.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:74
msgid "Unknown Resource" msgid "Unknown Resource"
msgstr "Recurso desconocido" msgstr "Recurso desconocido"
#: lib/graphql/error.ex:84
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:84
msgid "You don't have permission to do this" msgid "You don't have permission to do this"
msgstr "No tienes permiso para hacer esto" msgstr "No tienes permiso para hacer esto"
#: lib/graphql/error.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:76
msgid "You need to be logged in" msgid "You need to be logged in"
msgstr "Debes iniciar sesión" msgstr "Debes iniciar sesión"
#: lib/graphql/resolvers/member.ex:116
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "No puedes aceptar esta invitación con este perfil." msgstr "No puedes aceptar esta invitación con este perfil."
#: lib/graphql/resolvers/member.ex:134
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "No puedes rechazar esta invitación con este perfil." msgstr "No puedes rechazar esta invitación con este perfil."
#: lib/graphql/resolvers/media.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/media.ex:62
msgid "File doesn't have an allowed MIME type." msgid "File doesn't have an allowed MIME type."
msgstr "El archivo no tiene un tipo MIME permitido." msgstr "El archivo no tiene un tipo MIME permitido."
#: lib/graphql/resolvers/group.ex:167
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "El perfil no es miembro del grupo" msgstr "El perfil no es miembro del grupo"
#: lib/graphql/resolvers/event.ex:284
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:284
msgid "You can't edit this event." msgid "You can't edit this event."
msgstr "No puedes borrar este evento." msgstr "No puedes borrar este evento."
#: lib/graphql/resolvers/event.ex:287
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:287
msgid "You can't attribute this event to this profile." msgid "You can't attribute this event to this profile."
msgstr "No puedes rechazar esta invitación con este perfil." msgstr "No puedes rechazar esta invitación con este perfil."
#: lib/graphql/resolvers/member.ex:137
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "Esta invitación no existe." msgstr "Esta invitación no existe."
#: lib/graphql/resolvers/member.ex:179
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Este miembro ya ha sido rechazado." msgstr "Este miembro ya ha sido rechazado."
#: lib/graphql/resolvers/member.ex:186
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "No tiene derecho a eliminar este miembro." msgstr "No tiene derecho a eliminar este miembro."
#: lib/mobilizon/actors/actor.ex:351
#, elixir-format #, elixir-format
#: lib/mobilizon/actors/actor.ex:351
msgid "This username is already taken." msgid "This username is already taken."
msgstr "Este nombre de usuario ya está en uso." msgstr "Este nombre de usuario ya está en uso."
#: lib/graphql/resolvers/discussion.ex:73
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
"Debe proporcionar una identificación o un slug para acceder a una discusión" "Debe proporcionar una identificación o un slug para acceder a una discusión"
#: lib/graphql/resolvers/event.ex:245
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:245
msgid "Organizer profile is not owned by the user" msgid "Organizer profile is not owned by the user"
msgstr "El perfil del organizador no es propiedad del usuario" msgstr "El perfil del organizador no es propiedad del usuario"
#: lib/graphql/resolvers/participant.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:89
msgid "Profile ID provided is not the anonymous profile one" msgid "Profile ID provided is not the anonymous profile one"
msgstr "El ID de perfil proporcionado no es el del perfil anónimo" msgstr "El ID de perfil proporcionado no es el del perfil anónimo"
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
#: lib/graphql/resolvers/person.ex:250
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "La imagen proporcionada es demasiado pesada" msgstr "La imagen proporcionada es demasiado pesada"
#: lib/web/views/utils.ex:33
#, elixir-format #, elixir-format
#: lib/web/views/utils.ex:33
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "No se encontró el archivo de índice. Necesita recompilar el front-end." msgstr "No se encontró el archivo de índice. Necesita recompilar el front-end."
#: lib/graphql/resolvers/resource.ex:122
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Error al crear el recurso" msgstr "Error al crear el recurso"
#: lib/graphql/resolvers/user.ex:390
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:390
msgid "Invalid activation token" msgid "Invalid activation token"
msgstr "Token de activación no válido" msgstr "Token de activación no válido"
#: lib/graphql/resolvers/resource.ex:208
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "No se pueden recuperar los detalles del recurso de esta URL." msgstr "No se pueden recuperar los detalles del recurso de esta URL."
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "El perfil de moderador proporcionado no tiene permiso para este evento"

View File

@ -1017,8 +1017,8 @@ msgstr ""
"sähköpostiosoite on vaihdettu seuraavaan osoitteeseen:" "sähköpostiosoite on vaihdettu seuraavaan osoitteeseen:"
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
"Jos et tehnyt vaihtoa itse, todennäköisesti joku muu on päässyt käyttämään " "Jos et tehnyt vaihtoa itse, todennäköisesti joku muu on päässyt käyttämään "
@ -1658,21 +1658,22 @@ msgstr "Tällä kokeilusivustolla voit koekäyttää Mobilizonia."
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "%{name} syöte" msgstr "%{name} syöte"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "%{actor} yksityistapahtumien syöte palvelimella %{instance}" msgstr "%{actor} yksityistapahtumien syöte palvelimella %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "%{actor} julkisten tapahtumien syöte palvelimella %{instance}" msgstr "%{actor} julkisten tapahtumien syöte palvelimella %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "%{email}-syöte palvelimella %{instance}" msgstr "%{email}-syöte palvelimella %{instance}"
@ -1695,3 +1696,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "Mobilizon-palvelin näyttää olevan väliakaisesti alhaalla." msgstr "Mobilizon-palvelin näyttää olevan väliakaisesti alhaalla."
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
msgstr "Merkkiä ei voi päivittää" msgstr "Merkkiä ei voi päivittää"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "Nykyinen profiili ei kuulu tähän ryhmään" msgstr "Nykyinen profiili ei kuulu tähän ryhmään"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "Nykyinen profiili ei ole valitun ryhmän ylläpitäjä" msgstr "Nykyinen profiili ei ole valitun ryhmän ylläpitäjä"
@ -115,13 +115,13 @@ msgid "Error while saving user settings"
msgstr "Käyttäjän asetusten tallennuksessa tapahtui virhe" msgstr "Käyttäjän asetusten tallennuksessa tapahtui virhe"
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Ryhmää ei löydy" msgstr "Ryhmää ei löydy"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "Tunnuksella %{id} ei löydy ryhmää" msgstr "Tunnuksella %{id} ei löydy ryhmää"
@ -132,7 +132,7 @@ msgstr ""
"Kirjautuminen epäonnistui - joko sähköpostiosoitteesi tai salasana on väärin." "Kirjautuminen epäonnistui - joko sähköpostiosoitteesi tai salasana on väärin."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Jäsentä ei löydy" msgstr "Jäsentä ei löydy"
@ -148,16 +148,16 @@ msgid "No user to validate with this email was found"
msgstr "Käyttäjää tämän sähköpostin vahvistamiseksi ei löydy" msgstr "Käyttäjää tämän sähköpostin vahvistamiseksi ei löydy"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy" msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "Profiili ei ole tunnistautuneen käyttäjän omistuksessa" msgstr "Profiili ei ole tunnistautuneen käyttäjän omistuksessa"
@ -225,22 +225,22 @@ msgid "User requested is not logged-in"
msgstr "Pyydetty käyttäjä ei ole kirjautuneena sisään" msgstr "Pyydetty käyttäjä ei ole kirjautuneena sisään"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Olet jo tämän ryhmän jäsen" msgstr "Olet jo tämän ryhmän jäsen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "Et voi poistua ryhmästä, koska olet sen ainoa ylläpitäjä" msgstr "Et voi poistua ryhmästä, koska olet sen ainoa ylläpitäjä"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "Et voi liittyä tähän ryhmään" msgstr "Et voi liittyä tähän ryhmään"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "Voit nähdä ryhmäluettelon vain, jos olet moderaattori." msgstr "Voit nähdä ryhmäluettelon vain, jos olet moderaattori."
@ -255,7 +255,7 @@ msgid "You need to be logged-in to change your password"
msgstr "Salasanan voi vaihtaa vain sisäänkirjautuneena" msgstr "Salasanan voi vaihtaa vain sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "Ryhmän voi poistaa vain sisäänkirjautuneena" msgstr "Ryhmän voi poistaa vain sisäänkirjautuneena"
@ -265,17 +265,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "Voit poistaa tilisi vain sisäänkirjautuneena" msgstr "Voit poistaa tilisi vain sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena" msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "Voit poistua ryhmästä vain sisäänkirjautuneena" msgstr "Voit poistua ryhmästä vain sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "Voit päivittää ryhmää vain sisäänkirjautuneena" msgstr "Voit päivittää ryhmää vain sisäänkirjautuneena"
@ -340,12 +340,12 @@ msgid "Anonymous participation is not enabled"
msgstr "Anonyymi osallistuminen ei ole käytössä" msgstr "Anonyymi osallistuminen ei ole käytössä"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "Ryhmän viimeistä ylläpitäjää ei voi poistaa" msgstr "Ryhmän viimeistä ylläpitäjää ei voi poistaa"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "Käyttäjän viimeistä identiteettiä ei voi poistaa" msgstr "Käyttäjän viimeistä identiteettiä ei voi poistaa"
@ -392,7 +392,7 @@ msgid "Internal Error"
msgstr "Sisäinen virhe" msgstr "Sisäinen virhe"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Tunnisteella %{id} ei ole keskustelua" msgstr "Tunnisteella %{id} ei ole keskustelua"
@ -402,7 +402,7 @@ msgid "No profile found for user"
msgstr "Käyttäjälle ei löydy profiilia" msgstr "Käyttäjälle ei löydy profiilia"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "Kyseistä syötemerkkiä ei ole" msgstr "Kyseistä syötemerkkiä ei ole"
@ -419,12 +419,12 @@ msgid "Participant not found"
msgstr "Osallistujaa ei löydy" msgstr "Osallistujaa ei löydy"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "Tunnuksella %{id} ei löydy henkilöä" msgstr "Tunnuksella %{id} ei löydy henkilöä"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "Käyttäjänimellä %{username} ei löydy henkilöä" msgstr "Käyttäjänimellä %{username} ei löydy henkilöä"
@ -458,15 +458,10 @@ msgid "Profile is not member of group"
msgstr "Profiili ei ole ryhmän jäsen" msgstr "Profiili ei ole ryhmän jäsen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Profiilia ei löydy" msgstr "Profiilia ei löydy"
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr "Annetulla moderaattoriprofiililla ei ole oikeuksia tähän tapahtumaan"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -499,22 +494,22 @@ msgid "Todo list doesn't exist"
msgstr "Tehtäväluetteloa ei ole" msgstr "Tehtäväluetteloa ei ole"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "Merkkiä ei ole" msgstr "Merkkiä ei ole"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "Merkki ei ole kelvollinen UUID" msgstr "Merkki ei ole kelvollinen UUID"
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "Käyttäjää ei löydy" msgstr "Käyttäjää ei löydy"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Sinulla on jo profiili tälle käyttäjälle" msgstr "Sinulla on jo profiili tälle käyttäjälle"
@ -529,7 +524,7 @@ msgid "You are not a member of this group"
msgstr "Et ole ryhmän jäsen" msgstr "Et ole ryhmän jäsen"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "Et ole ryhmän moderaattori tai ylläpitäjä" msgstr "Et ole ryhmän moderaattori tai ylläpitäjä"
@ -549,7 +544,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "Ilman yhteyttä ei voi poistaa kommenttia" msgstr "Ilman yhteyttä ei voi poistaa kommenttia"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "Ilman yhteyttä ei voi poistaa syötemerkkiä" msgstr "Ilman yhteyttä ei voi poistaa syötemerkkiä"
@ -566,7 +561,7 @@ msgstr ""
"Et voi poistua tapahtumasta, koska olet ainoa tapahtuman luonut osallistuja" "Et voi poistua tapahtumasta, koska olet ainoa tapahtuman luonut osallistuja"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
"Et voi vaihtaa jäsenrooliasi ryhmässä nykyistä alemmaksi, koska olet ainoa " "Et voi vaihtaa jäsenrooliasi ryhmässä nykyistä alemmaksi, koska olet ainoa "
@ -588,12 +583,12 @@ msgid "You cannot invite to this group"
msgstr "Et voi kutsua tähän ryhmään" msgstr "Et voi kutsua tähän ryhmään"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "Sinulla ei ole oikeutta poistaa tätä merkkiä" msgstr "Sinulla ei ole oikeutta poistaa tätä merkkiä"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "Toimintalokien katselu vain moderaattorille sisäänkirjautuneena" msgstr "Toimintalokien katselu vain moderaattorille sisäänkirjautuneena"
@ -613,22 +608,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "Raportin katselu vain moderaattorille sisäänkirjautuneena" msgstr "Raportin katselu vain moderaattorille sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "Pääsy ylläpitoasetuksiin vain ylläpitäjälle sisäänkirjautuneena" msgstr "Pääsy ylläpitoasetuksiin vain ylläpitäjälle sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "Pääsy koontinäytön tilastoihin vain ylläpitäjälle sisäänkirjautuneena" msgstr "Pääsy koontinäytön tilastoihin vain ylläpitäjälle sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "Ylläpitoasetusten tallennus vain ylläpitäjälle sisäänkirjautuneena" msgstr "Ylläpitoasetusten tallennus vain ylläpitäjälle sisäänkirjautuneena"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Pääsy keskusteluihin vain sisäänkirjautuneena" msgstr "Pääsy keskusteluihin vain sisäänkirjautuneena"
@ -768,12 +763,12 @@ msgid "You need to be logged in"
msgstr "Kirjaudu ensin sisään" msgstr "Kirjaudu ensin sisään"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "Et voi hyväksyä kutsua tällä profiililla." msgstr "Et voi hyväksyä kutsua tällä profiililla."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "Et voi hylätä kutsua tällä profiililla." msgstr "Et voi hylätä kutsua tällä profiililla."
@ -783,7 +778,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "Tiedostolla ei ole sallittua MIME-tyyppiä." msgstr "Tiedostolla ei ole sallittua MIME-tyyppiä."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "Profiili ei ole ryhmän ylläpitäjä" msgstr "Profiili ei ole ryhmän ylläpitäjä"
@ -798,17 +793,17 @@ msgid "You can't attribute this event to this profile."
msgstr "Et voi yhdistää tapahtumaa tähän profiiliin." msgstr "Et voi yhdistää tapahtumaa tähän profiiliin."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "Kutsua ei ole." msgstr "Kutsua ei ole."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Jäsen on jo hylätty." msgstr "Jäsen on jo hylätty."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "Sinulla ei ole oikeutta poistaa jäsentä." msgstr "Sinulla ei ole oikeutta poistaa jäsentä."
@ -818,7 +813,7 @@ msgid "This username is already taken."
msgstr "Käyttäjänimi on jo käytössä." msgstr "Käyttäjänimi on jo käytössä."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "Keskusteluun pääsemiseen vaaditaan tunniste tai polkutunnus" msgstr "Keskusteluun pääsemiseen vaaditaan tunniste tai polkutunnus"
@ -833,8 +828,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "Annettu profiilitunniste ei kuulu anonyymille profiilille" msgstr "Annettu profiilitunniste ei kuulu anonyymille profiilille"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "Toimitettu kuva on liian suuri" msgstr "Toimitettu kuva on liian suuri"
@ -843,7 +838,7 @@ msgstr "Toimitettu kuva on liian suuri"
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Virhe raporttia tallennettaessa" msgstr "Virhe raporttia tallennettaessa"
@ -857,3 +852,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Annetulla moderaattoriprofiililla ei ole oikeuksia tähän tapahtumaan"

View File

@ -845,8 +845,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "Salut ! Juste un petite note pour confirmer que l'adresse e-mail liée à votre compte sur %{host} a été changée depuis celle-ci à :" msgstr "Salut ! Juste un petite note pour confirmer que l'adresse e-mail liée à votre compte sur %{host} a été changée depuis celle-ci à :"
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
msgstr "Si vous n'avez pas effectué cette modification vous-même, il est probable que quelqu'un ait eu accès à votre compte %{host}. Veuillez vous connecter et changer immédiatement votre mot de passe. Si vous ne pouvez pas vous connecter, contactez l'administrateur·ice sur %{host}." msgstr "Si vous n'avez pas effectué cette modification vous-même, il est probable que quelqu'un ait eu accès à votre compte %{host}. Veuillez vous connecter et changer immédiatement votre mot de passe. Si vous ne pouvez pas vous connecter, contactez l'administrateur·ice sur %{host}."
@ -1371,21 +1371,22 @@ msgstr "Ceci est un site de démonstration permettant de tester Mobilizon."
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "Flux de %{name}" msgstr "Flux de %{name}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "Flux privé des événements de %{actor} sur %{instance}" msgstr "Flux privé des événements de %{actor} sur %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "Flux public des événements de %{actor} sur %{instance}" msgstr "Flux public des événements de %{actor} sur %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "Flux pour %{email} sur %{instance}" msgstr "Flux pour %{email} sur %{instance}"
@ -1408,3 +1409,8 @@ msgstr "Détails techniques"
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "Le serveur Mobilizon %{instance} semble être temporairement hors-service." msgstr "Le serveur Mobilizon %{instance} semble être temporairement hors-service."
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -96,608 +96,764 @@ msgstr "doit être supérieur ou égal à %{number}"
msgid "must be equal to %{number}" msgid "must be equal to %{number}"
msgstr "doit être égal à %{number}" msgstr "doit être égal à %{number}"
#, elixir-format
#: lib/graphql/resolvers/user.ex:100 #: lib/graphql/resolvers/user.ex:100
msgid "Cannot refresh the token" msgid "Cannot refresh the token"
msgstr "Impossible de rafraîchir le jeton" msgstr "Impossible de rafraîchir le jeton"
#: lib/graphql/resolvers/group.ex:198 #, elixir-format
#: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "Le profil actuel n'est pas un membre de ce groupe" msgstr "Le profil actuel n'est pas un membre de ce groupe"
#: lib/graphql/resolvers/group.ex:202 #, elixir-format
#: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" 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é" msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné"
#, elixir-format
#: lib/graphql/resolvers/user.ex:501 #: lib/graphql/resolvers/user.ex:501
msgid "Error while saving user settings" msgid "Error while saving user settings"
msgstr "Erreur lors de la sauvegarde des paramètres utilisateur" msgstr "Erreur lors de la sauvegarde des paramètres utilisateur"
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 lib/graphql/resolvers/group.ex:226 #, elixir-format
#: lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Groupe non trouvé" msgstr "Groupe non trouvé"
#: lib/graphql/resolvers/group.ex:66 #, elixir-format
#: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "Groupe avec l'ID %{id} non trouvé" msgstr "Groupe avec l'ID %{id} non trouvé"
#, elixir-format
#: lib/graphql/resolvers/user.ex:80 #: lib/graphql/resolvers/user.ex:80
msgid "Impossible to authenticate, either your email or password are invalid." 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." msgstr "Impossible de s'authentifier, votre adresse e-mail ou bien votre mot de passe sont invalides."
#: lib/graphql/resolvers/group.ex:258 #, elixir-format
#: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Membre non trouvé" msgstr "Membre non trouvé"
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 lib/graphql/resolvers/user.ex:406 #, elixir-format
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
#: lib/graphql/resolvers/user.ex:406
msgid "No profile found for the moderator user" msgid "No profile found for the moderator user"
msgstr "Aucun profil trouvé pour l'utilisateur modérateur" msgstr "Aucun profil trouvé pour l'utilisateur modérateur"
#, elixir-format
#: lib/graphql/resolvers/user.ex:193 #: lib/graphql/resolvers/user.ex:193
msgid "No user to validate with this email was found" msgid "No user to validate with this email was found"
msgstr "Aucun·e utilisateur·ice à valider avec cet email n'a été trouvé·e" msgstr "Aucun·e utilisateur·ice à valider avec cet email n'a été trouvé·e"
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #, elixir-format
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "Aucun·e utilisateur·ice avec cette adresse e-mail n'a été trouvé·e" msgstr "Aucun·e utilisateur·ice avec cette adresse e-mail n'a été trouvé·e"
#: lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/participant.ex:28 #, elixir-format
#: lib/graphql/resolvers/participant.ex:159 lib/graphql/resolvers/participant.ex:188 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 lib/graphql/resolvers/person.ex:277 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "Le profil n'est pas possédé par l'utilisateur connecté" msgstr "Le profil n'est pas possédé par l'utilisateur connecté"
#, elixir-format
#: lib/graphql/resolvers/user.ex:123 #: lib/graphql/resolvers/user.ex:123
msgid "Registrations are not open" msgid "Registrations are not open"
msgstr "Les inscriptions ne sont pas ouvertes" msgstr "Les inscriptions ne sont pas ouvertes"
#, elixir-format
#: lib/graphql/resolvers/user.ex:331 #: lib/graphql/resolvers/user.ex:331
msgid "The current password is invalid" msgid "The current password is invalid"
msgstr "Le mot de passe actuel est invalid" msgstr "Le mot de passe actuel est invalid"
#, elixir-format
#: lib/graphql/resolvers/user.ex:376 #: lib/graphql/resolvers/user.ex:376
msgid "The new email doesn't seem to be valid" msgid "The new email doesn't seem to be valid"
msgstr "La nouvelle adresse e-mail ne semble pas être valide" msgstr "La nouvelle adresse e-mail ne semble pas être valide"
#, elixir-format
#: lib/graphql/resolvers/user.ex:373 #: lib/graphql/resolvers/user.ex:373
msgid "The new email must be different" msgid "The new email must be different"
msgstr "La nouvelle adresse e-mail doit être différente" msgstr "La nouvelle adresse e-mail doit être différente"
#, elixir-format
#: lib/graphql/resolvers/user.ex:334 #: lib/graphql/resolvers/user.ex:334
msgid "The new password must be different" msgid "The new password must be different"
msgstr "Le nouveau mot de passe doit être différent" msgstr "Le nouveau mot de passe doit être différent"
#: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428 lib/graphql/resolvers/user.ex:431 #, elixir-format
#: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428
#: lib/graphql/resolvers/user.ex:431
msgid "The password provided is invalid" msgid "The password provided is invalid"
msgstr "Le mot de passe fourni est invalide" msgstr "Le mot de passe fourni est invalide"
#, elixir-format
#: lib/graphql/resolvers/user.ex:338 #: lib/graphql/resolvers/user.ex:338
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr "" msgstr ""
"Le mot de passe que vous avez choisi est trop court. Merci de vous assurer que votre mot de passe contienne au moins " "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." "6 caractères."
#, elixir-format
#: lib/graphql/resolvers/user.ex:214 #: lib/graphql/resolvers/user.ex:214
msgid "This user can't reset their password" msgid "This user can't reset their password"
msgstr "Cet·te utilisateur·ice ne peut pas réinitialiser son mot de passe" msgstr "Cet·te utilisateur·ice ne peut pas réinitialiser son mot de passe"
#, elixir-format
#: lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:76
msgid "This user has been disabled" msgid "This user has been disabled"
msgstr "Cet·te utilisateur·ice a été désactivé·e" msgstr "Cet·te utilisateur·ice a été désactivé·e"
#, elixir-format
#: lib/graphql/resolvers/user.ex:177 #: lib/graphql/resolvers/user.ex:177
msgid "Unable to validate user" msgid "Unable to validate user"
msgstr "Impossible de valider l'utilisateur·ice" msgstr "Impossible de valider l'utilisateur·ice"
#, elixir-format
#: lib/graphql/resolvers/user.ex:409 #: lib/graphql/resolvers/user.ex:409
msgid "User already disabled" msgid "User already disabled"
msgstr "L'utilisateur·ice est déjà désactivé·e" msgstr "L'utilisateur·ice est déjà désactivé·e"
#, elixir-format
#: lib/graphql/resolvers/user.ex:476 #: lib/graphql/resolvers/user.ex:476
msgid "User requested is not logged-in" msgid "User requested is not logged-in"
msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e" msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e"
#: lib/graphql/resolvers/group.ex:232 #, elixir-format
#: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Vous êtes déjà membre de ce groupe" msgstr "Vous êtes déjà membre de ce groupe"
#: lib/graphql/resolvers/group.ex:265 #, elixir-format
#: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" 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" msgstr "Vous ne pouvez pas quitter ce groupe car vous en êtes le ou la seul·e administrateur·ice"
#: lib/graphql/resolvers/group.ex:229 #, elixir-format
#: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "Vous ne pouvez pas rejoindre ce groupe" msgstr "Vous ne pouvez pas rejoindre ce groupe"
#: lib/graphql/resolvers/group.ex:94 #, elixir-format
#: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "Vous ne pouvez pas lister les groupes sauf à être modérateur·ice." msgstr "Vous ne pouvez pas lister les groupes sauf à être modérateur·ice."
#, elixir-format
#: lib/graphql/resolvers/user.ex:381 #: lib/graphql/resolvers/user.ex:381
msgid "You need to be logged-in to change your email" msgid "You need to be logged-in to change your email"
msgstr "Vous devez être connecté·e pour changer votre adresse e-mail" msgstr "Vous devez être connecté·e pour changer votre adresse e-mail"
#, elixir-format
#: lib/graphql/resolvers/user.ex:346 #: lib/graphql/resolvers/user.ex:346
msgid "You need to be logged-in to change your password" msgid "You need to be logged-in to change your password"
msgstr "Vous devez être connecté·e pour changer votre mot de passe" msgstr "Vous devez être connecté·e pour changer votre mot de passe"
#: lib/graphql/resolvers/group.ex:207 #, elixir-format
#: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "Vous devez être connecté·e pour supprimer un groupe" msgstr "Vous devez être connecté·e pour supprimer un groupe"
#, elixir-format
#: lib/graphql/resolvers/user.ex:436 #: lib/graphql/resolvers/user.ex:436
msgid "You need to be logged-in to delete your account" msgid "You need to be logged-in to delete your account"
msgstr "Vous devez être connecté·e pour supprimer votre compte" msgstr "Vous devez être connecté·e pour supprimer votre compte"
#: lib/graphql/resolvers/group.ex:237 #, elixir-format
#: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Vous devez être connecté·e pour rejoindre un groupe" msgstr "Vous devez être connecté·e pour rejoindre un groupe"
#: lib/graphql/resolvers/group.ex:270 #, elixir-format
#: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "Vous devez être connecté·e pour quitter un groupe" msgstr "Vous devez être connecté·e pour quitter un groupe"
#: lib/graphql/resolvers/group.ex:172 #, elixir-format
#: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe" msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
#, elixir-format
#: lib/graphql/resolvers/user.ex:105 #: lib/graphql/resolvers/user.ex:105
msgid "You need to have an existing token to get a refresh token" 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" msgstr "Vous devez avoir un jeton existant pour obtenir un jeton de rafraîchissement"
#, elixir-format
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221 #: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
msgid "You requested again a confirmation email too soon" msgid "You requested again a confirmation email too soon"
msgstr "Vous avez à nouveau demandé un email de confirmation trop vite" msgstr "Vous avez à nouveau demandé un email de confirmation trop vite"
#, elixir-format
#: lib/graphql/resolvers/user.ex:126 #: lib/graphql/resolvers/user.ex:126
msgid "Your email is not on the allowlist" msgid "Your email is not on the allowlist"
msgstr "Votre adresse e-mail n'est pas sur la liste d'autorisations" msgstr "Votre adresse e-mail n'est pas sur la liste d'autorisations"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94 #: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
msgid "Error while performing background task" msgid "Error while performing background task"
msgstr "Erreur lors de l'exécution d'une tâche d'arrière-plan" msgstr "Erreur lors de l'exécution d'une tâche d'arrière-plan"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:27 #: lib/graphql/resolvers/actor.ex:27
msgid "No profile found with this ID" msgid "No profile found with this ID"
msgstr "Aucun profil trouvé avec cet ID" msgstr "Aucun profil trouvé avec cet ID"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91 #: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
msgid "No remote profile found with this ID" msgid "No remote profile found with this ID"
msgstr "Aucun profil distant trouvé avec cet ID" msgstr "Aucun profil distant trouvé avec cet ID"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:69 #: lib/graphql/resolvers/actor.ex:69
msgid "Only moderators and administrators can suspend a profile" msgid "Only moderators and administrators can suspend a profile"
msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent suspendre un profil" msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent suspendre un profil"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:99 #: lib/graphql/resolvers/actor.ex:99
msgid "Only moderators and administrators can unsuspend a profile" 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" 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:24 #: lib/graphql/resolvers/actor.ex:24
msgid "Only remote profiles may be refreshed" msgid "Only remote profiles may be refreshed"
msgstr "Seuls les profils distants peuvent être rafraîchis" msgstr "Seuls les profils distants peuvent être rafraîchis"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:61 #: lib/graphql/resolvers/actor.ex:61
msgid "Profile already suspended" msgid "Profile already suspended"
msgstr "Le profil est déjà suspendu" msgstr "Le profil est déjà suspendu"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:92 #: lib/graphql/resolvers/participant.ex:92
msgid "A valid email is required by your instance" msgid "A valid email is required by your instance"
msgstr "Une adresse e-mail valide est requise par votre instance" msgstr "Une adresse e-mail valide est requise par votre instance"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:86 #: lib/graphql/resolvers/participant.ex:86
msgid "Anonymous participation is not enabled" msgid "Anonymous participation is not enabled"
msgstr "La participation anonyme n'est pas activée" msgstr "La participation anonyme n'est pas activée"
#: lib/graphql/resolvers/person.ex:195 #, elixir-format
#: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "Impossible de supprimer le ou la dernier·ère administrateur·ice d'un groupe" msgstr "Impossible de supprimer le ou la dernier·ère administrateur·ice d'un groupe"
#: lib/graphql/resolvers/person.ex:192 #, elixir-format
#: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "Impossible de supprimer le dernier profil d'un·e utilisateur·ice" msgstr "Impossible de supprimer le dernier profil d'un·e utilisateur·ice"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:108 #: lib/graphql/resolvers/comment.ex:108
msgid "Comment is already deleted" msgid "Comment is already deleted"
msgstr "Le commentaire est déjà supprimé" msgstr "Le commentaire est déjà supprimé"
#, elixir-format
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62 #: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
msgid "Discussion not found" msgid "Discussion not found"
msgstr "Discussion non trouvée" msgstr "Discussion non trouvée"
#, elixir-format
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 #: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
msgid "Error while saving report" msgid "Error while saving report"
msgstr "Erreur lors de la sauvegarde du signalement" msgstr "Erreur lors de la sauvegarde du signalement"
#, elixir-format
#: lib/graphql/resolvers/report.ex:96 #: lib/graphql/resolvers/report.ex:96
msgid "Error while updating report" msgid "Error while updating report"
msgstr "Erreur lors de la mise à jour du signalement" msgstr "Erreur lors de la mise à jour du signalement"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:127 #: lib/graphql/resolvers/participant.ex:127
msgid "Event id not found" msgid "Event id not found"
msgstr "ID de l'événement non trouvé" msgstr "ID de l'événement non trouvé"
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281 lib/graphql/resolvers/event.ex:325 #, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
#: lib/graphql/resolvers/event.ex:325
msgid "Event not found" msgid "Event not found"
msgstr "Événement non trouvé" msgstr "Événement non trouvé"
#: lib/graphql/resolvers/participant.ex:83 lib/graphql/resolvers/participant.ex:124 #, elixir-format
#: lib/graphql/resolvers/participant.ex:156 #: lib/graphql/resolvers/participant.ex:83
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
msgid "Event with this ID %{id} doesn't exist" msgid "Event with this ID %{id} doesn't exist"
msgstr "L'événement avec cet ID %{id} n'existe pas" msgstr "L'événement avec cet ID %{id} n'existe pas"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:99 #: lib/graphql/resolvers/participant.ex:99
msgid "Internal Error" msgid "Internal Error"
msgstr "Erreur interne" msgstr "Erreur interne"
#: lib/graphql/resolvers/discussion.ex:201 #, elixir-format
#: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Aucune discussion avec l'ID %{id}" msgstr "Aucune discussion avec l'ID %{id}"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 #: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
msgid "No profile found for user" msgid "No profile found for user"
msgstr "Aucun profil trouvé pour l'utilisateur modérateur" msgstr "Aucun profil trouvé pour l'utilisateur modérateur"
#: lib/graphql/resolvers/feed_token.ex:63 #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "Aucun jeton de flux correspondant" msgstr "Aucun jeton de flux correspondant"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:237 #: lib/graphql/resolvers/participant.ex:237
msgid "Participant already has role %{role}" msgid "Participant already has role %{role}"
msgstr "Le ou la participant·e a déjà le rôle %{role}" msgstr "Le ou la participant·e a déjà le rôle %{role}"
#: lib/graphql/resolvers/participant.ex:169 lib/graphql/resolvers/participant.ex:198 #, elixir-format
#: lib/graphql/resolvers/participant.ex:230 lib/graphql/resolvers/participant.ex:240 #: lib/graphql/resolvers/participant.ex:169
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
#: lib/graphql/resolvers/participant.ex:240
msgid "Participant not found" msgid "Participant not found"
msgstr "Participant·e non trouvé·e" msgstr "Participant·e non trouvé·e"
#: lib/graphql/resolvers/person.ex:29 #, elixir-format
#: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "Personne avec l'ID %{id} non trouvé" msgstr "Personne avec l'ID %{id} non trouvé"
#: lib/graphql/resolvers/person.ex:51 #, elixir-format
#: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "Personne avec le nom %{name} non trouvé" msgstr "Personne avec le nom %{name} non trouvé"
#, elixir-format
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200 #: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
msgid "Post ID is not a valid ID" msgid "Post ID is not a valid ID"
msgstr "L'ID du billet n'est pas un ID valide" msgstr "L'ID du billet n'est pas un ID valide"
#, elixir-format
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203 #: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
msgid "Post doesn't exist" msgid "Post doesn't exist"
msgstr "Le billet n'existe pas" msgstr "Le billet n'existe pas"
#, elixir-format
#: lib/graphql/resolvers/member.ex:83 #: lib/graphql/resolvers/member.ex:83
msgid "Profile invited doesn't exist" msgid "Profile invited doesn't exist"
msgstr "Le profil invité n'existe pas" msgstr "Le profil invité n'existe pas"
#, elixir-format
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 #: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
msgid "Profile is already a member of this group" msgid "Profile is already a member of this group"
msgstr "Ce profil est déjà membre de ce groupe" msgstr "Ce profil est déjà membre de ce groupe"
#: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 lib/graphql/resolvers/post.ex:206 #, elixir-format
#: lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 lib/graphql/resolvers/resource.ex:157 #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173
#: lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 lib/graphql/resolvers/todos.ex:81 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128
#: lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 lib/graphql/resolvers/todos.ex:194 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/todos.ex:222 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171
#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222
msgid "Profile is not member of group" msgid "Profile is not member of group"
msgstr "Le profil n'est pas un·e membre du groupe" msgstr "Le profil n'est pas un·e membre du groupe"
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #, elixir-format
#: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Profile non trouvé" msgstr "Profile non trouvé"
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234 #, elixir-format
msgid "Provided moderator profile doesn't have permission on this event"
msgstr "Le profil modérateur fourni n'a pas de permissions sur cet événement"
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
msgstr "Groupe non trouvé" msgstr "Groupe non trouvé"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183 #: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
msgid "Resource doesn't exist" msgid "Resource doesn't exist"
msgstr "La ressource n'existe pas" msgstr "La ressource n'existe pas"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:120 #: lib/graphql/resolvers/participant.ex:120
msgid "The event has already reached its maximum capacity" msgid "The event has already reached its maximum capacity"
msgstr "L'événement a déjà atteint sa capacité maximale" msgstr "L'événement a déjà atteint sa capacité maximale"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:260 #: lib/graphql/resolvers/participant.ex:260
msgid "This token is invalid" msgid "This token is invalid"
msgstr "Ce jeton est invalide" msgstr "Ce jeton est invalide"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 #: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
msgid "Todo doesn't exist" msgid "Todo doesn't exist"
msgstr "Ce todo n'existe pas" msgstr "Ce todo n'existe pas"
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 lib/graphql/resolvers/todos.ex:216 #, elixir-format
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
#: lib/graphql/resolvers/todos.ex:216
msgid "Todo list doesn't exist" msgid "Todo list doesn't exist"
msgstr "Cette todo-liste n'existe pas" msgstr "Cette todo-liste n'existe pas"
#: lib/graphql/resolvers/feed_token.ex:69 #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "Ce jeton n'existe pas" msgstr "Ce jeton n'existe pas"
#: lib/graphql/resolvers/feed_token.ex:66 #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "Ce jeton n'est pas un UUID valide" msgstr "Ce jeton n'est pas un UUID valide"
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "Utilisateur·ice non trouvé·e" msgstr "Utilisateur·ice non trouvé·e"
#: lib/graphql/resolvers/person.ex:256 #, elixir-format
#: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Vous avez déjà un profil pour cet utilisateur" msgstr "Vous avez déjà un profil pour cet utilisateur"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:130 #: lib/graphql/resolvers/participant.ex:130
msgid "You are already a participant of this event" msgid "You are already a participant of this event"
msgstr "Vous êtes déjà un·e participant·e à cet événement" msgstr "Vous êtes déjà un·e participant·e à cet événement"
#, elixir-format
#: lib/graphql/resolvers/member.ex:86 #: lib/graphql/resolvers/member.ex:86
msgid "You are not a member of this group" msgid "You are not a member of this group"
msgstr "Vous n'êtes pas membre de ce groupe" msgstr "Vous n'êtes pas membre de ce groupe"
#: lib/graphql/resolvers/member.ex:151 #, elixir-format
#: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" 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" msgstr "Vous n'êtes pas administrateur·ice ou modérateur·ice de ce groupe"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:54 #: lib/graphql/resolvers/comment.ex:54
msgid "You are not allowed to create a comment if not connected" 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" msgstr "Vous n'êtes pas autorisé·e à créer un commentaire si non connecté·e"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:41 #: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected" 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" msgstr "Vous n'êtes pas autorisé·e à créer un jeton de flux si non connecté·e"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:113 #: lib/graphql/resolvers/comment.ex:113
msgid "You are not allowed to delete a comment if not connected" 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" msgstr "Vous n'êtes pas autorisé·e à supprimer un commentaire si non connecté·e"
#: lib/graphql/resolvers/feed_token.ex:78 #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" 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" msgstr "Vous n'êtes pas autorisé·e à supprimer un jeton de flux si non connecté·e"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:76 #: lib/graphql/resolvers/comment.ex:76
msgid "You are not allowed to update a comment if not connected" 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" msgstr "Vous n'êtes pas autorisé·e à mettre à jour un commentaire si non connecté·e"
#: lib/graphql/resolvers/participant.ex:163 lib/graphql/resolvers/participant.ex:192 #, elixir-format
#: lib/graphql/resolvers/participant.ex:163
#: lib/graphql/resolvers/participant.ex:192
msgid "You can't leave event because you're the only event creator participant" 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" msgstr "Vous ne pouvez pas quitter cet événement car vous en êtes le ou la seule créateur·ice participant"
#: lib/graphql/resolvers/member.ex:155 #, elixir-format
#: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" 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 " "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" "administrateur·ice"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:104 #: lib/graphql/resolvers/comment.ex:104
msgid "You cannot delete this comment" msgid "You cannot delete this comment"
msgstr "Vous ne pouvez pas supprimer ce commentaire" msgstr "Vous ne pouvez pas supprimer ce commentaire"
#, elixir-format
#: lib/graphql/resolvers/event.ex:321 #: lib/graphql/resolvers/event.ex:321
msgid "You cannot delete this event" msgid "You cannot delete this event"
msgstr "Vous ne pouvez pas supprimer cet événement" msgstr "Vous ne pouvez pas supprimer cet événement"
#, elixir-format
#: lib/graphql/resolvers/member.ex:89 #: lib/graphql/resolvers/member.ex:89
msgid "You cannot invite to this group" msgid "You cannot invite to this group"
msgstr "Vous ne pouvez pas rejoindre ce groupe" msgstr "Vous ne pouvez pas rejoindre ce groupe"
#: lib/graphql/resolvers/feed_token.ex:72 #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "Vous n'avez pas la permission de supprimer ce jeton" msgstr "Vous n'avez pas la permission de supprimer ce jeton"
#: lib/graphql/resolvers/admin.ex:52 #, elixir-format
#: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" 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" 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:26 #: lib/graphql/resolvers/report.ex:26
msgid "You need to be logged-in and a moderator to list reports" 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" msgstr "Vous devez être connecté·e et une modérateur·ice pour lister les signalements"
#, elixir-format
#: lib/graphql/resolvers/report.ex:101 #: lib/graphql/resolvers/report.ex:101
msgid "You need to be logged-in and a moderator to update a report" 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" msgstr "Vous devez être connecté·e et une modérateur·ice pour modifier un signalement"
#, elixir-format
#: lib/graphql/resolvers/report.ex:41 #: lib/graphql/resolvers/report.ex:41
msgid "You need to be logged-in and a moderator to view a report" 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" msgstr "Vous devez être connecté·e pour et une modérateur·ice pour visionner un signalement"
#: lib/graphql/resolvers/admin.ex:236 #, elixir-format
#: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" 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" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux paramètres administrateur"
#: lib/graphql/resolvers/admin.ex:221 #, elixir-format
#: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" 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" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux panneau de statistiques"
#: lib/graphql/resolvers/admin.ex:260 #, elixir-format
#: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" 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" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour sauvegarder les paramètres administrateur"
#: lib/graphql/resolvers/discussion.ex:76 #, elixir-format
#: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Vous devez être connecté·e pour accéder aux discussions" msgstr "Vous devez être connecté·e pour accéder aux discussions"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:94 #: lib/graphql/resolvers/resource.ex:94
msgid "You need to be logged-in to access resources" msgid "You need to be logged-in to access resources"
msgstr "Vous devez être connecté·e pour supprimer un groupe" msgstr "Vous devez être connecté·e pour supprimer un groupe"
#, elixir-format
#: lib/graphql/resolvers/event.ex:256 #: lib/graphql/resolvers/event.ex:256
msgid "You need to be logged-in to create events" msgid "You need to be logged-in to create events"
msgstr "Vous devez être connecté·e pour créer des événements" msgstr "Vous devez être connecté·e pour créer des événements"
#, elixir-format
#: lib/graphql/resolvers/post.ex:140 #: lib/graphql/resolvers/post.ex:140
msgid "You need to be logged-in to create posts" msgid "You need to be logged-in to create posts"
msgstr "Vous devez être connecté·e pour quitter un groupe" msgstr "Vous devez être connecté·e pour quitter un groupe"
#, elixir-format
#: lib/graphql/resolvers/report.ex:74 #: lib/graphql/resolvers/report.ex:74
msgid "You need to be logged-in to create reports" msgid "You need to be logged-in to create reports"
msgstr "Vous devez être connecté·e pour quitter un groupe" msgstr "Vous devez être connecté·e pour quitter un groupe"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:133 #: lib/graphql/resolvers/resource.ex:133
msgid "You need to be logged-in to create resources" msgid "You need to be logged-in to create resources"
msgstr "Vous devez être connecté·e pour quitter un groupe" msgstr "Vous devez être connecté·e pour quitter un groupe"
#, elixir-format
#: lib/graphql/resolvers/event.ex:330 #: lib/graphql/resolvers/event.ex:330
msgid "You need to be logged-in to delete an event" msgid "You need to be logged-in to delete an event"
msgstr "Vous devez être connecté·e pour supprimer un groupe" msgstr "Vous devez être connecté·e pour supprimer un groupe"
#, elixir-format
#: lib/graphql/resolvers/post.ex:211 #: lib/graphql/resolvers/post.ex:211
msgid "You need to be logged-in to delete posts" msgid "You need to be logged-in to delete posts"
msgstr "Vous devez être connecté·e pour supprimer un groupe" msgstr "Vous devez être connecté·e pour supprimer un groupe"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:191 #: lib/graphql/resolvers/resource.ex:191
msgid "You need to be logged-in to delete resources" msgid "You need to be logged-in to delete resources"
msgstr "Vous devez être connecté·e pour supprimer un groupe" msgstr "Vous devez être connecté·e pour supprimer un groupe"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:104 #: lib/graphql/resolvers/participant.ex:104
msgid "You need to be logged-in to join an event" msgid "You need to be logged-in to join an event"
msgstr "Vous devez être connecté·e pour rejoindre un événement" msgstr "Vous devez être connecté·e pour rejoindre un événement"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:203 #: lib/graphql/resolvers/participant.ex:203
msgid "You need to be logged-in to leave an event" msgid "You need to be logged-in to leave an event"
msgstr "Vous devez être connecté·e pour quitter un groupe" msgstr "Vous devez être connecté·e pour quitter un groupe"
#, elixir-format
#: lib/graphql/resolvers/event.ex:295 #: lib/graphql/resolvers/event.ex:295
msgid "You need to be logged-in to update an event" msgid "You need to be logged-in to update an event"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe" msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
#, elixir-format
#: lib/graphql/resolvers/post.ex:178 #: lib/graphql/resolvers/post.ex:178
msgid "You need to be logged-in to update posts" msgid "You need to be logged-in to update posts"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe" msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:162 #: lib/graphql/resolvers/resource.ex:162
msgid "You need to be logged-in to update resources" msgid "You need to be logged-in to update resources"
msgstr "Vous devez être connecté·e pour mettre à jour un groupe" msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:218 #: lib/graphql/resolvers/resource.ex:218
msgid "You need to be logged-in to view a resource preview" msgid "You need to be logged-in to view a resource preview"
msgstr "Vous devez être connecté·e pour supprimer un groupe" msgstr "Vous devez être connecté·e pour supprimer un groupe"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:125 #: lib/graphql/resolvers/resource.ex:125
msgid "Parent resource doesn't belong to this group" msgid "Parent resource doesn't belong to this group"
msgstr "La ressource parente n'appartient pas à ce groupe" msgstr "La ressource parente n'appartient pas à ce groupe"
#, elixir-format
#: lib/mobilizon/users/user.ex:109 #: lib/mobilizon/users/user.ex:109
msgid "The chosen password is too short." msgid "The chosen password is too short."
msgstr "Le mot de passe choisi est trop court." msgstr "Le mot de passe choisi est trop court."
#, elixir-format
#: lib/mobilizon/users/user.ex:138 #: lib/mobilizon/users/user.ex:138
msgid "The registration token is already in use, this looks like an issue on our side." 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é." 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:104 #: lib/mobilizon/users/user.ex:104
msgid "This email is already used." msgid "This email is already used."
msgstr "Cette adresse e-mail est déjà utilisée." msgstr "Cette adresse e-mail est déjà utilisée."
#, elixir-format
#: lib/graphql/error.ex:88 #: lib/graphql/error.ex:88
msgid "Post not found" msgid "Post not found"
msgstr "Billet non trouvé" msgstr "Billet non trouvé"
#, elixir-format
#: lib/graphql/error.ex:75 #: lib/graphql/error.ex:75
msgid "Invalid arguments passed" msgid "Invalid arguments passed"
msgstr "Paramètres fournis invalides" msgstr "Paramètres fournis invalides"
#, elixir-format
#: lib/graphql/error.ex:81 #: lib/graphql/error.ex:81
msgid "Invalid credentials" msgid "Invalid credentials"
msgstr "Identifiants invalides" msgstr "Identifiants invalides"
#, elixir-format
#: lib/graphql/error.ex:79 #: lib/graphql/error.ex:79
msgid "Reset your password to login" msgid "Reset your password to login"
msgstr "Réinitialiser votre mot de passe pour vous connecter" msgstr "Réinitialiser votre mot de passe pour vous connecter"
#, elixir-format
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 #: lib/graphql/error.ex:86 lib/graphql/error.ex:91
msgid "Resource not found" msgid "Resource not found"
msgstr "Ressource non trouvée" msgstr "Ressource non trouvée"
#, elixir-format
#: lib/graphql/error.ex:93 #: lib/graphql/error.ex:93
msgid "Something went wrong" msgid "Something went wrong"
msgstr "Quelque chose s'est mal passé" msgstr "Quelque chose s'est mal passé"
#, elixir-format
#: lib/graphql/error.ex:74 #: lib/graphql/error.ex:74
msgid "Unknown Resource" msgid "Unknown Resource"
msgstr "Ressource inconnue" msgstr "Ressource inconnue"
#, elixir-format
#: lib/graphql/error.ex:84 #: lib/graphql/error.ex:84
msgid "You don't have permission to do this" msgid "You don't have permission to do this"
msgstr "Vous n'avez pas la permission de faire ceci" msgstr "Vous n'avez pas la permission de faire ceci"
#, elixir-format
#: lib/graphql/error.ex:76 #: lib/graphql/error.ex:76
msgid "You need to be logged in" msgid "You need to be logged in"
msgstr "Vous devez être connecté·e" msgstr "Vous devez être connecté·e"
#: lib/graphql/resolvers/member.ex:116 #, elixir-format
#: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "Vous ne pouvez pas accepter cette invitation avec ce profil." msgstr "Vous ne pouvez pas accepter cette invitation avec ce profil."
#: lib/graphql/resolvers/member.ex:134 #, elixir-format
#: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "Vous ne pouvez pas rejeter cette invitation avec ce profil." msgstr "Vous ne pouvez pas rejeter cette invitation avec ce profil."
#, elixir-format
#: lib/graphql/resolvers/media.ex:62 #: lib/graphql/resolvers/media.ex:62
msgid "File doesn't have an allowed MIME type." msgid "File doesn't have an allowed MIME type."
msgstr "Le fichier n'a pas un type MIME autorisé." msgstr "Le fichier n'a pas un type MIME autorisé."
#: lib/graphql/resolvers/group.ex:167 #, elixir-format
#: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "Le profil n'est pas administrateur·ice pour le groupe" msgstr "Le profil n'est pas administrateur·ice pour le groupe"
#, elixir-format
#: lib/graphql/resolvers/event.ex:284 #: lib/graphql/resolvers/event.ex:284
msgid "You can't edit this event." msgid "You can't edit this event."
msgstr "Vous ne pouvez pas éditer cet événement." msgstr "Vous ne pouvez pas éditer cet événement."
#, elixir-format
#: lib/graphql/resolvers/event.ex:287 #: lib/graphql/resolvers/event.ex:287
msgid "You can't attribute this event to this profile." msgid "You can't attribute this event to this profile."
msgstr "Vous ne pouvez pas attribuer cet événement à ce profil." msgstr "Vous ne pouvez pas attribuer cet événement à ce profil."
#: lib/graphql/resolvers/member.ex:137 #, elixir-format
#: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "Cette invitation n'existe pas." msgstr "Cette invitation n'existe pas."
#: lib/graphql/resolvers/member.ex:179 #, elixir-format
#: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Ce·tte membre a déjà été rejetté·e." msgstr "Ce·tte membre a déjà été rejetté·e."
#: lib/graphql/resolvers/member.ex:186 #, elixir-format
#: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre." msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre."
#, elixir-format
#: lib/mobilizon/actors/actor.ex:351 #: lib/mobilizon/actors/actor.ex:351
msgid "This username is already taken." msgid "This username is already taken."
msgstr "Cet identifiant est déjà pris." msgstr "Cet identifiant est déjà pris."
#: lib/graphql/resolvers/discussion.ex:73 #, elixir-format
#: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" 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" msgstr "Vous devez fournir un ID ou bien un slug pour accéder à une discussion"
#, elixir-format
#: lib/graphql/resolvers/event.ex:245 #: lib/graphql/resolvers/event.ex:245
msgid "Organizer profile is not owned by the user" msgid "Organizer profile is not owned by the user"
msgstr "Le profil de l'organisateur·ice n'appartient pas à l'utilisateur·ice" msgstr "Le profil de l'organisateur·ice n'appartient pas à l'utilisateur·ice"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:89 #: lib/graphql/resolvers/participant.ex:89
msgid "Profile ID provided is not the anonymous profile one" msgid "Profile ID provided is not the anonymous profile one"
msgstr "L'ID du profil fourni n'est pas celui du profil anonyme" msgstr "L'ID du profil fourni n'est pas celui du profil anonyme"
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 lib/graphql/resolvers/person.ex:250 #, elixir-format
#: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "L'image fournie est trop lourde" msgstr "L'image fournie est trop lourde"
#, elixir-format
#: lib/web/views/utils.ex:33 #: lib/web/views/utils.ex:33
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "Fichier d'index non trouvé. Vous devez recompiler le front-end." msgstr "Fichier d'index non trouvé. Vous devez recompiler le front-end."
#, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Erreur lors de la création de la resource" msgstr "Erreur lors de la création de la resource"
#, elixir-format
#: lib/graphql/resolvers/user.ex:390 #: lib/graphql/resolvers/user.ex:390
msgid "Invalid activation token" msgid "Invalid activation token"
msgstr "Jeton d'activation invalide" msgstr "Jeton d'activation invalide"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "Impossible de récupérer les détails de la ressource depuis cette URL." msgstr "Impossible de récupérer les détails de la ressource depuis cette URL."
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
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"

View File

@ -1014,8 +1014,8 @@ msgstr ""
"conta en %{host} cambiouse a:" "conta en %{host} cambiouse a:"
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
"Se non fixeches este cambio ti mesma, é probable que alguén obtivese acceso " "Se non fixeches este cambio ti mesma, é probable que alguén obtivese acceso "
@ -1653,21 +1653,22 @@ msgstr "Este é un sitio web de exemplo para probar Mobilizon."
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "fonte de %{name}" msgstr "fonte de %{name}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "fonte dos eventos privados de %{actor} en %{instance}" msgstr "fonte dos eventos privados de %{actor} en %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "fonte dos eventos públicos de %{actor} en %{instance}" msgstr "fonte dos eventos públicos de %{actor} en %{instance}"
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "Fonte para %{email} en %{instance}" msgstr "Fonte para %{email} en %{instance}"
@ -1693,3 +1694,8 @@ msgstr "Detalles técnicos"
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
"O servidor Mobilizon %{instance} semella estar temporalmente fóra de servizo." "O servidor Mobilizon %{instance} semella estar temporalmente fóra de servizo."
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -94,775 +94,775 @@ msgstr "ten que ser maior ou igual a %{number}"
msgid "must be equal to %{number}" msgid "must be equal to %{number}"
msgstr "ten que ser igual a %{number}" msgstr "ten que ser igual a %{number}"
#: lib/graphql/resolvers/user.ex:100
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:100
msgid "Cannot refresh the token" msgid "Cannot refresh the token"
msgstr "Non puido actualizar o token" msgstr "Non puido actualizar o token"
#: lib/graphql/resolvers/group.ex:198
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "O perfil actual non é membro deste grupo" msgstr "O perfil actual non é membro deste grupo"
#: lib/graphql/resolvers/group.ex:202
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "O perfil actual non é administrador do grupo seleccionado" msgstr "O perfil actual non é administrador do grupo seleccionado"
#: lib/graphql/resolvers/user.ex:501
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:501
msgid "Error while saving user settings" msgid "Error while saving user settings"
msgstr "Erro ó gardar os axustes de usuaria" msgstr "Erro ó gardar os axustes de usuaria"
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Grupo non atopado" msgstr "Grupo non atopado"
#: lib/graphql/resolvers/group.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "Grupo con ID %{id} non atopado" msgstr "Grupo con ID %{id} non atopado"
#: lib/graphql/resolvers/user.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:80
msgid "Impossible to authenticate, either your email or password are invalid." msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
"A autenticación non foi posible, o contrasinal ou o email non son correctos." "A autenticación non foi posible, o contrasinal ou o email non son correctos."
#: lib/graphql/resolvers/group.ex:258
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Membro non atopado" msgstr "Membro non atopado"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 #: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
#: lib/graphql/resolvers/user.ex:406 #: lib/graphql/resolvers/user.ex:406
#, elixir-format
msgid "No profile found for the moderator user" msgid "No profile found for the moderator user"
msgstr "Non se atopou o perfil para a usuaria moderadora" msgstr "Non se atopou o perfil para a usuaria moderadora"
#: lib/graphql/resolvers/user.ex:193
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:193
msgid "No user to validate with this email was found" msgid "No user to validate with this email was found"
msgstr "Non se atopou unha usuaria con este email para validar" msgstr "Non se atopou unha usuaria con este email para validar"
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "Non se atopa ningunha usuaria con este email" msgstr "Non se atopa ningunha usuaria con este email"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
#, elixir-format
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "O perfil non pertence a unha usuaria autenticada" msgstr "O perfil non pertence a unha usuaria autenticada"
#: lib/graphql/resolvers/user.ex:123
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:123
msgid "Registrations are not open" msgid "Registrations are not open"
msgstr "O rexistro está pechado" msgstr "O rexistro está pechado"
#: lib/graphql/resolvers/user.ex:331
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:331
msgid "The current password is invalid" msgid "The current password is invalid"
msgstr "O contrasinal actual non é válido" msgstr "O contrasinal actual non é válido"
#: lib/graphql/resolvers/user.ex:376
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:376
msgid "The new email doesn't seem to be valid" msgid "The new email doesn't seem to be valid"
msgstr "O novo email non semella ser válido" msgstr "O novo email non semella ser válido"
#: lib/graphql/resolvers/user.ex:373
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:373
msgid "The new email must be different" msgid "The new email must be different"
msgstr "O novo email ten que ser diferente" msgstr "O novo email ten que ser diferente"
#: lib/graphql/resolvers/user.ex:334
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:334
msgid "The new password must be different" msgid "The new password must be different"
msgstr "O novo contrasinal ten que ser diferente" msgstr "O novo contrasinal ten que ser diferente"
#, elixir-format
#: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428 #: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428
#: lib/graphql/resolvers/user.ex:431 #: lib/graphql/resolvers/user.ex:431
#, elixir-format
msgid "The password provided is invalid" msgid "The password provided is invalid"
msgstr "O contrasinal escrito non é válido" msgstr "O contrasinal escrito non é válido"
#: lib/graphql/resolvers/user.ex:338
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:338
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr "" msgstr ""
"O contrasinal escollido é demasiado curto, ten que ter 6 caracteres polo " "O contrasinal escollido é demasiado curto, ten que ter 6 caracteres polo "
"menos." "menos."
#: lib/graphql/resolvers/user.ex:214
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:214
msgid "This user can't reset their password" msgid "This user can't reset their password"
msgstr "Esta usuaria non pode restablecer o seu contrasinal" msgstr "Esta usuaria non pode restablecer o seu contrasinal"
#: lib/graphql/resolvers/user.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:76
msgid "This user has been disabled" msgid "This user has been disabled"
msgstr "Estab usuaria foi desactivada" msgstr "Estab usuaria foi desactivada"
#: lib/graphql/resolvers/user.ex:177
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:177
msgid "Unable to validate user" msgid "Unable to validate user"
msgstr "Non se puido validar a usuaria" msgstr "Non se puido validar a usuaria"
#: lib/graphql/resolvers/user.ex:409
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:409
msgid "User already disabled" msgid "User already disabled"
msgstr "A usuaria xa está desactivada" msgstr "A usuaria xa está desactivada"
#: lib/graphql/resolvers/user.ex:476
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:476
msgid "User requested is not logged-in" msgid "User requested is not logged-in"
msgstr "A usuaria solicitada non está conectada" msgstr "A usuaria solicitada non está conectada"
#: lib/graphql/resolvers/group.ex:232
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Xa es membro deste grupo" msgstr "Xa es membro deste grupo"
#: lib/graphql/resolvers/group.ex:265
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "Non podes deixar este grupo porque es a única administradora" msgstr "Non podes deixar este grupo porque es a única administradora"
#: lib/graphql/resolvers/group.ex:229
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "Non podes unirte a este grupo" msgstr "Non podes unirte a este grupo"
#: lib/graphql/resolvers/group.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "Non podes facer listas de grupos porque non es moderadora." msgstr "Non podes facer listas de grupos porque non es moderadora."
#: lib/graphql/resolvers/user.ex:381
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:381
msgid "You need to be logged-in to change your email" msgid "You need to be logged-in to change your email"
msgstr "Tes que estar conectada para poder cambiar o email" msgstr "Tes que estar conectada para poder cambiar o email"
#: lib/graphql/resolvers/user.ex:346
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:346
msgid "You need to be logged-in to change your password" msgid "You need to be logged-in to change your password"
msgstr "Tes que estar conectada para poder cambiar o contrasinal" msgstr "Tes que estar conectada para poder cambiar o contrasinal"
#: lib/graphql/resolvers/group.ex:207
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "Tes que estar conectada para poder eleminar un grupo" msgstr "Tes que estar conectada para poder eleminar un grupo"
#: lib/graphql/resolvers/user.ex:436
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:436
msgid "You need to be logged-in to delete your account" msgid "You need to be logged-in to delete your account"
msgstr "Tes que estar conectada para poder eliminar a conta" msgstr "Tes que estar conectada para poder eliminar a conta"
#: lib/graphql/resolvers/group.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Tes que estar conectada para poder unirte a un grupo" msgstr "Tes que estar conectada para poder unirte a un grupo"
#: lib/graphql/resolvers/group.ex:270
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "Tes que estar conectada para poder deixar un grupo" msgstr "Tes que estar conectada para poder deixar un grupo"
#: lib/graphql/resolvers/group.ex:172
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "Tes que estar conectada para poder actualizar un grupo" msgstr "Tes que estar conectada para poder actualizar un grupo"
#: lib/graphql/resolvers/user.ex:105
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:105
msgid "You need to have an existing token to get a refresh token" msgid "You need to have an existing token to get a refresh token"
msgstr "Tes que ter un token existente para obter un token actualizado" msgstr "Tes que ter un token existente para obter un token actualizado"
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
msgid "You requested again a confirmation email too soon" msgid "You requested again a confirmation email too soon"
msgstr "Solicitaches demasiado pronto un email de confirmación" msgstr "Solicitaches demasiado pronto un email de confirmación"
#: lib/graphql/resolvers/user.ex:126
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:126
msgid "Your email is not on the allowlist" msgid "Your email is not on the allowlist"
msgstr "O teu email non está na lista dos permitidos" msgstr "O teu email non está na lista dos permitidos"
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
msgid "Error while performing background task" msgid "Error while performing background task"
msgstr "Erro ó executar a tarefa en segundo plano" msgstr "Erro ó executar a tarefa en segundo plano"
#: lib/graphql/resolvers/actor.ex:27
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:27
msgid "No profile found with this ID" msgid "No profile found with this ID"
msgstr "Non se atopa o perfil con este ID" msgstr "Non se atopa o perfil con este ID"
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
msgid "No remote profile found with this ID" msgid "No remote profile found with this ID"
msgstr "Non se atopa o perfil remoto con este ID" msgstr "Non se atopa o perfil remoto con este ID"
#: lib/graphql/resolvers/actor.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:69
msgid "Only moderators and administrators can suspend a profile" msgid "Only moderators and administrators can suspend a profile"
msgstr "Só moderadoras e administradoras poden suspender un perfil" msgstr "Só moderadoras e administradoras poden suspender un perfil"
#: lib/graphql/resolvers/actor.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:99
msgid "Only moderators and administrators can unsuspend a profile" msgid "Only moderators and administrators can unsuspend a profile"
msgstr "Só moderadoras e administradoras pode restablecer un perfil" msgstr "Só moderadoras e administradoras pode restablecer un perfil"
#: lib/graphql/resolvers/actor.ex:24
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:24
msgid "Only remote profiles may be refreshed" msgid "Only remote profiles may be refreshed"
msgstr "Só os perfís remotos poderían ser actualizdos" msgstr "Só os perfís remotos poderían ser actualizdos"
#: lib/graphql/resolvers/actor.ex:61
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:61
msgid "Profile already suspended" msgid "Profile already suspended"
msgstr "O perfil xa está suspendido" msgstr "O perfil xa está suspendido"
#: lib/graphql/resolvers/participant.ex:92
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:92
msgid "A valid email is required by your instance" msgid "A valid email is required by your instance"
msgstr "A túa instancia require un email válido" msgstr "A túa instancia require un email válido"
#: lib/graphql/resolvers/participant.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:86
msgid "Anonymous participation is not enabled" msgid "Anonymous participation is not enabled"
msgstr "Non está permitida a participación ánonima" msgstr "Non está permitida a participación ánonima"
#: lib/graphql/resolvers/person.ex:195
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "Non se pode eliminar a última administradora dun grupo" msgstr "Non se pode eliminar a última administradora dun grupo"
#: lib/graphql/resolvers/person.ex:192
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "Non se pode eliminar a última identidade dunha usuaria" msgstr "Non se pode eliminar a última identidade dunha usuaria"
#: lib/graphql/resolvers/comment.ex:108
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:108
msgid "Comment is already deleted" msgid "Comment is already deleted"
msgstr "O comentario xa foi eliminado" msgstr "O comentario xa foi eliminado"
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
msgid "Discussion not found" msgid "Discussion not found"
msgstr "Non se atopa a conversa" msgstr "Non se atopa a conversa"
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
msgid "Error while saving report" msgid "Error while saving report"
msgstr "Erro ó gardar a denuncia" msgstr "Erro ó gardar a denuncia"
#: lib/graphql/resolvers/report.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:96
msgid "Error while updating report" msgid "Error while updating report"
msgstr "Erro ó actualizar a denuncia" msgstr "Erro ó actualizar a denuncia"
#: lib/graphql/resolvers/participant.ex:127
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:127
msgid "Event id not found" msgid "Event id not found"
msgstr "Non se atopou o ID do evento" msgstr "Non se atopou o ID do evento"
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281 #: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
#: lib/graphql/resolvers/event.ex:325 #: lib/graphql/resolvers/event.ex:325
#, elixir-format
msgid "Event not found" msgid "Event not found"
msgstr "Evento non atopado" msgstr "Evento non atopado"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:83 #: lib/graphql/resolvers/participant.ex:83
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156 #: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
#, elixir-format
msgid "Event with this ID %{id} doesn't exist" msgid "Event with this ID %{id} doesn't exist"
msgstr "Non existe un evento co ID %{id}" msgstr "Non existe un evento co ID %{id}"
#: lib/graphql/resolvers/participant.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:99
msgid "Internal Error" msgid "Internal Error"
msgstr "Erro interno" msgstr "Erro interno"
#: lib/graphql/resolvers/discussion.ex:201
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Non hai conversa con ID %{id}" msgstr "Non hai conversa con ID %{id}"
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
msgid "No profile found for user" msgid "No profile found for user"
msgstr "Non se atopou o perfil da usuaria" msgstr "Non se atopou o perfil da usuaria"
#: lib/graphql/resolvers/feed_token.ex:63
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "Non hai tal token da fonte" msgstr "Non hai tal token da fonte"
#: lib/graphql/resolvers/participant.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:237
msgid "Participant already has role %{role}" msgid "Participant already has role %{role}"
msgstr "A participante xa ten o rol %{role}" msgstr "A participante xa ten o rol %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:169 #: lib/graphql/resolvers/participant.ex:169
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230 #: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
#: lib/graphql/resolvers/participant.ex:240 #: lib/graphql/resolvers/participant.ex:240
#, elixir-format
msgid "Participant not found" msgid "Participant not found"
msgstr "Non se atopou a participante" msgstr "Non se atopou a participante"
#: lib/graphql/resolvers/person.ex:29
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "Non se atopou a persoa con ID %{id}" msgstr "Non se atopou a persoa con ID %{id}"
#: lib/graphql/resolvers/person.ex:51
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "Non se atopa a persoa con nome de usuaria %{username}" msgstr "Non se atopa a persoa con nome de usuaria %{username}"
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
msgid "Post ID is not a valid ID" msgid "Post ID is not a valid ID"
msgstr "ID da publicación non é un ID válido" msgstr "ID da publicación non é un ID válido"
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
msgid "Post doesn't exist" msgid "Post doesn't exist"
msgstr "Non existe a publicación" msgstr "Non existe a publicación"
#: lib/graphql/resolvers/member.ex:83
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:83
msgid "Profile invited doesn't exist" msgid "Profile invited doesn't exist"
msgstr "O perfil convidado non existe" msgstr "O perfil convidado non existe"
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
msgid "Profile is already a member of this group" msgid "Profile is already a member of this group"
msgstr "O perfil xa é membro deste grupo" msgstr "O perfil xa é membro deste grupo"
#, elixir-format
#: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173
#: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128
#: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171
#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 #: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222
#, elixir-format
msgid "Profile is not member of group" msgid "Profile is not member of group"
msgstr "O perfil non é membro do grupo" msgstr "O perfil non é membro do grupo"
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Perfil non atopado" msgstr "Perfil non atopado"
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
#, elixir-format #, elixir-format
msgid "Provided moderator profile doesn't have permission on this event"
msgstr "O perfil da moderadora proporcionado non ten permisos neste evento"
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
#, elixir-format
msgid "Report not found" msgid "Report not found"
msgstr "Denuncia non atopada" msgstr "Denuncia non atopada"
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
msgid "Resource doesn't exist" msgid "Resource doesn't exist"
msgstr "Non existe o recurso" msgstr "Non existe o recurso"
#: lib/graphql/resolvers/participant.ex:120
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:120
msgid "The event has already reached its maximum capacity" msgid "The event has already reached its maximum capacity"
msgstr "Este evento xa acadou a súa capacidade máxima" msgstr "Este evento xa acadou a súa capacidade máxima"
#: lib/graphql/resolvers/participant.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:260
msgid "This token is invalid" msgid "This token is invalid"
msgstr "Este token non é válido" msgstr "Este token non é válido"
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
msgid "Todo doesn't exist" msgid "Todo doesn't exist"
msgstr "Lista de tarefas non existe" msgstr "Lista de tarefas non existe"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 #: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
#: lib/graphql/resolvers/todos.ex:216 #: lib/graphql/resolvers/todos.ex:216
#, elixir-format
msgid "Todo list doesn't exist" msgid "Todo list doesn't exist"
msgstr "A lista de tarefas non existe" msgstr "A lista de tarefas non existe"
#: lib/graphql/resolvers/feed_token.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "Non existe o token" msgstr "Non existe o token"
#: lib/graphql/resolvers/feed_token.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "O token non é un UUID válido" msgstr "O token non é un UUID válido"
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "Usuaria non atopada" msgstr "Usuaria non atopada"
#: lib/graphql/resolvers/person.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Xa tes un perfil para esta usuaria" msgstr "Xa tes un perfil para esta usuaria"
#: lib/graphql/resolvers/participant.ex:130
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:130
msgid "You are already a participant of this event" msgid "You are already a participant of this event"
msgstr "Xa es unha participante neste evento" msgstr "Xa es unha participante neste evento"
#: lib/graphql/resolvers/member.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:86
msgid "You are not a member of this group" msgid "You are not a member of this group"
msgstr "Non es membro deste grupo" msgstr "Non es membro deste grupo"
#: lib/graphql/resolvers/member.ex:151
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "Non es moderadora ou administradora deste grupo" msgstr "Non es moderadora ou administradora deste grupo"
#: lib/graphql/resolvers/comment.ex:54
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:54
msgid "You are not allowed to create a comment if not connected" msgid "You are not allowed to create a comment if not connected"
msgstr "Non tes permiso para crear un comentario sen estar conectada" msgstr "Non tes permiso para crear un comentario sen estar conectada"
#: lib/graphql/resolvers/feed_token.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected" msgid "You are not allowed to create a feed token if not connected"
msgstr "Non tes permiso para crear un token da fonte se non estás conectada" msgstr "Non tes permiso para crear un token da fonte se non estás conectada"
#: lib/graphql/resolvers/comment.ex:113
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:113
msgid "You are not allowed to delete a comment if not connected" msgid "You are not allowed to delete a comment if not connected"
msgstr "Non tes permiso para eliminar un comentario se non estás conectada" msgstr "Non tes permiso para eliminar un comentario se non estás conectada"
#: lib/graphql/resolvers/feed_token.ex:78
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "Non tes permiso para eliminar o token da fonte se non estás conectada" msgstr "Non tes permiso para eliminar o token da fonte se non estás conectada"
#: lib/graphql/resolvers/comment.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:76
msgid "You are not allowed to update a comment if not connected" msgid "You are not allowed to update a comment if not connected"
msgstr "Non tes permiso para actualizar un comentario se non estás conectada" msgstr "Non tes permiso para actualizar un comentario se non estás conectada"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:163 #: lib/graphql/resolvers/participant.ex:163
#: lib/graphql/resolvers/participant.ex:192 #: lib/graphql/resolvers/participant.ex:192
#, elixir-format
msgid "You can't leave event because you're the only event creator participant" msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
"Non podes saír do evento porque es a única creadora do evento que participa" "Non podes saír do evento porque es a única creadora do evento que participa"
#: lib/graphql/resolvers/member.ex:155
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
"Non podes adxudicarte un rol menor neste grupo porque es a única " "Non podes adxudicarte un rol menor neste grupo porque es a única "
"administradora" "administradora"
#: lib/graphql/resolvers/comment.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:104
msgid "You cannot delete this comment" msgid "You cannot delete this comment"
msgstr "Non podes eliminar este comentario" msgstr "Non podes eliminar este comentario"
#: lib/graphql/resolvers/event.ex:321
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:321
msgid "You cannot delete this event" msgid "You cannot delete this event"
msgstr "Non podes eliminar este evento" msgstr "Non podes eliminar este evento"
#: lib/graphql/resolvers/member.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:89
msgid "You cannot invite to this group" msgid "You cannot invite to this group"
msgstr "Non podes convidar a este grupo" msgstr "Non podes convidar a este grupo"
#: lib/graphql/resolvers/feed_token.ex:72
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "Non tes permiso para eliminar este token" msgstr "Non tes permiso para eliminar este token"
#: lib/graphql/resolvers/admin.ex:52
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
"Tes que estar conectada e ser moderadora para ver listas de rexistros de " "Tes que estar conectada e ser moderadora para ver listas de rexistros de "
"accións" "accións"
#: lib/graphql/resolvers/report.ex:26
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:26
msgid "You need to be logged-in and a moderator to list reports" msgid "You need to be logged-in and a moderator to list reports"
msgstr "Tes que estar conectada e ser moderadora para ver listas de denuncias" msgstr "Tes que estar conectada e ser moderadora para ver listas de denuncias"
#: lib/graphql/resolvers/report.ex:101
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:101
msgid "You need to be logged-in and a moderator to update a report" msgid "You need to be logged-in and a moderator to update a report"
msgstr "Tes que estas conectada e ser moderadora para actualizar unha denuncia" msgstr "Tes que estas conectada e ser moderadora para actualizar unha denuncia"
#: lib/graphql/resolvers/report.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:41
msgid "You need to be logged-in and a moderator to view a report" msgid "You need to be logged-in and a moderator to view a report"
msgstr "Tes que estar conectada e ser moderadora para ver unha denuncia" msgstr "Tes que estar conectada e ser moderadora para ver unha denuncia"
#: lib/graphql/resolvers/admin.ex:236
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
"Tes que estar conectada e ser administradora para acceder ós axustes de " "Tes que estar conectada e ser administradora para acceder ós axustes de "
"administración" "administración"
#: lib/graphql/resolvers/admin.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
"Tes que estar conectada e ser administradora para acceder ó taboleiro de " "Tes que estar conectada e ser administradora para acceder ó taboleiro de "
"estatísticas" "estatísticas"
#: lib/graphql/resolvers/admin.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
"Tes que estar conectada e ser administradora para gardar os axustes de " "Tes que estar conectada e ser administradora para gardar os axustes de "
"administración" "administración"
#: lib/graphql/resolvers/discussion.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Tes que estar conectada para acceder ás conversas" msgstr "Tes que estar conectada para acceder ás conversas"
#: lib/graphql/resolvers/resource.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:94
msgid "You need to be logged-in to access resources" msgid "You need to be logged-in to access resources"
msgstr "Tes que estar conectada para acceder ós recursos" msgstr "Tes que estar conectada para acceder ós recursos"
#: lib/graphql/resolvers/event.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:256
msgid "You need to be logged-in to create events" msgid "You need to be logged-in to create events"
msgstr "Tes que estar conectada para crear eventos" msgstr "Tes que estar conectada para crear eventos"
#: lib/graphql/resolvers/post.ex:140
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:140
msgid "You need to be logged-in to create posts" msgid "You need to be logged-in to create posts"
msgstr "Tes que estar conectada para crear publicacións" msgstr "Tes que estar conectada para crear publicacións"
#: lib/graphql/resolvers/report.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:74
msgid "You need to be logged-in to create reports" msgid "You need to be logged-in to create reports"
msgstr "Tes que estar conectada para crear denuncias" msgstr "Tes que estar conectada para crear denuncias"
#: lib/graphql/resolvers/resource.ex:133
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:133
msgid "You need to be logged-in to create resources" msgid "You need to be logged-in to create resources"
msgstr "Tes que estar conectada para crear recursos" msgstr "Tes que estar conectada para crear recursos"
#: lib/graphql/resolvers/event.ex:330
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:330
msgid "You need to be logged-in to delete an event" msgid "You need to be logged-in to delete an event"
msgstr "Tes que estar conectada para eliminar un evento" msgstr "Tes que estar conectada para eliminar un evento"
#: lib/graphql/resolvers/post.ex:211
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:211
msgid "You need to be logged-in to delete posts" msgid "You need to be logged-in to delete posts"
msgstr "Tes que estar conectada para eliminar publicacións" msgstr "Tes que estar conectada para eliminar publicacións"
#: lib/graphql/resolvers/resource.ex:191
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:191
msgid "You need to be logged-in to delete resources" msgid "You need to be logged-in to delete resources"
msgstr "Tes que estar conectada para eliminar recursos" msgstr "Tes que estar conectada para eliminar recursos"
#: lib/graphql/resolvers/participant.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:104
msgid "You need to be logged-in to join an event" msgid "You need to be logged-in to join an event"
msgstr "Tes que estar conectada para unirte a un evento" msgstr "Tes que estar conectada para unirte a un evento"
#: lib/graphql/resolvers/participant.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:203
msgid "You need to be logged-in to leave an event" msgid "You need to be logged-in to leave an event"
msgstr "Tes que estar conectada para saír dun evento" msgstr "Tes que estar conectada para saír dun evento"
#: lib/graphql/resolvers/event.ex:295
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:295
msgid "You need to be logged-in to update an event" msgid "You need to be logged-in to update an event"
msgstr "Tes que estar conectada para actualizar un evento" msgstr "Tes que estar conectada para actualizar un evento"
#: lib/graphql/resolvers/post.ex:178
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:178
msgid "You need to be logged-in to update posts" msgid "You need to be logged-in to update posts"
msgstr "Tes que estar conectada para actualizar publicacións" msgstr "Tes que estar conectada para actualizar publicacións"
#: lib/graphql/resolvers/resource.ex:162
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:162
msgid "You need to be logged-in to update resources" msgid "You need to be logged-in to update resources"
msgstr "Tes que estar conectada para actualizar recursos" msgstr "Tes que estar conectada para actualizar recursos"
#: lib/graphql/resolvers/resource.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:218
msgid "You need to be logged-in to view a resource preview" msgid "You need to be logged-in to view a resource preview"
msgstr "Tes que estar conectada para ver vista previa dun recurso" msgstr "Tes que estar conectada para ver vista previa dun recurso"
#: lib/graphql/resolvers/resource.ex:125
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:125
msgid "Parent resource doesn't belong to this group" msgid "Parent resource doesn't belong to this group"
msgstr "O recurso relacionado non pertence a este grupo" msgstr "O recurso relacionado non pertence a este grupo"
#: lib/mobilizon/users/user.ex:109
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:109
msgid "The chosen password is too short." msgid "The chosen password is too short."
msgstr "O contrasinal elexido é demasiado curto." msgstr "O contrasinal elexido é demasiado curto."
#: lib/mobilizon/users/user.ex:138
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:138
msgid "The registration token is already in use, this looks like an issue on our side." msgid "The registration token is already in use, this looks like an issue on our side."
msgstr "" msgstr ""
"O token de rexistro xa está a ser usado, semella un problema pola nosa parte." "O token de rexistro xa está a ser usado, semella un problema pola nosa parte."
#: lib/mobilizon/users/user.ex:104
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:104
msgid "This email is already used." msgid "This email is already used."
msgstr "Este email xa se está a usar." msgstr "Este email xa se está a usar."
#: lib/graphql/error.ex:88
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:88
msgid "Post not found" msgid "Post not found"
msgstr "Non se atopa a publicación" msgstr "Non se atopa a publicación"
#: lib/graphql/error.ex:75
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:75
msgid "Invalid arguments passed" msgid "Invalid arguments passed"
msgstr "Argumentos proporcionados non válidos" msgstr "Argumentos proporcionados non válidos"
#: lib/graphql/error.ex:81
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:81
msgid "Invalid credentials" msgid "Invalid credentials"
msgstr "Credenciais non válidas" msgstr "Credenciais non válidas"
#: lib/graphql/error.ex:79
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:79
msgid "Reset your password to login" msgid "Reset your password to login"
msgstr "Restablece o teu contrasinal para conectar" msgstr "Restablece o teu contrasinal para conectar"
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
msgid "Resource not found" msgid "Resource not found"
msgstr "Recurso non atopado" msgstr "Recurso non atopado"
#: lib/graphql/error.ex:93
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:93
msgid "Something went wrong" msgid "Something went wrong"
msgstr "Algo foi mal" msgstr "Algo foi mal"
#: lib/graphql/error.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:74
msgid "Unknown Resource" msgid "Unknown Resource"
msgstr "Recurso descoñecido" msgstr "Recurso descoñecido"
#: lib/graphql/error.ex:84
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:84
msgid "You don't have permission to do this" msgid "You don't have permission to do this"
msgstr "Non tes permiso para facer isto" msgstr "Non tes permiso para facer isto"
#: lib/graphql/error.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:76
msgid "You need to be logged in" msgid "You need to be logged in"
msgstr "Tes que estar conectada" msgstr "Tes que estar conectada"
#: lib/graphql/resolvers/member.ex:116
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "Non podes aceptar este convite con este perfil." msgstr "Non podes aceptar este convite con este perfil."
#: lib/graphql/resolvers/member.ex:134
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "Non podes rexeitar este convite con este perfil." msgstr "Non podes rexeitar este convite con este perfil."
#: lib/graphql/resolvers/media.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/media.ex:62
msgid "File doesn't have an allowed MIME type." msgid "File doesn't have an allowed MIME type."
msgstr "O ficheiro non ten un tipo MIME permitido." msgstr "O ficheiro non ten un tipo MIME permitido."
#: lib/graphql/resolvers/group.ex:167
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "O perfil non é administrador do grupo" msgstr "O perfil non é administrador do grupo"
#: lib/graphql/resolvers/event.ex:284
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:284
msgid "You can't edit this event." msgid "You can't edit this event."
msgstr "Non podes editar este evento." msgstr "Non podes editar este evento."
#: lib/graphql/resolvers/event.ex:287
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:287
msgid "You can't attribute this event to this profile." msgid "You can't attribute this event to this profile."
msgstr "Non podes atribuír este evento a este perfil." msgstr "Non podes atribuír este evento a este perfil."
#: lib/graphql/resolvers/member.ex:137
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "O convite non existe." msgstr "O convite non existe."
#: lib/graphql/resolvers/member.ex:179
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Este membro xa foi rexeitado." msgstr "Este membro xa foi rexeitado."
#: lib/graphql/resolvers/member.ex:186
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "Non tes permiso para eliminar este membro." msgstr "Non tes permiso para eliminar este membro."
#: lib/mobilizon/actors/actor.ex:351
#, elixir-format #, elixir-format
#: lib/mobilizon/actors/actor.ex:351
msgid "This username is already taken." msgid "This username is already taken."
msgstr "Este nome de usuaria xa está pillado." msgstr "Este nome de usuaria xa está pillado."
#: lib/graphql/resolvers/discussion.ex:73
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "Debes proporcionar ou ben un ID ou nome para acceder á conversa" msgstr "Debes proporcionar ou ben un ID ou nome para acceder á conversa"
#: lib/graphql/resolvers/event.ex:245
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:245
msgid "Organizer profile is not owned by the user" msgid "Organizer profile is not owned by the user"
msgstr "O perfil da organización non pertence á usuaria" msgstr "O perfil da organización non pertence á usuaria"
#: lib/graphql/resolvers/participant.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:89
msgid "Profile ID provided is not the anonymous profile one" msgid "Profile ID provided is not the anonymous profile one"
msgstr "O ID do perfil proporcionado non é o perfil anónimo" msgstr "O ID do perfil proporcionado non é o perfil anónimo"
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
#: lib/graphql/resolvers/person.ex:250
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "A imaxe proporcionada é demasiado grande (mb)" msgstr "A imaxe proporcionada é demasiado grande (mb)"
#: lib/web/views/utils.ex:33
#, elixir-format #, elixir-format
#: lib/web/views/utils.ex:33
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "Non se atopa o ficheiro Index. Tes que recompilar o front-end." msgstr "Non se atopa o ficheiro Index. Tes que recompilar o front-end."
#: lib/graphql/resolvers/resource.ex:122
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Erro ao crear o recurso" msgstr "Erro ao crear o recurso"
#: lib/graphql/resolvers/user.ex:390
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:390
msgid "Invalid activation token" msgid "Invalid activation token"
msgstr "O token de activación non é válido" msgstr "O token de activación non é válido"
#: lib/graphql/resolvers/resource.ex:208
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "Non se puideron obter os detalles do recurso desde o URL." msgstr "Non se puideron obter os detalles do recurso desde o URL."
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "O perfil da moderadora proporcionado non ten permisos neste evento"

View File

@ -887,8 +887,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1413,21 +1413,22 @@ msgstr ""
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1450,3 +1451,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -110,784 +110,784 @@ msgstr "nagyobbnak vagy egyenlőnek kell lennie mint %{number}"
msgid "must be equal to %{number}" msgid "must be equal to %{number}"
msgstr "egyenlőnek kell lennie ezzel: %{number}" msgstr "egyenlőnek kell lennie ezzel: %{number}"
#: lib/graphql/resolvers/user.ex:100
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:100
msgid "Cannot refresh the token" msgid "Cannot refresh the token"
msgstr "Nem lehet frissíteni a tokent" msgstr "Nem lehet frissíteni a tokent"
#: lib/graphql/resolvers/group.ex:198
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "A jelenlegi profil nem tagja ennek a csoportnak" msgstr "A jelenlegi profil nem tagja ennek a csoportnak"
#: lib/graphql/resolvers/group.ex:202
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "A jelenlegi profil nem adminisztrátora a kijelölt csoportnak" msgstr "A jelenlegi profil nem adminisztrátora a kijelölt csoportnak"
#: lib/graphql/resolvers/user.ex:501
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:501
msgid "Error while saving user settings" msgid "Error while saving user settings"
msgstr "Hiba a felhasználói beállítások mentésekor" msgstr "Hiba a felhasználói beállítások mentésekor"
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Nem található a csoport" msgstr "Nem található a csoport"
#: lib/graphql/resolvers/group.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "Nem található %{id} azonosítóval rendelkező csoport" msgstr "Nem található %{id} azonosítóval rendelkező csoport"
#: lib/graphql/resolvers/user.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:80
msgid "Impossible to authenticate, either your email or password are invalid." msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "Lehetetlen hitelesíteni, vagy az e-mail, vagy a jelszó érvénytelen." msgstr "Lehetetlen hitelesíteni, vagy az e-mail, vagy a jelszó érvénytelen."
#: lib/graphql/resolvers/group.ex:258
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Nem található a tag" msgstr "Nem található a tag"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 #: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
#: lib/graphql/resolvers/user.ex:406 #: lib/graphql/resolvers/user.ex:406
#, elixir-format
msgid "No profile found for the moderator user" msgid "No profile found for the moderator user"
msgstr "Nem található profil a moderátor felhasználóhoz" msgstr "Nem található profil a moderátor felhasználóhoz"
#: lib/graphql/resolvers/user.ex:193
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:193
msgid "No user to validate with this email was found" msgid "No user to validate with this email was found"
msgstr "Nem található ezzel az e-mail-címmel ellenőrzendő felhasználó" msgstr "Nem található ezzel az e-mail-címmel ellenőrzendő felhasználó"
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "Nem található ezzel az e-mail-címmel rendelkező felhasználó" msgstr "Nem található ezzel az e-mail-címmel rendelkező felhasználó"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
#, elixir-format
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "A profilt nem hitelesített felhasználó birtokolja" msgstr "A profilt nem hitelesített felhasználó birtokolja"
#: lib/graphql/resolvers/user.ex:123
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:123
msgid "Registrations are not open" msgid "Registrations are not open"
msgstr "A regisztrációk nincsenek nyitva" msgstr "A regisztrációk nincsenek nyitva"
#: lib/graphql/resolvers/user.ex:331
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:331
msgid "The current password is invalid" msgid "The current password is invalid"
msgstr "A jelenlegi jelszó érvénytelen" msgstr "A jelenlegi jelszó érvénytelen"
#: lib/graphql/resolvers/user.ex:376
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:376
msgid "The new email doesn't seem to be valid" msgid "The new email doesn't seem to be valid"
msgstr "Az új e-mail-cím nem tűnik érvényesnek" msgstr "Az új e-mail-cím nem tűnik érvényesnek"
#: lib/graphql/resolvers/user.ex:373
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:373
msgid "The new email must be different" msgid "The new email must be different"
msgstr "Az új e-mail-címnek eltérőnek kell lennie" msgstr "Az új e-mail-címnek eltérőnek kell lennie"
#: lib/graphql/resolvers/user.ex:334
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:334
msgid "The new password must be different" msgid "The new password must be different"
msgstr "Az új jelszónak eltérőnek kell lennie" msgstr "Az új jelszónak eltérőnek kell lennie"
#, elixir-format
#: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428 #: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428
#: lib/graphql/resolvers/user.ex:431 #: lib/graphql/resolvers/user.ex:431
#, elixir-format
msgid "The password provided is invalid" msgid "The password provided is invalid"
msgstr "A megadott jelszó érvénytelen" msgstr "A megadott jelszó érvénytelen"
#: lib/graphql/resolvers/user.ex:338
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:338
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr "" msgstr ""
"A választott jelszó túl rövid. Győződjön meg arról, hogy a jelszava " "A választott jelszó túl rövid. Győződjön meg arról, hogy a jelszava "
"tartalmazzon legalább 6 karaktert." "tartalmazzon legalább 6 karaktert."
#: lib/graphql/resolvers/user.ex:214
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:214
msgid "This user can't reset their password" msgid "This user can't reset their password"
msgstr "Ez a felhasználó nem tudja visszaállítani a jelszavát" msgstr "Ez a felhasználó nem tudja visszaállítani a jelszavát"
#: lib/graphql/resolvers/user.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:76
msgid "This user has been disabled" msgid "This user has been disabled"
msgstr "Ez a felhasználó le lett tiltva" msgstr "Ez a felhasználó le lett tiltva"
#: lib/graphql/resolvers/user.ex:177
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:177
msgid "Unable to validate user" msgid "Unable to validate user"
msgstr "Nem lehet ellenőrizni a felhasználót" msgstr "Nem lehet ellenőrizni a felhasználót"
#: lib/graphql/resolvers/user.ex:409
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:409
msgid "User already disabled" msgid "User already disabled"
msgstr "A felhasználó már le van tiltva" msgstr "A felhasználó már le van tiltva"
#: lib/graphql/resolvers/user.ex:476
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:476
msgid "User requested is not logged-in" msgid "User requested is not logged-in"
msgstr "A kért felhasználó nincs bejelentkezve" msgstr "A kért felhasználó nincs bejelentkezve"
#: lib/graphql/resolvers/group.ex:232
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Már tagja ennek a csoportnak" msgstr "Már tagja ennek a csoportnak"
#: lib/graphql/resolvers/group.ex:265
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "Nem hagyhatja el ezt a csoportot, mert Ön az egyedüli adminisztrátor" msgstr "Nem hagyhatja el ezt a csoportot, mert Ön az egyedüli adminisztrátor"
#: lib/graphql/resolvers/group.ex:229
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "Nem csatlakozhat ehhez a csoporthoz" msgstr "Nem csatlakozhat ehhez a csoporthoz"
#: lib/graphql/resolvers/group.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "Lehet, hogy nem sorolhatja fel a csoportokat, hacsak nem moderátor." msgstr "Lehet, hogy nem sorolhatja fel a csoportokat, hacsak nem moderátor."
#: lib/graphql/resolvers/user.ex:381
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:381
msgid "You need to be logged-in to change your email" msgid "You need to be logged-in to change your email"
msgstr "Bejelentkezve kell lennie az e-mail-címe megváltoztatásához" msgstr "Bejelentkezve kell lennie az e-mail-címe megváltoztatásához"
#: lib/graphql/resolvers/user.ex:346
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:346
msgid "You need to be logged-in to change your password" msgid "You need to be logged-in to change your password"
msgstr "Bejelentkezve kell lennie a jelszava megváltoztatásához" msgstr "Bejelentkezve kell lennie a jelszava megváltoztatásához"
#: lib/graphql/resolvers/group.ex:207
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "Bejelentkezve kell lennie egy csoport törléséhez" msgstr "Bejelentkezve kell lennie egy csoport törléséhez"
#: lib/graphql/resolvers/user.ex:436
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:436
msgid "You need to be logged-in to delete your account" msgid "You need to be logged-in to delete your account"
msgstr "Bejelentkezve kell lennie a fiókja törléséhez" msgstr "Bejelentkezve kell lennie a fiókja törléséhez"
#: lib/graphql/resolvers/group.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz" msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz"
#: lib/graphql/resolvers/group.ex:270
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "Bejelentkezve kell lennie egy csoportból való kilépéshez" msgstr "Bejelentkezve kell lennie egy csoportból való kilépéshez"
#: lib/graphql/resolvers/group.ex:172
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "Bejelentkezve kell lennie egy csoport frissítéséhez" msgstr "Bejelentkezve kell lennie egy csoport frissítéséhez"
#: lib/graphql/resolvers/user.ex:105
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:105
msgid "You need to have an existing token to get a refresh token" msgid "You need to have an existing token to get a refresh token"
msgstr "Szüksége van egy meglévő tokenre egy frissítési token beszerzéséhez" msgstr "Szüksége van egy meglévő tokenre egy frissítési token beszerzéséhez"
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
msgid "You requested again a confirmation email too soon" msgid "You requested again a confirmation email too soon"
msgstr "Túl hamar kért újra egy megerősítő e-mailt" msgstr "Túl hamar kért újra egy megerősítő e-mailt"
#: lib/graphql/resolvers/user.ex:126
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:126
msgid "Your email is not on the allowlist" msgid "Your email is not on the allowlist"
msgstr "Az e-mail-címe nincs rajta az engedélyezési listán" msgstr "Az e-mail-címe nincs rajta az engedélyezési listán"
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
msgid "Error while performing background task" msgid "Error while performing background task"
msgstr "Hiba a háttérfeladat végrehajtásakor" msgstr "Hiba a háttérfeladat végrehajtásakor"
#: lib/graphql/resolvers/actor.ex:27
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:27
msgid "No profile found with this ID" msgid "No profile found with this ID"
msgstr "Nem található profil ezzel az azonosítóval" msgstr "Nem található profil ezzel az azonosítóval"
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
msgid "No remote profile found with this ID" msgid "No remote profile found with this ID"
msgstr "Nem található távoli profil ezzel az azonosítóval" msgstr "Nem található távoli profil ezzel az azonosítóval"
#: lib/graphql/resolvers/actor.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:69
msgid "Only moderators and administrators can suspend a profile" msgid "Only moderators and administrators can suspend a profile"
msgstr "Csak moderátorok és adminisztrátorok függeszthetnek fel egy profilt" msgstr "Csak moderátorok és adminisztrátorok függeszthetnek fel egy profilt"
#: lib/graphql/resolvers/actor.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:99
msgid "Only moderators and administrators can unsuspend a profile" msgid "Only moderators and administrators can unsuspend a profile"
msgstr "" msgstr ""
"Csak moderátorok és adminisztrátorok szüntethetik meg egy profil " "Csak moderátorok és adminisztrátorok szüntethetik meg egy profil "
"felfüggesztését" "felfüggesztését"
#: lib/graphql/resolvers/actor.ex:24
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:24
msgid "Only remote profiles may be refreshed" msgid "Only remote profiles may be refreshed"
msgstr "Csak távoli profilokat lehet frissíteni" msgstr "Csak távoli profilokat lehet frissíteni"
#: lib/graphql/resolvers/actor.ex:61
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:61
msgid "Profile already suspended" msgid "Profile already suspended"
msgstr "A profil már fel van függesztve" msgstr "A profil már fel van függesztve"
#: lib/graphql/resolvers/participant.ex:92
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:92
msgid "A valid email is required by your instance" msgid "A valid email is required by your instance"
msgstr "Érvényes e-mail-címet követelt meg az Ön példánya" msgstr "Érvényes e-mail-címet követelt meg az Ön példánya"
#: lib/graphql/resolvers/participant.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:86
msgid "Anonymous participation is not enabled" msgid "Anonymous participation is not enabled"
msgstr "A névtelen részvétel nincs engedélyezve" msgstr "A névtelen részvétel nincs engedélyezve"
#: lib/graphql/resolvers/person.ex:195
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "Nem lehet eltávolítani egy csoport utolsó adminisztrátorát" msgstr "Nem lehet eltávolítani egy csoport utolsó adminisztrátorát"
#: lib/graphql/resolvers/person.ex:192
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "Nem lehet eltávolítani egy felhasználó utolsó személyazonosságát" msgstr "Nem lehet eltávolítani egy felhasználó utolsó személyazonosságát"
#: lib/graphql/resolvers/comment.ex:108
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:108
msgid "Comment is already deleted" msgid "Comment is already deleted"
msgstr "A hozzászólást már törölték" msgstr "A hozzászólást már törölték"
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
msgid "Discussion not found" msgid "Discussion not found"
msgstr "Nem található a megbeszélés" msgstr "Nem található a megbeszélés"
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
msgid "Error while saving report" msgid "Error while saving report"
msgstr "Hiba a jelentés mentésekor" msgstr "Hiba a jelentés mentésekor"
#: lib/graphql/resolvers/report.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:96
msgid "Error while updating report" msgid "Error while updating report"
msgstr "Hiba a jelentés frissítésekor" msgstr "Hiba a jelentés frissítésekor"
#: lib/graphql/resolvers/participant.ex:127
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:127
msgid "Event id not found" msgid "Event id not found"
msgstr "Nem található az eseményazonosító" msgstr "Nem található az eseményazonosító"
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281 #: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
#: lib/graphql/resolvers/event.ex:325 #: lib/graphql/resolvers/event.ex:325
#, elixir-format
msgid "Event not found" msgid "Event not found"
msgstr "Nem található az esemény" msgstr "Nem található az esemény"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:83 #: lib/graphql/resolvers/participant.ex:83
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156 #: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
#, elixir-format
msgid "Event with this ID %{id} doesn't exist" msgid "Event with this ID %{id} doesn't exist"
msgstr "Ezzel a(z) %{id} azonosítóval rendelkező esemény nem létezik" msgstr "Ezzel a(z) %{id} azonosítóval rendelkező esemény nem létezik"
#: lib/graphql/resolvers/participant.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:99
msgid "Internal Error" msgid "Internal Error"
msgstr "Belső hiba" msgstr "Belső hiba"
#: lib/graphql/resolvers/discussion.ex:201
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Nincs %{id} azonosítóval rendelkező megbeszélés" msgstr "Nincs %{id} azonosítóval rendelkező megbeszélés"
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
msgid "No profile found for user" msgid "No profile found for user"
msgstr "Nem található profil a felhasználóhoz" msgstr "Nem található profil a felhasználóhoz"
#: lib/graphql/resolvers/feed_token.ex:63
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "Nincs ilyen hírforrástoken" msgstr "Nincs ilyen hírforrástoken"
#: lib/graphql/resolvers/participant.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:237
msgid "Participant already has role %{role}" msgid "Participant already has role %{role}"
msgstr "A résztvevő már rendelkezik %{role} szereppel" msgstr "A résztvevő már rendelkezik %{role} szereppel"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:169 #: lib/graphql/resolvers/participant.ex:169
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230 #: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
#: lib/graphql/resolvers/participant.ex:240 #: lib/graphql/resolvers/participant.ex:240
#, elixir-format
msgid "Participant not found" msgid "Participant not found"
msgstr "Nem található a résztvevő" msgstr "Nem található a résztvevő"
#: lib/graphql/resolvers/person.ex:29
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "Nem található %{id} azonosítóval rendelkező személy" msgstr "Nem található %{id} azonosítóval rendelkező személy"
#: lib/graphql/resolvers/person.ex:51
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "Nem található %{username} felhasználónévvel rendelkező személy" msgstr "Nem található %{username} felhasználónévvel rendelkező személy"
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
msgid "Post ID is not a valid ID" msgid "Post ID is not a valid ID"
msgstr "A hozzászólás-azonosító nem érvényes azonosító" msgstr "A hozzászólás-azonosító nem érvényes azonosító"
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
msgid "Post doesn't exist" msgid "Post doesn't exist"
msgstr "A hozzászólás nem létezik" msgstr "A hozzászólás nem létezik"
#: lib/graphql/resolvers/member.ex:83
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:83
msgid "Profile invited doesn't exist" msgid "Profile invited doesn't exist"
msgstr "A meghívott profil nem létezik" msgstr "A meghívott profil nem létezik"
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
msgid "Profile is already a member of this group" msgid "Profile is already a member of this group"
msgstr "A profil már tagja ennek a csoportnak" msgstr "A profil már tagja ennek a csoportnak"
#, elixir-format
#: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173
#: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128
#: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171
#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 #: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222
#, elixir-format
msgid "Profile is not member of group" msgid "Profile is not member of group"
msgstr "A profil nem tagja a csoportnak" msgstr "A profil nem tagja a csoportnak"
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Nem található a profil" msgstr "Nem található a profil"
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
#, elixir-format #, elixir-format
msgid "Provided moderator profile doesn't have permission on this event"
msgstr "A megadott moderátorprofilnak nincs jogosultsága ezen az eseményen"
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
#, elixir-format
msgid "Report not found" msgid "Report not found"
msgstr "Nem található a jelentés" msgstr "Nem található a jelentés"
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
msgid "Resource doesn't exist" msgid "Resource doesn't exist"
msgstr "Az erőforrás nem létezik" msgstr "Az erőforrás nem létezik"
#: lib/graphql/resolvers/participant.ex:120
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:120
msgid "The event has already reached its maximum capacity" msgid "The event has already reached its maximum capacity"
msgstr "Az esemény már elérte a legnagyobb kapacitását" msgstr "Az esemény már elérte a legnagyobb kapacitását"
#: lib/graphql/resolvers/participant.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:260
msgid "This token is invalid" msgid "This token is invalid"
msgstr "Ez a token érvénytelen" msgstr "Ez a token érvénytelen"
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
msgid "Todo doesn't exist" msgid "Todo doesn't exist"
msgstr "A tennivaló nem létezik" msgstr "A tennivaló nem létezik"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 #: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
#: lib/graphql/resolvers/todos.ex:216 #: lib/graphql/resolvers/todos.ex:216
#, elixir-format
msgid "Todo list doesn't exist" msgid "Todo list doesn't exist"
msgstr "A tennivalólista nem létezik" msgstr "A tennivalólista nem létezik"
#: lib/graphql/resolvers/feed_token.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "A token nem létezik" msgstr "A token nem létezik"
#: lib/graphql/resolvers/feed_token.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "A token nem érvényes UUID" msgstr "A token nem érvényes UUID"
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "Nem található a felhasználó" msgstr "Nem található a felhasználó"
#: lib/graphql/resolvers/person.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Már rendelkezik profillal ehhez a felhasználóhoz" msgstr "Már rendelkezik profillal ehhez a felhasználóhoz"
#: lib/graphql/resolvers/participant.ex:130
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:130
msgid "You are already a participant of this event" msgid "You are already a participant of this event"
msgstr "Már résztvevője ennek az eseménynek" msgstr "Már résztvevője ennek az eseménynek"
#: lib/graphql/resolvers/member.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:86
msgid "You are not a member of this group" msgid "You are not a member of this group"
msgstr "Nem tagja ennek a csoportnak" msgstr "Nem tagja ennek a csoportnak"
#: lib/graphql/resolvers/member.ex:151
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "Nem moderátor vagy adminisztrátor ennél a csoportnál" msgstr "Nem moderátor vagy adminisztrátor ennél a csoportnál"
#: lib/graphql/resolvers/comment.ex:54
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:54
msgid "You are not allowed to create a comment if not connected" msgid "You are not allowed to create a comment if not connected"
msgstr "Nem hozhat létre hozzászólást, ha nincs kapcsolódva" msgstr "Nem hozhat létre hozzászólást, ha nincs kapcsolódva"
#: lib/graphql/resolvers/feed_token.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected" msgid "You are not allowed to create a feed token if not connected"
msgstr "Nem hozhat létre hírforrástokent, ha nincs kapcsolódva" msgstr "Nem hozhat létre hírforrástokent, ha nincs kapcsolódva"
#: lib/graphql/resolvers/comment.ex:113
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:113
msgid "You are not allowed to delete a comment if not connected" msgid "You are not allowed to delete a comment if not connected"
msgstr "Nem törölhet hozzászólást, ha nincs kapcsolódva" msgstr "Nem törölhet hozzászólást, ha nincs kapcsolódva"
#: lib/graphql/resolvers/feed_token.ex:78
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "Nem törölhet hírforrástokent, ha nincs kapcsolódva" msgstr "Nem törölhet hírforrástokent, ha nincs kapcsolódva"
#: lib/graphql/resolvers/comment.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:76
msgid "You are not allowed to update a comment if not connected" msgid "You are not allowed to update a comment if not connected"
msgstr "Nem frissíthet hozzászólást, ha nincs kapcsolódva" msgstr "Nem frissíthet hozzászólást, ha nincs kapcsolódva"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:163 #: lib/graphql/resolvers/participant.ex:163
#: lib/graphql/resolvers/participant.ex:192 #: lib/graphql/resolvers/participant.ex:192
#, elixir-format
msgid "You can't leave event because you're the only event creator participant" msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
"Nem hagyhatja el az eseményt, mert Ön az egyedüli eseménylétrehozó résztvevő" "Nem hagyhatja el az eseményt, mert Ön az egyedüli eseménylétrehozó résztvevő"
#: lib/graphql/resolvers/member.ex:155
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
"Nem állíthatja magát alacsonyabb tagszerepre ennél a csoportnál, mert Ön az " "Nem állíthatja magát alacsonyabb tagszerepre ennél a csoportnál, mert Ön az "
"egyedüli adminisztrátor" "egyedüli adminisztrátor"
#: lib/graphql/resolvers/comment.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:104
msgid "You cannot delete this comment" msgid "You cannot delete this comment"
msgstr "Nem tudja törölni ezt a hozzászólást" msgstr "Nem tudja törölni ezt a hozzászólást"
#: lib/graphql/resolvers/event.ex:321
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:321
msgid "You cannot delete this event" msgid "You cannot delete this event"
msgstr "Nem tudja törölni ezt az eseményt" msgstr "Nem tudja törölni ezt az eseményt"
#: lib/graphql/resolvers/member.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:89
msgid "You cannot invite to this group" msgid "You cannot invite to this group"
msgstr "Nem tud meghívni ebbe a csoportba" msgstr "Nem tud meghívni ebbe a csoportba"
#: lib/graphql/resolvers/feed_token.ex:72
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "Nincs jogosultsága a token törléséhez" msgstr "Nincs jogosultsága a token törléséhez"
#: lib/graphql/resolvers/admin.ex:52
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie a műveletnaplók " "Bejelentkezve kell lennie és moderátornak kell lennie a műveletnaplók "
"felsorolásához" "felsorolásához"
#: lib/graphql/resolvers/report.ex:26
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:26
msgid "You need to be logged-in and a moderator to list reports" msgid "You need to be logged-in and a moderator to list reports"
msgstr "" msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie a jelentések " "Bejelentkezve kell lennie és moderátornak kell lennie a jelentések "
"felsorolásához" "felsorolásához"
#: lib/graphql/resolvers/report.ex:101
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:101
msgid "You need to be logged-in and a moderator to update a report" msgid "You need to be logged-in and a moderator to update a report"
msgstr "" msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés " "Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés "
"frissítéséhez" "frissítéséhez"
#: lib/graphql/resolvers/report.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:41
msgid "You need to be logged-in and a moderator to view a report" msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
"Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés " "Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés "
"megtekintéséhez" "megtekintéséhez"
#: lib/graphql/resolvers/admin.ex:236
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
"Bejelentkezve kell lennie és adminisztrátornak kell lennie az " "Bejelentkezve kell lennie és adminisztrátornak kell lennie az "
"adminisztrátori beállításokhoz való hozzáféréshez" "adminisztrátori beállításokhoz való hozzáféréshez"
#: lib/graphql/resolvers/admin.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
"Bejelentkezve kell lennie és adminisztrátornak kell lennie a vezérlőpulti " "Bejelentkezve kell lennie és adminisztrátornak kell lennie a vezérlőpulti "
"statisztikákhoz való hozzáféréshez" "statisztikákhoz való hozzáféréshez"
#: lib/graphql/resolvers/admin.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
"Bejelentkezve kell lennie és adminisztrátornak kell lennie az " "Bejelentkezve kell lennie és adminisztrátornak kell lennie az "
"adminisztrátori beállítások mentéséhez" "adminisztrátori beállítások mentéséhez"
#: lib/graphql/resolvers/discussion.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Bejelentkezve kell lennie a megbeszélésekhez való hozzáféréshez" msgstr "Bejelentkezve kell lennie a megbeszélésekhez való hozzáféréshez"
#: lib/graphql/resolvers/resource.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:94
msgid "You need to be logged-in to access resources" msgid "You need to be logged-in to access resources"
msgstr "Bejelentkezve kell lennie az erőforrásokhoz való hozzáféréshez" msgstr "Bejelentkezve kell lennie az erőforrásokhoz való hozzáféréshez"
#: lib/graphql/resolvers/event.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:256
msgid "You need to be logged-in to create events" msgid "You need to be logged-in to create events"
msgstr "Bejelentkezve kell lennie az események létrehozásához" msgstr "Bejelentkezve kell lennie az események létrehozásához"
#: lib/graphql/resolvers/post.ex:140
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:140
msgid "You need to be logged-in to create posts" msgid "You need to be logged-in to create posts"
msgstr "Bejelentkezve kell lennie a hozzászólások létrehozásához" msgstr "Bejelentkezve kell lennie a hozzászólások létrehozásához"
#: lib/graphql/resolvers/report.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:74
msgid "You need to be logged-in to create reports" msgid "You need to be logged-in to create reports"
msgstr "Bejelentkezve kell lennie a jelentések létrehozásához" msgstr "Bejelentkezve kell lennie a jelentések létrehozásához"
#: lib/graphql/resolvers/resource.ex:133
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:133
msgid "You need to be logged-in to create resources" msgid "You need to be logged-in to create resources"
msgstr "Bejelentkezve kell lennie az erőforrások létrehozásához" msgstr "Bejelentkezve kell lennie az erőforrások létrehozásához"
#: lib/graphql/resolvers/event.ex:330
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:330
msgid "You need to be logged-in to delete an event" msgid "You need to be logged-in to delete an event"
msgstr "Bejelentkezve kell lennie egy esemény törléséhez" msgstr "Bejelentkezve kell lennie egy esemény törléséhez"
#: lib/graphql/resolvers/post.ex:211
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:211
msgid "You need to be logged-in to delete posts" msgid "You need to be logged-in to delete posts"
msgstr "Bejelentkezve kell lennie a hozzászólások törléséhez" msgstr "Bejelentkezve kell lennie a hozzászólások törléséhez"
#: lib/graphql/resolvers/resource.ex:191
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:191
msgid "You need to be logged-in to delete resources" msgid "You need to be logged-in to delete resources"
msgstr "Bejelentkezve kell lennie az erőforrások törléséhez" msgstr "Bejelentkezve kell lennie az erőforrások törléséhez"
#: lib/graphql/resolvers/participant.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:104
msgid "You need to be logged-in to join an event" msgid "You need to be logged-in to join an event"
msgstr "Bejelentkezve kell lennie egy eseményhez való csatlakozáshoz" msgstr "Bejelentkezve kell lennie egy eseményhez való csatlakozáshoz"
#: lib/graphql/resolvers/participant.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:203
msgid "You need to be logged-in to leave an event" msgid "You need to be logged-in to leave an event"
msgstr "Bejelentkezve kell lennie egy esemény elhagyásához" msgstr "Bejelentkezve kell lennie egy esemény elhagyásához"
#: lib/graphql/resolvers/event.ex:295
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:295
msgid "You need to be logged-in to update an event" msgid "You need to be logged-in to update an event"
msgstr "Bejelentkezve kell lennie egy esemény frissítéséhez" msgstr "Bejelentkezve kell lennie egy esemény frissítéséhez"
#: lib/graphql/resolvers/post.ex:178
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:178
msgid "You need to be logged-in to update posts" msgid "You need to be logged-in to update posts"
msgstr "Bejelentkezve kell lennie a hozzászólások frissítéséhez" msgstr "Bejelentkezve kell lennie a hozzászólások frissítéséhez"
#: lib/graphql/resolvers/resource.ex:162
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:162
msgid "You need to be logged-in to update resources" msgid "You need to be logged-in to update resources"
msgstr "Bejelentkezve kell lennie az erőforrások frissítéséhez" msgstr "Bejelentkezve kell lennie az erőforrások frissítéséhez"
#: lib/graphql/resolvers/resource.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:218
msgid "You need to be logged-in to view a resource preview" msgid "You need to be logged-in to view a resource preview"
msgstr "Bejelentkezve kell lennie egy erőforrás előnézetének megtekintéséhez" msgstr "Bejelentkezve kell lennie egy erőforrás előnézetének megtekintéséhez"
#: lib/graphql/resolvers/resource.ex:125
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:125
msgid "Parent resource doesn't belong to this group" msgid "Parent resource doesn't belong to this group"
msgstr "A szülőerőforrás nem tartozik ehhez a csoporthoz" msgstr "A szülőerőforrás nem tartozik ehhez a csoporthoz"
#: lib/mobilizon/users/user.ex:109
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:109
msgid "The chosen password is too short." msgid "The chosen password is too short."
msgstr "A választott jelszó túl rövid." msgstr "A választott jelszó túl rövid."
#: lib/mobilizon/users/user.ex:138
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:138
msgid "The registration token is already in use, this looks like an issue on our side." msgid "The registration token is already in use, this looks like an issue on our side."
msgstr "" msgstr ""
"A regisztrációs token már használatban van. Ez hibának tűnik a mi oldalunkon." "A regisztrációs token már használatban van. Ez hibának tűnik a mi oldalunkon."
#: lib/mobilizon/users/user.ex:104
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:104
msgid "This email is already used." msgid "This email is already used."
msgstr "Ez az e-mail-cím már használatban van." msgstr "Ez az e-mail-cím már használatban van."
#: lib/graphql/error.ex:88
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:88
msgid "Post not found" msgid "Post not found"
msgstr "Nem található a hozzászólás" msgstr "Nem található a hozzászólás"
#: lib/graphql/error.ex:75
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:75
msgid "Invalid arguments passed" msgid "Invalid arguments passed"
msgstr "Érvénytelen argumentumok lettek átadva" msgstr "Érvénytelen argumentumok lettek átadva"
#: lib/graphql/error.ex:81
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:81
msgid "Invalid credentials" msgid "Invalid credentials"
msgstr "Érvénytelen hitelesítési adatok" msgstr "Érvénytelen hitelesítési adatok"
#: lib/graphql/error.ex:79
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:79
msgid "Reset your password to login" msgid "Reset your password to login"
msgstr "Állítsa vissza a jelszavát a bejelentkezéshez" msgstr "Állítsa vissza a jelszavát a bejelentkezéshez"
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
msgid "Resource not found" msgid "Resource not found"
msgstr "Nem található az erőforrás" msgstr "Nem található az erőforrás"
#: lib/graphql/error.ex:93
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:93
msgid "Something went wrong" msgid "Something went wrong"
msgstr "Valami elromlott" msgstr "Valami elromlott"
#: lib/graphql/error.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:74
msgid "Unknown Resource" msgid "Unknown Resource"
msgstr "Ismeretlen erőforrás" msgstr "Ismeretlen erőforrás"
#: lib/graphql/error.ex:84
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:84
msgid "You don't have permission to do this" msgid "You don't have permission to do this"
msgstr "Nincs jogosultsága, hogy ezt tegye" msgstr "Nincs jogosultsága, hogy ezt tegye"
#: lib/graphql/error.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:76
msgid "You need to be logged in" msgid "You need to be logged in"
msgstr "Bejelentkezve kell lennie" msgstr "Bejelentkezve kell lennie"
#: lib/graphql/resolvers/member.ex:116
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "Nem tudja elfogadni ezt a meghívást ezzel a profillal." msgstr "Nem tudja elfogadni ezt a meghívást ezzel a profillal."
#: lib/graphql/resolvers/member.ex:134
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "Nem tudja visszautasítani ezt a meghívást ezzel a profillal." msgstr "Nem tudja visszautasítani ezt a meghívást ezzel a profillal."
#: lib/graphql/resolvers/media.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/media.ex:62
msgid "File doesn't have an allowed MIME type." msgid "File doesn't have an allowed MIME type."
msgstr "A fájl nem rendelkezik engedélyezett MIME-típussal." msgstr "A fájl nem rendelkezik engedélyezett MIME-típussal."
#: lib/graphql/resolvers/group.ex:167
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "A profil nem adminisztrátor ennél a csoportnál" msgstr "A profil nem adminisztrátor ennél a csoportnál"
#: lib/graphql/resolvers/event.ex:284
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:284
msgid "You can't edit this event." msgid "You can't edit this event."
msgstr "Nem tudja szerkeszteni ezt az eseményt." msgstr "Nem tudja szerkeszteni ezt az eseményt."
#: lib/graphql/resolvers/event.ex:287
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:287
msgid "You can't attribute this event to this profile." msgid "You can't attribute this event to this profile."
msgstr "Nem tudja ezt az eseményt ennek a profilnak tulajdonítani." msgstr "Nem tudja ezt az eseményt ennek a profilnak tulajdonítani."
#: lib/graphql/resolvers/member.ex:137
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "Ez a meghívás nem létezik." msgstr "Ez a meghívás nem létezik."
#: lib/graphql/resolvers/member.ex:179
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Ez a tag már vissza lett utasítva." msgstr "Ez a tag már vissza lett utasítva."
#: lib/graphql/resolvers/member.ex:186
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "Nincs meg a jogosultsága a tag eltávolításához." msgstr "Nincs meg a jogosultsága a tag eltávolításához."
#: lib/mobilizon/actors/actor.ex:351
#, elixir-format #, elixir-format
#: lib/mobilizon/actors/actor.ex:351
msgid "This username is already taken." msgid "This username is already taken."
msgstr "Ez a felhasználónév már foglalt." msgstr "Ez a felhasználónév már foglalt."
#: lib/graphql/resolvers/discussion.ex:73
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
"Meg kell adnia vagy egy azonosítót, vagy egy keresőbarát URL-t egy " "Meg kell adnia vagy egy azonosítót, vagy egy keresőbarát URL-t egy "
"megbeszéléshez való hozzáféréshez" "megbeszéléshez való hozzáféréshez"
#: lib/graphql/resolvers/event.ex:245
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:245
msgid "Organizer profile is not owned by the user" msgid "Organizer profile is not owned by the user"
msgstr "A szervező profilját nem a felhasználó birtokolja" msgstr "A szervező profilját nem a felhasználó birtokolja"
#: lib/graphql/resolvers/participant.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:89
msgid "Profile ID provided is not the anonymous profile one" msgid "Profile ID provided is not the anonymous profile one"
msgstr "A megadott profilazonosító nem a névtelen profil" msgstr "A megadott profilazonosító nem a névtelen profil"
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
#: lib/graphql/resolvers/person.ex:250
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "A megadott fénykép túl nehéz" msgstr "A megadott fénykép túl nehéz"
#: lib/web/views/utils.ex:33
#, elixir-format #, elixir-format
#: lib/web/views/utils.ex:33
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "Indexfájl nem található. Újra kell fordítania az előtétprogramot." msgstr "Indexfájl nem található. Újra kell fordítania az előtétprogramot."
#: lib/graphql/resolvers/resource.ex:122
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Hiba az erőforrás létrehozáskor" msgstr "Hiba az erőforrás létrehozáskor"
#: lib/graphql/resolvers/user.ex:390
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:390
msgid "Invalid activation token" msgid "Invalid activation token"
msgstr "Érvénytelen aktiválási token" msgstr "Érvénytelen aktiválási token"
#: lib/graphql/resolvers/resource.ex:208
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "Nem lehet lekérni az erőforrás részleteit erről az URL-ről." msgstr "Nem lehet lekérni az erőforrás részleteit erről az URL-ről."
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "A megadott moderátorprofilnak nincs jogosultsága ezen az eseményen"

File diff suppressed because it is too large Load Diff

View File

@ -8,15 +8,15 @@
## to merge POT files into PO files. ## to merge POT files into PO files.
msgid "" msgid ""
msgstr "" msgstr ""
"PO-Revision-Date: 2021-02-19 10:14+0000\n" "PO-Revision-Date: 2021-04-28 14:49+0000\n"
"Last-Translator: diorama <diorama@riseup.net>\n" "Last-Translator: Leo Durruti <leodurruti@disroot.org>\n"
"Language-Team: Italian <https://weblate.framasoft.org/projects/mobilizon/" "Language-Team: Italian <https://weblate.framasoft.org/projects/mobilizon/"
"backend-errors/it/>\n" "backend-errors/it/>\n"
"Language: it\n" "Language: it\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.4.2\n" "X-Generator: Weblate 4.6\n"
#: lib/mobilizon/discussions/discussion.ex:67 #: lib/mobilizon/discussions/discussion.ex:67
msgid "can't be blank" msgid "can't be blank"
@ -94,777 +94,778 @@ msgstr "dev'essere maggiore o uguale di %{number}"
msgid "must be equal to %{number}" msgid "must be equal to %{number}"
msgstr "dev'essere uguale a %{number}" msgstr "dev'essere uguale a %{number}"
#, elixir-format
#: lib/graphql/resolvers/user.ex:100 #: lib/graphql/resolvers/user.ex:100
#, elixir-format
msgid "Cannot refresh the token" msgid "Cannot refresh the token"
msgstr "Il token non può essere aggiornato" msgstr "Il token non può essere aggiornato"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "Il profilo corrente non è membro di questo gruppo" msgstr "Il profilo corrente non è membro di questo gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "Il profilo corrente non è amministratore del gruppo selezionato" msgstr "Il profilo corrente non è amministratore del gruppo selezionato"
#, elixir-format
#: lib/graphql/resolvers/user.ex:501 #: lib/graphql/resolvers/user.ex:501
#, elixir-format
msgid "Error while saving user settings" msgid "Error while saving user settings"
msgstr "Errore nel salvare le preferenze utente" msgstr "Errore nel salvare le preferenze utente"
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Gruppo non trovato" msgstr "Gruppo non trovato"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "Gruppo con ID %{id} non trovato" msgstr "Gruppo con ID %{id} non trovato"
#, elixir-format
#: lib/graphql/resolvers/user.ex:80 #: lib/graphql/resolvers/user.ex:80
#, elixir-format
msgid "Impossible to authenticate, either your email or password are invalid." msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "Impossibile autenticarsi: email e/o password non validi." msgstr "Impossibile autenticarsi: email e/o password non validi."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Membro non trovato" msgstr "Membro non trovato"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 #: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
#: lib/graphql/resolvers/user.ex:406 #: lib/graphql/resolvers/user.ex:406
#, elixir-format
msgid "No profile found for the moderator user" msgid "No profile found for the moderator user"
msgstr "Nessun profilo trovato per l'utente moderatore" msgstr "Nessun profilo trovato per l'utente moderatore"
#, elixir-format
#: lib/graphql/resolvers/user.ex:193 #: lib/graphql/resolvers/user.ex:193
#, elixir-format
msgid "No user to validate with this email was found" msgid "No user to validate with this email was found"
msgstr "Nessun utente da convalidare trovato con questa email" msgstr "Nessun utente da convalidare trovato con questa email"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "Nessun utente con questa email" msgstr "Nessun utente con questa email"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "L'utente autenticato non è propietario di questo profilo" msgstr "L'utente autenticato non è propietario di questo profilo"
#, elixir-format
#: lib/graphql/resolvers/user.ex:123 #: lib/graphql/resolvers/user.ex:123
#, elixir-format
msgid "Registrations are not open" msgid "Registrations are not open"
msgstr "Le registrazioni non sono aperte" msgstr "Le registrazioni non sono aperte"
#, elixir-format
#: lib/graphql/resolvers/user.ex:331 #: lib/graphql/resolvers/user.ex:331
#, elixir-format
msgid "The current password is invalid" msgid "The current password is invalid"
msgstr "la password corrente non è valida" msgstr "la password corrente non è valida"
#, elixir-format
#: lib/graphql/resolvers/user.ex:376 #: lib/graphql/resolvers/user.ex:376
#, elixir-format
msgid "The new email doesn't seem to be valid" msgid "The new email doesn't seem to be valid"
msgstr "La nuova email sembra non valida" msgstr "La nuova email sembra non valida"
#, elixir-format
#: lib/graphql/resolvers/user.ex:373 #: lib/graphql/resolvers/user.ex:373
#, elixir-format
msgid "The new email must be different" msgid "The new email must be different"
msgstr "La nuova email dev'essere diversa" msgstr "La nuova email dev'essere diversa"
#, elixir-format
#: lib/graphql/resolvers/user.ex:334 #: lib/graphql/resolvers/user.ex:334
#, elixir-format
msgid "The new password must be different" msgid "The new password must be different"
msgstr "La nuova password deve essere diversa" msgstr "La nuova password deve essere diversa"
#, elixir-format
#: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428 #: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428
#: lib/graphql/resolvers/user.ex:431 #: lib/graphql/resolvers/user.ex:431
#, elixir-format
msgid "The password provided is invalid" msgid "The password provided is invalid"
msgstr "La password assegnata non è valida" msgstr "La password assegnata non è valida"
#, elixir-format
#: lib/graphql/resolvers/user.ex:338 #: lib/graphql/resolvers/user.ex:338
#, elixir-format
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr "la password scelta è troppo corta, deve avere almeno 6 caratteri." msgstr "la password scelta è troppo corta, deve avere almeno 6 caratteri."
#, elixir-format
#: lib/graphql/resolvers/user.ex:214 #: lib/graphql/resolvers/user.ex:214
#, elixir-format
msgid "This user can't reset their password" msgid "This user can't reset their password"
msgstr "Questo utente non può resettare la password" msgstr "Questo utente non può resettare la password"
#, elixir-format
#: lib/graphql/resolvers/user.ex:76 #: lib/graphql/resolvers/user.ex:76
#, elixir-format
msgid "This user has been disabled" msgid "This user has been disabled"
msgstr "L'utente è stato disabilitato" msgstr "L'utente è stato disabilitato"
#, elixir-format
#: lib/graphql/resolvers/user.ex:177 #: lib/graphql/resolvers/user.ex:177
#, elixir-format
msgid "Unable to validate user" msgid "Unable to validate user"
msgstr "Impossibile convalidare l'utente" msgstr "Impossibile convalidare l'utente"
#, elixir-format
#: lib/graphql/resolvers/user.ex:409 #: lib/graphql/resolvers/user.ex:409
#, elixir-format
msgid "User already disabled" msgid "User already disabled"
msgstr "Utente già disabilitato" msgstr "Utente già disabilitato"
#, elixir-format
#: lib/graphql/resolvers/user.ex:476 #: lib/graphql/resolvers/user.ex:476
#, elixir-format
msgid "User requested is not logged-in" msgid "User requested is not logged-in"
msgstr "L'utente richiesto non è loggato" msgstr "L'utente richiesto non è loggato"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Sei già un membro di questo gruppo" msgstr "Sei già un membro di questo gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "Non puoi lasciare questo gruppo perchè sei l'unico amministratore" msgstr "Non puoi lasciare questo gruppo perchè sei l'unico amministratore"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "Non puoi unirti a questo gruppo" msgstr "Non puoi unirti a questo gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "Non è possibile elencare i gruppi a meno che non sia un moderatore." msgstr "Non è possibile elencare i gruppi a meno che non sia un moderatore."
#, elixir-format
#: lib/graphql/resolvers/user.ex:381 #: lib/graphql/resolvers/user.ex:381
#, elixir-format
msgid "You need to be logged-in to change your email" msgid "You need to be logged-in to change your email"
msgstr "È necessario effettuare il login per modificare la tua email" msgstr "È necessario effettuare il login per modificare la tua email"
#, elixir-format
#: lib/graphql/resolvers/user.ex:346 #: lib/graphql/resolvers/user.ex:346
#, elixir-format
msgid "You need to be logged-in to change your password" msgid "You need to be logged-in to change your password"
msgstr "È necessario effettuare il login per modificare la tua password" msgstr "È necessario effettuare il login per modificare la tua password"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "È necessario effettuare il login per eliminare un gruppo" msgstr "È necessario effettuare il login per eliminare un gruppo"
#, elixir-format
#: lib/graphql/resolvers/user.ex:436 #: lib/graphql/resolvers/user.ex:436
#, elixir-format
msgid "You need to be logged-in to delete your account" msgid "You need to be logged-in to delete your account"
msgstr "È necessario effettuare il login per eliminare il tuo account" msgstr "È necessario effettuare il login per eliminare il tuo account"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "È necessario effettuare il login per entrare a far parte di un gruppo" msgstr "È necessario effettuare il login per entrare a far parte di un gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "È necessario effettuare il login per lasciare un gruppo" msgstr "È necessario effettuare il login per lasciare un gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "È necessario effettuare il login per aggiornare un gruppo" msgstr "È necessario effettuare il login per aggiornare un gruppo"
#, elixir-format
#: lib/graphql/resolvers/user.ex:105 #: lib/graphql/resolvers/user.ex:105
#, elixir-format
msgid "You need to have an existing token to get a refresh token" msgid "You need to have an existing token to get a refresh token"
msgstr "" msgstr ""
"È necessario disporre di un token esistente per ottenere un token di " "È necessario disporre di un token esistente per ottenere un token di "
"aggiornamento" "aggiornamento"
#, elixir-format
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221 #: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
#, elixir-format
msgid "You requested again a confirmation email too soon" msgid "You requested again a confirmation email too soon"
msgstr "Hai richiesto di nuovo un'e-mail di conferma troppo presto" msgstr "Hai richiesto di nuovo un'e-mail di conferma troppo presto"
#, elixir-format
#: lib/graphql/resolvers/user.ex:126 #: lib/graphql/resolvers/user.ex:126
#, elixir-format
msgid "Your email is not on the allowlist" msgid "Your email is not on the allowlist"
msgstr "La tua mail non è nella lista delle autorizzazioni" msgstr "La tua mail non è nella lista delle autorizzazioni"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94 #: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
#, elixir-format
msgid "Error while performing background task" msgid "Error while performing background task"
msgstr "Errore nell'eseguire un processo in background" msgstr "Errore nell'eseguire un processo in background"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:27 #: lib/graphql/resolvers/actor.ex:27
#, elixir-format
msgid "No profile found with this ID" msgid "No profile found with this ID"
msgstr "Nessun profilo trovato con questo ID" msgstr "Nessun profilo trovato con questo ID"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91 #: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
#, elixir-format
msgid "No remote profile found with this ID" msgid "No remote profile found with this ID"
msgstr "Nessun profilo remoto trovato con questo ID" msgstr "Nessun profilo remoto trovato con questo ID"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:69 #: lib/graphql/resolvers/actor.ex:69
#, elixir-format
msgid "Only moderators and administrators can suspend a profile" msgid "Only moderators and administrators can suspend a profile"
msgstr "Solo i moderatori e gli amministratori possono sospendere un profilo" msgstr "Solo i moderatori e gli amministratori possono sospendere un profilo"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:99 #: lib/graphql/resolvers/actor.ex:99
#, elixir-format
msgid "Only moderators and administrators can unsuspend a profile" msgid "Only moderators and administrators can unsuspend a profile"
msgstr "Solo i moderatori e gli amministratori possono riattivare un profilo" msgstr "Solo i moderatori e gli amministratori possono riattivare un profilo"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:24 #: lib/graphql/resolvers/actor.ex:24
#, elixir-format
msgid "Only remote profiles may be refreshed" msgid "Only remote profiles may be refreshed"
msgstr "È possibile aggiornare solo i profili remoti" msgstr "È possibile aggiornare solo i profili remoti"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:61 #: lib/graphql/resolvers/actor.ex:61
#, elixir-format
msgid "Profile already suspended" msgid "Profile already suspended"
msgstr "Profilo già sospeso" msgstr "Profilo già sospeso"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:92 #: lib/graphql/resolvers/participant.ex:92
#, elixir-format
msgid "A valid email is required by your instance" msgid "A valid email is required by your instance"
msgstr "Un'email valida è richiesta dalla vostra istanza" msgstr "Un'email valida è richiesta dalla vostra istanza"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:86 #: lib/graphql/resolvers/participant.ex:86
#, elixir-format
msgid "Anonymous participation is not enabled" msgid "Anonymous participation is not enabled"
msgstr "La partecipazione anonima non è abilitata" msgstr "La partecipazione anonima non è abilitata"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "Impossibile rimuovere l'ultimo amministratore di un gruppo" msgstr "Impossibile rimuovere l'ultimo amministratore di un gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "Impossibile rimuovere l'ultima identità di un utente" msgstr "Impossibile rimuovere l'ultima identità di un utente"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:108 #: lib/graphql/resolvers/comment.ex:108
#, elixir-format
msgid "Comment is already deleted" msgid "Comment is already deleted"
msgstr "Commento già cancellato" msgstr "Commento già cancellato"
#, elixir-format
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62 #: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
#, elixir-format
msgid "Discussion not found" msgid "Discussion not found"
msgstr "Discussione non trovata" msgstr "Discussione non trovata"
#, elixir-format
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 #: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
#, elixir-format
msgid "Error while saving report" msgid "Error while saving report"
msgstr "Errore nel salvare la segnalazione" msgstr "Errore nel salvare la segnalazione"
#, elixir-format
#: lib/graphql/resolvers/report.ex:96 #: lib/graphql/resolvers/report.ex:96
#, elixir-format
msgid "Error while updating report" msgid "Error while updating report"
msgstr "Errore durante l'aggiornamento del rapporto" msgstr "Errore durante l'aggiornamento del rapporto"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:127 #: lib/graphql/resolvers/participant.ex:127
#, elixir-format
msgid "Event id not found" msgid "Event id not found"
msgstr "ID evento non trovato" msgstr "ID evento non trovato"
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281 #: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
#: lib/graphql/resolvers/event.ex:325 #: lib/graphql/resolvers/event.ex:325
#, elixir-format
msgid "Event not found" msgid "Event not found"
msgstr "Evento non trovato" msgstr "Evento non trovato"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:83 #: lib/graphql/resolvers/participant.ex:83
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156 #: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
#, elixir-format
msgid "Event with this ID %{id} doesn't exist" msgid "Event with this ID %{id} doesn't exist"
msgstr "L'evento con questo ID %{id} non esiste" msgstr "L'evento con questo ID %{id} non esiste"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:99 #: lib/graphql/resolvers/participant.ex:99
#, elixir-format
msgid "Internal Error" msgid "Internal Error"
msgstr "Errore Interno" msgstr "Errore Interno"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Nessuna discussione con l'ID %{id}" msgstr "Nessuna discussione con l'ID %{id}"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 #: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
#, elixir-format
msgid "No profile found for user" msgid "No profile found for user"
msgstr "Nessuno profilo trovato per l'utente" msgstr "Nessuno profilo trovato per l'utente"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "Nessun token di rifornimento corrispondente" msgstr "Nessun token di rifornimento corrispondente"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:237 #: lib/graphql/resolvers/participant.ex:237
#, elixir-format
msgid "Participant already has role %{role}" msgid "Participant already has role %{role}"
msgstr "Il partecipante ha già il ruolo %{role}" msgstr "Il partecipante ha già il ruolo %{role}"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:169 #: lib/graphql/resolvers/participant.ex:169
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230 #: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
#: lib/graphql/resolvers/participant.ex:240 #: lib/graphql/resolvers/participant.ex:240
#, elixir-format
msgid "Participant not found" msgid "Participant not found"
msgstr "Partecipante non trovato" msgstr "Partecipante non trovato"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "La persona con l'ID %{id} non è stata trovata" msgstr "La persona con l'ID %{id} non è stata trovata"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "La persona con il nome utente %{username} non è stata trovata" msgstr "La persona con il nome utente %{username} non è stata trovata"
#, elixir-format
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200 #: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
#, elixir-format
msgid "Post ID is not a valid ID" msgid "Post ID is not a valid ID"
msgstr "L'ID del post non è un ID valido" msgstr "L'ID del post non è un ID valido"
#, elixir-format
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203 #: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
#, elixir-format
msgid "Post doesn't exist" msgid "Post doesn't exist"
msgstr "Il post non esiste" msgstr "Il post non esiste"
#, elixir-format
#: lib/graphql/resolvers/member.ex:83 #: lib/graphql/resolvers/member.ex:83
#, elixir-format
msgid "Profile invited doesn't exist" msgid "Profile invited doesn't exist"
msgstr "Il profilo invitato non esiste" msgstr "Il profilo invitato non esiste"
#, elixir-format
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 #: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
#, elixir-format
msgid "Profile is already a member of this group" msgid "Profile is already a member of this group"
msgstr "Il profilo è già un membro diquesto gruppo" msgstr "Il profilo è già un membro diquesto gruppo"
#, elixir-format
#: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173
#: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128
#: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171
#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 #: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222
#, elixir-format
msgid "Profile is not member of group" msgid "Profile is not member of group"
msgstr "Il profilo non è membro del gruppo" msgstr "Il profilo non è membro del gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Profilo non trovato" msgstr "Profilo non trovato"
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
"Il profilo del moderatore fornito non dispone dell'autorizzazione per questo "
"evento"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
#, elixir-format
msgid "Report not found" msgid "Report not found"
msgstr "Segnalazione non trovata" msgstr "Segnalazione non trovata"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183 #: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
#, elixir-format
msgid "Resource doesn't exist" msgid "Resource doesn't exist"
msgstr "La risorsa non esiste" msgstr "La risorsa non esiste"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:120 #: lib/graphql/resolvers/participant.ex:120
#, elixir-format
msgid "The event has already reached its maximum capacity" msgid "The event has already reached its maximum capacity"
msgstr "L'evento ha già raggiunto la sua massima capacità" msgstr "L'evento ha già raggiunto la sua massima capacità"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:260 #: lib/graphql/resolvers/participant.ex:260
#, elixir-format
msgid "This token is invalid" msgid "This token is invalid"
msgstr "Questo token non è valido" msgstr "Questo token non è valido"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 #: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
#, elixir-format
msgid "Todo doesn't exist" msgid "Todo doesn't exist"
msgstr "L'elemento to-do non esiste" msgstr "L'elemento to-do non esiste"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 #: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
#: lib/graphql/resolvers/todos.ex:216 #: lib/graphql/resolvers/todos.ex:216
#, elixir-format
msgid "Todo list doesn't exist" msgid "Todo list doesn't exist"
msgstr "la lista non esiste" msgstr "la lista non esiste"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "Il token non esiste" msgstr "Il token non esiste"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "Il token non è un UUID valido" msgstr "Il token non è un UUID valido"
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "Utente non trovato" msgstr "Utente non trovato"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Hai già un profilo per questo utente" msgstr "Hai già un profilo per questo utente"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:130 #: lib/graphql/resolvers/participant.ex:130
#, elixir-format
msgid "You are already a participant of this event" msgid "You are already a participant of this event"
msgstr "Se già un partecipante di questo evento" msgstr "Se già un partecipante di questo evento"
#, elixir-format
#: lib/graphql/resolvers/member.ex:86 #: lib/graphql/resolvers/member.ex:86
#, elixir-format
msgid "You are not a member of this group" msgid "You are not a member of this group"
msgstr "Non sei un membro di questo gruppo" msgstr "Non sei un membro di questo gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "Non sei un moderatore o amministratore di questo gruppo" msgstr "Non sei un moderatore o amministratore di questo gruppo"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:54 #: lib/graphql/resolvers/comment.ex:54
#, elixir-format
msgid "You are not allowed to create a comment if not connected" msgid "You are not allowed to create a comment if not connected"
msgstr "Non è consentito creare un commento se non si è collegati" msgstr "Non è consentito creare un commento se non si è collegati"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:41 #: lib/graphql/resolvers/feed_token.ex:41
#, elixir-format
msgid "You are not allowed to create a feed token if not connected" msgid "You are not allowed to create a feed token if not connected"
msgstr "Non puoi creare un token di rifornimento senza connessione" msgstr "Non puoi creare un token di rifornimento senza connessione"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:113 #: lib/graphql/resolvers/comment.ex:113
#, elixir-format
msgid "You are not allowed to delete a comment if not connected" msgid "You are not allowed to delete a comment if not connected"
msgstr "Non è consentito eliminare un commento se non si è collegati" msgstr "Non è consentito eliminare un commento se non si è collegati"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "Non puoi eliminare un token di rifornimento senza connettersi" msgstr "Non puoi eliminare un token di rifornimento senza connettersi"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:76 #: lib/graphql/resolvers/comment.ex:76
#, elixir-format
msgid "You are not allowed to update a comment if not connected" msgid "You are not allowed to update a comment if not connected"
msgstr "Non è consentito aggiornare un commento se non si è collegati" msgstr "Non è consentito aggiornare un commento se non si è collegati"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:163 #: lib/graphql/resolvers/participant.ex:163
#: lib/graphql/resolvers/participant.ex:192 #: lib/graphql/resolvers/participant.ex:192
#, elixir-format
msgid "You can't leave event because you're the only event creator participant" msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
"Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi" "Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
"Non puoi impostare te stesso per un ruolo di membro inferiore per questo " "Non puoi impostare te stesso per un ruolo di membro inferiore per questo "
"gruppo perché sei l'unico amministratore" "gruppo perché sei l'unico amministratore"
#, elixir-format
#: lib/graphql/resolvers/comment.ex:104 #: lib/graphql/resolvers/comment.ex:104
#, elixir-format
msgid "You cannot delete this comment" msgid "You cannot delete this comment"
msgstr "Non puoi eliminare questo commento" msgstr "Non puoi eliminare questo commento"
#, elixir-format
#: lib/graphql/resolvers/event.ex:321 #: lib/graphql/resolvers/event.ex:321
#, elixir-format
msgid "You cannot delete this event" msgid "You cannot delete this event"
msgstr "Non puoi eliminare questo evento" msgstr "Non puoi eliminare questo evento"
#, elixir-format
#: lib/graphql/resolvers/member.ex:89 #: lib/graphql/resolvers/member.ex:89
#, elixir-format
msgid "You cannot invite to this group" msgid "You cannot invite to this group"
msgstr "Non puoi invitare in questo gruppo" msgstr "Non puoi invitare in questo gruppo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "Non hai il permesso di cancellare questo token" msgstr "Non hai il permesso di cancellare questo token"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "Devi essere connesso e un moderatore per elencare i log delle azioni" msgstr "Devi essere connesso e un moderatore per elencare i log delle azioni"
#, elixir-format
#: lib/graphql/resolvers/report.ex:26 #: lib/graphql/resolvers/report.ex:26
#, elixir-format
msgid "You need to be logged-in and a moderator to list reports" msgid "You need to be logged-in and a moderator to list reports"
msgstr "Devi essere connesso e un moderatore per elencare i rapporti" msgstr "Devi essere connesso e un moderatore per elencare i rapporti"
#, elixir-format
#: lib/graphql/resolvers/report.ex:101 #: lib/graphql/resolvers/report.ex:101
#, elixir-format
msgid "You need to be logged-in and a moderator to update a report" msgid "You need to be logged-in and a moderator to update a report"
msgstr "Devi essere connesso e un moderatore per aggiornare un rapporto" msgstr "Devi essere connesso e un moderatore per aggiornare un rapporto"
#, elixir-format
#: lib/graphql/resolvers/report.ex:41 #: lib/graphql/resolvers/report.ex:41
#, elixir-format
msgid "You need to be logged-in and a moderator to view a report" msgid "You need to be logged-in and a moderator to view a report"
msgstr "Devi essere connesso e un moderatore per visualizzare un rapporto" msgstr "Devi essere connesso e un moderatore per visualizzare un rapporto"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
"Devi essere connesso e un moderatore per accedere alle opzioni " "Devi essere connesso e un moderatore per accedere alle opzioni "
"dell'amministratore" "dell'amministratore"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
"Devi essere connesso e un moderatore per accedere alle statistiche del " "Devi essere connesso e un moderatore per accedere alle statistiche del "
"dashboard" "dashboard"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
"Devi essere connesso e un moderatore per salvare le impostazioni " "Devi essere connesso e un moderatore per salvare le impostazioni "
"dell'amministratore" "dell'amministratore"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Devi essere connesso per accedere alle discussioni" msgstr "Devi essere connesso per accedere alle discussioni"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:94 #: lib/graphql/resolvers/resource.ex:94
#, elixir-format
msgid "You need to be logged-in to access resources" msgid "You need to be logged-in to access resources"
msgstr "Devi essere connesso per accedere alle risorse" msgstr "Devi essere connesso per accedere alle risorse"
#, elixir-format
#: lib/graphql/resolvers/event.ex:256 #: lib/graphql/resolvers/event.ex:256
#, elixir-format
msgid "You need to be logged-in to create events" msgid "You need to be logged-in to create events"
msgstr "Devi essere connesso per creare eventi" msgstr "Devi essere connesso per creare eventi"
#, elixir-format
#: lib/graphql/resolvers/post.ex:140 #: lib/graphql/resolvers/post.ex:140
#, elixir-format
msgid "You need to be logged-in to create posts" msgid "You need to be logged-in to create posts"
msgstr "Devi essere connesso per creare dei post" msgstr "Devi essere connesso per creare dei post"
#, elixir-format
#: lib/graphql/resolvers/report.ex:74 #: lib/graphql/resolvers/report.ex:74
#, elixir-format
msgid "You need to be logged-in to create reports" msgid "You need to be logged-in to create reports"
msgstr "Devi essere connesso per creare rapporti" msgstr "Devi essere connesso per creare rapporti"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:133 #: lib/graphql/resolvers/resource.ex:133
#, elixir-format
msgid "You need to be logged-in to create resources" msgid "You need to be logged-in to create resources"
msgstr "Devi essere connesso per creare risorse" msgstr "Devi essere connesso per creare risorse"
#, elixir-format
#: lib/graphql/resolvers/event.ex:330 #: lib/graphql/resolvers/event.ex:330
#, elixir-format
msgid "You need to be logged-in to delete an event" msgid "You need to be logged-in to delete an event"
msgstr "Devi essere connesso per eliminare un evento" msgstr "Devi essere connesso per eliminare un evento"
#, elixir-format
#: lib/graphql/resolvers/post.ex:211 #: lib/graphql/resolvers/post.ex:211
#, elixir-format
msgid "You need to be logged-in to delete posts" msgid "You need to be logged-in to delete posts"
msgstr "Devi essere connesso per eliminare dei post" msgstr "Devi essere connesso per eliminare dei post"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:191 #: lib/graphql/resolvers/resource.ex:191
#, elixir-format
msgid "You need to be logged-in to delete resources" msgid "You need to be logged-in to delete resources"
msgstr "Devi essere connesso per eliminare risorse" msgstr "Devi essere connesso per eliminare risorse"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:104 #: lib/graphql/resolvers/participant.ex:104
#, elixir-format
msgid "You need to be logged-in to join an event" msgid "You need to be logged-in to join an event"
msgstr "Devi essere connesso per partecipare a un evento" msgstr "Devi essere connesso per partecipare a un evento"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:203 #: lib/graphql/resolvers/participant.ex:203
#, elixir-format
msgid "You need to be logged-in to leave an event" msgid "You need to be logged-in to leave an event"
msgstr "Devi essere connesso per lasciare un evento" msgstr "Devi essere connesso per lasciare un evento"
#, elixir-format
#: lib/graphql/resolvers/event.ex:295 #: lib/graphql/resolvers/event.ex:295
#, elixir-format
msgid "You need to be logged-in to update an event" msgid "You need to be logged-in to update an event"
msgstr "Devi essere connesso per aggiornare un evento" msgstr "Devi essere connesso per aggiornare un evento"
#, elixir-format
#: lib/graphql/resolvers/post.ex:178 #: lib/graphql/resolvers/post.ex:178
#, elixir-format
msgid "You need to be logged-in to update posts" msgid "You need to be logged-in to update posts"
msgstr "Devi essere connesso per aggiornare dei post" msgstr "Devi essere connesso per aggiornare dei post"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:162 #: lib/graphql/resolvers/resource.ex:162
#, elixir-format
msgid "You need to be logged-in to update resources" msgid "You need to be logged-in to update resources"
msgstr "Devi essere connesso per aggiornare le risorse" msgstr "Devi essere connesso per aggiornare le risorse"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:218 #: lib/graphql/resolvers/resource.ex:218
#, elixir-format
msgid "You need to be logged-in to view a resource preview" msgid "You need to be logged-in to view a resource preview"
msgstr "Devi essere connesso per visualizzare l'anteprima di una risorsa" msgstr "Devi essere connesso per visualizzare l'anteprima di una risorsa"
#, elixir-format
#: lib/graphql/resolvers/resource.ex:125 #: lib/graphql/resolvers/resource.ex:125
#, elixir-format
msgid "Parent resource doesn't belong to this group" msgid "Parent resource doesn't belong to this group"
msgstr "La risorsa principale non appartiene a questo gruppo" msgstr "La risorsa principale non appartiene a questo gruppo"
#, elixir-format
#: lib/mobilizon/users/user.ex:109 #: lib/mobilizon/users/user.ex:109
#, elixir-format
msgid "The chosen password is too short." msgid "The chosen password is too short."
msgstr "La password scelta è troppo corta." msgstr "La password scelta è troppo corta."
#, elixir-format
#: lib/mobilizon/users/user.ex:138 #: lib/mobilizon/users/user.ex:138
#, elixir-format
msgid "The registration token is already in use, this looks like an issue on our side." msgid "The registration token is already in use, this looks like an issue on our side."
msgstr "" msgstr ""
"Il token di registrazione è già in uso, questo sembra un problema dalla " "Il token di registrazione è già in uso, questo sembra un problema dalla "
"nostra parte." "nostra parte."
#, elixir-format
#: lib/mobilizon/users/user.ex:104 #: lib/mobilizon/users/user.ex:104
#, elixir-format
msgid "This email is already used." msgid "This email is already used."
msgstr "Questa email è già in uso." msgstr "Questa email è già in uso."
#, elixir-format
#: lib/graphql/error.ex:88 #: lib/graphql/error.ex:88
#, elixir-format
msgid "Post not found" msgid "Post not found"
msgstr "Post non trovato" msgstr "Post non trovato"
#, elixir-format
#: lib/graphql/error.ex:75 #: lib/graphql/error.ex:75
#, elixir-format
msgid "Invalid arguments passed" msgid "Invalid arguments passed"
msgstr "Sono stati trasmessi argomenti non validi" msgstr "Sono stati trasmessi argomenti non validi"
#, elixir-format
#: lib/graphql/error.ex:81 #: lib/graphql/error.ex:81
#, elixir-format
msgid "Invalid credentials" msgid "Invalid credentials"
msgstr "Credenziali non valide" msgstr "Credenziali non valide"
#, elixir-format
#: lib/graphql/error.ex:79 #: lib/graphql/error.ex:79
#, elixir-format
msgid "Reset your password to login" msgid "Reset your password to login"
msgstr "Reimposta la tua password per connetterti" msgstr "Reimposta la tua password per connetterti"
#, elixir-format
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 #: lib/graphql/error.ex:86 lib/graphql/error.ex:91
#, elixir-format
msgid "Resource not found" msgid "Resource not found"
msgstr "Segnalazione non trovata" msgstr "Segnalazione non trovata"
#, elixir-format
#: lib/graphql/error.ex:93 #: lib/graphql/error.ex:93
#, elixir-format
msgid "Something went wrong" msgid "Something went wrong"
msgstr "Qualcosa è andato storto" msgstr "Qualcosa è andato storto"
#, elixir-format
#: lib/graphql/error.ex:74 #: lib/graphql/error.ex:74
#, elixir-format
msgid "Unknown Resource" msgid "Unknown Resource"
msgstr "Risorsa sconosciuta" msgstr "Risorsa sconosciuta"
#, elixir-format
#: lib/graphql/error.ex:84 #: lib/graphql/error.ex:84
#, elixir-format
msgid "You don't have permission to do this" msgid "You don't have permission to do this"
msgstr "Non hai il permesso di farlo" msgstr "Non hai il permesso di farlo"
#, elixir-format
#: lib/graphql/error.ex:76 #: lib/graphql/error.ex:76
#, elixir-format
msgid "You need to be logged in" msgid "You need to be logged in"
msgstr "Devi essere connesso" msgstr "Devi essere connesso"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "Non puoi accettare l'invito con questo profilo." msgstr "Non puoi accettare l'invito con questo profilo."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "Non puoi rifiutare l'invito con questo profilo." msgstr "Non puoi rifiutare l'invito con questo profilo."
#, elixir-format
#: lib/graphql/resolvers/media.ex:62 #: lib/graphql/resolvers/media.ex:62
#, elixir-format
msgid "File doesn't have an allowed MIME type." msgid "File doesn't have an allowed MIME type."
msgstr "Il file non ha un tipo MIME consentito." msgstr "Il file non ha un tipo MIME consentito."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "Il profilo non è amministratore del gruppo" msgstr "Il profilo non è amministratore del gruppo"
#, elixir-format
#: lib/graphql/resolvers/event.ex:284 #: lib/graphql/resolvers/event.ex:284
#, elixir-format
msgid "You can't edit this event." msgid "You can't edit this event."
msgstr "Non puoi modificare questo evento." msgstr "Non puoi modificare questo evento."
#, elixir-format
#: lib/graphql/resolvers/event.ex:287 #: lib/graphql/resolvers/event.ex:287
#, elixir-format
msgid "You can't attribute this event to this profile." msgid "You can't attribute this event to this profile."
msgstr "Non puo iattribuire questo evento a questo profilo." msgstr "Non puo iattribuire questo evento a questo profilo."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "Questo invito non esiste." msgstr "Questo invito non esiste."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Questo memebro è già stato rifiutato." msgstr "Questo memebro è già stato rifiutato."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "Non hai il diritto di rimuovere questo membro." msgstr "Non hai il diritto di rimuovere questo membro."
#, elixir-format
#: lib/mobilizon/actors/actor.ex:351 #: lib/mobilizon/actors/actor.ex:351
#, elixir-format
msgid "This username is already taken." msgid "This username is already taken."
msgstr "Questo nome utente è già in uso." msgstr "Questo nome utente è già in uso."
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
"Devi fornire un ID o la stringa utente (ad es. <em>utente@mobilizon.sm</em>) " "Devi fornire un ID o la stringa utente (ad es. <em>utente@mobilizon.sm</em>) "
"per accedere ad una discussione" "per accedere ad una discussione"
#, elixir-format
#: lib/graphql/resolvers/event.ex:245 #: lib/graphql/resolvers/event.ex:245
#, elixir-format
msgid "Organizer profile is not owned by the user" msgid "Organizer profile is not owned by the user"
msgstr "Il profilo dell'organizzatore non è di proprietà dell'utente" msgstr "Il profilo dell'organizzatore non è di proprietà dell'utente"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:89 #: lib/graphql/resolvers/participant.ex:89
#, elixir-format
msgid "Profile ID provided is not the anonymous profile one" msgid "Profile ID provided is not the anonymous profile one"
msgstr "L'ID profilo fornito non è quello del profilo anonimo" msgstr "L'ID profilo fornito non è quello del profilo anonimo"
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "L'immagine inserita è troppo pesante" msgstr "L'immagine inserita è troppo pesante"
#, elixir-format
#: lib/web/views/utils.ex:33 #: lib/web/views/utils.ex:33
#, elixir-format
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr "Il file di indice non è stato trovato. Devi ricompilare il front-end."
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
#, elixir-format
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Errore nel salvare la segnalazione" msgstr "Errore durante la creazione della risorsa"
#, elixir-format
#: lib/graphql/resolvers/user.ex:390 #: lib/graphql/resolvers/user.ex:390
msgid "Invalid activation token"
msgstr ""
#, elixir-format #, elixir-format
msgid "Invalid activation token"
msgstr "Token di attivazione non valido"
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
#, elixir-format
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""
"Il profilo del moderatore fornito non dispone dell'autorizzazione per questo "
"evento"

View File

@ -832,8 +832,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1356,21 +1356,22 @@ msgstr ""
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1393,3 +1394,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -87,12 +87,12 @@ msgid "Cannot refresh the token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "" msgstr ""
@ -102,13 +102,13 @@ msgid "Error while saving user settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "" msgstr ""
@ -118,7 +118,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "" msgstr ""
@ -134,16 +134,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -209,22 +209,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -239,7 +239,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -249,17 +249,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -324,12 +324,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -376,7 +376,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -386,7 +386,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -403,12 +403,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -442,15 +442,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -483,22 +478,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -513,7 +508,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -533,7 +528,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -549,7 +544,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -569,12 +564,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -594,22 +589,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -749,12 +744,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -764,7 +759,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -779,17 +774,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -799,7 +794,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -814,8 +809,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -824,7 +819,7 @@ msgstr ""
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "" msgstr ""
@ -838,3 +833,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

View File

@ -854,8 +854,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/web/templates/email/email_changed_old.html.eex:41 #: lib/web/templates/email/email_changed_old.html.eex:62
#: lib/web/templates/email/email_changed_old.html.eex:65 lib/web/templates/email/email_changed_old.text.eex:5 #: 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}." 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 "" msgstr ""
@ -1381,21 +1381,22 @@ msgstr "Dit is een demosite om de bètaversie van Mobilizon te testen."
#, elixir-format #, elixir-format
#: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60
#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60
msgid "%{name}'s feed" msgid "%{name}'s feed"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:77 #: lib/service/export/feed.ex:120
msgid "%{actor}'s private events feed on %{instance}" msgid "%{actor}'s private events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:72 #: lib/service/export/feed.ex:115
msgid "%{actor}'s public events feed on %{instance}" msgid "%{actor}'s public events feed on %{instance}"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/service/export/feed.ex:203 #: lib/service/export/feed.ex:220
msgid "Feed for %{email} on %{instance}" msgid "Feed for %{email} on %{instance}"
msgstr "" msgstr ""
@ -1418,3 +1419,8 @@ msgstr ""
#: lib/web/templates/error/500_page.html.eex:52 #: lib/web/templates/error/500_page.html.eex:52
msgid "The Mobilizon server %{instance} seems to be temporarily down." msgid "The Mobilizon server %{instance} seems to be temporarily down."
msgstr "" msgstr ""
#, elixir-format
#: lib/service/export/feed.ex:73
msgid "Public feed for %{instance}"
msgstr ""

View File

@ -93,12 +93,12 @@ msgid "Cannot refresh the token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:198 #: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:202 #: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "" msgstr ""
@ -108,13 +108,13 @@ msgid "Error while saving user settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195 #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:66 #: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "" msgstr ""
@ -124,7 +124,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:258 #: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "" msgstr ""
@ -140,16 +140,16 @@ msgid "No user to validate with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218 #: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "" msgstr ""
@ -215,22 +215,22 @@ msgid "User requested is not logged-in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:232 #: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:265 #: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:229 #: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:94 #: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "" msgstr ""
@ -245,7 +245,7 @@ msgid "You need to be logged-in to change your password"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:207 #: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "" msgstr ""
@ -255,17 +255,17 @@ msgid "You need to be logged-in to delete your account"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237 #: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:270 #: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:172 #: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "" msgstr ""
@ -330,12 +330,12 @@ msgid "Anonymous participation is not enabled"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:195 #: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:192 #: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "" msgstr ""
@ -382,7 +382,7 @@ msgid "Internal Error"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:201 #: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "" msgstr ""
@ -392,7 +392,7 @@ msgid "No profile found for user"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:63 #: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "" msgstr ""
@ -409,12 +409,12 @@ msgid "Participant not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:29 #: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:51 #: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "" msgstr ""
@ -448,15 +448,10 @@ msgid "Profile is not member of group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189 #: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided moderator profile doesn't have permission on this event"
msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
msgid "Report not found" msgid "Report not found"
@ -489,22 +484,22 @@ msgid "Todo list doesn't exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:69 #: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:66 #: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358 #: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:256 #: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "" msgstr ""
@ -519,7 +514,7 @@ msgid "You are not a member of this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:151 #: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "" msgstr ""
@ -539,7 +534,7 @@ msgid "You are not allowed to delete a comment if not connected"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:78 #: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "" msgstr ""
@ -555,7 +550,7 @@ msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:155 #: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
@ -575,12 +570,12 @@ msgid "You cannot invite to this group"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:72 #: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:52 #: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
@ -600,22 +595,22 @@ msgid "You need to be logged-in and a moderator to view a report"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:236 #: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:221 #: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:260 #: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:76 #: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "" msgstr ""
@ -755,12 +750,12 @@ msgid "You need to be logged in"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:116 #: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:134 #: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "" msgstr ""
@ -770,7 +765,7 @@ msgid "File doesn't have an allowed MIME type."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:167 #: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "" msgstr ""
@ -785,17 +780,17 @@ msgid "You can't attribute this event to this profile."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:137 #: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:179 #: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:186 #: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "" msgstr ""
@ -805,7 +800,7 @@ msgid "This username is already taken."
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:73 #: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
@ -820,8 +815,8 @@ msgid "Profile ID provided is not the anonymous profile one"
msgstr "" msgstr ""
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158 #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:250 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "" msgstr ""
@ -830,7 +825,7 @@ msgstr ""
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "" msgstr ""
#, elixir-format, fuzzy #, elixir-format
#: lib/graphql/resolvers/resource.ex:122 #: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "" msgstr ""
@ -844,3 +839,8 @@ msgstr ""
#: lib/graphql/resolvers/resource.ex:208 #: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "" msgstr ""
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -110,775 +110,775 @@ msgstr "må vera større enn eller lik %{number}"
msgid "must be equal to %{number}" msgid "must be equal to %{number}"
msgstr "må vera lik %{number}" msgstr "må vera lik %{number}"
#: lib/graphql/resolvers/user.ex:100
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:100
msgid "Cannot refresh the token" msgid "Cannot refresh the token"
msgstr "Kan ikkje fornya teiknet" msgstr "Kan ikkje fornya teiknet"
#: lib/graphql/resolvers/group.ex:198
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:206
msgid "Current profile is not a member of this group" msgid "Current profile is not a member of this group"
msgstr "Denne brukaren er ikkje medlem av gruppa" msgstr "Denne brukaren er ikkje medlem av gruppa"
#: lib/graphql/resolvers/group.ex:202
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:210
msgid "Current profile is not an administrator of the selected group" msgid "Current profile is not an administrator of the selected group"
msgstr "Denne brukaren er ikkje styrar av gruppa" msgstr "Denne brukaren er ikkje styrar av gruppa"
#: lib/graphql/resolvers/user.ex:501
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:501
msgid "Error while saving user settings" msgid "Error while saving user settings"
msgstr "Greidde ikkje lagra brukarinnstillingane" msgstr "Greidde ikkje lagra brukarinnstillingane"
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:195
#: lib/graphql/resolvers/group.ex:226 lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203
#: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80
msgid "Group not found" msgid "Group not found"
msgstr "Fann ikkje gruppa" msgstr "Fann ikkje gruppa"
#: lib/graphql/resolvers/group.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:68
msgid "Group with ID %{id} not found" msgid "Group with ID %{id} not found"
msgstr "Fann ikkje gruppa med ID %{id}" msgstr "Fann ikkje gruppa med ID %{id}"
#: lib/graphql/resolvers/user.ex:80
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:80
msgid "Impossible to authenticate, either your email or password are invalid." msgid "Impossible to authenticate, either your email or password are invalid."
msgstr "Greier ikkje å logga inn. Epostadressa eller passordet ditt er feil." msgstr "Greier ikkje å logga inn. Epostadressa eller passordet ditt er feil."
#: lib/graphql/resolvers/group.ex:258
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:266
msgid "Member not found" msgid "Member not found"
msgstr "Fann ikkje medlemen" msgstr "Fann ikkje medlemen"
#, elixir-format
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 #: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
#: lib/graphql/resolvers/user.ex:406 #: lib/graphql/resolvers/user.ex:406
#, elixir-format
msgid "No profile found for the moderator user" msgid "No profile found for the moderator user"
msgstr "Fann ingen profil for moderator-brukaren" msgstr "Fann ingen profil for moderator-brukaren"
#: lib/graphql/resolvers/user.ex:193
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:193
msgid "No user to validate with this email was found" msgid "No user to validate with this email was found"
msgstr "Fann ingen brukar med denne eposten å godkjenna" msgstr "Fann ingen brukar med denne eposten å godkjenna"
#: lib/graphql/resolvers/person.ex:253 lib/graphql/resolvers/user.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
msgid "No user with this email was found" msgid "No user with this email was found"
msgstr "Fann ingen brukar med denne eposten" msgstr "Fann ingen brukar med denne eposten"
#, elixir-format
#: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/feed_token.ex:28
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
#: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:164 lib/graphql/resolvers/person.ex:198 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199
#: lib/graphql/resolvers/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:278 lib/graphql/resolvers/person.ex:307 lib/graphql/resolvers/person.ex:334
#: lib/graphql/resolvers/person.ex:342 #: lib/graphql/resolvers/person.ex:346
#, elixir-format
msgid "Profile is not owned by authenticated user" msgid "Profile is not owned by authenticated user"
msgstr "Ingen godkjent brukar eig denne profilen" msgstr "Ingen godkjent brukar eig denne profilen"
#: lib/graphql/resolvers/user.ex:123
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:123
msgid "Registrations are not open" msgid "Registrations are not open"
msgstr "Det er ikkje opna for å registrera seg" msgstr "Det er ikkje opna for å registrera seg"
#: lib/graphql/resolvers/user.ex:331
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:331
msgid "The current password is invalid" msgid "The current password is invalid"
msgstr "Dette passordet er ugyldig" msgstr "Dette passordet er ugyldig"
#: lib/graphql/resolvers/user.ex:376
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:376
msgid "The new email doesn't seem to be valid" msgid "The new email doesn't seem to be valid"
msgstr "Den nye epostadressa ser ut til å vera feil" msgstr "Den nye epostadressa ser ut til å vera feil"
#: lib/graphql/resolvers/user.ex:373
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:373
msgid "The new email must be different" msgid "The new email must be different"
msgstr "Den nye epostadressa må vera annleis" msgstr "Den nye epostadressa må vera annleis"
#: lib/graphql/resolvers/user.ex:334
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:334
msgid "The new password must be different" msgid "The new password must be different"
msgstr "Det nye passordet må vera annleis" msgstr "Det nye passordet må vera annleis"
#, elixir-format
#: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428 #: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428
#: lib/graphql/resolvers/user.ex:431 #: lib/graphql/resolvers/user.ex:431
#, elixir-format
msgid "The password provided is invalid" msgid "The password provided is invalid"
msgstr "Dette passordet er ugyldig" msgstr "Dette passordet er ugyldig"
#: lib/graphql/resolvers/user.ex:338
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:338
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
msgstr "Dette passordet er for kort. Passord må ha minst 6 teikn." msgstr "Dette passordet er for kort. Passord må ha minst 6 teikn."
#: lib/graphql/resolvers/user.ex:214
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:214
msgid "This user can't reset their password" msgid "This user can't reset their password"
msgstr "Denne brukaren kan ikkje nullstilla passordet sitt" msgstr "Denne brukaren kan ikkje nullstilla passordet sitt"
#: lib/graphql/resolvers/user.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:76
msgid "This user has been disabled" msgid "This user has been disabled"
msgstr "Denne brukaren er avskrudd" msgstr "Denne brukaren er avskrudd"
#: lib/graphql/resolvers/user.ex:177
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:177
msgid "Unable to validate user" msgid "Unable to validate user"
msgstr "Greier ikkje godkjenna brukaren" msgstr "Greier ikkje godkjenna brukaren"
#: lib/graphql/resolvers/user.ex:409
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:409
msgid "User already disabled" msgid "User already disabled"
msgstr "Brukaren er allereie inaktiv" msgstr "Brukaren er allereie inaktiv"
#: lib/graphql/resolvers/user.ex:476
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:476
msgid "User requested is not logged-in" msgid "User requested is not logged-in"
msgstr "Den førespurte brukaren er ikkje innlogga" msgstr "Den førespurte brukaren er ikkje innlogga"
#: lib/graphql/resolvers/group.ex:232
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:240
msgid "You are already a member of this group" msgid "You are already a member of this group"
msgstr "Du er allereie medlem av denne gruppa" msgstr "Du er allereie medlem av denne gruppa"
#: lib/graphql/resolvers/group.ex:265
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:273
msgid "You can't leave this group because you are the only administrator" msgid "You can't leave this group because you are the only administrator"
msgstr "Du kan ikkje forlata denne gruppa, fordi du er den einaste styraren" msgstr "Du kan ikkje forlata denne gruppa, fordi du er den einaste styraren"
#: lib/graphql/resolvers/group.ex:229
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:237
msgid "You cannot join this group" msgid "You cannot join this group"
msgstr "Du kan ikkje bli med i denne gruppa" msgstr "Du kan ikkje bli med i denne gruppa"
#: lib/graphql/resolvers/group.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:96
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "Du kan ikkje lista opp grupper med mindre du er moderator." msgstr "Du kan ikkje lista opp grupper med mindre du er moderator."
#: lib/graphql/resolvers/user.ex:381
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:381
msgid "You need to be logged-in to change your email" msgid "You need to be logged-in to change your email"
msgstr "Du må vera innlogga for å endra epostadressa di" msgstr "Du må vera innlogga for å endra epostadressa di"
#: lib/graphql/resolvers/user.ex:346
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:346
msgid "You need to be logged-in to change your password" msgid "You need to be logged-in to change your password"
msgstr "Du må vera innlogga for å endra passordet ditt" msgstr "Du må vera innlogga for å endra passordet ditt"
#: lib/graphql/resolvers/group.ex:207
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:215
msgid "You need to be logged-in to delete a group" msgid "You need to be logged-in to delete a group"
msgstr "Du må vera innlogga for å sletta ei gruppe" msgstr "Du må vera innlogga for å sletta ei gruppe"
#: lib/graphql/resolvers/user.ex:436
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:436
msgid "You need to be logged-in to delete your account" msgid "You need to be logged-in to delete your account"
msgstr "Du må vera innlogga for å sletta kontoen din" msgstr "Du må vera innlogga for å sletta kontoen din"
#: lib/graphql/resolvers/group.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:245
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Du må vera innlogga for å bli med i ei gruppe" msgstr "Du må vera innlogga for å bli med i ei gruppe"
#: lib/graphql/resolvers/group.ex:270
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:278
msgid "You need to be logged-in to leave a group" msgid "You need to be logged-in to leave a group"
msgstr "Du må vera innlogga for å forlata ei gruppe" msgstr "Du må vera innlogga for å forlata ei gruppe"
#: lib/graphql/resolvers/group.ex:172
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:180
msgid "You need to be logged-in to update a group" msgid "You need to be logged-in to update a group"
msgstr "Du må vera innlogga for å oppdatera ei gruppe" msgstr "Du må vera innlogga for å oppdatera ei gruppe"
#: lib/graphql/resolvers/user.ex:105
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:105
msgid "You need to have an existing token to get a refresh token" msgid "You need to have an existing token to get a refresh token"
msgstr "Du treng eit eksisterande teikn for å få eit fornyingsteikn" msgstr "Du treng eit eksisterande teikn for å få eit fornyingsteikn"
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
msgid "You requested again a confirmation email too soon" msgid "You requested again a confirmation email too soon"
msgstr "Du ba om ny stadfestingsepost for snøgt" msgstr "Du ba om ny stadfestingsepost for snøgt"
#: lib/graphql/resolvers/user.ex:126
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:126
msgid "Your email is not on the allowlist" msgid "Your email is not on the allowlist"
msgstr "Epostadressa di er ikkje på lista over godkjende adresser" msgstr "Epostadressa di er ikkje på lista over godkjende adresser"
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
msgid "Error while performing background task" msgid "Error while performing background task"
msgstr "Greidde ikkje utføra ei bakgrunnsoppgåve" msgstr "Greidde ikkje utføra ei bakgrunnsoppgåve"
#: lib/graphql/resolvers/actor.ex:27
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:27
msgid "No profile found with this ID" msgid "No profile found with this ID"
msgstr "Fann ingen profil med denne ID-en" msgstr "Fann ingen profil med denne ID-en"
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
msgid "No remote profile found with this ID" msgid "No remote profile found with this ID"
msgstr "Fann ingen fjern profil med denne ID-en" msgstr "Fann ingen fjern profil med denne ID-en"
#: lib/graphql/resolvers/actor.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:69
msgid "Only moderators and administrators can suspend a profile" msgid "Only moderators and administrators can suspend a profile"
msgstr "Berre moderatorar og styrarar kan sperra ein profil" msgstr "Berre moderatorar og styrarar kan sperra ein profil"
#: lib/graphql/resolvers/actor.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:99
msgid "Only moderators and administrators can unsuspend a profile" msgid "Only moderators and administrators can unsuspend a profile"
msgstr "Berre moderatorar og styrarar kan oppheva sperring av profilar" msgstr "Berre moderatorar og styrarar kan oppheva sperring av profilar"
#: lib/graphql/resolvers/actor.ex:24
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:24
msgid "Only remote profiles may be refreshed" msgid "Only remote profiles may be refreshed"
msgstr "Du kan berre lasta fjerne profilar på nytt" msgstr "Du kan berre lasta fjerne profilar på nytt"
#: lib/graphql/resolvers/actor.ex:61
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/actor.ex:61
msgid "Profile already suspended" msgid "Profile already suspended"
msgstr "Profilen er allereie sperra" msgstr "Profilen er allereie sperra"
#: lib/graphql/resolvers/participant.ex:92
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:92
msgid "A valid email is required by your instance" msgid "A valid email is required by your instance"
msgstr "Nettstaden din krev ei gyldig epostadresse" msgstr "Nettstaden din krev ei gyldig epostadresse"
#: lib/graphql/resolvers/participant.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:86
msgid "Anonymous participation is not enabled" msgid "Anonymous participation is not enabled"
msgstr "Det er ikkje høve til å vera med anonymt" msgstr "Det er ikkje høve til å vera med anonymt"
#: lib/graphql/resolvers/person.ex:195
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:196
msgid "Cannot remove the last administrator of a group" msgid "Cannot remove the last administrator of a group"
msgstr "Kan ikkje fjerna den siste styraren i gruppa" msgstr "Kan ikkje fjerna den siste styraren i gruppa"
#: lib/graphql/resolvers/person.ex:192
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:193
msgid "Cannot remove the last identity of a user" msgid "Cannot remove the last identity of a user"
msgstr "Kan ikkje fjerna den siste identiteten til ein brukar" msgstr "Kan ikkje fjerna den siste identiteten til ein brukar"
#: lib/graphql/resolvers/comment.ex:108
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:108
msgid "Comment is already deleted" msgid "Comment is already deleted"
msgstr "Kommentaren er allereie sletta" msgstr "Kommentaren er allereie sletta"
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
msgid "Discussion not found" msgid "Discussion not found"
msgstr "Fann ikkje ordskiftet" msgstr "Fann ikkje ordskiftet"
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
msgid "Error while saving report" msgid "Error while saving report"
msgstr "Greidde ikkje lagra rapporten" msgstr "Greidde ikkje lagra rapporten"
#: lib/graphql/resolvers/report.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:96
msgid "Error while updating report" msgid "Error while updating report"
msgstr "Greidde ikkje oppdatera rapporten" msgstr "Greidde ikkje oppdatera rapporten"
#: lib/graphql/resolvers/participant.ex:127
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:127
msgid "Event id not found" msgid "Event id not found"
msgstr "Fann ikkje ID-en til hendinga" msgstr "Fann ikkje ID-en til hendinga"
#, elixir-format
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281 #: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
#: lib/graphql/resolvers/event.ex:325 #: lib/graphql/resolvers/event.ex:325
#, elixir-format
msgid "Event not found" msgid "Event not found"
msgstr "Fann ikkje hendinga" msgstr "Fann ikkje hendinga"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:83 #: lib/graphql/resolvers/participant.ex:83
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156 #: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
#, elixir-format
msgid "Event with this ID %{id} doesn't exist" msgid "Event with this ID %{id} doesn't exist"
msgstr "Det finst inga hending med ID-en %{id}" msgstr "Det finst inga hending med ID-en %{id}"
#: lib/graphql/resolvers/participant.ex:99
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:99
msgid "Internal Error" msgid "Internal Error"
msgstr "Intern feil" msgstr "Intern feil"
#: lib/graphql/resolvers/discussion.ex:201
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:202
msgid "No discussion with ID %{id}" msgid "No discussion with ID %{id}"
msgstr "Ikkje noko ordskifte med ID-en %{id}" msgstr "Ikkje noko ordskifte med ID-en %{id}"
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
msgid "No profile found for user" msgid "No profile found for user"
msgstr "Fann ingen profil for brukaren" msgstr "Fann ingen profil for brukaren"
#: lib/graphql/resolvers/feed_token.ex:63
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:64
msgid "No such feed token" msgid "No such feed token"
msgstr "Det finst ikkje noko slikt teikn for kjelda" msgstr "Det finst ikkje noko slikt teikn for kjelda"
#: lib/graphql/resolvers/participant.ex:237
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:237
msgid "Participant already has role %{role}" msgid "Participant already has role %{role}"
msgstr "Deltakaren har rolla %{role} allereie" msgstr "Deltakaren har rolla %{role} allereie"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:169 #: lib/graphql/resolvers/participant.ex:169
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230 #: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
#: lib/graphql/resolvers/participant.ex:240 #: lib/graphql/resolvers/participant.ex:240
#, elixir-format
msgid "Participant not found" msgid "Participant not found"
msgstr "Fann ikkje deltakaren" msgstr "Fann ikkje deltakaren"
#: lib/graphql/resolvers/person.ex:29
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:30
msgid "Person with ID %{id} not found" msgid "Person with ID %{id} not found"
msgstr "Fann ingen person med ID-en %{id}" msgstr "Fann ingen person med ID-en %{id}"
#: lib/graphql/resolvers/person.ex:51
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:52
msgid "Person with username %{username} not found" msgid "Person with username %{username} not found"
msgstr "Fann ingen person med brukarnamnet %{username}" msgstr "Fann ingen person med brukarnamnet %{username}"
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
msgid "Post ID is not a valid ID" msgid "Post ID is not a valid ID"
msgstr "Innleggs-IDen er ugyldig" msgstr "Innleggs-IDen er ugyldig"
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
msgid "Post doesn't exist" msgid "Post doesn't exist"
msgstr "Innlegget finst ikkje" msgstr "Innlegget finst ikkje"
#: lib/graphql/resolvers/member.ex:83
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:83
msgid "Profile invited doesn't exist" msgid "Profile invited doesn't exist"
msgstr "Den inviterte profilen finst ikkje" msgstr "Den inviterte profilen finst ikkje"
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
msgid "Profile is already a member of this group" msgid "Profile is already a member of this group"
msgstr "Profilen er allereie medlem i denne gruppa" msgstr "Profilen er allereie medlem i denne gruppa"
#, elixir-format
#: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173
#: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128
#: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57
#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171
#: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 #: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222
#, elixir-format
msgid "Profile is not member of group" msgid "Profile is not member of group"
msgstr "Profilen er ikkje medlem i gruppa" msgstr "Profilen er ikkje medlem i gruppa"
#: lib/graphql/resolvers/person.ex:161 lib/graphql/resolvers/person.ex:189
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190
msgid "Profile not found" msgid "Profile not found"
msgstr "Fann ikkje profilen" msgstr "Fann ikkje profilen"
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
#, elixir-format #, elixir-format
msgid "Provided moderator profile doesn't have permission on this event"
msgstr "Moderatorprofilen har ikkje tilgang til denne hendinga"
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
#, elixir-format
msgid "Report not found" msgid "Report not found"
msgstr "Fann ikkje rapporten" msgstr "Fann ikkje rapporten"
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
msgid "Resource doesn't exist" msgid "Resource doesn't exist"
msgstr "Ressursen finst ikkje" msgstr "Ressursen finst ikkje"
#: lib/graphql/resolvers/participant.ex:120
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:120
msgid "The event has already reached its maximum capacity" msgid "The event has already reached its maximum capacity"
msgstr "Hendinga er fullteikna" msgstr "Hendinga er fullteikna"
#: lib/graphql/resolvers/participant.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:260
msgid "This token is invalid" msgid "This token is invalid"
msgstr "Teiknet er ugyldig" msgstr "Teiknet er ugyldig"
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
msgid "Todo doesn't exist" msgid "Todo doesn't exist"
msgstr "Gjeremålet finst ikkje" msgstr "Gjeremålet finst ikkje"
#, elixir-format
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 #: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
#: lib/graphql/resolvers/todos.ex:216 #: lib/graphql/resolvers/todos.ex:216
#, elixir-format
msgid "Todo list doesn't exist" msgid "Todo list doesn't exist"
msgstr "Gjeremålslista finst ikkje" msgstr "Gjeremålslista finst ikkje"
#: lib/graphql/resolvers/feed_token.ex:69
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:73
msgid "Token does not exist" msgid "Token does not exist"
msgstr "Teiknet finst ikkje" msgstr "Teiknet finst ikkje"
#: lib/graphql/resolvers/feed_token.ex:66
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
msgid "Token is not a valid UUID" msgid "Token is not a valid UUID"
msgstr "Teiknet er ikkje ein gyldig UUID" msgstr "Teiknet er ikkje ein gyldig UUID"
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:358
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:362
msgid "User not found" msgid "User not found"
msgstr "Fann ikkje brukaren" msgstr "Fann ikkje brukaren"
#: lib/graphql/resolvers/person.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/person.ex:257
msgid "You already have a profile for this user" msgid "You already have a profile for this user"
msgstr "Du har allereie ein profil for denne brukaren" msgstr "Du har allereie ein profil for denne brukaren"
#: lib/graphql/resolvers/participant.ex:130
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:130
msgid "You are already a participant of this event" msgid "You are already a participant of this event"
msgstr "Du er allereie deltakar på denne hendinga" msgstr "Du er allereie deltakar på denne hendinga"
#: lib/graphql/resolvers/member.ex:86
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:86
msgid "You are not a member of this group" msgid "You are not a member of this group"
msgstr "Du er ikkje medlem i denne gruppa" msgstr "Du er ikkje medlem i denne gruppa"
#: lib/graphql/resolvers/member.ex:151
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:149
msgid "You are not a moderator or admin for this group" msgid "You are not a moderator or admin for this group"
msgstr "Du er ikkje styrar eller administrator for denne gruppa" msgstr "Du er ikkje styrar eller administrator for denne gruppa"
#: lib/graphql/resolvers/comment.ex:54
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:54
msgid "You are not allowed to create a comment if not connected" msgid "You are not allowed to create a comment if not connected"
msgstr "Du har ikkje løyve til å skriva kommentarar viss du ikkje er kopla til" msgstr "Du har ikkje løyve til å skriva kommentarar viss du ikkje er kopla til"
#: lib/graphql/resolvers/feed_token.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:41
msgid "You are not allowed to create a feed token if not connected" msgid "You are not allowed to create a feed token if not connected"
msgstr "Du har ikkje løyve til å laga eit straumteikn når du ikkje er kopla til" msgstr "Du har ikkje løyve til å laga eit straumteikn når du ikkje er kopla til"
#: lib/graphql/resolvers/comment.ex:113
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:113
msgid "You are not allowed to delete a comment if not connected" msgid "You are not allowed to delete a comment if not connected"
msgstr "Du har ikkje løyve til å sletta ein kommentar når du ikkje er kopla til" msgstr "Du har ikkje løyve til å sletta ein kommentar når du ikkje er kopla til"
#: lib/graphql/resolvers/feed_token.ex:78
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:82
msgid "You are not allowed to delete a feed token if not connected" msgid "You are not allowed to delete a feed token if not connected"
msgstr "Du har ikkje løyve til å sletta straumteikn når du ikkje er kopla til" msgstr "Du har ikkje løyve til å sletta straumteikn når du ikkje er kopla til"
#: lib/graphql/resolvers/comment.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:76
msgid "You are not allowed to update a comment if not connected" msgid "You are not allowed to update a comment if not connected"
msgstr "" msgstr ""
"Du har ikkje løyve til å oppdatera kommentarar når du ikkje er kopla til" "Du har ikkje løyve til å oppdatera kommentarar når du ikkje er kopla til"
#, elixir-format
#: lib/graphql/resolvers/participant.ex:163 #: lib/graphql/resolvers/participant.ex:163
#: lib/graphql/resolvers/participant.ex:192 #: lib/graphql/resolvers/participant.ex:192
#, elixir-format
msgid "You can't leave event because you're the only event creator participant" msgid "You can't leave event because you're the only event creator participant"
msgstr "" msgstr ""
"Du kan ikkje forlata hendinga, fordi du er den einaste deltakaren som har " "Du kan ikkje forlata hendinga, fordi du er den einaste deltakaren som har "
"oppretta hendinga" "oppretta hendinga"
#: lib/graphql/resolvers/member.ex:155
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:153
msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
msgstr "" msgstr ""
"Du kan ikkje gje deg sjølv ei deltakarrolle i denne gruppa, fordi du er den " "Du kan ikkje gje deg sjølv ei deltakarrolle i denne gruppa, fordi du er den "
"einaste administratoren" "einaste administratoren"
#: lib/graphql/resolvers/comment.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/comment.ex:104
msgid "You cannot delete this comment" msgid "You cannot delete this comment"
msgstr "Du kan ikkje sletta denne kommentaren" msgstr "Du kan ikkje sletta denne kommentaren"
#: lib/graphql/resolvers/event.ex:321
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:321
msgid "You cannot delete this event" msgid "You cannot delete this event"
msgstr "Du kan ikkje sletta denne hendinga" msgstr "Du kan ikkje sletta denne hendinga"
#: lib/graphql/resolvers/member.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:89
msgid "You cannot invite to this group" msgid "You cannot invite to this group"
msgstr "Du kan ikkje invitera til denne gruppa" msgstr "Du kan ikkje invitera til denne gruppa"
#: lib/graphql/resolvers/feed_token.ex:72
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/feed_token.ex:76
msgid "You don't have permission to delete this token" msgid "You don't have permission to delete this token"
msgstr "Du har ikkje løyve til å sletta dette teiknet" msgstr "Du har ikkje løyve til å sletta dette teiknet"
#: lib/graphql/resolvers/admin.ex:52
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:53
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
"Du må vera innlogga og ha ei moderatorrolle for å lista opp hendingsloggar" "Du må vera innlogga og ha ei moderatorrolle for å lista opp hendingsloggar"
#: lib/graphql/resolvers/report.ex:26
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:26
msgid "You need to be logged-in and a moderator to list reports" msgid "You need to be logged-in and a moderator to list reports"
msgstr "Du må vera innlogga og ha ei moderatorrolle for å lista opp rapportar" msgstr "Du må vera innlogga og ha ei moderatorrolle for å lista opp rapportar"
#: lib/graphql/resolvers/report.ex:101
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:101
msgid "You need to be logged-in and a moderator to update a report" msgid "You need to be logged-in and a moderator to update a report"
msgstr "Du må vera innlogga og ha ei moderatorrolle for å oppdatera ein rapport" msgstr "Du må vera innlogga og ha ei moderatorrolle for å oppdatera ein rapport"
#: lib/graphql/resolvers/report.ex:41
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:41
msgid "You need to be logged-in and a moderator to view a report" msgid "You need to be logged-in and a moderator to view a report"
msgstr "Du må vera innlogga og ha ei moderatorrolle for å lesa rapportar" msgstr "Du må vera innlogga og ha ei moderatorrolle for å lesa rapportar"
#: lib/graphql/resolvers/admin.ex:236
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:237
msgid "You need to be logged-in and an administrator to access admin settings" msgid "You need to be logged-in and an administrator to access admin settings"
msgstr "" msgstr ""
"Du må vera innlogga og ha ei administratorrolle for å sjå admin-" "Du må vera innlogga og ha ei administratorrolle for å sjå admin-"
"innstillingane" "innstillingane"
#: lib/graphql/resolvers/admin.ex:221
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:222
msgid "You need to be logged-in and an administrator to access dashboard statistics" msgid "You need to be logged-in and an administrator to access dashboard statistics"
msgstr "" msgstr ""
"Du må vera innlogga og ha ei administratorrolle for å sjå statistikk på " "Du må vera innlogga og ha ei administratorrolle for å sjå statistikk på "
"styringspanelet" "styringspanelet"
#: lib/graphql/resolvers/admin.ex:260
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/admin.ex:261
msgid "You need to be logged-in and an administrator to save admin settings" msgid "You need to be logged-in and an administrator to save admin settings"
msgstr "" msgstr ""
"Du må vera innlogga og ha ei administratorrolle for å lagra admin-" "Du må vera innlogga og ha ei administratorrolle for å lagra admin-"
"innstillingar" "innstillingar"
#: lib/graphql/resolvers/discussion.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:77
msgid "You need to be logged-in to access discussions" msgid "You need to be logged-in to access discussions"
msgstr "Du må vera innlogga for å sjå ordskifte" msgstr "Du må vera innlogga for å sjå ordskifte"
#: lib/graphql/resolvers/resource.ex:94
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:94
msgid "You need to be logged-in to access resources" msgid "You need to be logged-in to access resources"
msgstr "Du må vera innlogga for å sjå ressursane" msgstr "Du må vera innlogga for å sjå ressursane"
#: lib/graphql/resolvers/event.ex:256
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:256
msgid "You need to be logged-in to create events" msgid "You need to be logged-in to create events"
msgstr "Du må vera innlogga for å laga hendingar" msgstr "Du må vera innlogga for å laga hendingar"
#: lib/graphql/resolvers/post.ex:140
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:140
msgid "You need to be logged-in to create posts" msgid "You need to be logged-in to create posts"
msgstr "Du må vera innlogga for å skriva innlegg" msgstr "Du må vera innlogga for å skriva innlegg"
#: lib/graphql/resolvers/report.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/report.ex:74
msgid "You need to be logged-in to create reports" msgid "You need to be logged-in to create reports"
msgstr "Du må vera innlogga for å rapportera" msgstr "Du må vera innlogga for å rapportera"
#: lib/graphql/resolvers/resource.ex:133
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:133
msgid "You need to be logged-in to create resources" msgid "You need to be logged-in to create resources"
msgstr "Du må vera innlogga for å laga ressursar" msgstr "Du må vera innlogga for å laga ressursar"
#: lib/graphql/resolvers/event.ex:330
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:330
msgid "You need to be logged-in to delete an event" msgid "You need to be logged-in to delete an event"
msgstr "Du må vera innlogga for å sletta ei hending" msgstr "Du må vera innlogga for å sletta ei hending"
#: lib/graphql/resolvers/post.ex:211
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:211
msgid "You need to be logged-in to delete posts" msgid "You need to be logged-in to delete posts"
msgstr "Du må vera innlogga for å sletta innlegg" msgstr "Du må vera innlogga for å sletta innlegg"
#: lib/graphql/resolvers/resource.ex:191
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:191
msgid "You need to be logged-in to delete resources" msgid "You need to be logged-in to delete resources"
msgstr "Du må vera innlogga for å sletta ressursar" msgstr "Du må vera innlogga for å sletta ressursar"
#: lib/graphql/resolvers/participant.ex:104
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:104
msgid "You need to be logged-in to join an event" msgid "You need to be logged-in to join an event"
msgstr "Du må vera innlogga for å bli med på ei hending" msgstr "Du må vera innlogga for å bli med på ei hending"
#: lib/graphql/resolvers/participant.ex:203
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:203
msgid "You need to be logged-in to leave an event" msgid "You need to be logged-in to leave an event"
msgstr "Du må vera innlogga for å melda deg av ei hending" msgstr "Du må vera innlogga for å melda deg av ei hending"
#: lib/graphql/resolvers/event.ex:295
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:295
msgid "You need to be logged-in to update an event" msgid "You need to be logged-in to update an event"
msgstr "Du må vera innlogga for å oppdatera hendingar" msgstr "Du må vera innlogga for å oppdatera hendingar"
#: lib/graphql/resolvers/post.ex:178
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/post.ex:178
msgid "You need to be logged-in to update posts" msgid "You need to be logged-in to update posts"
msgstr "Du må vera innlogga for å oppdatera innlegg" msgstr "Du må vera innlogga for å oppdatera innlegg"
#: lib/graphql/resolvers/resource.ex:162
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:162
msgid "You need to be logged-in to update resources" msgid "You need to be logged-in to update resources"
msgstr "Du må vera innlogga for å oppdatera ressursar" msgstr "Du må vera innlogga for å oppdatera ressursar"
#: lib/graphql/resolvers/resource.ex:218
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:218
msgid "You need to be logged-in to view a resource preview" msgid "You need to be logged-in to view a resource preview"
msgstr "Du må vera innlogga for å førehandsvisa ressursar" msgstr "Du må vera innlogga for å førehandsvisa ressursar"
#: lib/graphql/resolvers/resource.ex:125
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:125
msgid "Parent resource doesn't belong to this group" msgid "Parent resource doesn't belong to this group"
msgstr "Opphavsressursen høyrer ikkje til denne gruppa" msgstr "Opphavsressursen høyrer ikkje til denne gruppa"
#: lib/mobilizon/users/user.ex:109
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:109
msgid "The chosen password is too short." msgid "The chosen password is too short."
msgstr "Dette passordet er for kort." msgstr "Dette passordet er for kort."
#: lib/mobilizon/users/user.ex:138
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:138
msgid "The registration token is already in use, this looks like an issue on our side." msgid "The registration token is already in use, this looks like an issue on our side."
msgstr "" msgstr ""
"Registreringsteiknet er allereie i bruk, dette ser ut som ein feil frå vår " "Registreringsteiknet er allereie i bruk, dette ser ut som ein feil frå vår "
"side." "side."
#: lib/mobilizon/users/user.ex:104
#, elixir-format #, elixir-format
#: lib/mobilizon/users/user.ex:104
msgid "This email is already used." msgid "This email is already used."
msgstr "Denne eposten er allereie i bruk." msgstr "Denne eposten er allereie i bruk."
#: lib/graphql/error.ex:88
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:88
msgid "Post not found" msgid "Post not found"
msgstr "Fann ikkje innlegget" msgstr "Fann ikkje innlegget"
#: lib/graphql/error.ex:75
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:75
msgid "Invalid arguments passed" msgid "Invalid arguments passed"
msgstr "Ugyldige argument" msgstr "Ugyldige argument"
#: lib/graphql/error.ex:81
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:81
msgid "Invalid credentials" msgid "Invalid credentials"
msgstr "Ugyldig innlogging" msgstr "Ugyldig innlogging"
#: lib/graphql/error.ex:79
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:79
msgid "Reset your password to login" msgid "Reset your password to login"
msgstr "Nullstill passordet for å logga inn" msgstr "Nullstill passordet for å logga inn"
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
msgid "Resource not found" msgid "Resource not found"
msgstr "Fann ikkje ressursen" msgstr "Fann ikkje ressursen"
#: lib/graphql/error.ex:93
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:93
msgid "Something went wrong" msgid "Something went wrong"
msgstr "Noko gjekk gale" msgstr "Noko gjekk gale"
#: lib/graphql/error.ex:74
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:74
msgid "Unknown Resource" msgid "Unknown Resource"
msgstr "Ukjend ressurs" msgstr "Ukjend ressurs"
#: lib/graphql/error.ex:84
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:84
msgid "You don't have permission to do this" msgid "You don't have permission to do this"
msgstr "Du har ikkje løyve til å gjera detet" msgstr "Du har ikkje løyve til å gjera detet"
#: lib/graphql/error.ex:76
#, elixir-format #, elixir-format
#: lib/graphql/error.ex:76
msgid "You need to be logged in" msgid "You need to be logged in"
msgstr "Du må vera innlogga" msgstr "Du må vera innlogga"
#: lib/graphql/resolvers/member.ex:116
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:114
msgid "You can't accept this invitation with this profile." msgid "You can't accept this invitation with this profile."
msgstr "Du kan ikkje ta imot invitasjonar med denne profilen." msgstr "Du kan ikkje ta imot invitasjonar med denne profilen."
#: lib/graphql/resolvers/member.ex:134
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:132
msgid "You can't reject this invitation with this profile." msgid "You can't reject this invitation with this profile."
msgstr "Du kan ikkje avslå invitasjonen med denne profilen." msgstr "Du kan ikkje avslå invitasjonen med denne profilen."
#: lib/graphql/resolvers/media.ex:62
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/media.ex:62
msgid "File doesn't have an allowed MIME type." msgid "File doesn't have an allowed MIME type."
msgstr "Fila har ingen tillaten MIME-type." msgstr "Fila har ingen tillaten MIME-type."
#: lib/graphql/resolvers/group.ex:167
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:175
msgid "Profile is not administrator for the group" msgid "Profile is not administrator for the group"
msgstr "Profilen er ikkje administrator for gruppa" msgstr "Profilen er ikkje administrator for gruppa"
#: lib/graphql/resolvers/event.ex:284
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:284
msgid "You can't edit this event." msgid "You can't edit this event."
msgstr "Du kan ikkje endra denne hendinga." msgstr "Du kan ikkje endra denne hendinga."
#: lib/graphql/resolvers/event.ex:287
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:287
msgid "You can't attribute this event to this profile." msgid "You can't attribute this event to this profile."
msgstr "Du kan ikkje kopla denne hendinga til denne profilen." msgstr "Du kan ikkje kopla denne hendinga til denne profilen."
#: lib/graphql/resolvers/member.ex:137
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:135
msgid "This invitation doesn't exist." msgid "This invitation doesn't exist."
msgstr "Invitasjonen finst ikkje." msgstr "Invitasjonen finst ikkje."
#: lib/graphql/resolvers/member.ex:179
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:177
msgid "This member already has been rejected." msgid "This member already has been rejected."
msgstr "Denne medlemen har allereie fått avslag." msgstr "Denne medlemen har allereie fått avslag."
#: lib/graphql/resolvers/member.ex:186
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/member.ex:184
msgid "You don't have the right to remove this member." msgid "You don't have the right to remove this member."
msgstr "Du har ikkje løyve til å fjerna denne medlemen." msgstr "Du har ikkje løyve til å fjerna denne medlemen."
#: lib/mobilizon/actors/actor.ex:351
#, elixir-format #, elixir-format
#: lib/mobilizon/actors/actor.ex:351
msgid "This username is already taken." msgid "This username is already taken."
msgstr "Dette brukarnamnet er oppteke." msgstr "Dette brukarnamnet er oppteke."
#: lib/graphql/resolvers/discussion.ex:73
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/discussion.ex:74
msgid "You must provide either an ID or a slug to access a discussion" msgid "You must provide either an ID or a slug to access a discussion"
msgstr "" msgstr ""
"Du må gje anten ein ID eller ei stuttadresse for å få tilgang til ordskiftet" "Du må gje anten ein ID eller ei stuttadresse for å få tilgang til ordskiftet"
#: lib/graphql/resolvers/event.ex:245
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/event.ex:245
msgid "Organizer profile is not owned by the user" msgid "Organizer profile is not owned by the user"
msgstr "Brukaren eig ikkje arrangørprofilen" msgstr "Brukaren eig ikkje arrangørprofilen"
#: lib/graphql/resolvers/participant.ex:89
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/participant.ex:89
msgid "Profile ID provided is not the anonymous profile one" msgid "Profile ID provided is not the anonymous profile one"
msgstr "Denne profil-IDen er ikkje den anonyme profilen" msgstr "Denne profil-IDen er ikkje den anonyme profilen"
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
#: lib/graphql/resolvers/person.ex:250
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169
#: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251
msgid "The provided picture is too heavy" msgid "The provided picture is too heavy"
msgstr "Dette biletet er for stort" msgstr "Dette biletet er for stort"
#: lib/web/views/utils.ex:33
#, elixir-format #, elixir-format
#: lib/web/views/utils.ex:33
msgid "Index file not found. You need to recompile the front-end." msgid "Index file not found. You need to recompile the front-end."
msgstr "Fann ikkje indeksfila. Du må kompilera framsida på nytt." msgstr "Fann ikkje indeksfila. Du må kompilera framsida på nytt."
#: lib/graphql/resolvers/resource.ex:122
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:122
msgid "Error while creating resource" msgid "Error while creating resource"
msgstr "Greidde ikkje laga ressursen" msgstr "Greidde ikkje laga ressursen"
#: lib/graphql/resolvers/user.ex:390
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/user.ex:390
msgid "Invalid activation token" msgid "Invalid activation token"
msgstr "Ugyldig aktiveringslykjel" msgstr "Ugyldig aktiveringslykjel"
#: lib/graphql/resolvers/resource.ex:208
#, elixir-format #, elixir-format
#: lib/graphql/resolvers/resource.ex:208
msgid "Unable to fetch resource details from this URL." msgid "Unable to fetch resource details from this URL."
msgstr "Greidde ikkje henta ressursdetaljane frå denne adressa." msgstr "Greidde ikkje henta ressursdetaljane frå denne adressa."
#, elixir-format
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
msgid "Provided profile doesn't have moderator permissions on this event"
msgstr "Moderatorprofilen har ikkje tilgang til denne hendinga"

Some files were not shown because too many files have changed in this diff Show More