Merge tag '1.1.2' into chapril
This commit is contained in:
commit
78934c9234
@ -184,7 +184,7 @@ pages:
|
||||
- mkdir -p /kaniko/.docker
|
||||
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > /kaniko/.docker/config.json
|
||||
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:
|
||||
<<: *docker
|
||||
|
25
CHANGELOG.md
25
CHANGELOG.md
@ -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/),
|
||||
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
|
||||
|
||||
|
@ -34,14 +34,13 @@ FROM alpine
|
||||
|
||||
ARG BUILD_DATE
|
||||
ARG VCS_REF
|
||||
ARG CI_COMMIT_TAG
|
||||
ARG MOBILIZON_VERSION=${CI_COMMIT_TAG}
|
||||
|
||||
LABEL org.opencontainers.image.title="mobilizon" \
|
||||
org.opencontainers.image.description="Mobilizon for Docker" \
|
||||
org.opencontainers.image.vendor="joinmobilizon.org" \
|
||||
org.opencontainers.image.documentation="https://docs.joinmobilizon.org" \
|
||||
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.revision=$VCS_REF \
|
||||
org.opencontainers.image.created=$BUILD_DATE
|
||||
@ -57,7 +56,7 @@ EXPOSE 4000
|
||||
ENV MOBILIZON_DOCKER=true
|
||||
|
||||
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 ./
|
||||
|
||||
ENTRYPOINT ["./docker-entrypoint.sh"]
|
||||
|
@ -5,17 +5,50 @@
|
||||
"kind": "INTERFACE",
|
||||
"name": "ActionLogObject",
|
||||
"possibleTypes": [
|
||||
{
|
||||
"name": "Comment"
|
||||
},
|
||||
{
|
||||
"name": "Event"
|
||||
},
|
||||
{
|
||||
"name": "Comment"
|
||||
"name": "Person"
|
||||
},
|
||||
{
|
||||
"name": "Report"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind": "INTERFACE",
|
||||
"name": "Interactable",
|
||||
"possibleTypes": [
|
||||
{
|
||||
"name": "Event"
|
||||
},
|
||||
{
|
||||
"name": "Group"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mobilizon",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
@ -6,28 +6,10 @@ import { AUTH_ACCESS_TOKEN, AUTH_REFRESH_TOKEN } from "@/constants";
|
||||
import { REFRESH_TOKEN } from "@/graphql/auth";
|
||||
import { saveTokenData } from "@/utils/auth";
|
||||
import { ApolloClient } from "apollo-client";
|
||||
import introspectionQueryResultData from "../../fragmentTypes.json";
|
||||
|
||||
export const fragmentMatcher = new IntrospectionFragmentMatcher({
|
||||
introspectionQueryResultData: {
|
||||
__schema: {
|
||||
types: [
|
||||
{
|
||||
kind: "UNION",
|
||||
name: "SearchResult",
|
||||
possibleTypes: [
|
||||
{ name: "Event" },
|
||||
{ name: "Person" },
|
||||
{ name: "Group" },
|
||||
],
|
||||
},
|
||||
{
|
||||
kind: "INTERFACE",
|
||||
name: "Actor",
|
||||
possibleTypes: [{ name: "Person" }, { name: "Group" }],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
introspectionQueryResultData,
|
||||
});
|
||||
|
||||
export async function refreshAccessToken(
|
||||
|
@ -32,6 +32,7 @@ div.eventMetadataBlock {
|
||||
|
||||
p {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
|
||||
&.padding-left {
|
||||
padding-left: 20px;
|
||||
|
@ -158,45 +158,69 @@ export const CREATE_REPORT_NOTE = gql`
|
||||
`;
|
||||
|
||||
export const LOGS = gql`
|
||||
query {
|
||||
actionLogs {
|
||||
id
|
||||
action
|
||||
actor {
|
||||
query ActionLogs($page: Int, $limit: Int) {
|
||||
actionLogs(page: $page, limit: $limit) {
|
||||
elements {
|
||||
id
|
||||
preferredUsername
|
||||
domain
|
||||
avatar {
|
||||
id
|
||||
url
|
||||
}
|
||||
}
|
||||
object {
|
||||
... on Report {
|
||||
id
|
||||
}
|
||||
... on ReportNote {
|
||||
report {
|
||||
id
|
||||
}
|
||||
}
|
||||
... on Event {
|
||||
id
|
||||
title
|
||||
}
|
||||
... on Person {
|
||||
action
|
||||
actor {
|
||||
id
|
||||
preferredUsername
|
||||
domain
|
||||
name
|
||||
avatar {
|
||||
id
|
||||
url
|
||||
}
|
||||
}
|
||||
... on User {
|
||||
id
|
||||
email
|
||||
confirmedAt
|
||||
object {
|
||||
... on Report {
|
||||
id
|
||||
}
|
||||
... 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
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
@ -490,7 +490,6 @@
|
||||
"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 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 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",
|
||||
|
@ -504,7 +504,6 @@
|
||||
"No message": "Keine Nachricht",
|
||||
"No moderation logs yet": "Bisher keine Moderationsprotokolle",
|
||||
"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 open reports yet": "Bisher keine ausstehenden Berichte",
|
||||
"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 was detected as {timezone}.": "Ihre Zeitzone wurde erkannt als {timezone}.",
|
||||
"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]": "[Ihr Kommentar wurde gelöscht]",
|
||||
"[deleted]": "[gelöscht]",
|
||||
|
@ -425,7 +425,7 @@
|
||||
"This identity is not a member of any group.": "This identity is not a member of any group.",
|
||||
"(Masked)": "(Masked)",
|
||||
"{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}",
|
||||
"Date and time": "Date and time",
|
||||
"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 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",
|
||||
"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}"
|
||||
}
|
||||
|
@ -521,7 +521,6 @@
|
||||
"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 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 open reports yet": "Aún no hay informes abiertos",
|
||||
"No participant matches the filters": "Ningún participante coincide con los filtros",
|
||||
|
@ -480,7 +480,6 @@
|
||||
"No message": "Ei viestiä",
|
||||
"No moderation logs yet": "Moderointilokia ei vielä ole",
|
||||
"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 open reports yet": "Avoimia raportteja ei vielä ole",
|
||||
"No participant matches the filters": "Ei suodattimia vastaavia osallistujia",
|
||||
|
@ -479,7 +479,7 @@
|
||||
"No message": "Pas de message",
|
||||
"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 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 open reports yet": "Aucun signalement ouvert pour le moment",
|
||||
"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 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",
|
||||
"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}"
|
||||
}
|
||||
|
@ -447,7 +447,6 @@
|
||||
"No message": "Chan eil teachdaireachd ann",
|
||||
"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 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 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",
|
||||
|
@ -493,7 +493,6 @@
|
||||
"No message": "Sen mensaxe",
|
||||
"No moderation logs yet": "Sen rexistros da moderación",
|
||||
"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 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",
|
||||
|
@ -462,7 +462,6 @@
|
||||
"No message": "Nincs üzenet",
|
||||
"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 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 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",
|
||||
|
@ -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>{contact}</b> will be displayed as contact.": "<b>{contact}</b> verrà visualizzato come contatto.|<b>{contact}</b> verranno visualizzati come contatti.",
|
||||
"@{group}": "@{group}",
|
||||
"@{username}": "@{username}",
|
||||
"@{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 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.",
|
||||
@ -57,10 +59,11 @@
|
||||
"Administrator": "Amministratore",
|
||||
"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 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 from users with accounts": "Consenti tutti i commenti degli utenti che hanno effettuato l'accesso",
|
||||
"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 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.",
|
||||
@ -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.",
|
||||
"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",
|
||||
"Atom feed for events and posts": "Atom feed per eventi e messaggi",
|
||||
"Avatar": "Avatar",
|
||||
"Back to previous page": "Torna alla pagina precedente",
|
||||
"Banner": "Banner",
|
||||
@ -113,6 +117,7 @@
|
||||
"Change password": "Cambia password",
|
||||
"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).",
|
||||
"City or region": "Città o regione",
|
||||
"Clear": "Sgombra",
|
||||
"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",
|
||||
@ -137,6 +142,7 @@
|
||||
"Contact": "Contatta",
|
||||
"Continue editing": "Continua la modifica",
|
||||
"Cookies and Local storage": "Cookie e memoria locale",
|
||||
"Copy details to clipboard": "Copia i dettagli negli appunti",
|
||||
"Country": "Paese",
|
||||
"Create": "Crea",
|
||||
"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 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 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 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.",
|
||||
@ -249,6 +258,7 @@
|
||||
"Event {eventTitle} deleted": "Evento {eventTitle} rimosso",
|
||||
"Event {eventTitle} reported": "Evento {eventTitle} segnalato",
|
||||
"Events": "Eventi",
|
||||
"Events nearby": "Eventi nelle vicinanze",
|
||||
"Events tagged with {tag}": "Eventi contrassegnati con {tag}",
|
||||
"Everything": "Tutti",
|
||||
"Ex: mobilizon.fr": "Es: mobilizon.fr",
|
||||
@ -311,6 +321,8 @@
|
||||
"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 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} deleted": "Identità {displayName} eliminata",
|
||||
"Identity {displayName} updated": "Identità {displayName} aggiornata",
|
||||
@ -345,6 +357,7 @@
|
||||
"Invite a new member": "Invita un nuovo membro",
|
||||
"Invite member": "Invita membro",
|
||||
"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",
|
||||
"Join <b>{instance}</b>, a Mobilizon instance": "Entra in <b>{instance}</b>, un'istanza di Mobilizon",
|
||||
"Join group": "Unisciti al gruppo",
|
||||
@ -354,6 +367,7 @@
|
||||
"Last IP adress": "Ultimo indirizzo IP",
|
||||
"Last group created": "Ultimo gruppo creato",
|
||||
"Last published event": "Ultimo evento pubblicato",
|
||||
"Last published events": "Ultimi eventi pubblicati",
|
||||
"Last sign-in": "Ultimo accesso",
|
||||
"Last week": "Ultima settimana",
|
||||
"Latest posts": "Ultimi post",
|
||||
@ -440,7 +454,7 @@
|
||||
"No member matches the filters": "Nessun membro corrisponde ai filtri",
|
||||
"No message": "Nessun messaggio",
|
||||
"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 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",
|
||||
@ -472,13 +486,17 @@
|
||||
"On {date} ending at {endTime}": "Il {date} finendo 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 {instance}": "Su {instance}",
|
||||
"Only accessible through link": "Accessibile solo attraverso il collegamento",
|
||||
"Only accessible through link (private)": "Accessibile solo tramite link (privato)",
|
||||
"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 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.",
|
||||
"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",
|
||||
"Or": "Oppure",
|
||||
"Organized": "Organizzato",
|
||||
@ -513,6 +531,7 @@
|
||||
"Pick a profile or a group": "Scegli un profilo o un gruppo",
|
||||
"Pick an identity": "Scegli un'identità",
|
||||
"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 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.",
|
||||
@ -589,6 +608,7 @@
|
||||
"Resource provided is not an URL": "La risorsa data non è un URL",
|
||||
"Resources": "Risorse",
|
||||
"Restricted": "Limitato",
|
||||
"Return to the group page": "Ritorna alla pagina del gruppo",
|
||||
"Right now": "Proprio adesso",
|
||||
"Role": "Ruolo",
|
||||
"Rules": "Regole",
|
||||
@ -601,6 +621,7 @@
|
||||
"Searching…": "Ricerca…",
|
||||
"Search…": "Cerca…",
|
||||
"Select a language": "Seleziona una lingua",
|
||||
"Select a radius": "Seleziona un raggio",
|
||||
"Select a timezone": "Seleziona un fuso orario",
|
||||
"Select languages": "Seleziona lingue",
|
||||
"Send email": "Manda email",
|
||||
@ -627,6 +648,7 @@
|
||||
"Suspend group": "Sospendi gruppo",
|
||||
"Suspended": "Sospeso",
|
||||
"Task lists": "Elenchi di attività",
|
||||
"Technical details": "Dettagli tecnici",
|
||||
"Tentative": "Provvisorio",
|
||||
"Tentative: Will be confirmed later": "Provvisorio: sarà confermato più tardi",
|
||||
"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 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 {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 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}",
|
||||
@ -654,11 +680,17 @@
|
||||
"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 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 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_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 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's no discussions yet": "Non sono presenti discussioni",
|
||||
"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 URL is not supported": "Questo URL non è supportato",
|
||||
@ -697,6 +729,7 @@
|
||||
"Type or select a date…": "Digita o seleziona una data…",
|
||||
"URL": "URL",
|
||||
"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 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.",
|
||||
@ -733,6 +766,7 @@
|
||||
"Visible everywhere on the web (public)": "Visibile ovunque dalla rete (pubblico)",
|
||||
"Waiting for organization team approval.": "In attesa dell'approvazione dal gruppo di organizzazione.",
|
||||
"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 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",
|
||||
@ -744,13 +778,16 @@
|
||||
"Welcome back {username}!": "Bentrovatə {username}!",
|
||||
"Welcome back!": "Bentrovatə!",
|
||||
"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.",
|
||||
"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 published {number} events": "Chi ha pubblicato {number} eventi",
|
||||
"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.",
|
||||
"Within {number} kilometers of {place}": "|Entro un chilometro da {place}|Entro {number} chilometri da {place}",
|
||||
"Write something…": "Scrivi qualcosa…",
|
||||
"Yesterday": "Ieri",
|
||||
"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 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 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 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 don't follow any instances yet.": "Non segui ancora nessuna istanza.",
|
||||
"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 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 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 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 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 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 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.",
|
||||
@ -785,6 +837,7 @@
|
||||
"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 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 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}.",
|
||||
@ -806,6 +859,7 @@
|
||||
"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 {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]": "[Questo commento è stato eliminato]",
|
||||
"[deleted]": "[cancellato]",
|
||||
@ -835,11 +889,16 @@
|
||||
"with another identity…": "con altra identità…",
|
||||
"{approved} / {total} seats": "{approved} / {total} posti",
|
||||
"{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} requests waiting": "{count} richieste in attesa",
|
||||
"{count} team members": "{count} membri del team",
|
||||
"{group} activity timeline": "{group} cronologia delle attività",
|
||||
"{group}'s events": "{group} eventi",
|
||||
"{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} closed {report}": "{moderator} ha chiuso {report}",
|
||||
"{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} posts": "Nessun post|Un post|{number} di post",
|
||||
"{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)",
|
||||
"{username} was invited to {group}": "{username} è stato invitato a {group}",
|
||||
"© The OpenStreetMap Contributors": "© The OpenStreetMap Contributors"
|
||||
|
@ -463,7 +463,6 @@
|
||||
"No message": "Inga melding",
|
||||
"No moderation logs yet": "Ingen gjennomsynsloggar enno",
|
||||
"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 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",
|
||||
|
@ -495,7 +495,6 @@
|
||||
"No message": "Cap de messatge",
|
||||
"No moderation logs yet": "Cap de jornals de moderacion 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 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",
|
||||
|
@ -435,7 +435,6 @@
|
||||
"No member matches the filters": "Żaden członek nie spełnia kryteriów",
|
||||
"No message": "Brak wiadomości",
|
||||
"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 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",
|
||||
|
@ -434,7 +434,6 @@
|
||||
"No member matches the filters": "Nenhum membro corresponde aos filtros",
|
||||
"No message": "Nenhuma mensagem",
|
||||
"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 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",
|
||||
|
@ -122,7 +122,6 @@
|
||||
"Click to upload": "Нажмите, чтобы загрузить",
|
||||
"Close": "Закрыть",
|
||||
"Close comments for all (except for admins)": "Закрыть комментарии для всех (кроме админов)",
|
||||
"Events nearby": "Ближайшие мероприятия",
|
||||
"Closed": "Закрыто",
|
||||
"Comment deleted": "Комментарий удален",
|
||||
"Comment from @{username} reported": "Жалоба на комментарий от @{username} отправлена",
|
||||
@ -255,6 +254,7 @@
|
||||
"Event {eventTitle} deleted": "Мероприятие {eventTitle} удалено",
|
||||
"Event {eventTitle} reported": "Жалоба на мероприятие {eventTitle} отправлена",
|
||||
"Events": "Мероприятия",
|
||||
"Events nearby": "Ближайшие мероприятия",
|
||||
"Events tagged with {tag}": "События с тегом {tag}",
|
||||
"Everything": "Всё",
|
||||
"Ex: mobilizon.fr": "Например: mobilizon.fr",
|
||||
@ -342,6 +342,7 @@
|
||||
"Instance Terms URL": "URL условий использования узла",
|
||||
"Instance administrator": "Администратор узла",
|
||||
"Instance configuration": "Настройки узла",
|
||||
"Instance feeds": "Ленты узла",
|
||||
"Instance languages": "Языки узла",
|
||||
"Instance rules": "Правила узла",
|
||||
"Instance settings": "Настройки узла",
|
||||
@ -451,7 +452,6 @@
|
||||
"No message": "Нет сообщений",
|
||||
"No moderation logs yet": "Журналов модерования пока нет",
|
||||
"No more activity to display.": "Больше нет действия для отображения.",
|
||||
"No one is going to this event": "Пока никто не участвует|Один человек пойдёт|{going} людей пойдут",
|
||||
"No open reports yet": "Пока нет открытых отчётов",
|
||||
"No participant matches the filters": "Ни один участник не соответствует критериям",
|
||||
"No participant to approve|Approve participant|Approve {number} participants": "Нет участников для одобрения | Принять участника | Принять {number} участников",
|
||||
|
@ -123,7 +123,6 @@
|
||||
"Click to upload": "Kliknite za pošiljanje",
|
||||
"Close": "Zapri",
|
||||
"Close comments for all (except for admins)": "Zapri komentarje za vse (razen za skrbnike)",
|
||||
"Events nearby": "Zapri dogodke",
|
||||
"Closed": "Zaprto",
|
||||
"Comment deleted": "Komentar je izbrisan",
|
||||
"Comment from @{username} reported": "Prijavljen je bil komentar uporabnika @{username}",
|
||||
@ -238,6 +237,7 @@
|
||||
"Error message": "Sporočilo o napaki",
|
||||
"Error stacktrace": "Sledenje napake",
|
||||
"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}. 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}",
|
||||
@ -255,6 +255,7 @@
|
||||
"Event {eventTitle} deleted": "Dogodek {eventTitle} je izbrisan",
|
||||
"Event {eventTitle} reported": "Dogodek {eventTitle} je prijavljen",
|
||||
"Events": "Dogodki",
|
||||
"Events nearby": "Zapri dogodke",
|
||||
"Events tagged with {tag}": "Dogodki z oznako {tag}",
|
||||
"Everything": "Vse",
|
||||
"Ex: mobilizon.fr": "Npr.: mobilizon.fr",
|
||||
@ -342,6 +343,7 @@
|
||||
"Instance Terms URL": "URL pogojev uporabe vozlišča",
|
||||
"Instance administrator": "Skrbnik vozlišča",
|
||||
"Instance configuration": "Nastavitve vozlišča",
|
||||
"Instance feeds": "Viri vozlišča",
|
||||
"Instance languages": "Jezik vozlišča",
|
||||
"Instance rules": "Pravila vozlišča",
|
||||
"Instance settings": "Nastavitve vozlišča",
|
||||
@ -451,7 +453,6 @@
|
||||
"No message": "Ni sporočil",
|
||||
"No moderation logs yet": "Nobenega dnevnika moderiranja še ni",
|
||||
"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 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",
|
||||
@ -688,6 +689,7 @@
|
||||
"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 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 {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.",
|
||||
@ -735,9 +737,12 @@
|
||||
"URL": "URL",
|
||||
"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 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 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 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, your participation request was rejected by the organizers.": "Na žalost so organizatorji zavrnili vašo prošnjo za udeležbo.",
|
||||
"Unknown": "Neznano",
|
||||
|
@ -157,7 +157,7 @@
|
||||
<span v-else>
|
||||
{{
|
||||
$tc(
|
||||
"No one is going to this event",
|
||||
"No one is participating|One person participating|{going} people participating",
|
||||
event.participantStats.participant,
|
||||
{
|
||||
going: event.participantStats.participant,
|
||||
@ -185,7 +185,7 @@
|
||||
<span v-else>
|
||||
{{
|
||||
$tc(
|
||||
"No one is going to this event",
|
||||
"No one is participating|One person participating|{going} people participating",
|
||||
event.participantStats.participant,
|
||||
{
|
||||
going: event.participantStats.participant,
|
||||
@ -341,7 +341,10 @@
|
||||
:endsOn="event.endsOn"
|
||||
/>
|
||||
</event-metadata-block>
|
||||
<event-metadata-block :title="$t('Organized by')">
|
||||
<event-metadata-block
|
||||
class="metadata-organized-by"
|
||||
:title="$t('Organized by')"
|
||||
>
|
||||
<popover-actor-card
|
||||
:actor="event.organizerActor"
|
||||
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 {
|
||||
min-width: 20rem;
|
||||
padding: 1rem;
|
||||
|
@ -14,9 +14,9 @@
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<section>
|
||||
<ul v-if="actionLogs.length > 0">
|
||||
<li v-for="log in actionLogs" :key="log.id">
|
||||
<section v-if="actionLogs.total > 0 && actionLogs.elements.length > 0">
|
||||
<ul>
|
||||
<li v-for="log in actionLogs.elements" :key="log.id">
|
||||
<div class="box">
|
||||
<img
|
||||
class="image"
|
||||
@ -147,7 +147,10 @@
|
||||
<b slot="title">{{ log.object.title }}</b>
|
||||
</i18n>
|
||||
<i18n
|
||||
v-else-if="log.action === ActionLogAction.ACTOR_SUSPENSION"
|
||||
v-else-if="
|
||||
log.action === ActionLogAction.ACTOR_SUSPENSION &&
|
||||
log.object.__typename == 'Person'
|
||||
"
|
||||
tag="span"
|
||||
path="{moderator} suspended profile {profile}"
|
||||
>
|
||||
@ -169,7 +172,10 @@
|
||||
</router-link>
|
||||
</i18n>
|
||||
<i18n
|
||||
v-else-if="log.action === ActionLogAction.ACTOR_UNSUSPENSION"
|
||||
v-else-if="
|
||||
log.action === ActionLogAction.ACTOR_UNSUSPENSION &&
|
||||
log.object.__typename == 'Person'
|
||||
"
|
||||
tag="span"
|
||||
path="{moderator} has unsuspended profile {profile}"
|
||||
>
|
||||
@ -190,6 +196,56 @@
|
||||
>{{ displayNameAndUsername(log.object) }}
|
||||
</router-link>
|
||||
</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
|
||||
v-else-if="log.action === ActionLogAction.USER_DELETION"
|
||||
tag="span"
|
||||
@ -214,25 +270,113 @@
|
||||
</router-link>
|
||||
<b v-else slot="user">{{ log.object.email }}</b>
|
||||
</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 />
|
||||
<small>{{ log.insertedAt | formatDateTimeString }}</small>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div v-else>
|
||||
<b-message type="is-info">{{ $t("No moderation logs yet") }}</b-message>
|
||||
</div>
|
||||
<b-pagination
|
||||
:total="actionLogs.total"
|
||||
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>
|
||||
<div v-else>
|
||||
<b-message type="is-info">{{ $t("No moderation logs yet") }}</b-message>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<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 { LOGS } from "@/graphql/report";
|
||||
import ReportCard from "@/components/Report/ReportCard.vue";
|
||||
import { ActionLogAction } from "@/types/enums";
|
||||
import RouteName from "../../router/name";
|
||||
import { displayNameAndUsername } from "../../types/actor";
|
||||
import { Paginate } from "@/types/paginate";
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
@ -242,17 +386,39 @@ import { displayNameAndUsername } from "../../types/actor";
|
||||
actionLogs: {
|
||||
fetchPolicy: "cache-and-network",
|
||||
query: LOGS,
|
||||
variables() {
|
||||
return {
|
||||
page: this.page,
|
||||
limit: this.LOGS_PER_PAGE,
|
||||
};
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
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;
|
||||
|
||||
RouteName = RouteName;
|
||||
|
||||
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>
|
||||
<style lang="scss" scoped>
|
||||
@ -265,4 +431,8 @@ img.image {
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
section ul li {
|
||||
margin: 0.5rem auto;
|
||||
}
|
||||
</style>
|
||||
|
41
js/yarn.lock
41
js/yarn.lock
@ -1444,9 +1444,9 @@
|
||||
jest-diff "^24.3.0"
|
||||
|
||||
"@types/jest@^26.0.18":
|
||||
version "26.0.22"
|
||||
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6"
|
||||
integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw==
|
||||
version "26.0.23"
|
||||
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7"
|
||||
integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==
|
||||
dependencies:
|
||||
jest-diff "^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"
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615"
|
||||
integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==
|
||||
@ -3318,9 +3323,9 @@ bser@2.1.1:
|
||||
node-int64 "^0.4.0"
|
||||
|
||||
buefy@^0.9.0:
|
||||
version "0.9.6"
|
||||
resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.9.6.tgz#83c026c4a6f8fdcab80ded59181efc20873e3a99"
|
||||
integrity sha512-qoYtbTf78xvC5fcRsuUKqUizJCAk2rg6LiAzON8X1G0GTsHkCWRWBHsJmU/jk1/6B+TQ10pSGkQgB+OLrREeXg==
|
||||
version "0.9.7"
|
||||
resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.9.7.tgz#694e73fe0b32632a53d94c5ba9cfa4468363badd"
|
||||
integrity sha512-Fli0ZjNDgtFtHm0LItWmfhNJ1oLjDwPzUWccvwXXoo2mADXaH8JQxyhY+drUuUV5/GMu5PtwqQSqPgZy942VZg==
|
||||
dependencies:
|
||||
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"
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
|
||||
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==
|
||||
|
||||
core-js@^3.6.4:
|
||||
version "3.10.2"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.2.tgz#17cb038ce084522a717d873b63f2b3ee532e2cd5"
|
||||
integrity sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw==
|
||||
version "3.11.0"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.11.0.tgz#05dac6aa70c0a4ad842261f8957b961d36eb8926"
|
||||
integrity sha512-bd79DPpx+1Ilh9+30aT5O1sgpQd4Ttg8oqkqi51ZzhedMM1omD2e6IOF48Z/DzDCZ2svp49tN/3vneTK6ZBkXw==
|
||||
|
||||
core-js@^3.6.5:
|
||||
version "3.10.1"
|
||||
@ -12677,9 +12690,9 @@ vue-hot-reload-api@^2.3.0:
|
||||
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
|
||||
|
||||
vue-i18n-extract@^1.0.2:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n-extract/-/vue-i18n-extract-1.2.1.tgz#0695f628b8ffeba840fe4cbcc2bec2429cce88a5"
|
||||
integrity sha512-CaT2vqQi/b5YZyau+6OSvyY044GQu6kexMMUh2zF08s+i08hfbj3s/pdgKLq5EjFbSDFcx2SjF5zACWAhHtN5Q==
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n-extract/-/vue-i18n-extract-1.2.3.tgz#7a16bbce29d587476df0bad85c0f9453b5bcfcbe"
|
||||
integrity sha512-ZLtF6wp732KHKawHx5ZSmjyydkli9g26z0NfGLP89DkiGx4nKFYZ2oIH35HtImdhcfq1zqkeSwxs7kRzarLoVw==
|
||||
dependencies:
|
||||
commander "^6.1.0"
|
||||
dot-object "^2.1.4"
|
||||
|
@ -39,11 +39,12 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
Visibility
|
||||
}
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
|
||||
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.WebFinger
|
||||
|
||||
alias Mobilizon.Service.Notifications.Scheduler
|
||||
alias Mobilizon.Storage.Page
|
||||
@ -79,7 +80,6 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
{:ok, struct()} | {:error, any()}
|
||||
def fetch_object_from_url(url, options \\ []) do
|
||||
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")},
|
||||
{:existing, nil} <-
|
||||
@ -99,39 +99,7 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
Preloader.maybe_preload(entity)
|
||||
else
|
||||
{:existing, entity} ->
|
||||
Logger.debug("Entity is already existing")
|
||||
|
||||
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
|
||||
handle_existing_entity(url, entity, options)
|
||||
|
||||
e ->
|
||||
Logger.warn("Something failed while fetching url #{inspect(e)}")
|
||||
@ -139,37 +107,51 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
end
|
||||
end
|
||||
|
||||
@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)
|
||||
@spec handle_existing_entity(String.t(), struct(), Keyword.t()) ::
|
||||
{:ok, struct()}
|
||||
| {:ok, struct()}
|
||||
| {:error, String.t(), struct()}
|
||||
| {: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
|
||||
with %Actor{url: url} <- Relay.get_actor() do
|
||||
get_or_fetch_actor_by_url(url)
|
||||
{:error, status, entity} ->
|
||||
{:ok, entity} = Preloader.maybe_preload(entity)
|
||||
{:error, status, entity}
|
||||
|
||||
err ->
|
||||
err
|
||||
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}
|
||||
@spec refresh_entity(String.t(), struct(), Keyword.t()) ::
|
||||
{:ok, struct()} | {:error, String.t(), struct()} | {:error, String.t()}
|
||||
defp refresh_entity(url, entity, options) do
|
||||
force_fetch = Keyword.get(options, :force, false)
|
||||
|
||||
err ->
|
||||
Logger.warn("Could not fetch by AP id")
|
||||
Logger.debug(inspect(err))
|
||||
{:error, "Could not fetch by AP id"}
|
||||
end
|
||||
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}
|
||||
|
||||
{:error, "Object origin check failed"} ->
|
||||
{:error, "Object origin check failed"}
|
||||
end
|
||||
else
|
||||
{:ok, entity}
|
||||
end
|
||||
end
|
||||
|
||||
@ -287,7 +269,8 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
local \\ true,
|
||||
public \\ true
|
||||
) 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),
|
||||
announce_data <- make_announce_data(actor, object, activity_id, public),
|
||||
{:ok, activity} <- create_activity(announce_data, local),
|
||||
@ -604,68 +587,6 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
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
|
||||
defp is_create_activity?(%Activity{data: %{"type" => "Create"}}), do: true
|
||||
defp is_create_activity?(_), do: false
|
||||
@ -783,40 +704,6 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
)
|
||||
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 """
|
||||
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,
|
||||
subject: "member_approved"
|
||||
),
|
||||
_ <-
|
||||
unless(is_nil(member.parent.domain),
|
||||
do: Refresher.fetch_group(member.parent.url, member.actor)
|
||||
),
|
||||
_ <- maybe_refresh_group(member),
|
||||
Absinthe.Subscription.publish(Endpoint, member.actor,
|
||||
group_membership_changed: [
|
||||
Actor.preferred_username_and_domain(member.parent),
|
||||
@ -979,6 +863,7 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
Mobilizon.Service.Activity.Member.insert_activity(member,
|
||||
subject: "member_accepted_invitation"
|
||||
),
|
||||
_ <- maybe_refresh_group(member),
|
||||
accept_data <- %{
|
||||
"type" => "Accept",
|
||||
"attributedTo" => member.parent.url,
|
||||
@ -992,6 +877,14 @@ defmodule Mobilizon.Federation.ActivityPub do
|
||||
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()
|
||||
defp reject_join(%Participant{} = participant, additional) do
|
||||
with {:ok, %Participant{} = participant} <-
|
||||
|
102
lib/federation/activity_pub/actor.ex
Normal file
102
lib/federation/activity_pub/actor.ex
Normal 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
|
@ -13,6 +13,7 @@ defmodule Mobilizon.Federation.ActivityPub.Federator do
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.{Activity, Transmogrifier}
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
|
||||
require Logger
|
||||
|
||||
@ -42,7 +43,8 @@ defmodule Mobilizon.Federation.ActivityPub.Federator do
|
||||
Logger.debug(inspect(activity))
|
||||
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)
|
||||
ActivityPub.publish(actor, activity)
|
||||
end
|
||||
@ -61,7 +63,7 @@ defmodule Mobilizon.Federation.ActivityPub.Federator do
|
||||
|
||||
e ->
|
||||
# Just drop those for now
|
||||
Logger.error("Unhandled activity")
|
||||
Logger.debug("Unhandled activity")
|
||||
Logger.debug(inspect(e))
|
||||
Logger.debug(Jason.encode!(params))
|
||||
end
|
||||
|
@ -8,6 +8,7 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
|
||||
|
||||
alias Mobilizon.Federation.HTTPSignatures.Signature
|
||||
alias Mobilizon.Federation.ActivityPub.{Relay, Transmogrifier}
|
||||
alias Mobilizon.Federation.ActivityStream.Converter.Actor, as: ActorConverter
|
||||
alias Mobilizon.Service.HTTP.ActivityPub, as: ActivityPubClient
|
||||
|
||||
import Mobilizon.Federation.ActivityPub.Utils,
|
||||
@ -30,11 +31,11 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
|
||||
{:ok, data}
|
||||
else
|
||||
{:ok, %Tesla.Env{status: 410}} ->
|
||||
Logger.warn("Resource at #{url} is 410 Gone")
|
||||
Logger.debug("Resource at #{url} is 410 Gone")
|
||||
{:error, "Gone"}
|
||||
|
||||
{:ok, %Tesla.Env{status: 404}} ->
|
||||
Logger.warn("Resource at #{url} is 404 Gone")
|
||||
Logger.debug("Resource at #{url} is 404 Gone")
|
||||
{:error, "Not found"}
|
||||
|
||||
{: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()}
|
||||
def fetch_and_update(url, options \\ []) do
|
||||
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 <- %{
|
||||
"type" => "Update",
|
||||
"to" => data["to"],
|
||||
@ -87,7 +88,6 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
|
||||
Transmogrifier.handle_incoming(params)
|
||||
else
|
||||
{:origin_check, false} ->
|
||||
Logger.warn("Object origin check failed")
|
||||
{:error, "Object origin check failed"}
|
||||
|
||||
{:error, err} ->
|
||||
@ -95,6 +95,57 @@ defmodule Mobilizon.Federation.ActivityPub.Fetcher do
|
||||
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}
|
||||
defp address_invalid(address) do
|
||||
with %URI{host: host, scheme: scheme} <- URI.parse(address),
|
||||
|
@ -12,6 +12,7 @@ defmodule Mobilizon.Federation.ActivityPub.Preloader do
|
||||
alias Mobilizon.Resources.Resource
|
||||
alias Mobilizon.Tombstone
|
||||
|
||||
@spec maybe_preload(struct()) :: {:ok, struct()} | {:error, struct()}
|
||||
def maybe_preload(%Event{url: url}),
|
||||
do: {:ok, Events.get_public_event_by_url_with_preload!(url)}
|
||||
|
||||
|
@ -6,8 +6,8 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.{Fetcher, Relay, Transmogrifier, Utils}
|
||||
alias Mobilizon.Storage.Repo
|
||||
require Logger
|
||||
|
||||
@doc """
|
||||
@ -32,7 +32,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
end
|
||||
|
||||
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
|
||||
end
|
||||
@ -50,7 +50,7 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
discussions_url: discussions_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(members_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
|
||||
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 ->
|
||||
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
|
||||
|
||||
@ -96,14 +110,11 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
end
|
||||
end
|
||||
|
||||
@spec refresh_all_external_groups :: any()
|
||||
@spec refresh_all_external_groups :: :ok
|
||||
def refresh_all_external_groups do
|
||||
Repo.transaction(fn ->
|
||||
Actors.list_external_groups_for_stream()
|
||||
|> Stream.filter(&Actors.needs_update?/1)
|
||||
|> Stream.map(&refresh_profile/1)
|
||||
|> Stream.run()
|
||||
end)
|
||||
Actors.list_external_groups()
|
||||
|> Enum.filter(&Actors.needs_update?/1)
|
||||
|> Enum.each(&refresh_profile/1)
|
||||
end
|
||||
|
||||
defp process_collection(%{"type" => type, "orderedItems" => items}, _on_behalf_of)
|
||||
@ -122,6 +133,14 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
:ok
|
||||
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)
|
||||
when is_map(first),
|
||||
do: process_collection(first, on_behalf_of)
|
||||
@ -150,6 +169,11 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
Transmogrifier.handle_incoming(data)
|
||||
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
|
||||
defp handling_element(data) when is_map(data) do
|
||||
object = get_in(data, ["object"])
|
||||
|
@ -13,6 +13,7 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.{Activity, Refresher, Transmogrifier}
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.WebFinger
|
||||
|
||||
alias Mobilizon.GraphQL.API.Follows
|
||||
@ -37,7 +38,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
|
||||
def follow(address) do
|
||||
with {:ok, target_instance} <- fetch_actor(address),
|
||||
%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
|
||||
Logger.info("Relay: followed instance #{target_instance}; id=#{activity.data["id"]}")
|
||||
{:ok, activity, follow}
|
||||
@ -56,7 +58,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
|
||||
def unfollow(address) do
|
||||
with {:ok, target_instance} <- fetch_actor(address),
|
||||
%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
|
||||
Logger.info("Relay: unfollowed instance #{target_instance}: id=#{activity.data["id"]}")
|
||||
{:ok, activity, follow}
|
||||
@ -73,7 +76,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
|
||||
|
||||
with {:ok, target_instance} <- fetch_actor(address),
|
||||
%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}
|
||||
end
|
||||
@ -84,7 +88,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
|
||||
|
||||
with {:ok, target_instance} <- fetch_actor(address),
|
||||
%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}
|
||||
end
|
||||
@ -94,7 +99,8 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
|
||||
Logger.debug("We're trying to refresh a remote instance")
|
||||
|
||||
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)
|
||||
end
|
||||
end
|
||||
|
@ -18,6 +18,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.{Activity, Refresher, Relay, Utils}
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.Types.Ownable
|
||||
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
|
||||
alias Mobilizon.Tombstone
|
||||
@ -117,12 +118,13 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
|
||||
def handle_incoming(%{
|
||||
"type" => "Create",
|
||||
"object" => %{"type" => "Group", "id" => group_url} = _object
|
||||
}) do
|
||||
Logger.info("Handle incoming to create a group")
|
||||
"object" => %{"type" => type, "id" => actor_url} = _object
|
||||
})
|
||||
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
|
||||
{:ok, nil, group}
|
||||
with {:ok, %Actor{} = actor} <- ActivityPubActor.get_or_fetch_actor_by_url(actor_url) do
|
||||
{:ok, nil, actor}
|
||||
end
|
||||
end
|
||||
|
||||
@ -201,8 +203,8 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
def handle_incoming(
|
||||
%{"type" => "Follow", "object" => followed, "actor" => follower, "id" => id} = _data
|
||||
) do
|
||||
with {:ok, %Actor{} = followed} <- ActivityPub.get_or_fetch_actor_by_url(followed, true),
|
||||
{:ok, %Actor{} = follower} <- ActivityPub.get_or_fetch_actor_by_url(follower),
|
||||
with {:ok, %Actor{} = followed} <- ActivityPubActor.get_or_fetch_actor_by_url(followed, true),
|
||||
{:ok, %Actor{} = follower} <- ActivityPubActor.get_or_fetch_actor_by_url(follower),
|
||||
{:ok, activity, object} <- ActivityPub.follow(follower, followed, id, false) do
|
||||
{:ok, activity, object}
|
||||
else
|
||||
@ -221,7 +223,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
|
||||
with {:existing_todo_list, nil} <-
|
||||
{: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 |> Converter.TodoList.as_to_model_data(),
|
||||
{:ok, %Activity{} = activity, %TodoList{} = todo_list} <-
|
||||
@ -295,7 +297,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
} = data
|
||||
) do
|
||||
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,
|
||||
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
|
||||
) do
|
||||
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,
|
||||
do_handle_incoming_reject_following(rejected_object, actor) ||
|
||||
@ -359,7 +361,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
) do
|
||||
with actor_url <- Utils.get_actor(data),
|
||||
{: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, entity} <- process_announce_data(object, actor),
|
||||
:ok <- eventually_create_share(object, entity, actor_id) do
|
||||
@ -371,14 +373,16 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
end
|
||||
end
|
||||
|
||||
def handle_incoming(%{
|
||||
"type" => "Update",
|
||||
"object" => %{"type" => object_type} = object,
|
||||
"actor" => _actor_id
|
||||
})
|
||||
def handle_incoming(
|
||||
%{
|
||||
"type" => "Update",
|
||||
"object" => %{"type" => object_type} = object,
|
||||
"actor" => _actor_id
|
||||
} = params
|
||||
)
|
||||
when object_type in ["Person", "Group", "Application", "Service", "Organization"] do
|
||||
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 |> Converter.Actor.as_to_model_data(),
|
||||
{:ok, %Activity{} = activity, %Actor{} = new_actor} <-
|
||||
@ -386,7 +390,11 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
{:ok, activity, new_actor}
|
||||
else
|
||||
e ->
|
||||
Logger.error(inspect(e))
|
||||
Sentry.capture_message("Error while handling an Update activity",
|
||||
extra: %{params: params}
|
||||
)
|
||||
|
||||
Logger.debug(inspect(e))
|
||||
:error
|
||||
end
|
||||
end
|
||||
@ -397,7 +405,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
) do
|
||||
with actor <- Utils.get_actor(update_data),
|
||||
{: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} <-
|
||||
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
|
||||
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),
|
||||
{: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)},
|
||||
object_data <- Converter.Comment.as_to_model_data(object),
|
||||
{:ok, old_entity} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
|
||||
@ -442,7 +450,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
) do
|
||||
with actor <- Utils.get_actor(update_data),
|
||||
{: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} <-
|
||||
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
|
||||
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
|
||||
with actor <- Utils.get_actor(update_data),
|
||||
{: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} <-
|
||||
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
|
||||
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),
|
||||
{: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)},
|
||||
object_data <- Converter.Member.as_to_model_data(object),
|
||||
{:ok, old_entity} <- object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
|
||||
@ -537,7 +545,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
} = data
|
||||
) do
|
||||
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, activity, object} <-
|
||||
ActivityPub.unannounce(actor, object, id, cancelled_activity_id, false) do
|
||||
@ -555,8 +563,9 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
"id" => id
|
||||
} = _data
|
||||
) do
|
||||
with {:ok, %Actor{domain: nil} = followed} <- ActivityPub.get_or_fetch_actor_by_url(followed),
|
||||
{:ok, %Actor{} = follower} <- ActivityPub.get_or_fetch_actor_by_url(follower),
|
||||
with {:ok, %Actor{domain: nil} = followed} <-
|
||||
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}
|
||||
else
|
||||
@ -572,7 +581,8 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
%{"type" => "Delete", "object" => object, "actor" => _actor, "id" => _id} = data
|
||||
) do
|
||||
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),
|
||||
{:ok, object} <- is_group_object_gone(object_id),
|
||||
{:origin_check, true} <-
|
||||
@ -586,8 +596,25 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
Logger.warn("Object origin check failed")
|
||||
: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 ->
|
||||
Logger.error(inspect(e))
|
||||
|
||||
# Sentry.capture_message("Error while handling a Delete activity",
|
||||
# extra: %{data: data}
|
||||
# )
|
||||
|
||||
:error
|
||||
end
|
||||
end
|
||||
@ -598,7 +625,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
when type in ["ResourceCollection", "Document"] do
|
||||
with actor <- Utils.get_actor(data),
|
||||
{: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} <-
|
||||
object |> Utils.get_url() |> ActivityPub.fetch_object_from_url(),
|
||||
object_data <- Converter.Resource.as_to_model_data(object),
|
||||
@ -610,7 +637,12 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
{:ok, activity, new_resource}
|
||||
else
|
||||
e ->
|
||||
Logger.error(inspect(e))
|
||||
Logger.debug(inspect(e))
|
||||
|
||||
Sentry.capture_message("Error while handling an Move activity",
|
||||
extra: %{data: data}
|
||||
)
|
||||
|
||||
:error
|
||||
end
|
||||
end
|
||||
@ -625,7 +657,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
) do
|
||||
with actor <- Utils.get_actor(data),
|
||||
{: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),
|
||||
{:ok, object} <- ActivityPub.fetch_object_from_url(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
|
||||
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),
|
||||
{:ok, object} <- ActivityPub.fetch_object_from_url(object),
|
||||
{: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")
|
||||
|
||||
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, %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} <-
|
||||
ActivityPub.invite(object, actor, target, false, %{url: id}) do
|
||||
{:ok, activity, member}
|
||||
@ -689,10 +721,10 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
Logger.info("Handle incoming to remove a member from a group")
|
||||
|
||||
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, %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}}}
|
||||
when role in [:moderator, :administrator, :creator] <-
|
||||
{:is_admin, Actors.get_member(moderator_id, group_id)},
|
||||
@ -741,6 +773,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
||||
def handle_incoming(object) do
|
||||
Logger.info("Handing something with type #{object["type"]} not supported")
|
||||
Logger.debug(inspect(object))
|
||||
|
||||
{:error, :not_supported}
|
||||
end
|
||||
|
||||
|
@ -14,6 +14,7 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.{Activity, Federator, Relay}
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.Types.Ownable
|
||||
alias Mobilizon.Federation.ActivityStream.Converter
|
||||
alias Mobilizon.Federation.HTTPSignatures
|
||||
@ -175,7 +176,7 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
|
||||
@spec remote_actors(list(String.t())) :: list(Actor.t())
|
||||
def remote_actors(recipients) do
|
||||
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} ->
|
||||
case status do
|
||||
:ok ->
|
||||
@ -259,7 +260,9 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
|
||||
are_same_origin?(id, actor)
|
||||
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
|
||||
|
||||
@ -701,4 +704,42 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
|
||||
true
|
||||
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
|
||||
|
@ -8,7 +8,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Discussion do
|
||||
|
||||
alias Mobilizon.Actors.Actor
|
||||
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.Discussion, as: DiscussionConverter
|
||||
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
|
||||
with creator_url <- Map.get(object, "actor"),
|
||||
{: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"),
|
||||
{: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,
|
||||
actor_id: actor_id,
|
||||
|
@ -14,7 +14,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Flag do
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Reports.Report
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.Relay
|
||||
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
|
||||
|
||||
@ -65,10 +65,11 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Flag do
|
||||
|
||||
@spec as_to_model(map) :: map
|
||||
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 <-
|
||||
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} ->
|
||||
{:halt, actor}
|
||||
|
||||
|
@ -8,7 +8,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Member do
|
||||
|
||||
alias Mobilizon.Actors.Actor
|
||||
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.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()}
|
||||
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
|
||||
|
@ -6,7 +6,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Post do
|
||||
internal one, and back.
|
||||
"""
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.{Audience, Utils}
|
||||
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
|
||||
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()}
|
||||
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(%DateTime{} = date), do: DateTime.to_iso8601(date)
|
||||
|
@ -7,6 +7,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Resource do
|
||||
"""
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.Utils
|
||||
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
|
||||
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()}
|
||||
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}}),
|
||||
do: resources_url
|
||||
|
@ -7,6 +7,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Todo do
|
||||
"""
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
|
||||
alias Mobilizon.Todos
|
||||
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
|
||||
) do
|
||||
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, Todos.get_todo_list_by_url(todo_list_url)} do
|
||||
%{
|
||||
|
@ -6,7 +6,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.TodoList do
|
||||
internal one, and back.
|
||||
"""
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityStream.{Converter, Convertible}
|
||||
alias Mobilizon.Todos.TodoList
|
||||
|
||||
@ -39,7 +39,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.TodoList do
|
||||
@impl Converter
|
||||
@spec as_to_model_data(map) :: {:ok, map} | {:error, any()}
|
||||
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} ->
|
||||
%{
|
||||
title: object["name"],
|
||||
|
@ -10,7 +10,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do
|
||||
alias Mobilizon.Mention
|
||||
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.Web.Endpoint
|
||||
@ -114,7 +114,8 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do
|
||||
@spec create_mention(map(), list()) :: list()
|
||||
defp create_mention(mention, acc) when is_map(mention) do
|
||||
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}]
|
||||
else
|
||||
_err ->
|
||||
@ -169,7 +170,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do
|
||||
@spec fetch_actor(String.t()) :: Actor.t()
|
||||
defp fetch_actor(actor_url) do
|
||||
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
|
||||
end
|
||||
end
|
||||
|
@ -12,7 +12,7 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
|
||||
|
||||
alias Mobilizon.Actors.Actor
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
|
||||
require Logger
|
||||
|
||||
@ -50,9 +50,10 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
|
||||
|
||||
# Gets a public key for a given ActivityPub actor ID (url).
|
||||
@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
|
||||
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}
|
||||
else
|
||||
@ -61,8 +62,16 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
|
||||
|
||||
{: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(inspect(err))
|
||||
|
||||
{:error, :actor_fetch_error}
|
||||
end
|
||||
@ -74,9 +83,6 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
|
||||
:ok <- Logger.debug("Fetching public key for #{actor_id}"),
|
||||
{:ok, public_key} <- get_public_key_for_url(actor_id) do
|
||||
{:ok, public_key}
|
||||
else
|
||||
e ->
|
||||
{:error, e}
|
||||
end
|
||||
end
|
||||
|
||||
@ -84,12 +90,9 @@ defmodule Mobilizon.Federation.HTTPSignatures.Signature do
|
||||
with %{"keyId" => kid} <- HTTPSignatures.signature_for_conn(conn),
|
||||
actor_id <- key_id_to_actor_url(kid),
|
||||
: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}
|
||||
else
|
||||
e ->
|
||||
{:error, e}
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -10,7 +10,7 @@ defmodule Mobilizon.Federation.WebFinger do
|
||||
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.WebFinger.XmlBuilder
|
||||
alias Mobilizon.Service.HTTP.{HostMetaClient, WebfingerClient}
|
||||
alias Mobilizon.Web.Endpoint
|
||||
@ -56,7 +56,7 @@ defmodule Mobilizon.Federation.WebFinger do
|
||||
{:ok, represent_actor(actor, "JSON")}
|
||||
else
|
||||
_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, represent_actor(actor, "JSON")}
|
||||
|
||||
|
@ -10,6 +10,7 @@ defmodule Mobilizon.GraphQL.API.Search do
|
||||
alias Mobilizon.Storage.Page
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
|
||||
require Logger
|
||||
|
||||
@ -92,7 +93,7 @@ defmodule Mobilizon.GraphQL.API.Search do
|
||||
# If the search string is an username
|
||||
@spec process_from_username(String.t()) :: Page.t()
|
||||
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} ->
|
||||
%Page{total: 1, elements: [actor]}
|
||||
|
||||
|
@ -27,7 +27,8 @@ defmodule Mobilizon.GraphQL.Resolvers.Admin do
|
||||
%{context: %{current_user: %User{role: role}}}
|
||||
)
|
||||
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
|
||||
|> Enum.map(fn %ActionLog{
|
||||
@ -44,7 +45,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Admin do
|
||||
end)
|
||||
|> Enum.filter(& &1)
|
||||
|
||||
{:ok, action_logs}
|
||||
{:ok, %Page{elements: action_logs, total: total}}
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -142,7 +142,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Event do
|
||||
else
|
||||
{:actor_approve_permission, _} ->
|
||||
{: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
|
||||
|
||||
|
@ -7,6 +7,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
|
||||
alias Mobilizon.{Actors, Events, Users}
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.GraphQL.API
|
||||
alias Mobilizon.Users.User
|
||||
alias Mobilizon.Web.Upload
|
||||
@ -27,7 +28,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
|
||||
}
|
||||
) do
|
||||
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)},
|
||||
{:member, true} <- {:member, Actors.is_member?(actor_id, group_id)} do
|
||||
{:ok, group}
|
||||
@ -45,7 +46,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Group do
|
||||
|
||||
def find_group(_parent, %{preferred_username: name}, _resolution) do
|
||||
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
|
||||
{:ok, actor}
|
||||
else
|
||||
|
@ -7,7 +7,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
|
||||
alias Mobilizon.{Actors, Users}
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Refresher
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Storage.Page
|
||||
alias Mobilizon.Users.User
|
||||
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, {:ok, %Actor{id: target_actor_id} = target_actor}} <-
|
||||
{: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, check_member_not_existant_or_rejected(target_actor_id, group.id)},
|
||||
{: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
|
||||
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),
|
||||
{:is_same_actor, true} <- {:is_same_actor, member_actor_id === actor_id},
|
||||
{:ok, _activity, %Member{} = member} <-
|
||||
@ -108,8 +108,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
|
||||
member,
|
||||
true
|
||||
) do
|
||||
# Launch an async task to refresh the group profile, fetch resources, discussions, members
|
||||
Refresher.fetch_group(member.parent.url, actor)
|
||||
{:ok, member}
|
||||
else
|
||||
{:is_same_actor, false} ->
|
||||
|
@ -231,7 +231,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Participant do
|
||||
|
||||
{:actor_approve_permission, _} ->
|
||||
{: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} ->
|
||||
{:error, dgettext("errors", "Participant already has role %{role}", role: new_role)}
|
||||
|
@ -13,6 +13,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
|
||||
import Mobilizon.Web.Gettext
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
require Logger
|
||||
|
||||
alias Mobilizon.Web.Upload
|
||||
@ -39,7 +40,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Person do
|
||||
context: %{current_user: %User{} = user}
|
||||
}) do
|
||||
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
|
||||
{:ok, actor}
|
||||
else
|
||||
|
@ -29,7 +29,7 @@ defmodule Mobilizon.GraphQL.Schema.Actors.GroupType do
|
||||
Represents a group of actors
|
||||
"""
|
||||
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(:url, :string, description: "The ActivityPub actor's URL")
|
||||
|
@ -22,6 +22,14 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do
|
||||
field(:inserted_at, :datetime, description: "The time when the action was performed")
|
||||
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 """
|
||||
The different types of action log actions
|
||||
"""
|
||||
@ -62,6 +70,9 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do
|
||||
%User{}, _ ->
|
||||
:user
|
||||
|
||||
%Actor{type: "Group"}, _ ->
|
||||
:group
|
||||
|
||||
_, _ ->
|
||||
nil
|
||||
end)
|
||||
@ -144,7 +155,7 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do
|
||||
|
||||
object :admin_queries do
|
||||
@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(:limit, :integer, default_value: 10)
|
||||
resolve(&Admin.list_action_logs/3)
|
||||
|
@ -6,7 +6,7 @@ defmodule Mobilizon.GraphQL.Schema.Discussions.CommentType do
|
||||
|
||||
import Absinthe.Resolution.Helpers, only: [dataloader: 1]
|
||||
|
||||
alias Mobilizon.{Actors, Discussions}
|
||||
alias Mobilizon.{Actors, Discussions, Events}
|
||||
alias Mobilizon.GraphQL.Resolvers.Comment
|
||||
|
||||
@desc "A comment"
|
||||
|
@ -4,7 +4,7 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
|
||||
"""
|
||||
use Mix.Task
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Storage.Repo
|
||||
import Ecto.Query
|
||||
import Mix.Tasks.Mobilizon.Common
|
||||
@ -65,7 +65,7 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
|
||||
def run([preferred_username]) do
|
||||
start_mobilizon()
|
||||
|
||||
case ActivityPub.make_actor_from_nickname(preferred_username) do
|
||||
case ActivityPubActor.make_actor_from_nickname(preferred_username) do
|
||||
{:ok, %Actor{}} ->
|
||||
shell_info("""
|
||||
Actor #{preferred_username} refreshed
|
||||
@ -89,7 +89,7 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
|
||||
|
||||
@spec make_actor(String.t(), boolean()) :: any()
|
||||
defp make_actor(username, verbose) do
|
||||
ActivityPub.make_actor_from_nickname(username)
|
||||
ActivityPubActor.make_actor_from_nickname(username)
|
||||
rescue
|
||||
_ ->
|
||||
if verbose do
|
||||
|
@ -333,28 +333,33 @@ defmodule Mobilizon.Actors do
|
||||
|> Multi.run(:remove_avatar, fn _, _ -> remove_avatar(actor) end)
|
||||
|
||||
multi =
|
||||
if type == :Group do
|
||||
multi
|
||||
|> Multi.run(:delete_remote_members, fn _, _ ->
|
||||
delete_group_elements(actor, :remote_members)
|
||||
end)
|
||||
|> Multi.run(:delete_group_organized_events, fn _, _ ->
|
||||
delete_group_elements(actor, :events)
|
||||
end)
|
||||
|> Multi.run(:delete_group_posts, fn _, _ ->
|
||||
delete_group_elements(actor, :posts)
|
||||
end)
|
||||
|> Multi.run(:delete_group_resources, fn _, _ ->
|
||||
delete_group_elements(actor, :resources)
|
||||
end)
|
||||
|> Multi.run(:delete_group_todo_lists, fn _, _ ->
|
||||
delete_group_elements(actor, :todo_lists)
|
||||
end)
|
||||
|> Multi.run(:delete_group_discussions, fn _, _ ->
|
||||
delete_group_elements(actor, :discussions)
|
||||
end)
|
||||
else
|
||||
multi
|
||||
case type do
|
||||
:Group ->
|
||||
multi
|
||||
|> Multi.run(:delete_remote_members, fn _, _ ->
|
||||
delete_group_elements(actor, :remote_members)
|
||||
end)
|
||||
|> Multi.run(:delete_group_organized_events, fn _, _ ->
|
||||
delete_group_elements(actor, :events)
|
||||
end)
|
||||
|> Multi.run(:delete_group_posts, fn _, _ ->
|
||||
delete_group_elements(actor, :posts)
|
||||
end)
|
||||
|> Multi.run(:delete_group_resources, fn _, _ ->
|
||||
delete_group_elements(actor, :resources)
|
||||
end)
|
||||
|> Multi.run(:delete_group_todo_lists, fn _, _ ->
|
||||
delete_group_elements(actor, :todo_lists)
|
||||
end)
|
||||
|> Multi.run(:delete_group_discussions, fn _, _ ->
|
||||
delete_group_elements(actor, :discussions)
|
||||
end)
|
||||
|
||||
:Person ->
|
||||
# When deleting a profile, reset default_actor_id
|
||||
Multi.run(multi, :reset_default_actor_id, fn _, _ ->
|
||||
reset_default_actor_id(actor)
|
||||
end)
|
||||
end
|
||||
|
||||
multi =
|
||||
@ -374,12 +379,22 @@ defmodule Mobilizon.Actors do
|
||||
|
||||
{:error, remove, error, _} when remove in [:remove_banner, :remove_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}
|
||||
|
||||
err ->
|
||||
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}
|
||||
end
|
||||
end
|
||||
@ -652,10 +667,11 @@ defmodule Mobilizon.Actors do
|
||||
@doc """
|
||||
Lists the groups.
|
||||
"""
|
||||
@spec list_groups_for_stream :: Enum.t()
|
||||
def list_external_groups_for_stream do
|
||||
@spec list_external_groups(non_neg_integer()) :: list(Actor.t())
|
||||
def list_external_groups(limit \\ 100) when limit > 0 do
|
||||
external_groups_query()
|
||||
|> Repo.stream()
|
||||
|> limit(^limit)
|
||||
|> Repo.all()
|
||||
end
|
||||
|
||||
@doc """
|
||||
@ -1814,6 +1830,24 @@ defmodule Mobilizon.Actors do
|
||||
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(
|
||||
%Actor{} = actor,
|
||||
method,
|
||||
|
@ -63,6 +63,7 @@ defmodule Mobilizon.Addresses.Address do
|
||||
|> cast(attrs, @attrs)
|
||||
|> set_url()
|
||||
|> validate_required(@required_attrs)
|
||||
|> unique_constraint(:url, name: :addresses_url_index)
|
||||
end
|
||||
|
||||
@spec set_url(Ecto.Changeset.t()) :: Ecto.Changeset.t()
|
||||
|
@ -36,11 +36,10 @@ defmodule Mobilizon.Admin do
|
||||
@doc """
|
||||
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
|
||||
list_action_logs_query()
|
||||
|> Page.paginate(page, limit)
|
||||
|> Repo.all()
|
||||
|> Page.build_page(page, limit)
|
||||
end
|
||||
|
||||
@doc """
|
||||
|
@ -208,7 +208,7 @@ defmodule Mobilizon.Service.RichMedia.Parser do
|
||||
|
||||
defp check_parsed_data(%{title: title} = data)
|
||||
when is_binary(title) and byte_size(title) > 0 do
|
||||
{:ok, data}
|
||||
data
|
||||
end
|
||||
|
||||
defp check_parsed_data(data) do
|
||||
@ -285,15 +285,20 @@ defmodule Mobilizon.Service.RichMedia.Parser do
|
||||
|
||||
image_remote_url =
|
||||
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}"
|
||||
true -> image_remote_url
|
||||
end
|
||||
|
||||
Map.put(data, :image_remote_url, image_remote_url)
|
||||
data = Map.put(data, :image_remote_url, image_remote_url)
|
||||
{:ok, data}
|
||||
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
|
||||
defp default_user_agent("https://twitter.com/" <> _) do
|
||||
|
@ -10,7 +10,8 @@ defmodule Mobilizon.Web.ActivityPubController do
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
|
||||
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.Cache
|
||||
@ -105,7 +106,17 @@ defmodule Mobilizon.Web.ActivityPubController do
|
||||
actor_collection(conn, "outbox", args)
|
||||
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
|
||||
Logger.debug("Got something with valid signature inside inbox")
|
||||
Federator.enqueue(:incoming_ap_doc, params)
|
||||
@ -114,7 +125,7 @@ defmodule Mobilizon.Web.ActivityPubController do
|
||||
|
||||
# only accept relayed Creates
|
||||
def inbox(conn, %{"type" => "Create"} = params) do
|
||||
Logger.info(
|
||||
Logger.debug(
|
||||
"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
|
||||
headers = Enum.into(conn.req_headers, %{})
|
||||
|
||||
if String.contains?(headers["signature"], params["actor"]) do
|
||||
Logger.error(
|
||||
if headers["signature"] && params["actor"] &&
|
||||
String.contains?(headers["signature"], params["actor"]) do
|
||||
Logger.debug(
|
||||
"Signature validation error for: #{params["actor"]}, make sure you are forwarding the HTTP Host header!"
|
||||
)
|
||||
|
||||
|
@ -5,7 +5,6 @@ defmodule Mobilizon.Web.Email do
|
||||
|
||||
use Bamboo.Phoenix, view: Mobilizon.Web.EmailView
|
||||
|
||||
alias Ecto.UUID
|
||||
alias Mobilizon.{Config, Events}
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Service.Export.ICalendar
|
||||
@ -19,27 +18,27 @@ defmodule Mobilizon.Web.Email do
|
||||
|> new_email()
|
||||
|> from({Config.instance_name(), Config.instance_email_from()})
|
||||
|> put_header("Reply-To", Config.instance_email_reply_to())
|
||||
|> put_header("Date", date())
|
||||
|> put_header("Message-Id", message_id())
|
||||
|> maybe_put_date_header()
|
||||
|> maybe_put_message_id()
|
||||
|> assign(:instance, instance)
|
||||
|> put_html_layout({EmailView, "email.html"})
|
||||
|> put_text_layout({EmailView, "email.text"})
|
||||
end
|
||||
|
||||
# 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
|
||||
"TEST_ENV_MESSAGE_ID@#{Config.instance_hostname()}"
|
||||
put_header(email, "Message-Id", "TEST_ENV_MESSAGE_ID@#{Config.instance_hostname()}")
|
||||
else
|
||||
"#{UUID.generate()}@#{Config.instance_hostname()}"
|
||||
email
|
||||
end
|
||||
end
|
||||
|
||||
defp date do
|
||||
defp maybe_put_date_header(email) do
|
||||
if Application.fetch_env!(:mobilizon, :env) == :test do
|
||||
"REMOVED FOR TESTING"
|
||||
put_header(email, "Date", "REMOVED FOR TESTING")
|
||||
else
|
||||
Timex.format!(DateTime.utc_now(), "{WDshort}, {D} {Mshort} {YYYY} {h24}:{m}:{s} {Z}")
|
||||
email
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -12,7 +12,7 @@ defmodule Mobilizon.Web.Plugs.MappedSignatureToIdentity do
|
||||
|
||||
alias Mobilizon.Actors.Actor
|
||||
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Federation.ActivityPub.Actor, as: ActivityPubActor
|
||||
alias Mobilizon.Federation.ActivityPub.Utils
|
||||
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
|
||||
defp actor_from_key_id(conn) do
|
||||
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
|
||||
else
|
||||
_ ->
|
||||
|
@ -37,9 +37,6 @@
|
||||
<p style="margin: 0;">
|
||||
<%= gettext("The email address for your account on <b>%{host}</b> is being changed to:", host: @instance[:name]) |> raw %>
|
||||
</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>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -47,6 +47,14 @@ defmodule Mobilizon.Web.ErrorView do
|
||||
%{msg: "Not acceptable"}
|
||||
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
|
||||
Mobilizon.Config.instance_config()
|
||||
|> Keyword.get(:default_language, "en")
|
||||
|
4
mix.exs
4
mix.exs
@ -1,7 +1,7 @@
|
||||
defmodule Mobilizon.Mixfile do
|
||||
use Mix.Project
|
||||
|
||||
@version "1.1.1"
|
||||
@version "1.1.2"
|
||||
|
||||
def project do
|
||||
[
|
||||
@ -119,7 +119,7 @@ defmodule Mobilizon.Mixfile do
|
||||
{:http_sign, "~> 0.1.1"},
|
||||
{:ecto_enum, "~> 1.4"},
|
||||
{:ex_ical, "~> 0.2"},
|
||||
{:bamboo, "~> 2.1", override: true},
|
||||
{:bamboo, "~> 2.1"},
|
||||
{:bamboo_phoenix, "~> 1.0"},
|
||||
{:bamboo_smtp, "~> 4.0"},
|
||||
{:geolix, "~> 2.0"},
|
||||
|
8
mix.lock
8
mix.lock
@ -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_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"},
|
||||
"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_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"},
|
||||
"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"},
|
||||
@ -81,7 +81,7 @@
|
||||
"jose": {:hex, :jose, "1.11.1", "59da64010c69aad6cde2f5b9248b896b84472e99bd18f246085b7b9fe435dcdb", [:mix, :rebar3], [], "hexpm", "078f6c9fb3cd2f4cfafc972c814261a7d1e8d2b3685c0a76eb87e158efff1ac5"},
|
||||
"jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm", "fc3499fed7a726995aa659143a248534adc754ebd16ccd437cd93b649a95091f"},
|
||||
"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"},
|
||||
"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"},
|
||||
@ -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_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"},
|
||||
"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"},
|
||||
"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"},
|
||||
|
@ -868,8 +868,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1392,21 +1392,22 @@ msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1429,3 +1430,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -125,12 +125,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -140,13 +140,13 @@ msgid "Error while saving user settings"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -156,7 +156,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr ""
|
||||
|
||||
@ -172,16 +172,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -247,22 +247,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -277,7 +277,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -287,17 +287,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -362,12 +362,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -414,7 +414,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -424,7 +424,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -441,12 +441,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -480,15 +480,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -521,22 +516,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -551,7 +546,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -571,7 +566,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -587,7 +582,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -607,12 +602,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -632,22 +627,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -787,12 +782,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -802,7 +797,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -817,17 +812,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -837,7 +832,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -852,8 +847,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -862,7 +857,7 @@ msgstr ""
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr ""
|
||||
@ -876,3 +871,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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 ""
|
||||
|
@ -844,8 +844,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1368,21 +1368,22 @@ msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1405,3 +1406,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -99,12 +99,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -114,13 +114,13 @@ msgid "Error while saving user settings"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -130,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr ""
|
||||
|
||||
@ -146,16 +146,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -221,22 +221,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -251,7 +251,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -261,17 +261,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -336,12 +336,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -388,7 +388,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -398,7 +398,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -415,12 +415,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -454,15 +454,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -495,22 +490,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -525,7 +520,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -545,7 +540,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -561,7 +556,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -581,12 +576,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -606,22 +601,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -761,12 +756,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -776,7 +771,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -791,17 +786,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -811,7 +806,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -826,8 +821,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -836,7 +831,7 @@ msgstr ""
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr ""
|
||||
@ -850,3 +845,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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 ""
|
||||
|
@ -1024,8 +1024,8 @@ msgstr ""
|
||||
". Ara és:"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
"Si 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
|
||||
#: 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"
|
||||
msgstr "El flux de %{name}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr "El flux d'activitats privades de %{actor} a %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr "El flux d'activitats públiques de %{actor} a %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr "Flux de %{email} a %{instance}"
|
||||
|
||||
@ -1654,3 +1655,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
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 ""
|
||||
|
@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr "No s'ha pogut actualitzar el codi d'accés"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "El perfil actual no pertany a aquest grup"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr "No s'ha trobat el grup"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
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."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr "No s'ha trobat el/la membre"
|
||||
|
||||
@ -147,16 +147,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -222,22 +222,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -252,7 +252,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -262,17 +262,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -337,12 +337,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -389,7 +389,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -399,7 +399,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -416,12 +416,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -455,15 +455,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -496,22 +491,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -526,7 +521,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -546,7 +541,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -562,7 +557,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -582,12 +577,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -607,22 +602,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -762,12 +757,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -777,7 +772,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -792,17 +787,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -812,7 +807,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -827,8 +822,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -837,7 +832,7 @@ msgstr ""
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr ""
|
||||
@ -851,3 +846,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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 ""
|
||||
|
@ -844,8 +844,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1368,21 +1368,22 @@ msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1405,3 +1406,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -99,12 +99,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -114,13 +114,13 @@ msgid "Error while saving user settings"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -130,7 +130,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr ""
|
||||
|
||||
@ -146,16 +146,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -221,22 +221,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -251,7 +251,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -261,17 +261,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -336,12 +336,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -388,7 +388,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -398,7 +398,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -415,12 +415,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -454,15 +454,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -495,22 +490,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -525,7 +520,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -545,7 +540,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -561,7 +556,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -581,12 +576,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -606,22 +601,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -761,12 +756,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -776,7 +771,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -791,17 +786,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -811,7 +806,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -826,8 +821,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -836,7 +831,7 @@ msgstr ""
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr ""
|
||||
@ -850,3 +845,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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
@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr "Der Token konnte nicht aktualisiert werden"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "Aktuelles Profil ist nicht Mitglied dieser Gruppe"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr "Gruppe nicht gefunden"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "Gruppe mit der ID %{id} nicht gefunden"
|
||||
|
||||
@ -133,7 +133,7 @@ msgstr ""
|
||||
"Passwort sind ungültig."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr "Mitglied wurde nicht gefunden"
|
||||
|
||||
@ -150,16 +150,16 @@ msgstr ""
|
||||
"Es wurde kein Benutzer gefunden, der mit dieser E-Mail validiert werden kann"
|
||||
|
||||
#, 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"
|
||||
msgstr "Es wurde kein Benutzer mit dieser E-Mail gefunden"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Sie sind bereits Mitglied in dieser Gruppe"
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"Sie können diese Gruppe nicht verlassen, da Sie der einzige Administrator "
|
||||
"sind"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr "Sie können dieser Gruppe nicht beitreten"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless 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"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
msgstr "Sie müssen eingeloggt sein, um einer Gruppe beizutreten"
|
||||
|
||||
#, 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"
|
||||
msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu verlassen"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "Der letzte Administrator einer Gruppe kann nicht entfernt werden"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "Kann die letzte Identität eines Benutzers nicht entfernen"
|
||||
|
||||
@ -397,7 +397,7 @@ msgid "Internal Error"
|
||||
msgstr "Interner Fehler"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with 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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "Kein solches Feed-Token"
|
||||
|
||||
@ -424,12 +424,12 @@ msgid "Participant not found"
|
||||
msgstr "Teilnehmer nicht gefunden"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "Person mit ID %{id} nicht gefunden"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -506,22 +501,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr "ToDo-Liste existiert nicht"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "Token existiert nicht"
|
||||
|
||||
#, 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"
|
||||
msgstr "Token ist keine gültige UUID"
|
||||
|
||||
#, 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"
|
||||
msgstr "User nicht gefunden"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"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"
|
||||
|
||||
#, 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"
|
||||
msgstr "Sie haben nicht die Berechtigung diesen Token zu löschen"
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"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"
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"Sie müssen angemeldet und ein Administrator sein, um auf die Admin-"
|
||||
"Einstellungen zugreifen zu können"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:221
|
||||
#: lib/graphql/resolvers/admin.ex:222
|
||||
msgid "You need to be logged-in and an administrator to access dashboard statistics"
|
||||
msgstr ""
|
||||
"Sie müssen angemeldet und ein Administrator sein, um auf die Dashboard-"
|
||||
"Statistiken zugreifen zu können"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:260
|
||||
#: lib/graphql/resolvers/admin.ex:261
|
||||
msgid "You need to be logged-in and an administrator to save admin settings"
|
||||
msgstr ""
|
||||
"Sie müssen eingeloggt und ein Administrator sein, um Admin-Einstellungen zu "
|
||||
"speichern"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "Sie können diese Einladung mit diesem Profil nicht annehmen."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
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."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
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."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "Diese Einladung gibt es nicht."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Dieses Mitglied ist bereits abgelehnt worden."
|
||||
|
||||
#, 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."
|
||||
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."
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Fehler beim Speichern des Reports"
|
||||
@ -880,3 +875,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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"
|
||||
|
@ -823,8 +823,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1347,21 +1347,22 @@ msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1384,3 +1385,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -876,8 +876,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1400,21 +1400,22 @@ msgstr "This is a demonstration site to test the beta version of Mobilizon."
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1437,3 +1438,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -103,12 +103,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -118,13 +118,13 @@ msgid "Error while saving user settings"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -134,7 +134,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr ""
|
||||
|
||||
@ -150,16 +150,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -225,22 +225,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -255,7 +255,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -265,17 +265,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -340,12 +340,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -392,7 +392,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -402,7 +402,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -419,12 +419,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -458,15 +458,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -499,22 +494,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -529,7 +524,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -549,7 +544,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -565,7 +560,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -585,12 +580,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -610,22 +605,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -765,12 +760,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -780,7 +775,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -795,17 +790,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -815,7 +810,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -830,8 +825,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -840,7 +835,7 @@ msgstr ""
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr ""
|
||||
@ -854,3 +849,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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 ""
|
||||
|
@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -115,13 +115,13 @@ msgid "Error while saving user settings"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -131,7 +131,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr ""
|
||||
|
||||
@ -147,16 +147,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -222,22 +222,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -252,7 +252,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -262,17 +262,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -337,12 +337,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -389,7 +389,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -399,7 +399,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -416,12 +416,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -455,15 +455,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -496,22 +491,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -526,7 +521,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -546,7 +541,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -562,7 +557,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -582,12 +577,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -607,22 +602,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -762,12 +757,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -777,7 +772,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -792,17 +787,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -812,7 +807,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -827,8 +822,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -851,3 +846,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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 ""
|
||||
|
@ -1036,8 +1036,8 @@ msgstr ""
|
||||
"electrónico vinculada a su cuenta en% {host} se ha cambiado de esta a:"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
"Si 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
|
||||
#: 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"
|
||||
msgstr "Flujo de %{name}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr "Flujo de eventos privados de %{actor} a %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr "Flujo público de eventos de %{actor} a %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{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."
|
||||
msgstr ""
|
||||
"El servidor de Mobilizon %{instance} parece estar temporalmente inactivo."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -94,780 +94,780 @@ msgstr "debe ser mayor o igual que% {number}"
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "debe ser igual a% {number}"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
msgid "Cannot refresh the token"
|
||||
msgstr "No se puede actualizar el token"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "El perfil actual no es miembro de este grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "El perfil actual no es un administrador del grupo seleccionado"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
msgid "Error while saving user settings"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "Grupo no encontrado"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "No se encontró el grupo con ID% {id}"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
"Imposible autenticarse, su correo electrónico o contraseña no son válidos."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr "Miembro no encontrado"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
|
||||
#: lib/graphql/resolvers/user.ex:406
|
||||
#, elixir-format
|
||||
msgid "No profile found for the moderator user"
|
||||
msgstr "No se encontró el perfil del usuario moderador"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
msgid "No user to validate with this email was found"
|
||||
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
|
||||
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
|
||||
msgid "No user with this email was found"
|
||||
msgstr "No se encontró ningún usuario con este correo electrónico"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: lib/graphql/resolvers/participant.ex: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/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330
|
||||
#: lib/graphql/resolvers/person.ex:342
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr "El perfil no es propiedad del usuario autenticado"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
msgid "Registrations are not open"
|
||||
msgstr "Las inscripciones no están abiertas"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
msgid "The current password is invalid"
|
||||
msgstr "La contraseña actual no es válida"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
msgid "The new email doesn't seem to be valid"
|
||||
msgstr "El nuevo correo electrónico no parece ser válido"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
msgid "The new email must be different"
|
||||
msgstr "El nuevo correo electrónico debe ser diferente"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
msgid "The new password must be different"
|
||||
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:431
|
||||
#, elixir-format
|
||||
msgid "The password provided is invalid"
|
||||
msgstr "La contraseña proporcionada no es válida"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:338
|
||||
#, 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."
|
||||
msgstr ""
|
||||
"La contraseña que ha elegido es demasiado corta. Asegúrese de que su "
|
||||
"contraseña contenga al menos 6 caracteres."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
msgid "This user can't reset their password"
|
||||
msgstr "Este usuario no puede restablecer su contraseña"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
msgid "This user has been disabled"
|
||||
msgstr "Este usuario ha sido inhabilitado"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
msgid "Unable to validate user"
|
||||
msgstr "No se puede validar al usuario"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
msgid "User already disabled"
|
||||
msgstr "El usuario ya está inhabilitado"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
msgid "User requested is not logged-in"
|
||||
msgstr "El usuario solicitado no ha iniciado sesión"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Ya eres miembro de este grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "No puedes dejar este grupo porque eres el único administrador"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr "No puedes unirte a este grupo"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr "No puedes enumerar grupos a menos que seas moderador."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
msgid "You need to be logged-in to change your email"
|
||||
msgstr "Debes iniciar sesión para cambiar tu correo electrónico"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
msgid "You need to be logged-in to change your password"
|
||||
msgstr "Debes iniciar sesión para cambiar tu contraseña"
|
||||
|
||||
#: 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"
|
||||
msgstr "Debes iniciar sesión para eliminar un grupo"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
msgid "You need to be logged-in to delete your account"
|
||||
msgstr "Debes iniciar sesión para eliminar su cuenta"
|
||||
|
||||
#: 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"
|
||||
msgstr "Debes iniciar sesión para eliminar su cuenta"
|
||||
|
||||
#: 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"
|
||||
msgstr "Debes iniciar sesión para dejar un grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Debes iniciar sesión para actualizar un grupo"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
msgid "You requested again a confirmation email too soon"
|
||||
msgstr ""
|
||||
"Solicitó de nuevo un correo electrónico de confirmación demasiado pronto"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
msgid "Your email is not on the allowlist"
|
||||
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
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
msgid "Error while performing background task"
|
||||
msgstr "Error al realizar la tarea en segundo plano"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
msgid "No profile found with this 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
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
msgid "No remote profile found with this ID"
|
||||
msgstr "No se encontró ningún perfil remoto con este ID"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
msgid "Only moderators and administrators can suspend a profile"
|
||||
msgstr "Solo los moderadores y administradores pueden suspender un perfil"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
msgid "Only moderators and administrators can unsuspend a profile"
|
||||
msgstr ""
|
||||
"Solo los moderadores y administradores pueden anular la suspensión de un "
|
||||
"perfil"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
msgid "Only remote profiles may be refreshed"
|
||||
msgstr "Solo se pueden actualizar los perfiles remotos"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
msgid "Profile already suspended"
|
||||
msgstr "Perfil ya suspendido"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
msgid "A valid email is required by your instance"
|
||||
msgstr "Su instancia requiere un correo electrónico válido"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
msgid "Anonymous participation is not enabled"
|
||||
msgstr "La participación anónima no está habilitada"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "No se puede eliminar al último administrador de un grupo"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "No se puede eliminar la última identidad de un usuario"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
msgid "Comment is already deleted"
|
||||
msgstr "El comentario ya está eliminado"
|
||||
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
msgid "Discussion not found"
|
||||
msgstr "Discusión no encontrada"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
msgid "Error while saving report"
|
||||
msgstr "Error al guardar el informe"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
msgid "Error while updating report"
|
||||
msgstr "Error al actualizar el informe"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
msgid "Event id not found"
|
||||
msgstr "ID de evento no encontrado"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
|
||||
#: lib/graphql/resolvers/event.ex:325
|
||||
#, elixir-format
|
||||
msgid "Event not found"
|
||||
msgstr "Evento no encontrado"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:83
|
||||
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
|
||||
#, elixir-format
|
||||
msgid "Event with this ID %{id} doesn't exist"
|
||||
msgstr "El evento con este ID%{id} no existe"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
msgid "Internal Error"
|
||||
msgstr "Error interno"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr "Sin discusión con ID%{id}"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
msgid "No profile found for user"
|
||||
msgstr "No se encontró perfil para el usuario"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "No existe tal token de alimentación"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
msgid "Participant already has role %{role}"
|
||||
msgstr "El participante ya tiene el rol%{role}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:169
|
||||
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
|
||||
#: lib/graphql/resolvers/participant.ex:240
|
||||
#, elixir-format
|
||||
msgid "Participant not found"
|
||||
msgstr "Participante no encontrado"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "Persona con ID%{id} no encontrada"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr "Persona con nombre de usuario %{username} no encontrada"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
msgid "Post ID is not a valid ID"
|
||||
msgstr "La ID de publicación no es válida"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
msgid "Post doesn't exist"
|
||||
msgstr "La publicación no existe"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
msgid "Profile invited doesn't exist"
|
||||
msgstr "El perfil invitado no existe"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
msgid "Profile is already a member of this group"
|
||||
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: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/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
|
||||
#, elixir-format
|
||||
msgid "Profile is not member of group"
|
||||
msgstr "El perfil no es miembro del grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Perfil no encontrado"
|
||||
|
||||
#: 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 "El perfil de moderador proporcionado no tiene permiso para este evento"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
#, elixir-format
|
||||
msgid "Report not found"
|
||||
msgstr "Informe no encontrado"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
msgid "Resource doesn't exist"
|
||||
msgstr "El recurso no existe"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
msgid "The event has already reached its maximum capacity"
|
||||
msgstr "El evento ya alcanzó su capacidad máxima"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
msgid "This token is invalid"
|
||||
msgstr "Este token no es válido"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
msgid "Todo doesn't exist"
|
||||
msgstr "Todo no existe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
|
||||
#: lib/graphql/resolvers/todos.ex:216
|
||||
#, elixir-format
|
||||
msgid "Todo list doesn't exist"
|
||||
msgstr "La lista de tareas pendientes no existe"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "El token no existe"
|
||||
|
||||
#: 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"
|
||||
msgstr "El token no es un UUID válido"
|
||||
|
||||
#: 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"
|
||||
msgstr "Usuario no encontrado"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr "Ya tienes un perfil para este usuario"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
msgid "You are already a participant of this event"
|
||||
msgstr "Ya eres participante de este evento"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
msgid "You are not a member of this group"
|
||||
msgstr "no eres un miembro de este grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "No eres moderador ni administrador de este grupo"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
msgid "You are not allowed to create a comment if not connected"
|
||||
msgstr "No está permitido crear un comentario si no está conectado"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr "No puede eliminar un comentario si no está conectado"
|
||||
|
||||
#: 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"
|
||||
msgstr "No puede eliminar un token de feed si no está conectado"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
msgid "You are not allowed to update a comment if not connected"
|
||||
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:192
|
||||
#, elixir-format
|
||||
msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
"No puedes abandonar el evento porque eres el único participante creador del "
|
||||
"evento"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"No puede establecerse en un rol de miembro inferior para este grupo porque "
|
||||
"es el único administrador"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
msgid "You cannot delete this comment"
|
||||
msgstr "No puedes borrar este comentario"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
msgid "You cannot delete this event"
|
||||
msgstr "No puedes borrar este evento"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
msgid "You cannot invite to this group"
|
||||
msgstr "No puedes invitar a este grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "No tienes permiso para eliminar este token"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Debe iniciar sesión y un moderador para enumerar los registros de acción"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Debe iniciar sesión y ser administrador para acceder a la configuración de "
|
||||
"administrador"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
|
||||
"panel"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
|
||||
"panel"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr "Debe iniciar sesión para acceder a las discusiones"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
msgid "You need to be logged-in to access resources"
|
||||
msgstr "Debes iniciar sesión para acceder a los recursos"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
msgid "You need to be logged-in to create events"
|
||||
msgstr "Debes iniciar sesión para crear eventos"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
msgid "You need to be logged-in to create posts"
|
||||
msgstr "Debes iniciar sesión para crear publicaciones"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
msgid "You need to be logged-in to create reports"
|
||||
msgstr "Debe iniciar sesión para crear informes"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
msgid "You need to be logged-in to create resources"
|
||||
msgstr "Debe iniciar sesión para crear recursos"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
msgid "You need to be logged-in to delete an event"
|
||||
msgstr "Debe iniciar sesión para eliminar un evento"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
msgid "You need to be logged-in to delete posts"
|
||||
msgstr "Debes iniciar sesión para eliminar publicaciones"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
msgid "You need to be logged-in to delete resources"
|
||||
msgstr "Debes iniciar sesión para eliminar recursos"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
msgid "You need to be logged-in to join an event"
|
||||
msgstr "Debes iniciar sesión para eliminar recursos"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
msgid "You need to be logged-in to leave an event"
|
||||
msgstr "Debes iniciar sesión para salir de un evento"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
msgid "You need to be logged-in to update an event"
|
||||
msgstr "Debe iniciar sesión para actualizar un evento"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
msgid "You need to be logged-in to update posts"
|
||||
msgstr "Debes iniciar sesión para actualizar las publicaciones"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
msgid "You need to be logged-in to update resources"
|
||||
msgstr "Debes iniciar sesión para actualizar los recursos"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
msgid "You need to be logged-in to view a resource preview"
|
||||
msgstr "Debe iniciar sesión para ver una vista previa del recurso"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
msgid "Parent resource doesn't belong to this group"
|
||||
msgstr "El recurso principal no pertenece a este grupo"
|
||||
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
msgid "The chosen password is too short."
|
||||
msgstr "La contraseña elegida es demasiado corta."
|
||||
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||
msgstr ""
|
||||
"El token de registro ya está en uso, esto parece un problema de nuestra "
|
||||
"parte."
|
||||
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
msgid "This email is already used."
|
||||
msgstr "Este correo electrónico ya está en uso."
|
||||
|
||||
#: lib/graphql/error.ex:88
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:88
|
||||
msgid "Post not found"
|
||||
msgstr "Informe no encontrado"
|
||||
|
||||
#: lib/graphql/error.ex:75
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:75
|
||||
msgid "Invalid arguments passed"
|
||||
msgstr "Se pasaron argumentos no válidos"
|
||||
|
||||
#: lib/graphql/error.ex:81
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:81
|
||||
msgid "Invalid credentials"
|
||||
msgstr "Credenciales no válidas"
|
||||
|
||||
#: lib/graphql/error.ex:79
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:79
|
||||
msgid "Reset your password to login"
|
||||
msgstr "Restablezca su contraseña para iniciar sesión"
|
||||
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
msgid "Resource not found"
|
||||
msgstr "Recurso no encontrado"
|
||||
|
||||
#: lib/graphql/error.ex:93
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:93
|
||||
msgid "Something went wrong"
|
||||
msgstr "Algo salió mal"
|
||||
|
||||
#: lib/graphql/error.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:74
|
||||
msgid "Unknown Resource"
|
||||
msgstr "Recurso desconocido"
|
||||
|
||||
#: lib/graphql/error.ex:84
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:84
|
||||
msgid "You don't have permission to do this"
|
||||
msgstr "No tienes permiso para hacer esto"
|
||||
|
||||
#: lib/graphql/error.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:76
|
||||
msgid "You need to be logged in"
|
||||
msgstr "Debes iniciar sesión"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "No puedes aceptar esta invitación con este perfil."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr "No puedes rechazar esta invitación con este perfil."
|
||||
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
msgid "File doesn't have an allowed MIME type."
|
||||
msgstr "El archivo no tiene un tipo MIME permitido."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr "El perfil no es miembro del grupo"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
msgid "You can't edit this event."
|
||||
msgstr "No puedes borrar este evento."
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
msgid "You can't attribute this event to this profile."
|
||||
msgstr "No puedes rechazar esta invitación con este perfil."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "Esta invitación no existe."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Este miembro ya ha sido rechazado."
|
||||
|
||||
#: 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."
|
||||
msgstr "No tiene derecho a eliminar este miembro."
|
||||
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
msgid "This username is already taken."
|
||||
msgstr "Este nombre de usuario ya está en uso."
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Debe proporcionar una identificación o un slug para acceder a una discusión"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
msgid "Organizer profile is not owned by the user"
|
||||
msgstr "El perfil del organizador no es propiedad del usuario"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
msgid "Profile ID provided is not the anonymous profile one"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "La imagen proporcionada es demasiado pesada"
|
||||
|
||||
#: lib/web/views/utils.ex:33
|
||||
#, elixir-format
|
||||
#: lib/web/views/utils.ex:33
|
||||
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."
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Error al crear el recurso"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
msgid "Invalid activation token"
|
||||
msgstr "Token de activación no válido"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
msgstr "No se pueden recuperar los detalles del recurso de esta URL."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex: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"
|
||||
|
@ -1017,8 +1017,8 @@ msgstr ""
|
||||
"sähköpostiosoite on vaihdettu seuraavaan osoitteeseen:"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
"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
|
||||
#: 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"
|
||||
msgstr "%{name} – syöte"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr "%{actor} – yksityistapahtumien syöte palvelimella %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr "%{actor} – julkisten tapahtumien syöte palvelimella %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr "%{email}-syöte palvelimella %{instance}"
|
||||
|
||||
@ -1695,3 +1696,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr "Mobilizon-palvelin näyttää olevan väliakaisesti alhaalla."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -100,12 +100,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr "Merkkiä ei voi päivittää"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "Nykyinen profiili ei kuulu tähän ryhmään"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr "Ryhmää ei löydy"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "Tunnuksella %{id} ei löydy ryhmää"
|
||||
|
||||
@ -132,7 +132,7 @@ msgstr ""
|
||||
"Kirjautuminen epäonnistui - joko sähköpostiosoitteesi tai salasana on väärin."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: lib/graphql/resolvers/participant.ex: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/person.ex:277 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"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Olet jo tämän ryhmän jäsen"
|
||||
|
||||
#, 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"
|
||||
msgstr "Et voi poistua ryhmästä, koska olet sen ainoa ylläpitäjä"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr "Et voi liittyä tähän ryhmään"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena"
|
||||
|
||||
#, 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"
|
||||
msgstr "Voit poistua ryhmästä vain sisäänkirjautuneena"
|
||||
|
||||
#, 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"
|
||||
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ä"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "Ryhmän viimeistä ylläpitäjää ei voi poistaa"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "Käyttäjän viimeistä identiteettiä ei voi poistaa"
|
||||
|
||||
@ -392,7 +392,7 @@ msgid "Internal Error"
|
||||
msgstr "Sisäinen virhe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "Kyseistä syötemerkkiä ei ole"
|
||||
|
||||
@ -419,12 +419,12 @@ msgid "Participant not found"
|
||||
msgstr "Osallistujaa ei löydy"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "Tunnuksella %{id} ei löydy henkilöä"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -499,22 +494,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr "Tehtäväluetteloa ei ole"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "Merkkiä ei ole"
|
||||
|
||||
#, 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"
|
||||
msgstr "Merkki ei ole kelvollinen UUID"
|
||||
|
||||
#, 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"
|
||||
msgstr "Käyttäjää ei löydy"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
msgstr "Ilman yhteyttä ei voi poistaa syötemerkkiä"
|
||||
|
||||
@ -566,7 +561,7 @@ msgstr ""
|
||||
"Et voi poistua tapahtumasta, koska olet ainoa tapahtuman luonut osallistuja"
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"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"
|
||||
|
||||
#, 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"
|
||||
msgstr "Sinulla ei ole oikeutta poistaa tätä merkkiä"
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, 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"
|
||||
msgstr "Pääsy ylläpitoasetuksiin vain ylläpitäjälle sisäänkirjautuneena"
|
||||
|
||||
#, 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"
|
||||
msgstr "Pääsy koontinäytön tilastoihin vain ylläpitäjälle sisäänkirjautuneena"
|
||||
|
||||
#, 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"
|
||||
msgstr "Ylläpitoasetusten tallennus vain ylläpitäjälle sisäänkirjautuneena"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr "Pääsy keskusteluihin vain sisäänkirjautuneena"
|
||||
|
||||
@ -768,12 +763,12 @@ msgid "You need to be logged in"
|
||||
msgstr "Kirjaudu ensin sisään"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "Et voi hyväksyä kutsua tällä profiililla."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
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ä."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
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."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "Kutsua ei ole."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Jäsen on jo hylätty."
|
||||
|
||||
#, 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."
|
||||
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ä."
|
||||
|
||||
#, 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"
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Virhe raporttia tallennettaessa"
|
||||
@ -857,3 +852,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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"
|
||||
|
@ -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 à :"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr "Si vous n'avez pas effectué cette modification vous-même, il est probable que quelqu'un ait eu accès à votre compte %{host}. Veuillez vous connecter et changer immédiatement votre mot de passe. Si vous ne pouvez pas vous connecter, contactez l'administrateur·ice sur %{host}."
|
||||
|
||||
@ -1371,21 +1371,22 @@ msgstr "Ceci est un site de démonstration permettant de tester Mobilizon."
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr "Flux de %{name}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr "Flux privé des événements de %{actor} sur %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr "Flux public des événements de %{actor} sur %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr "Flux pour %{email} sur %{instance}"
|
||||
|
||||
@ -1408,3 +1409,8 @@ msgstr "Détails techniques"
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr "Le serveur Mobilizon %{instance} semble être temporairement hors-service."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -96,608 +96,764 @@ msgstr "doit être supérieur ou égal à %{number}"
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "doit être égal à %{number}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
msgid "Cannot refresh the token"
|
||||
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"
|
||||
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"
|
||||
msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
msgid "Error while saving user settings"
|
||||
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
|
||||
#: lib/graphql/resolvers/group.ex:261 lib/graphql/resolvers/member.ex:80
|
||||
#, 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"
|
||||
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"
|
||||
msgstr "Groupe avec l'ID %{id} non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
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."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
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"
|
||||
msgstr "Aucun profil trouvé pour l'utilisateur modérateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
msgid "No user to validate with this email was found"
|
||||
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"
|
||||
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
|
||||
#: 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/person.ex:277
|
||||
#: lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330 lib/graphql/resolvers/person.ex:342
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159
|
||||
#: 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"
|
||||
msgstr "Le profil n'est pas possédé par l'utilisateur connecté"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
msgid "Registrations are not open"
|
||||
msgstr "Les inscriptions ne sont pas ouvertes"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
msgid "The current password is invalid"
|
||||
msgstr "Le mot de passe actuel est invalid"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
msgid "The new email doesn't seem to be valid"
|
||||
msgstr "La nouvelle adresse e-mail ne semble pas être valide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
msgid "The new email must be different"
|
||||
msgstr "La nouvelle adresse e-mail doit être différente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
msgid "The new password must be different"
|
||||
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"
|
||||
msgstr "Le mot de passe fourni est invalide"
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
"Le mot de passe que vous avez choisi est trop court. Merci de vous assurer que votre mot de passe contienne au moins "
|
||||
"6 caractères."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
msgid "This user can't reset their password"
|
||||
msgstr "Cet·te utilisateur·ice ne peut pas réinitialiser son mot de passe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
msgid "This user has been disabled"
|
||||
msgstr "Cet·te utilisateur·ice a été désactivé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
msgid "Unable to validate user"
|
||||
msgstr "Impossible de valider l'utilisateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
msgid "User already disabled"
|
||||
msgstr "L'utilisateur·ice est déjà désactivé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
msgid "User requested is not logged-in"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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."
|
||||
msgstr "Vous ne pouvez pas lister les groupes sauf à être modérateur·ice."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
msgid "You need to be logged-in to change your email"
|
||||
msgstr "Vous devez être connecté·e pour changer votre adresse e-mail"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
msgid "You need to be logged-in to change your password"
|
||||
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"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
msgid "You need to be logged-in to delete your account"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
msgid "You need to have an existing token to get a refresh token"
|
||||
msgstr "Vous devez avoir un jeton existant pour obtenir un jeton de rafraîchissement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
msgid "You requested again a confirmation email too soon"
|
||||
msgstr "Vous avez à nouveau demandé un email de confirmation trop vite"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
msgid "Your email is not on the allowlist"
|
||||
msgstr "Votre adresse e-mail n'est pas sur la liste d'autorisations"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
msgid "Error while performing background task"
|
||||
msgstr "Erreur lors de l'exécution d'une tâche d'arrière-plan"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
msgid "No profile found with this ID"
|
||||
msgstr "Aucun profil trouvé avec cet ID"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
msgid "No remote profile found with this ID"
|
||||
msgstr "Aucun profil distant trouvé avec cet ID"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
msgid "Only moderators and administrators can suspend a profile"
|
||||
msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent suspendre un profil"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
msgid "Only moderators and administrators can unsuspend a profile"
|
||||
msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent annuler la suspension d'un profil"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
msgid "Only remote profiles may be refreshed"
|
||||
msgstr "Seuls les profils distants peuvent être rafraîchis"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
msgid "Profile already suspended"
|
||||
msgstr "Le profil est déjà suspendu"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
msgid "A valid email is required by your instance"
|
||||
msgstr "Une adresse e-mail valide est requise par votre instance"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
msgid "Anonymous participation is not enabled"
|
||||
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"
|
||||
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"
|
||||
msgstr "Impossible de supprimer le dernier profil d'un·e utilisateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
msgid "Comment is already deleted"
|
||||
msgstr "Le commentaire est déjà supprimé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
msgid "Discussion not found"
|
||||
msgstr "Discussion non trouvée"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
msgid "Error while saving report"
|
||||
msgstr "Erreur lors de la sauvegarde du signalement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
msgid "Error while updating report"
|
||||
msgstr "Erreur lors de la mise à jour du signalement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
msgid "Event id not found"
|
||||
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"
|
||||
msgstr "Événement non trouvé"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:83 lib/graphql/resolvers/participant.ex:124
|
||||
#: lib/graphql/resolvers/participant.ex:156
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr "L'événement avec cet ID %{id} n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
msgid "Internal Error"
|
||||
msgstr "Erreur interne"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr "Aucune discussion avec l'ID %{id}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
msgid "No profile found for user"
|
||||
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"
|
||||
msgstr "Aucun jeton de flux correspondant"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
msgid "Participant already has role %{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
|
||||
#: lib/graphql/resolvers/participant.ex:230 lib/graphql/resolvers/participant.ex:240
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Personne avec le nom %{name} non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
msgid "Post ID is not a valid ID"
|
||||
msgstr "L'ID du billet n'est pas un ID valide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
msgid "Post doesn't exist"
|
||||
msgstr "Le billet n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
msgid "Profile invited doesn't exist"
|
||||
msgstr "Le profil invité n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
msgid "Profile is already a member of this group"
|
||||
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
|
||||
#: 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/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
|
||||
#, elixir-format
|
||||
#: 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/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:194 lib/graphql/resolvers/todos.ex:222
|
||||
msgid "Profile is not member of group"
|
||||
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"
|
||||
msgstr "Profile non trouvé"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:145 lib/graphql/resolvers/participant.ex:234
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
msgstr "Groupe non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
msgid "Resource doesn't exist"
|
||||
msgstr "La ressource n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
msgid "The event has already reached its maximum capacity"
|
||||
msgstr "L'événement a déjà atteint sa capacité maximale"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
msgid "This token is invalid"
|
||||
msgstr "Ce jeton est invalide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
msgid "Todo doesn't exist"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Vous avez déjà un profil pour cet utilisateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
msgid "You are already a participant of this event"
|
||||
msgstr "Vous êtes déjà un·e participant·e à cet événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
msgid "You are not a member of this group"
|
||||
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"
|
||||
msgstr "Vous n'êtes pas administrateur·ice ou modérateur·ice de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
msgid "You are not allowed to create a comment if not connected"
|
||||
msgstr "Vous n'êtes pas autorisé·e à créer un commentaire si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
msgid "You are not allowed to create a feed token if not connected"
|
||||
msgstr "Vous n'êtes pas autorisé·e à créer un jeton de flux si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
msgstr "Vous n'êtes pas autorisé·e à supprimer un jeton de flux si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
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"
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas vous définir avec un rôle de membre inférieur pour ce groupe car vous en êtes le ou la seul·e "
|
||||
"administrateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
msgid "You cannot delete this comment"
|
||||
msgstr "Vous ne pouvez pas supprimer ce commentaire"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
msgid "You cannot delete this event"
|
||||
msgstr "Vous ne pouvez pas supprimer cet événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
msgid "You cannot invite to this group"
|
||||
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"
|
||||
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"
|
||||
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
|
||||
msgid "You need to be logged-in and a moderator to list reports"
|
||||
msgstr "Vous devez être connecté·e et une modérateur·ice pour lister les signalements"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
msgid "You need to be logged-in and a moderator to update a report"
|
||||
msgstr "Vous devez être connecté·e et une modérateur·ice pour modifier un signalement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Vous devez être connecté·e pour accéder aux discussions"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
msgid "You need to be logged-in to access resources"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
msgid "You need to be logged-in to create events"
|
||||
msgstr "Vous devez être connecté·e pour créer des événements"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
msgid "You need to be logged-in to create posts"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
msgid "You need to be logged-in to create reports"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
msgid "You need to be logged-in to create resources"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
msgid "You need to be logged-in to delete an event"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
msgid "You need to be logged-in to delete posts"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
msgid "You need to be logged-in to delete resources"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
msgid "You need to be logged-in to join an event"
|
||||
msgstr "Vous devez être connecté·e pour rejoindre un événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
msgid "You need to be logged-in to leave an event"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
msgid "You need to be logged-in to update an event"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
msgid "You need to be logged-in to update posts"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
msgid "You need to be logged-in to update resources"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
msgid "You need to be logged-in to view a resource preview"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
msgid "Parent resource doesn't belong to this group"
|
||||
msgstr "La ressource parente n'appartient pas à ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
msgid "The chosen password is too short."
|
||||
msgstr "Le mot de passe choisi est trop court."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||
msgstr "Le jeton d'inscription est déjà utilisé, cela ressemble à un problème de notre côté."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
msgid "This email is already used."
|
||||
msgstr "Cette adresse e-mail est déjà utilisée."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:88
|
||||
msgid "Post not found"
|
||||
msgstr "Billet non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:75
|
||||
msgid "Invalid arguments passed"
|
||||
msgstr "Paramètres fournis invalides"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:81
|
||||
msgid "Invalid credentials"
|
||||
msgstr "Identifiants invalides"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:79
|
||||
msgid "Reset your password to login"
|
||||
msgstr "Réinitialiser votre mot de passe pour vous connecter"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
msgid "Resource not found"
|
||||
msgstr "Ressource non trouvée"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:93
|
||||
msgid "Something went wrong"
|
||||
msgstr "Quelque chose s'est mal passé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:74
|
||||
msgid "Unknown Resource"
|
||||
msgstr "Ressource inconnue"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:84
|
||||
msgid "You don't have permission to do this"
|
||||
msgstr "Vous n'avez pas la permission de faire ceci"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:76
|
||||
msgid "You need to be logged in"
|
||||
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."
|
||||
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."
|
||||
msgstr "Vous ne pouvez pas rejeter cette invitation avec ce profil."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
msgid "File doesn't have an allowed MIME type."
|
||||
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"
|
||||
msgstr "Le profil n'est pas administrateur·ice pour le groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
msgid "You can't edit this event."
|
||||
msgstr "Vous ne pouvez pas éditer cet événement."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
msgid "You can't attribute this event to this profile."
|
||||
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."
|
||||
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."
|
||||
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."
|
||||
msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
msgid "This username is already taken."
|
||||
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"
|
||||
msgstr "Vous devez fournir un ID ou bien un slug pour accéder à une discussion"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
msgid "Organizer profile is not owned by the user"
|
||||
msgstr "Le profil de l'organisateur·ice n'appartient pas à l'utilisateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
msgid "Profile ID provided is not the anonymous profile one"
|
||||
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"
|
||||
msgstr "L'image fournie est trop lourde"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/views/utils.ex:33
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr "Fichier d'index non trouvé. Vous devez recompiler le front-end."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Erreur lors de la création de la resource"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
msgid "Invalid activation token"
|
||||
msgstr "Jeton d'activation invalide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
msgstr "Impossible de récupérer les détails de la ressource depuis cette URL."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex: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"
|
||||
|
@ -1014,8 +1014,8 @@ msgstr ""
|
||||
"conta en %{host} cambiouse a:"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
"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
|
||||
#: 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"
|
||||
msgstr "fonte de %{name}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr "fonte dos eventos privados de %{actor} en %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr "fonte dos eventos públicos de %{actor} en %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{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."
|
||||
msgstr ""
|
||||
"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 ""
|
||||
|
@ -94,775 +94,775 @@ msgstr "ten que ser maior ou igual a %{number}"
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "ten que ser igual a %{number}"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
msgid "Cannot refresh the token"
|
||||
msgstr "Non puido actualizar o token"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "O perfil actual non é membro deste grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "O perfil actual non é administrador do grupo seleccionado"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
msgid "Error while saving user settings"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "Grupo non atopado"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "Grupo con ID %{id} non atopado"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
"A autenticación non foi posible, o contrasinal ou o email non son correctos."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr "Membro non atopado"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
|
||||
#: lib/graphql/resolvers/user.ex:406
|
||||
#, elixir-format
|
||||
msgid "No profile found for the moderator user"
|
||||
msgstr "Non se atopou o perfil para a usuaria moderadora"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
msgid "No user to validate with this email was found"
|
||||
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
|
||||
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
|
||||
msgid "No user with this email was found"
|
||||
msgstr "Non se atopa ningunha usuaria con este email"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: lib/graphql/resolvers/participant.ex: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/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330
|
||||
#: lib/graphql/resolvers/person.ex:342
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr "O perfil non pertence a unha usuaria autenticada"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
msgid "Registrations are not open"
|
||||
msgstr "O rexistro está pechado"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
msgid "The current password is invalid"
|
||||
msgstr "O contrasinal actual non é válido"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
msgid "The new email doesn't seem to be valid"
|
||||
msgstr "O novo email non semella ser válido"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
msgid "The new email must be different"
|
||||
msgstr "O novo email ten que ser diferente"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
msgid "The new password must be different"
|
||||
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:431
|
||||
#, elixir-format
|
||||
msgid "The password provided is invalid"
|
||||
msgstr "O contrasinal escrito non é válido"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:338
|
||||
#, 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."
|
||||
msgstr ""
|
||||
"O contrasinal escollido é demasiado curto, ten que ter 6 caracteres polo "
|
||||
"menos."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
msgid "This user can't reset their password"
|
||||
msgstr "Esta usuaria non pode restablecer o seu contrasinal"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
msgid "This user has been disabled"
|
||||
msgstr "Estab usuaria foi desactivada"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
msgid "Unable to validate user"
|
||||
msgstr "Non se puido validar a usuaria"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
msgid "User already disabled"
|
||||
msgstr "A usuaria xa está desactivada"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
msgid "User requested is not logged-in"
|
||||
msgstr "A usuaria solicitada non está conectada"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Xa es membro deste grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Non podes deixar este grupo porque es a única administradora"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr "Non podes unirte a este grupo"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr "Non podes facer listas de grupos porque non es moderadora."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
msgid "You need to be logged-in to change your email"
|
||||
msgstr "Tes que estar conectada para poder cambiar o email"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
msgid "You need to be logged-in to change your password"
|
||||
msgstr "Tes que estar conectada para poder cambiar o contrasinal"
|
||||
|
||||
#: 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"
|
||||
msgstr "Tes que estar conectada para poder eleminar un grupo"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
msgid "You need to be logged-in to delete your account"
|
||||
msgstr "Tes que estar conectada para poder eliminar a conta"
|
||||
|
||||
#: 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"
|
||||
msgstr "Tes que estar conectada para poder unirte a un grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Tes que estar conectada para poder deixar un grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Tes que estar conectada para poder actualizar un grupo"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
msgid "You requested again a confirmation email too soon"
|
||||
msgstr "Solicitaches demasiado pronto un email de confirmación"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
msgid "Your email is not on the allowlist"
|
||||
msgstr "O teu email non está na lista dos permitidos"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
msgid "Error while performing background task"
|
||||
msgstr "Erro ó executar a tarefa en segundo plano"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
msgid "No profile found with this ID"
|
||||
msgstr "Non se atopa o perfil con este ID"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
msgid "No remote profile found with this ID"
|
||||
msgstr "Non se atopa o perfil remoto con este ID"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
msgid "Only moderators and administrators can suspend a profile"
|
||||
msgstr "Só moderadoras e administradoras poden suspender un perfil"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
msgid "Only moderators and administrators can unsuspend a profile"
|
||||
msgstr "Só moderadoras e administradoras pode restablecer un perfil"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
msgid "Only remote profiles may be refreshed"
|
||||
msgstr "Só os perfís remotos poderían ser actualizdos"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
msgid "Profile already suspended"
|
||||
msgstr "O perfil xa está suspendido"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
msgid "A valid email is required by your instance"
|
||||
msgstr "A túa instancia require un email válido"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
msgid "Anonymous participation is not enabled"
|
||||
msgstr "Non está permitida a participación ánonima"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "Non se pode eliminar a última administradora dun grupo"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "Non se pode eliminar a última identidade dunha usuaria"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
msgid "Comment is already deleted"
|
||||
msgstr "O comentario xa foi eliminado"
|
||||
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
msgid "Discussion not found"
|
||||
msgstr "Non se atopa a conversa"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
msgid "Error while saving report"
|
||||
msgstr "Erro ó gardar a denuncia"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
msgid "Error while updating report"
|
||||
msgstr "Erro ó actualizar a denuncia"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
msgid "Event id not found"
|
||||
msgstr "Non se atopou o ID do evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
|
||||
#: lib/graphql/resolvers/event.ex:325
|
||||
#, elixir-format
|
||||
msgid "Event not found"
|
||||
msgstr "Evento non atopado"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:83
|
||||
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
|
||||
#, elixir-format
|
||||
msgid "Event with this ID %{id} doesn't exist"
|
||||
msgstr "Non existe un evento co ID %{id}"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
msgid "Internal Error"
|
||||
msgstr "Erro interno"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr "Non hai conversa con ID %{id}"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
msgid "No profile found for user"
|
||||
msgstr "Non se atopou o perfil da usuaria"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "Non hai tal token da fonte"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
msgid "Participant already has role %{role}"
|
||||
msgstr "A participante xa ten o rol %{role}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:169
|
||||
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
|
||||
#: lib/graphql/resolvers/participant.ex:240
|
||||
#, elixir-format
|
||||
msgid "Participant not found"
|
||||
msgstr "Non se atopou a participante"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "Non se atopou a persoa con ID %{id}"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
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
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
msgid "Post ID is not a valid ID"
|
||||
msgstr "ID da publicación non é un ID válido"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
msgid "Post doesn't exist"
|
||||
msgstr "Non existe a publicación"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
msgid "Profile invited doesn't exist"
|
||||
msgstr "O perfil convidado non existe"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
msgid "Profile is already a member of this group"
|
||||
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: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/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
|
||||
#, elixir-format
|
||||
msgid "Profile is not member of group"
|
||||
msgstr "O perfil non é membro do grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Perfil non atopado"
|
||||
|
||||
#: 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 "O perfil da moderadora proporcionado non ten permisos neste evento"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
#, elixir-format
|
||||
msgid "Report not found"
|
||||
msgstr "Denuncia non atopada"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
msgid "Resource doesn't exist"
|
||||
msgstr "Non existe o recurso"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
msgid "The event has already reached its maximum capacity"
|
||||
msgstr "Este evento xa acadou a súa capacidade máxima"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
msgid "This token is invalid"
|
||||
msgstr "Este token non é válido"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
msgid "Todo doesn't exist"
|
||||
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:216
|
||||
#, elixir-format
|
||||
msgid "Todo list doesn't exist"
|
||||
msgstr "A lista de tarefas non existe"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "Non existe o token"
|
||||
|
||||
#: 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"
|
||||
msgstr "O token non é un UUID válido"
|
||||
|
||||
#: 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"
|
||||
msgstr "Usuaria non atopada"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr "Xa tes un perfil para esta usuaria"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
msgid "You are already a participant of this event"
|
||||
msgstr "Xa es unha participante neste evento"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
msgid "You are not a member of this group"
|
||||
msgstr "Non es membro deste grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Non es moderadora ou administradora deste grupo"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
msgid "You are not allowed to create a comment if not connected"
|
||||
msgstr "Non tes permiso para crear un comentario sen estar conectada"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
msgstr "Non tes permiso para eliminar o token da fonte se non estás conectada"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
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"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:163
|
||||
#: lib/graphql/resolvers/participant.ex:192
|
||||
#, elixir-format
|
||||
msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
"Non podes saír do evento porque es a única creadora do evento que participa"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Non podes adxudicarte un rol menor neste grupo porque es a única "
|
||||
"administradora"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
msgid "You cannot delete this comment"
|
||||
msgstr "Non podes eliminar este comentario"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
msgid "You cannot delete this event"
|
||||
msgstr "Non podes eliminar este evento"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
msgid "You cannot invite to this group"
|
||||
msgstr "Non podes convidar a este grupo"
|
||||
|
||||
#: 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"
|
||||
msgstr "Non tes permiso para eliminar este token"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Tes que estar conectada e ser moderadora para ver listas de rexistros de "
|
||||
"accións"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Tes que estar conectada e ser administradora para acceder ós axustes de "
|
||||
"administración"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Tes que estar conectada e ser administradora para acceder ó taboleiro de "
|
||||
"estatísticas"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Tes que estar conectada e ser administradora para gardar os axustes de "
|
||||
"administración"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr "Tes que estar conectada para acceder ás conversas"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
msgid "You need to be logged-in to access resources"
|
||||
msgstr "Tes que estar conectada para acceder ós recursos"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
msgid "You need to be logged-in to create events"
|
||||
msgstr "Tes que estar conectada para crear eventos"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
msgid "You need to be logged-in to create posts"
|
||||
msgstr "Tes que estar conectada para crear publicacións"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
msgid "You need to be logged-in to create reports"
|
||||
msgstr "Tes que estar conectada para crear denuncias"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
msgid "You need to be logged-in to create resources"
|
||||
msgstr "Tes que estar conectada para crear recursos"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
msgid "You need to be logged-in to delete an event"
|
||||
msgstr "Tes que estar conectada para eliminar un evento"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
msgid "You need to be logged-in to delete posts"
|
||||
msgstr "Tes que estar conectada para eliminar publicacións"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
msgid "You need to be logged-in to delete resources"
|
||||
msgstr "Tes que estar conectada para eliminar recursos"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
msgid "You need to be logged-in to join an event"
|
||||
msgstr "Tes que estar conectada para unirte a un evento"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
msgid "You need to be logged-in to leave an event"
|
||||
msgstr "Tes que estar conectada para saír dun evento"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
msgid "You need to be logged-in to update an event"
|
||||
msgstr "Tes que estar conectada para actualizar un evento"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
msgid "You need to be logged-in to update posts"
|
||||
msgstr "Tes que estar conectada para actualizar publicacións"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
msgid "You need to be logged-in to update resources"
|
||||
msgstr "Tes que estar conectada para actualizar recursos"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
msgid "You need to be logged-in to view a resource preview"
|
||||
msgstr "Tes que estar conectada para ver vista previa dun recurso"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
msgid "Parent resource doesn't belong to this group"
|
||||
msgstr "O recurso relacionado non pertence a este grupo"
|
||||
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
msgid "The chosen password is too short."
|
||||
msgstr "O contrasinal elexido é demasiado curto."
|
||||
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||
msgstr ""
|
||||
"O token de rexistro xa está a ser usado, semella un problema pola nosa parte."
|
||||
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
msgid "This email is already used."
|
||||
msgstr "Este email xa se está a usar."
|
||||
|
||||
#: lib/graphql/error.ex:88
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:88
|
||||
msgid "Post not found"
|
||||
msgstr "Non se atopa a publicación"
|
||||
|
||||
#: lib/graphql/error.ex:75
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:75
|
||||
msgid "Invalid arguments passed"
|
||||
msgstr "Argumentos proporcionados non válidos"
|
||||
|
||||
#: lib/graphql/error.ex:81
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:81
|
||||
msgid "Invalid credentials"
|
||||
msgstr "Credenciais non válidas"
|
||||
|
||||
#: lib/graphql/error.ex:79
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:79
|
||||
msgid "Reset your password to login"
|
||||
msgstr "Restablece o teu contrasinal para conectar"
|
||||
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
msgid "Resource not found"
|
||||
msgstr "Recurso non atopado"
|
||||
|
||||
#: lib/graphql/error.ex:93
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:93
|
||||
msgid "Something went wrong"
|
||||
msgstr "Algo foi mal"
|
||||
|
||||
#: lib/graphql/error.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:74
|
||||
msgid "Unknown Resource"
|
||||
msgstr "Recurso descoñecido"
|
||||
|
||||
#: lib/graphql/error.ex:84
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:84
|
||||
msgid "You don't have permission to do this"
|
||||
msgstr "Non tes permiso para facer isto"
|
||||
|
||||
#: lib/graphql/error.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:76
|
||||
msgid "You need to be logged in"
|
||||
msgstr "Tes que estar conectada"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "Non podes aceptar este convite con este perfil."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr "Non podes rexeitar este convite con este perfil."
|
||||
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
msgid "File doesn't have an allowed MIME type."
|
||||
msgstr "O ficheiro non ten un tipo MIME permitido."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr "O perfil non é administrador do grupo"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
msgid "You can't edit this event."
|
||||
msgstr "Non podes editar este evento."
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
msgid "You can't attribute this event to this profile."
|
||||
msgstr "Non podes atribuír este evento a este perfil."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "O convite non existe."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Este membro xa foi rexeitado."
|
||||
|
||||
#: 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."
|
||||
msgstr "Non tes permiso para eliminar este membro."
|
||||
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
msgid "This username is already taken."
|
||||
msgstr "Este nome de usuaria xa está pillado."
|
||||
|
||||
#: 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"
|
||||
msgstr "Debes proporcionar ou ben un ID ou nome para acceder á conversa"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
msgid "Organizer profile is not owned by the user"
|
||||
msgstr "O perfil da organización non pertence á usuaria"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
msgid "Profile ID provided is not the anonymous profile one"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "A imaxe proporcionada é demasiado grande (mb)"
|
||||
|
||||
#: lib/web/views/utils.ex:33
|
||||
#, elixir-format
|
||||
#: lib/web/views/utils.ex:33
|
||||
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."
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Erro ao crear o recurso"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
msgid "Invalid activation token"
|
||||
msgstr "O token de activación non é válido"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
msgstr "Non se puideron obter os detalles do recurso desde o URL."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex: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"
|
||||
|
@ -887,8 +887,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1413,21 +1413,22 @@ msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1450,3 +1451,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -110,784 +110,784 @@ msgstr "nagyobbnak vagy egyenlőnek kell lennie mint %{number}"
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "egyenlőnek kell lennie ezzel: %{number}"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
msgid "Cannot refresh the token"
|
||||
msgstr "Nem lehet frissíteni a tokent"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "A jelenlegi profil nem tagja ennek a csoportnak"
|
||||
|
||||
#: 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"
|
||||
msgstr "A jelenlegi profil nem adminisztrátora a kijelölt csoportnak"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
msgid "Error while saving user settings"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "Nem található a csoport"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "Nem található %{id} azonosítóval rendelkező csoport"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr "Lehetetlen hitelesíteni, vagy az e-mail, vagy a jelszó érvénytelen."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr "Nem található a tag"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
|
||||
#: lib/graphql/resolvers/user.ex:406
|
||||
#, elixir-format
|
||||
msgid "No profile found for the moderator user"
|
||||
msgstr "Nem található profil a moderátor felhasználóhoz"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
msgid "No user to validate with this email was found"
|
||||
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
|
||||
#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:218
|
||||
msgid "No user with this email was found"
|
||||
msgstr "Nem található ezzel az e-mail-címmel rendelkező felhasználó"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: lib/graphql/resolvers/participant.ex: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/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330
|
||||
#: lib/graphql/resolvers/person.ex:342
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr "A profilt nem hitelesített felhasználó birtokolja"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
msgid "Registrations are not open"
|
||||
msgstr "A regisztrációk nincsenek nyitva"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
msgid "The current password is invalid"
|
||||
msgstr "A jelenlegi jelszó érvénytelen"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
msgid "The new email doesn't seem to be valid"
|
||||
msgstr "Az új e-mail-cím nem tűnik érvényesnek"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
msgid "The new email must be different"
|
||||
msgstr "Az új e-mail-címnek eltérőnek kell lennie"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
msgid "The new password must be different"
|
||||
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:431
|
||||
#, elixir-format
|
||||
msgid "The password provided is invalid"
|
||||
msgstr "A megadott jelszó érvénytelen"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:338
|
||||
#, 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."
|
||||
msgstr ""
|
||||
"A választott jelszó túl rövid. Győződjön meg arról, hogy a jelszava "
|
||||
"tartalmazzon legalább 6 karaktert."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
msgid "This user can't reset their password"
|
||||
msgstr "Ez a felhasználó nem tudja visszaállítani a jelszavát"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
msgid "This user has been disabled"
|
||||
msgstr "Ez a felhasználó le lett tiltva"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
msgid "Unable to validate user"
|
||||
msgstr "Nem lehet ellenőrizni a felhasználót"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
msgid "User already disabled"
|
||||
msgstr "A felhasználó már le van tiltva"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
msgid "User requested is not logged-in"
|
||||
msgstr "A kért felhasználó nincs bejelentkezve"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Már tagja ennek a csoportnak"
|
||||
|
||||
#: 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"
|
||||
msgstr "Nem hagyhatja el ezt a csoportot, mert Ön az egyedüli adminisztrátor"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr "Nem csatlakozhat ehhez a csoporthoz"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr "Lehet, hogy nem sorolhatja fel a csoportokat, hacsak nem moderátor."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
msgid "You need to be logged-in to change your email"
|
||||
msgstr "Bejelentkezve kell lennie az e-mail-címe megváltoztatásához"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
msgid "You need to be logged-in to change your password"
|
||||
msgstr "Bejelentkezve kell lennie a jelszava megváltoztatásához"
|
||||
|
||||
#: 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"
|
||||
msgstr "Bejelentkezve kell lennie egy csoport törléséhez"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
msgid "You need to be logged-in to delete your account"
|
||||
msgstr "Bejelentkezve kell lennie a fiókja törléséhez"
|
||||
|
||||
#: 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"
|
||||
msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz"
|
||||
|
||||
#: 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"
|
||||
msgstr "Bejelentkezve kell lennie egy csoportból való kilépéshez"
|
||||
|
||||
#: 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"
|
||||
msgstr "Bejelentkezve kell lennie egy csoport frissítéséhez"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
msgid "You requested again a confirmation email too soon"
|
||||
msgstr "Túl hamar kért újra egy megerősítő e-mailt"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
msgid "Your email is not on the allowlist"
|
||||
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
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
msgid "Error while performing background task"
|
||||
msgstr "Hiba a háttérfeladat végrehajtásakor"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
msgid "No profile found with this ID"
|
||||
msgstr "Nem található profil ezzel az azonosítóval"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
msgid "No remote profile found with this ID"
|
||||
msgstr "Nem található távoli profil ezzel az azonosítóval"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
msgid "Only moderators and administrators can suspend a profile"
|
||||
msgstr "Csak moderátorok és adminisztrátorok függeszthetnek fel egy profilt"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
msgid "Only moderators and administrators can unsuspend a profile"
|
||||
msgstr ""
|
||||
"Csak moderátorok és adminisztrátorok szüntethetik meg egy profil "
|
||||
"felfüggesztését"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
msgid "Only remote profiles may be refreshed"
|
||||
msgstr "Csak távoli profilokat lehet frissíteni"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
msgid "Profile already suspended"
|
||||
msgstr "A profil már fel van függesztve"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
msgid "A valid email is required by your instance"
|
||||
msgstr "Érvényes e-mail-címet követelt meg az Ön példánya"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
msgid "Anonymous participation is not enabled"
|
||||
msgstr "A névtelen részvétel nincs engedélyezve"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "Nem lehet eltávolítani egy csoport utolsó adminisztrátorát"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "Nem lehet eltávolítani egy felhasználó utolsó személyazonosságát"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
msgid "Comment is already deleted"
|
||||
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
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
msgid "Discussion not found"
|
||||
msgstr "Nem található a megbeszélés"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
msgid "Error while saving report"
|
||||
msgstr "Hiba a jelentés mentésekor"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
msgid "Error while updating report"
|
||||
msgstr "Hiba a jelentés frissítésekor"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
msgid "Event id not found"
|
||||
msgstr "Nem található az eseményazonosító"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
|
||||
#: lib/graphql/resolvers/event.ex:325
|
||||
#, elixir-format
|
||||
msgid "Event not found"
|
||||
msgstr "Nem található az esemény"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:83
|
||||
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
|
||||
#, elixir-format
|
||||
msgid "Event with this ID %{id} doesn't exist"
|
||||
msgstr "Ezzel a(z) %{id} azonosítóval rendelkező esemény nem létezik"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
msgid "Internal Error"
|
||||
msgstr "Belső hiba"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr "Nincs %{id} azonosítóval rendelkező megbeszélés"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
msgid "No profile found for user"
|
||||
msgstr "Nem található profil a felhasználóhoz"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "Nincs ilyen hírforrástoken"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
msgid "Participant already has role %{role}"
|
||||
msgstr "A résztvevő már rendelkezik %{role} szereppel"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:169
|
||||
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
|
||||
#: lib/graphql/resolvers/participant.ex:240
|
||||
#, elixir-format
|
||||
msgid "Participant not found"
|
||||
msgstr "Nem található a résztvevő"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "Nem található %{id} azonosítóval rendelkező személy"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
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
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
msgid "Post ID is not a valid ID"
|
||||
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
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
msgid "Post doesn't exist"
|
||||
msgstr "A hozzászólás nem létezik"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
msgid "Profile invited doesn't exist"
|
||||
msgstr "A meghívott profil nem létezik"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
msgid "Profile is already a member of this group"
|
||||
msgstr "A profil már tagja ennek a csoportnak"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex: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/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:194 lib/graphql/resolvers/todos.ex:222
|
||||
#, elixir-format
|
||||
msgid "Profile is not member of group"
|
||||
msgstr "A profil nem tagja a csoportnak"
|
||||
|
||||
#: 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"
|
||||
msgstr "Nem található a profil"
|
||||
|
||||
#: 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 "A megadott moderátorprofilnak nincs jogosultsága ezen az eseményen"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
#, elixir-format
|
||||
msgid "Report not found"
|
||||
msgstr "Nem található a jelentés"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
msgid "Resource doesn't exist"
|
||||
msgstr "Az erőforrás nem létezik"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
msgid "The event has already reached its maximum capacity"
|
||||
msgstr "Az esemény már elérte a legnagyobb kapacitását"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
msgid "This token is invalid"
|
||||
msgstr "Ez a token érvénytelen"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
msgid "Todo doesn't exist"
|
||||
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:216
|
||||
#, elixir-format
|
||||
msgid "Todo list doesn't exist"
|
||||
msgstr "A tennivalólista nem létezik"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "A token nem létezik"
|
||||
|
||||
#: 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"
|
||||
msgstr "A token nem érvényes UUID"
|
||||
|
||||
#: 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"
|
||||
msgstr "Nem található a felhasználó"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr "Már rendelkezik profillal ehhez a felhasználóhoz"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
msgid "You are already a participant of this event"
|
||||
msgstr "Már résztvevője ennek az eseménynek"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
msgid "You are not a member of this group"
|
||||
msgstr "Nem tagja ennek a csoportnak"
|
||||
|
||||
#: 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"
|
||||
msgstr "Nem moderátor vagy adminisztrátor ennél a csoportnál"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
msgstr "Nem törölhet hírforrástokent, ha nincs kapcsolódva"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
msgid "You are not allowed to update a comment if not connected"
|
||||
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:192
|
||||
#, elixir-format
|
||||
msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
"Nem hagyhatja el az eseményt, mert Ön az egyedüli eseménylétrehozó résztvevő"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Nem állíthatja magát alacsonyabb tagszerepre ennél a csoportnál, mert Ön az "
|
||||
"egyedüli adminisztrátor"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
msgid "You cannot delete this comment"
|
||||
msgstr "Nem tudja törölni ezt a hozzászólást"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
msgid "You cannot delete this event"
|
||||
msgstr "Nem tudja törölni ezt az eseményt"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
msgid "You cannot invite to this group"
|
||||
msgstr "Nem tud meghívni ebbe a csoportba"
|
||||
|
||||
#: 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"
|
||||
msgstr "Nincs jogosultsága a token törléséhez"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Bejelentkezve kell lennie és moderátornak kell lennie a műveletnaplók "
|
||||
"felsorolásához"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
msgid "You need to be logged-in and a moderator to list reports"
|
||||
msgstr ""
|
||||
"Bejelentkezve kell lennie és moderátornak kell lennie a jelentések "
|
||||
"felsorolásához"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
msgid "You need to be logged-in and a moderator to update a report"
|
||||
msgstr ""
|
||||
"Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés "
|
||||
"frissítéséhez"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
"Bejelentkezve kell lennie és moderátornak kell lennie egy jelentés "
|
||||
"megtekintéséhez"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Bejelentkezve kell lennie és adminisztrátornak kell lennie az "
|
||||
"adminisztrátori beállításokhoz való hozzáféréshez"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Bejelentkezve kell lennie és adminisztrátornak kell lennie a vezérlőpulti "
|
||||
"statisztikákhoz való hozzáféréshez"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Bejelentkezve kell lennie és adminisztrátornak kell lennie az "
|
||||
"adminisztrátori beállítások mentéséhez"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr "Bejelentkezve kell lennie a megbeszélésekhez való hozzáféréshez"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
msgid "You need to be logged-in to access resources"
|
||||
msgstr "Bejelentkezve kell lennie az erőforrásokhoz való hozzáféréshez"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
msgid "You need to be logged-in to create events"
|
||||
msgstr "Bejelentkezve kell lennie az események létrehozásához"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
msgid "You need to be logged-in to create posts"
|
||||
msgstr "Bejelentkezve kell lennie a hozzászólások létrehozásához"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
msgid "You need to be logged-in to create reports"
|
||||
msgstr "Bejelentkezve kell lennie a jelentések létrehozásához"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
msgid "You need to be logged-in to create resources"
|
||||
msgstr "Bejelentkezve kell lennie az erőforrások létrehozásához"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
msgid "You need to be logged-in to delete an event"
|
||||
msgstr "Bejelentkezve kell lennie egy esemény törléséhez"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
msgid "You need to be logged-in to delete posts"
|
||||
msgstr "Bejelentkezve kell lennie a hozzászólások törléséhez"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
msgid "You need to be logged-in to delete resources"
|
||||
msgstr "Bejelentkezve kell lennie az erőforrások törléséhez"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
msgid "You need to be logged-in to join an event"
|
||||
msgstr "Bejelentkezve kell lennie egy eseményhez való csatlakozáshoz"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
msgid "You need to be logged-in to leave an event"
|
||||
msgstr "Bejelentkezve kell lennie egy esemény elhagyásához"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
msgid "You need to be logged-in to update an event"
|
||||
msgstr "Bejelentkezve kell lennie egy esemény frissítéséhez"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
msgid "You need to be logged-in to update posts"
|
||||
msgstr "Bejelentkezve kell lennie a hozzászólások frissítéséhez"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
msgid "You need to be logged-in to update resources"
|
||||
msgstr "Bejelentkezve kell lennie az erőforrások frissítéséhez"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
msgid "Parent resource doesn't belong to this group"
|
||||
msgstr "A szülőerőforrás nem tartozik ehhez a csoporthoz"
|
||||
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
msgid "The chosen password is too short."
|
||||
msgstr "A választott jelszó túl rövid."
|
||||
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||
msgstr ""
|
||||
"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
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
msgid "This email is already used."
|
||||
msgstr "Ez az e-mail-cím már használatban van."
|
||||
|
||||
#: lib/graphql/error.ex:88
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:88
|
||||
msgid "Post not found"
|
||||
msgstr "Nem található a hozzászólás"
|
||||
|
||||
#: lib/graphql/error.ex:75
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:75
|
||||
msgid "Invalid arguments passed"
|
||||
msgstr "Érvénytelen argumentumok lettek átadva"
|
||||
|
||||
#: lib/graphql/error.ex:81
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:81
|
||||
msgid "Invalid credentials"
|
||||
msgstr "Érvénytelen hitelesítési adatok"
|
||||
|
||||
#: lib/graphql/error.ex:79
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:79
|
||||
msgid "Reset your password to login"
|
||||
msgstr "Állítsa vissza a jelszavát a bejelentkezéshez"
|
||||
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
msgid "Resource not found"
|
||||
msgstr "Nem található az erőforrás"
|
||||
|
||||
#: lib/graphql/error.ex:93
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:93
|
||||
msgid "Something went wrong"
|
||||
msgstr "Valami elromlott"
|
||||
|
||||
#: lib/graphql/error.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:74
|
||||
msgid "Unknown Resource"
|
||||
msgstr "Ismeretlen erőforrás"
|
||||
|
||||
#: lib/graphql/error.ex:84
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:84
|
||||
msgid "You don't have permission to do this"
|
||||
msgstr "Nincs jogosultsága, hogy ezt tegye"
|
||||
|
||||
#: lib/graphql/error.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:76
|
||||
msgid "You need to be logged in"
|
||||
msgstr "Bejelentkezve kell lennie"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "Nem tudja elfogadni ezt a meghívást ezzel a profillal."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr "Nem tudja visszautasítani ezt a meghívást ezzel a profillal."
|
||||
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
msgid "File doesn't have an allowed MIME type."
|
||||
msgstr "A fájl nem rendelkezik engedélyezett MIME-típussal."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr "A profil nem adminisztrátor ennél a csoportnál"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
msgid "You can't edit this event."
|
||||
msgstr "Nem tudja szerkeszteni ezt az eseményt."
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
msgid "You can't attribute this event to this profile."
|
||||
msgstr "Nem tudja ezt az eseményt ennek a profilnak tulajdonítani."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "Ez a meghívás nem létezik."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Ez a tag már vissza lett utasítva."
|
||||
|
||||
#: 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."
|
||||
msgstr "Nincs meg a jogosultsága a tag eltávolításához."
|
||||
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
msgid "This username is already taken."
|
||||
msgstr "Ez a felhasználónév már foglalt."
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Meg kell adnia vagy egy azonosítót, vagy egy keresőbarát URL-t egy "
|
||||
"megbeszéléshez való hozzáféréshez"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
msgid "Organizer profile is not owned by the user"
|
||||
msgstr "A szervező profilját nem a felhasználó birtokolja"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
msgid "Profile ID provided is not the anonymous profile one"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "A megadott fénykép túl nehéz"
|
||||
|
||||
#: lib/web/views/utils.ex:33
|
||||
#, elixir-format
|
||||
#: lib/web/views/utils.ex:33
|
||||
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."
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Hiba az erőforrás létrehozáskor"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
msgid "Invalid activation token"
|
||||
msgstr "Érvénytelen aktiválási token"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
msgstr "Nem lehet lekérni az erőforrás részleteit erről az URL-ről."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex: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
@ -8,15 +8,15 @@
|
||||
## to merge POT files into PO files.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2021-02-19 10:14+0000\n"
|
||||
"Last-Translator: diorama <diorama@riseup.net>\n"
|
||||
"PO-Revision-Date: 2021-04-28 14:49+0000\n"
|
||||
"Last-Translator: Leo Durruti <leodurruti@disroot.org>\n"
|
||||
"Language-Team: Italian <https://weblate.framasoft.org/projects/mobilizon/"
|
||||
"backend-errors/it/>\n"
|
||||
"Language: it\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.6\n"
|
||||
|
||||
#: lib/mobilizon/discussions/discussion.ex:67
|
||||
msgid "can't be blank"
|
||||
@ -94,777 +94,778 @@ msgstr "dev'essere maggiore o uguale di %{number}"
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "dev'essere uguale a %{number}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
#, elixir-format
|
||||
msgid "Cannot refresh the token"
|
||||
msgstr "Il token non può essere aggiornato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "Il profilo corrente non è membro di questo gruppo"
|
||||
|
||||
#, 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"
|
||||
msgstr "Il profilo corrente non è amministratore del gruppo selezionato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
#, elixir-format
|
||||
msgid "Error while saving user settings"
|
||||
msgstr "Errore nel salvare le preferenze utente"
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr "Gruppo non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "Gruppo con ID %{id} non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
#, elixir-format
|
||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr "Impossibile autenticarsi: email e/o password non validi."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr "Membro non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
|
||||
#: lib/graphql/resolvers/user.ex:406
|
||||
#, elixir-format
|
||||
msgid "No profile found for the moderator user"
|
||||
msgstr "Nessun profilo trovato per l'utente moderatore"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
#, elixir-format
|
||||
msgid "No user to validate with this email was found"
|
||||
msgstr "Nessun utente da convalidare trovato con questa email"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex: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"
|
||||
msgstr "Nessun utente con questa email"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr "L'utente autenticato non è propietario di questo profilo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
#, elixir-format
|
||||
msgid "Registrations are not open"
|
||||
msgstr "Le registrazioni non sono aperte"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
#, elixir-format
|
||||
msgid "The current password is invalid"
|
||||
msgstr "la password corrente non è valida"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
#, elixir-format
|
||||
msgid "The new email doesn't seem to be valid"
|
||||
msgstr "La nuova email sembra non valida"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
#, elixir-format
|
||||
msgid "The new email must be different"
|
||||
msgstr "La nuova email dev'essere diversa"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
#, elixir-format
|
||||
msgid "The new password must be different"
|
||||
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:431
|
||||
#, elixir-format
|
||||
msgid "The password provided is invalid"
|
||||
msgstr "La password assegnata non è valida"
|
||||
|
||||
#, elixir-format
|
||||
#: 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."
|
||||
msgstr "la password scelta è troppo corta, deve avere almeno 6 caratteri."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
#, elixir-format
|
||||
msgid "This user can't reset their password"
|
||||
msgstr "Questo utente non può resettare la password"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
#, elixir-format
|
||||
msgid "This user has been disabled"
|
||||
msgstr "L'utente è stato disabilitato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
#, elixir-format
|
||||
msgid "Unable to validate user"
|
||||
msgstr "Impossibile convalidare l'utente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
#, elixir-format
|
||||
msgid "User already disabled"
|
||||
msgstr "Utente già disabilitato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
#, elixir-format
|
||||
msgid "User requested is not logged-in"
|
||||
msgstr "L'utente richiesto non è loggato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Sei già un membro di questo gruppo"
|
||||
|
||||
#, 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"
|
||||
msgstr "Non puoi lasciare questo gruppo perchè sei l'unico amministratore"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr "Non puoi unirti a questo gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr "Non è possibile elencare i gruppi a meno che non sia un moderatore."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to change your email"
|
||||
msgstr "È necessario effettuare il login per modificare la tua email"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to change your password"
|
||||
msgstr "È necessario effettuare il login per modificare la tua password"
|
||||
|
||||
#, 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"
|
||||
msgstr "È necessario effettuare il login per eliminare un gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to delete your account"
|
||||
msgstr "È necessario effettuare il login per eliminare il tuo account"
|
||||
|
||||
#, 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"
|
||||
msgstr "È necessario effettuare il login per entrare a far parte di un gruppo"
|
||||
|
||||
#, 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"
|
||||
msgstr "È necessario effettuare il login per lasciare un gruppo"
|
||||
|
||||
#, 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"
|
||||
msgstr "È necessario effettuare il login per aggiornare un gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
#, elixir-format
|
||||
msgid "You need to have an existing token to get a refresh token"
|
||||
msgstr ""
|
||||
"È necessario disporre di un token esistente per ottenere un token di "
|
||||
"aggiornamento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
#, elixir-format
|
||||
msgid "You requested again a confirmation email too soon"
|
||||
msgstr "Hai richiesto di nuovo un'e-mail di conferma troppo presto"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
#, elixir-format
|
||||
msgid "Your email is not on the allowlist"
|
||||
msgstr "La tua mail non è nella lista delle autorizzazioni"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
#, elixir-format
|
||||
msgid "Error while performing background task"
|
||||
msgstr "Errore nell'eseguire un processo in background"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
#, elixir-format
|
||||
msgid "No profile found with this ID"
|
||||
msgstr "Nessun profilo trovato con questo ID"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
#, elixir-format
|
||||
msgid "No remote profile found with this ID"
|
||||
msgstr "Nessun profilo remoto trovato con questo ID"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
#, elixir-format
|
||||
msgid "Only moderators and administrators can suspend a profile"
|
||||
msgstr "Solo i moderatori e gli amministratori possono sospendere un profilo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
#, elixir-format
|
||||
msgid "Only moderators and administrators can unsuspend a profile"
|
||||
msgstr "Solo i moderatori e gli amministratori possono riattivare un profilo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
#, elixir-format
|
||||
msgid "Only remote profiles may be refreshed"
|
||||
msgstr "È possibile aggiornare solo i profili remoti"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
#, elixir-format
|
||||
msgid "Profile already suspended"
|
||||
msgstr "Profilo già sospeso"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
#, elixir-format
|
||||
msgid "A valid email is required by your instance"
|
||||
msgstr "Un'email valida è richiesta dalla vostra istanza"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
#, elixir-format
|
||||
msgid "Anonymous participation is not enabled"
|
||||
msgstr "La partecipazione anonima non è abilitata"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "Impossibile rimuovere l'ultimo amministratore di un gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "Impossibile rimuovere l'ultima identità di un utente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
#, elixir-format
|
||||
msgid "Comment is already deleted"
|
||||
msgstr "Commento già cancellato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
#, elixir-format
|
||||
msgid "Discussion not found"
|
||||
msgstr "Discussione non trovata"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
#, elixir-format
|
||||
msgid "Error while saving report"
|
||||
msgstr "Errore nel salvare la segnalazione"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
#, elixir-format
|
||||
msgid "Error while updating report"
|
||||
msgstr "Errore durante l'aggiornamento del rapporto"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
#, elixir-format
|
||||
msgid "Event id not found"
|
||||
msgstr "ID evento non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
|
||||
#: lib/graphql/resolvers/event.ex:325
|
||||
#, elixir-format
|
||||
msgid "Event not found"
|
||||
msgstr "Evento non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:83
|
||||
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
|
||||
#, elixir-format
|
||||
msgid "Event with this ID %{id} doesn't exist"
|
||||
msgstr "L'evento con questo ID %{id} non esiste"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
#, elixir-format
|
||||
msgid "Internal Error"
|
||||
msgstr "Errore Interno"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr "Nessuna discussione con l'ID %{id}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
#, elixir-format
|
||||
msgid "No profile found for user"
|
||||
msgstr "Nessuno profilo trovato per l'utente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "Nessun token di rifornimento corrispondente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
#, elixir-format
|
||||
msgid "Participant already has role %{role}"
|
||||
msgstr "Il partecipante ha già il ruolo %{role}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:169
|
||||
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
|
||||
#: lib/graphql/resolvers/participant.ex:240
|
||||
#, elixir-format
|
||||
msgid "Participant not found"
|
||||
msgstr "Partecipante non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "La persona con l'ID %{id} non è stata trovata"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr "La persona con il nome utente %{username} non è stata trovata"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
#, elixir-format
|
||||
msgid "Post ID is not a valid ID"
|
||||
msgstr "L'ID del post non è un ID valido"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
#, elixir-format
|
||||
msgid "Post doesn't exist"
|
||||
msgstr "Il post non esiste"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
#, elixir-format
|
||||
msgid "Profile invited doesn't exist"
|
||||
msgstr "Il profilo invitato non esiste"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
#, elixir-format
|
||||
msgid "Profile is already a member of this group"
|
||||
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: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/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
|
||||
#, elixir-format
|
||||
msgid "Profile is not member of group"
|
||||
msgstr "Il profilo non è membro del gruppo"
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
#, elixir-format
|
||||
msgid "Report not found"
|
||||
msgstr "Segnalazione non trovata"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
#, elixir-format
|
||||
msgid "Resource doesn't exist"
|
||||
msgstr "La risorsa non esiste"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
#, elixir-format
|
||||
msgid "The event has already reached its maximum capacity"
|
||||
msgstr "L'evento ha già raggiunto la sua massima capacità"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
#, elixir-format
|
||||
msgid "This token is invalid"
|
||||
msgstr "Questo token non è valido"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
#, elixir-format
|
||||
msgid "Todo doesn't exist"
|
||||
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:216
|
||||
#, elixir-format
|
||||
msgid "Todo list doesn't exist"
|
||||
msgstr "la lista non esiste"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "Il token non esiste"
|
||||
|
||||
#, 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"
|
||||
msgstr "Il token non è un UUID valido"
|
||||
|
||||
#, 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"
|
||||
msgstr "Utente non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr "Hai già un profilo per questo utente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
#, elixir-format
|
||||
msgid "You are already a participant of this event"
|
||||
msgstr "Se già un partecipante di questo evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
#, elixir-format
|
||||
msgid "You are not a member of this group"
|
||||
msgstr "Non sei un membro di questo gruppo"
|
||||
|
||||
#, 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"
|
||||
msgstr "Non sei un moderatore o amministratore di questo gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
#, elixir-format
|
||||
msgid "You are not allowed to create a comment if not connected"
|
||||
msgstr "Non è consentito creare un commento se non si è collegati"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
#, elixir-format
|
||||
msgid "You are not allowed to create a feed token if not connected"
|
||||
msgstr "Non puoi creare un token di rifornimento senza connessione"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
#, elixir-format
|
||||
msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr "Non è consentito eliminare un commento se non si è collegati"
|
||||
|
||||
#, 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"
|
||||
msgstr "Non puoi eliminare un token di rifornimento senza connettersi"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
#, elixir-format
|
||||
msgid "You are not allowed to update a comment if not connected"
|
||||
msgstr "Non è consentito aggiornare un commento se non si è collegati"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:163
|
||||
#: lib/graphql/resolvers/participant.ex:192
|
||||
#, elixir-format
|
||||
msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
"Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi"
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"Non puoi impostare te stesso per un ruolo di membro inferiore per questo "
|
||||
"gruppo perché sei l'unico amministratore"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
#, elixir-format
|
||||
msgid "You cannot delete this comment"
|
||||
msgstr "Non puoi eliminare questo commento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
#, elixir-format
|
||||
msgid "You cannot delete this event"
|
||||
msgstr "Non puoi eliminare questo evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
#, elixir-format
|
||||
msgid "You cannot invite to this group"
|
||||
msgstr "Non puoi invitare in questo gruppo"
|
||||
|
||||
#, 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"
|
||||
msgstr "Non hai il permesso di cancellare questo token"
|
||||
|
||||
#, 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"
|
||||
msgstr "Devi essere connesso e un moderatore per elencare i log delle azioni"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in and a moderator to list reports"
|
||||
msgstr "Devi essere connesso e un moderatore per elencare i rapporti"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in and a moderator to update a report"
|
||||
msgstr "Devi essere connesso e un moderatore per aggiornare un rapporto"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr "Devi essere connesso e un moderatore per visualizzare un rapporto"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:236
|
||||
#: lib/graphql/resolvers/admin.ex:237
|
||||
msgid "You need to be logged-in and an administrator to access admin settings"
|
||||
msgstr ""
|
||||
"Devi essere connesso e un moderatore per accedere alle opzioni "
|
||||
"dell'amministratore"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:221
|
||||
#: lib/graphql/resolvers/admin.ex:222
|
||||
msgid "You need to be logged-in and an administrator to access dashboard statistics"
|
||||
msgstr ""
|
||||
"Devi essere connesso e un moderatore per accedere alle statistiche del "
|
||||
"dashboard"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:260
|
||||
#: lib/graphql/resolvers/admin.ex:261
|
||||
msgid "You need to be logged-in and an administrator to save admin settings"
|
||||
msgstr ""
|
||||
"Devi essere connesso e un moderatore per salvare le impostazioni "
|
||||
"dell'amministratore"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr "Devi essere connesso per accedere alle discussioni"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to access resources"
|
||||
msgstr "Devi essere connesso per accedere alle risorse"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to create events"
|
||||
msgstr "Devi essere connesso per creare eventi"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to create posts"
|
||||
msgstr "Devi essere connesso per creare dei post"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to create reports"
|
||||
msgstr "Devi essere connesso per creare rapporti"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to create resources"
|
||||
msgstr "Devi essere connesso per creare risorse"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to delete an event"
|
||||
msgstr "Devi essere connesso per eliminare un evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to delete posts"
|
||||
msgstr "Devi essere connesso per eliminare dei post"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to delete resources"
|
||||
msgstr "Devi essere connesso per eliminare risorse"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to join an event"
|
||||
msgstr "Devi essere connesso per partecipare a un evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to leave an event"
|
||||
msgstr "Devi essere connesso per lasciare un evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to update an event"
|
||||
msgstr "Devi essere connesso per aggiornare un evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to update posts"
|
||||
msgstr "Devi essere connesso per aggiornare dei post"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to update resources"
|
||||
msgstr "Devi essere connesso per aggiornare le risorse"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
#, elixir-format
|
||||
msgid "You need to be logged-in to view a resource preview"
|
||||
msgstr "Devi essere connesso per visualizzare l'anteprima di una risorsa"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
#, elixir-format
|
||||
msgid "Parent resource doesn't belong to this group"
|
||||
msgstr "La risorsa principale non appartiene a questo gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
#, elixir-format
|
||||
msgid "The chosen password is too short."
|
||||
msgstr "La password scelta è troppo corta."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
#, elixir-format
|
||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||
msgstr ""
|
||||
"Il token di registrazione è già in uso, questo sembra un problema dalla "
|
||||
"nostra parte."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
#, elixir-format
|
||||
msgid "This email is already used."
|
||||
msgstr "Questa email è già in uso."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:88
|
||||
#, elixir-format
|
||||
msgid "Post not found"
|
||||
msgstr "Post non trovato"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:75
|
||||
#, elixir-format
|
||||
msgid "Invalid arguments passed"
|
||||
msgstr "Sono stati trasmessi argomenti non validi"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:81
|
||||
#, elixir-format
|
||||
msgid "Invalid credentials"
|
||||
msgstr "Credenziali non valide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:79
|
||||
#, elixir-format
|
||||
msgid "Reset your password to login"
|
||||
msgstr "Reimposta la tua password per connetterti"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
#, elixir-format
|
||||
msgid "Resource not found"
|
||||
msgstr "Segnalazione non trovata"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:93
|
||||
#, elixir-format
|
||||
msgid "Something went wrong"
|
||||
msgstr "Qualcosa è andato storto"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:74
|
||||
#, elixir-format
|
||||
msgid "Unknown Resource"
|
||||
msgstr "Risorsa sconosciuta"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:84
|
||||
#, elixir-format
|
||||
msgid "You don't have permission to do this"
|
||||
msgstr "Non hai il permesso di farlo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:76
|
||||
#, elixir-format
|
||||
msgid "You need to be logged in"
|
||||
msgstr "Devi essere connesso"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "Non puoi accettare l'invito con questo profilo."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr "Non puoi rifiutare l'invito con questo profilo."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
#, elixir-format
|
||||
msgid "File doesn't have an allowed MIME type."
|
||||
msgstr "Il file non ha un tipo MIME consentito."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr "Il profilo non è amministratore del gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
#, elixir-format
|
||||
msgid "You can't edit this event."
|
||||
msgstr "Non puoi modificare questo evento."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
#, elixir-format
|
||||
msgid "You can't attribute this event to this profile."
|
||||
msgstr "Non puo iattribuire questo evento a questo profilo."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "Questo invito non esiste."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Questo memebro è già stato rifiutato."
|
||||
|
||||
#, 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."
|
||||
msgstr "Non hai il diritto di rimuovere questo membro."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
#, elixir-format
|
||||
msgid "This username is already taken."
|
||||
msgstr "Questo nome utente è già in uso."
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
"Devi fornire un ID o la stringa utente (ad es. <em>utente@mobilizon.sm</em>) "
|
||||
"per accedere ad una discussione"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
#, elixir-format
|
||||
msgid "Organizer profile is not owned by the user"
|
||||
msgstr "Il profilo dell'organizzatore non è di proprietà dell'utente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
#, elixir-format
|
||||
msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr "L'ID profilo fornito non è quello del profilo anonimo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr "L'immagine inserita è troppo pesante"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/views/utils.ex:33
|
||||
#, elixir-format
|
||||
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
|
||||
#, elixir-format
|
||||
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
|
||||
msgid "Invalid activation token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
msgid "Invalid activation token"
|
||||
msgstr "Token di attivazione non valido"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
#, elixir-format
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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"
|
||||
|
@ -832,8 +832,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1356,21 +1356,22 @@ msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1393,3 +1394,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -87,12 +87,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -102,13 +102,13 @@ msgid "Error while saving user settings"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -118,7 +118,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr ""
|
||||
|
||||
@ -134,16 +134,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -209,22 +209,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -239,7 +239,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -249,17 +249,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -324,12 +324,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -376,7 +376,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -386,7 +386,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -403,12 +403,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -442,15 +442,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -483,22 +478,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -513,7 +508,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -533,7 +528,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -549,7 +544,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -569,12 +564,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -594,22 +589,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -749,12 +744,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -764,7 +759,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -779,17 +774,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -799,7 +794,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -814,8 +809,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -824,7 +819,7 @@ msgstr ""
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr ""
|
||||
@ -838,3 +833,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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 ""
|
||||
|
@ -854,8 +854,8 @@ msgid "Hi there! Just a quick note to confirm that the email address linked to y
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_changed_old.html.eex:41
|
||||
#: 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.html.eex:62
|
||||
#: lib/web/templates/email/email_changed_old.text.eex:5
|
||||
msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}."
|
||||
msgstr ""
|
||||
|
||||
@ -1381,21 +1381,22 @@ msgstr "Dit is een demosite om de bètaversie van Mobilizon te testen."
|
||||
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:77
|
||||
#: lib/service/export/feed.ex:120
|
||||
msgid "%{actor}'s private events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:72
|
||||
#: lib/service/export/feed.ex:115
|
||||
msgid "%{actor}'s public events feed on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:203
|
||||
#: lib/service/export/feed.ex:220
|
||||
msgid "Feed for %{email} on %{instance}"
|
||||
msgstr ""
|
||||
|
||||
@ -1418,3 +1419,8 @@ msgstr ""
|
||||
#: lib/web/templates/error/500_page.html.eex:52
|
||||
msgid "The Mobilizon server %{instance} seems to be temporarily down."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/export/feed.ex:73
|
||||
msgid "Public feed for %{instance}"
|
||||
msgstr ""
|
||||
|
@ -93,12 +93,12 @@ msgid "Cannot refresh the token"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -108,13 +108,13 @@ msgid "Error while saving user settings"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -124,7 +124,7 @@ msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr ""
|
||||
|
||||
@ -140,16 +140,16 @@ msgid "No user to validate with this email was found"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 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"
|
||||
msgstr ""
|
||||
|
||||
@ -215,22 +215,22 @@ msgid "User requested is not logged-in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr ""
|
||||
|
||||
@ -245,7 +245,7 @@ msgid "You need to be logged-in to change your password"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -255,17 +255,17 @@ msgid "You need to be logged-in to delete your account"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -330,12 +330,12 @@ msgid "Anonymous participation is not enabled"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr ""
|
||||
|
||||
@ -382,7 +382,7 @@ msgid "Internal Error"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr ""
|
||||
|
||||
@ -392,7 +392,7 @@ msgid "No profile found for user"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr ""
|
||||
|
||||
@ -409,12 +409,12 @@ msgid "Participant not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr ""
|
||||
|
||||
@ -448,15 +448,10 @@ msgid "Profile is not member of group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
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
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
msgid "Report not found"
|
||||
@ -489,22 +484,22 @@ msgid "Todo list doesn't exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr ""
|
||||
|
||||
@ -519,7 +514,7 @@ msgid "You are not a member of this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -539,7 +534,7 @@ msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -555,7 +550,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -575,12 +570,12 @@ msgid "You cannot invite to this group"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -600,22 +595,22 @@ msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr ""
|
||||
|
||||
@ -755,12 +750,12 @@ msgid "You need to be logged in"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr ""
|
||||
|
||||
@ -770,7 +765,7 @@ msgid "File doesn't have an allowed MIME type."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr ""
|
||||
|
||||
@ -785,17 +780,17 @@ msgid "You can't attribute this event to this profile."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, 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."
|
||||
msgstr ""
|
||||
|
||||
@ -805,7 +800,7 @@ msgid "This username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
msgstr ""
|
||||
|
||||
@ -820,8 +815,8 @@ msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:131 lib/graphql/resolvers/person.ex:158
|
||||
#: lib/graphql/resolvers/person.ex:250
|
||||
#: 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"
|
||||
msgstr ""
|
||||
|
||||
@ -830,7 +825,7 @@ msgstr ""
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr ""
|
||||
@ -844,3 +839,8 @@ msgstr ""
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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
@ -110,775 +110,775 @@ msgstr "må vera større enn eller lik %{number}"
|
||||
msgid "must be equal to %{number}"
|
||||
msgstr "må vera lik %{number}"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:100
|
||||
msgid "Cannot refresh the token"
|
||||
msgstr "Kan ikkje fornya teiknet"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:198
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:206
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "Denne brukaren er ikkje medlem av gruppa"
|
||||
|
||||
#: 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"
|
||||
msgstr "Denne brukaren er ikkje styrar av gruppa"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
msgid "Error while saving user settings"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "Fann ikkje gruppa"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:66
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:68
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "Fann ikkje gruppa med ID %{id}"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:80
|
||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr "Greier ikkje å logga inn. Epostadressa eller passordet ditt er feil."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:258
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:266
|
||||
msgid "Member not found"
|
||||
msgstr "Fann ikkje medlemen"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
|
||||
#: lib/graphql/resolvers/user.ex:406
|
||||
#, elixir-format
|
||||
msgid "No profile found for the moderator user"
|
||||
msgstr "Fann ingen profil for moderator-brukaren"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:193
|
||||
msgid "No user to validate with this email was found"
|
||||
msgstr "Fann ingen brukar med denne eposten å godkjenna"
|
||||
|
||||
#: 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"
|
||||
msgstr "Fann ingen brukar med denne eposten"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: 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/person.ex:277 lib/graphql/resolvers/person.ex:306 lib/graphql/resolvers/person.ex:330
|
||||
#: lib/graphql/resolvers/person.ex:342
|
||||
#, elixir-format
|
||||
#: 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"
|
||||
msgstr "Ingen godkjent brukar eig denne profilen"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:123
|
||||
msgid "Registrations are not open"
|
||||
msgstr "Det er ikkje opna for å registrera seg"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:331
|
||||
msgid "The current password is invalid"
|
||||
msgstr "Dette passordet er ugyldig"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:376
|
||||
msgid "The new email doesn't seem to be valid"
|
||||
msgstr "Den nye epostadressa ser ut til å vera feil"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:373
|
||||
msgid "The new email must be different"
|
||||
msgstr "Den nye epostadressa må vera annleis"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:334
|
||||
msgid "The new password must be different"
|
||||
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:431
|
||||
#, elixir-format
|
||||
msgid "The password provided is invalid"
|
||||
msgstr "Dette passordet er ugyldig"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:338
|
||||
#, 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."
|
||||
msgstr "Dette passordet er for kort. Passord må ha minst 6 teikn."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:214
|
||||
msgid "This user can't reset their password"
|
||||
msgstr "Denne brukaren kan ikkje nullstilla passordet sitt"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:76
|
||||
msgid "This user has been disabled"
|
||||
msgstr "Denne brukaren er avskrudd"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:177
|
||||
msgid "Unable to validate user"
|
||||
msgstr "Greier ikkje godkjenna brukaren"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:409
|
||||
msgid "User already disabled"
|
||||
msgstr "Brukaren er allereie inaktiv"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:476
|
||||
msgid "User requested is not logged-in"
|
||||
msgstr "Den førespurte brukaren er ikkje innlogga"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:232
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:240
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Du er allereie medlem av denne gruppa"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du kan ikkje forlata denne gruppa, fordi du er den einaste styraren"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:229
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:237
|
||||
msgid "You cannot join this group"
|
||||
msgstr "Du kan ikkje bli med i denne gruppa"
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:96
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr "Du kan ikkje lista opp grupper med mindre du er moderator."
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:381
|
||||
msgid "You need to be logged-in to change your email"
|
||||
msgstr "Du må vera innlogga for å endra epostadressa di"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:346
|
||||
msgid "You need to be logged-in to change your password"
|
||||
msgstr "Du må vera innlogga for å endra passordet ditt"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du må vera innlogga for å sletta ei gruppe"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:436
|
||||
msgid "You need to be logged-in to delete your account"
|
||||
msgstr "Du må vera innlogga for å sletta kontoen din"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du må vera innlogga for å bli med i ei gruppe"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du må vera innlogga for å forlata ei gruppe"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du må vera innlogga for å oppdatera ei gruppe"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:105
|
||||
msgid "You need to have an existing token to get a refresh token"
|
||||
msgstr "Du treng eit eksisterande teikn for å få eit fornyingsteikn"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221
|
||||
msgid "You requested again a confirmation email too soon"
|
||||
msgstr "Du ba om ny stadfestingsepost for snøgt"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:126
|
||||
msgid "Your email is not on the allowlist"
|
||||
msgstr "Epostadressa di er ikkje på lista over godkjende adresser"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||
msgid "Error while performing background task"
|
||||
msgstr "Greidde ikkje utføra ei bakgrunnsoppgåve"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:27
|
||||
msgid "No profile found with this ID"
|
||||
msgstr "Fann ingen profil med denne ID-en"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||
msgid "No remote profile found with this ID"
|
||||
msgstr "Fann ingen fjern profil med denne ID-en"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:69
|
||||
msgid "Only moderators and administrators can suspend a profile"
|
||||
msgstr "Berre moderatorar og styrarar kan sperra ein profil"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:99
|
||||
msgid "Only moderators and administrators can unsuspend a profile"
|
||||
msgstr "Berre moderatorar og styrarar kan oppheva sperring av profilar"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:24
|
||||
msgid "Only remote profiles may be refreshed"
|
||||
msgstr "Du kan berre lasta fjerne profilar på nytt"
|
||||
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:61
|
||||
msgid "Profile already suspended"
|
||||
msgstr "Profilen er allereie sperra"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:92
|
||||
msgid "A valid email is required by your instance"
|
||||
msgstr "Nettstaden din krev ei gyldig epostadresse"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:86
|
||||
msgid "Anonymous participation is not enabled"
|
||||
msgstr "Det er ikkje høve til å vera med anonymt"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:195
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:196
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "Kan ikkje fjerna den siste styraren i gruppa"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:192
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:193
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "Kan ikkje fjerna den siste identiteten til ein brukar"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:108
|
||||
msgid "Comment is already deleted"
|
||||
msgstr "Kommentaren er allereie sletta"
|
||||
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62
|
||||
msgid "Discussion not found"
|
||||
msgstr "Fann ikkje ordskiftet"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77
|
||||
msgid "Error while saving report"
|
||||
msgstr "Greidde ikkje lagra rapporten"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:96
|
||||
msgid "Error while updating report"
|
||||
msgstr "Greidde ikkje oppdatera rapporten"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:127
|
||||
msgid "Event id not found"
|
||||
msgstr "Fann ikkje ID-en til hendinga"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281
|
||||
#: lib/graphql/resolvers/event.ex:325
|
||||
#, elixir-format
|
||||
msgid "Event not found"
|
||||
msgstr "Fann ikkje hendinga"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:83
|
||||
#: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156
|
||||
#, elixir-format
|
||||
msgid "Event with this ID %{id} doesn't exist"
|
||||
msgstr "Det finst inga hending med ID-en %{id}"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:99
|
||||
msgid "Internal Error"
|
||||
msgstr "Intern feil"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:201
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:202
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr "Ikkje noko ordskifte med ID-en %{id}"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168
|
||||
msgid "No profile found for user"
|
||||
msgstr "Fann ingen profil for brukaren"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:63
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "Det finst ikkje noko slikt teikn for kjelda"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:237
|
||||
msgid "Participant already has role %{role}"
|
||||
msgstr "Deltakaren har rolla %{role} allereie"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:169
|
||||
#: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230
|
||||
#: lib/graphql/resolvers/participant.ex:240
|
||||
#, elixir-format
|
||||
msgid "Participant not found"
|
||||
msgstr "Fann ikkje deltakaren"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:29
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:30
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "Fann ingen person med ID-en %{id}"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:51
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:52
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr "Fann ingen person med brukarnamnet %{username}"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200
|
||||
msgid "Post ID is not a valid ID"
|
||||
msgstr "Innleggs-IDen er ugyldig"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203
|
||||
msgid "Post doesn't exist"
|
||||
msgstr "Innlegget finst ikkje"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:83
|
||||
msgid "Profile invited doesn't exist"
|
||||
msgstr "Den inviterte profilen finst ikkje"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96
|
||||
msgid "Profile is already a member of this group"
|
||||
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: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/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
|
||||
#, elixir-format
|
||||
msgid "Profile is not member of group"
|
||||
msgstr "Profilen er ikkje medlem i gruppa"
|
||||
|
||||
#: 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"
|
||||
msgstr "Fann ikkje profilen"
|
||||
|
||||
#: 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 "Moderatorprofilen har ikkje tilgang til denne hendinga"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:36
|
||||
#, elixir-format
|
||||
msgid "Report not found"
|
||||
msgstr "Fann ikkje rapporten"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183
|
||||
msgid "Resource doesn't exist"
|
||||
msgstr "Ressursen finst ikkje"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:120
|
||||
msgid "The event has already reached its maximum capacity"
|
||||
msgstr "Hendinga er fullteikna"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:260
|
||||
msgid "This token is invalid"
|
||||
msgstr "Teiknet er ugyldig"
|
||||
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219
|
||||
msgid "Todo doesn't exist"
|
||||
msgstr "Gjeremålet finst ikkje"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191
|
||||
#: lib/graphql/resolvers/todos.ex:216
|
||||
#, elixir-format
|
||||
msgid "Todo list doesn't exist"
|
||||
msgstr "Gjeremålslista finst ikkje"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:69
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "Teiknet finst ikkje"
|
||||
|
||||
#: 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"
|
||||
msgstr "Teiknet er ikkje ein gyldig UUID"
|
||||
|
||||
#: 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"
|
||||
msgstr "Fann ikkje brukaren"
|
||||
|
||||
#: lib/graphql/resolvers/person.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:257
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr "Du har allereie ein profil for denne brukaren"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:130
|
||||
msgid "You are already a participant of this event"
|
||||
msgstr "Du er allereie deltakar på denne hendinga"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:86
|
||||
msgid "You are not a member of this group"
|
||||
msgstr "Du er ikkje medlem i denne gruppa"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du er ikkje styrar eller administrator for denne gruppa"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:54
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:113
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du har ikkje løyve til å sletta straumteikn når du ikkje er kopla til"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:76
|
||||
msgid "You are not allowed to update a comment if not connected"
|
||||
msgstr ""
|
||||
"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:192
|
||||
#, elixir-format
|
||||
msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr ""
|
||||
"Du kan ikkje forlata hendinga, fordi du er den einaste deltakaren som har "
|
||||
"oppretta hendinga"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Du kan ikkje gje deg sjølv ei deltakarrolle i denne gruppa, fordi du er den "
|
||||
"einaste administratoren"
|
||||
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:104
|
||||
msgid "You cannot delete this comment"
|
||||
msgstr "Du kan ikkje sletta denne kommentaren"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:321
|
||||
msgid "You cannot delete this event"
|
||||
msgstr "Du kan ikkje sletta denne hendinga"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:89
|
||||
msgid "You cannot invite to this group"
|
||||
msgstr "Du kan ikkje invitera til denne gruppa"
|
||||
|
||||
#: 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"
|
||||
msgstr "Du har ikkje løyve til å sletta dette teiknet"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Du må vera innlogga og ha ei moderatorrolle for å lista opp hendingsloggar"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:26
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:101
|
||||
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"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:41
|
||||
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"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Du må vera innlogga og ha ei administratorrolle for å sjå admin-"
|
||||
"innstillingane"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Du må vera innlogga og ha ei administratorrolle for å sjå statistikk på "
|
||||
"styringspanelet"
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Du må vera innlogga og ha ei administratorrolle for å lagra admin-"
|
||||
"innstillingar"
|
||||
|
||||
#: lib/graphql/resolvers/discussion.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:77
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr "Du må vera innlogga for å sjå ordskifte"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:94
|
||||
msgid "You need to be logged-in to access resources"
|
||||
msgstr "Du må vera innlogga for å sjå ressursane"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:256
|
||||
msgid "You need to be logged-in to create events"
|
||||
msgstr "Du må vera innlogga for å laga hendingar"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:140
|
||||
msgid "You need to be logged-in to create posts"
|
||||
msgstr "Du må vera innlogga for å skriva innlegg"
|
||||
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:74
|
||||
msgid "You need to be logged-in to create reports"
|
||||
msgstr "Du må vera innlogga for å rapportera"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:133
|
||||
msgid "You need to be logged-in to create resources"
|
||||
msgstr "Du må vera innlogga for å laga ressursar"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:330
|
||||
msgid "You need to be logged-in to delete an event"
|
||||
msgstr "Du må vera innlogga for å sletta ei hending"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:211
|
||||
msgid "You need to be logged-in to delete posts"
|
||||
msgstr "Du må vera innlogga for å sletta innlegg"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:191
|
||||
msgid "You need to be logged-in to delete resources"
|
||||
msgstr "Du må vera innlogga for å sletta ressursar"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:104
|
||||
msgid "You need to be logged-in to join an event"
|
||||
msgstr "Du må vera innlogga for å bli med på ei hending"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:203
|
||||
msgid "You need to be logged-in to leave an event"
|
||||
msgstr "Du må vera innlogga for å melda deg av ei hending"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:295
|
||||
msgid "You need to be logged-in to update an event"
|
||||
msgstr "Du må vera innlogga for å oppdatera hendingar"
|
||||
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:178
|
||||
msgid "You need to be logged-in to update posts"
|
||||
msgstr "Du må vera innlogga for å oppdatera innlegg"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
msgid "You need to be logged-in to update resources"
|
||||
msgstr "Du må vera innlogga for å oppdatera ressursar"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:218
|
||||
msgid "You need to be logged-in to view a resource preview"
|
||||
msgstr "Du må vera innlogga for å førehandsvisa ressursar"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:125
|
||||
msgid "Parent resource doesn't belong to this group"
|
||||
msgstr "Opphavsressursen høyrer ikkje til denne gruppa"
|
||||
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:109
|
||||
msgid "The chosen password is too short."
|
||||
msgstr "Dette passordet er for kort."
|
||||
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:138
|
||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||
msgstr ""
|
||||
"Registreringsteiknet er allereie i bruk, dette ser ut som ein feil frå vår "
|
||||
"side."
|
||||
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:104
|
||||
msgid "This email is already used."
|
||||
msgstr "Denne eposten er allereie i bruk."
|
||||
|
||||
#: lib/graphql/error.ex:88
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:88
|
||||
msgid "Post not found"
|
||||
msgstr "Fann ikkje innlegget"
|
||||
|
||||
#: lib/graphql/error.ex:75
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:75
|
||||
msgid "Invalid arguments passed"
|
||||
msgstr "Ugyldige argument"
|
||||
|
||||
#: lib/graphql/error.ex:81
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:81
|
||||
msgid "Invalid credentials"
|
||||
msgstr "Ugyldig innlogging"
|
||||
|
||||
#: lib/graphql/error.ex:79
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:79
|
||||
msgid "Reset your password to login"
|
||||
msgstr "Nullstill passordet for å logga inn"
|
||||
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:86 lib/graphql/error.ex:91
|
||||
msgid "Resource not found"
|
||||
msgstr "Fann ikkje ressursen"
|
||||
|
||||
#: lib/graphql/error.ex:93
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:93
|
||||
msgid "Something went wrong"
|
||||
msgstr "Noko gjekk gale"
|
||||
|
||||
#: lib/graphql/error.ex:74
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:74
|
||||
msgid "Unknown Resource"
|
||||
msgstr "Ukjend ressurs"
|
||||
|
||||
#: lib/graphql/error.ex:84
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:84
|
||||
msgid "You don't have permission to do this"
|
||||
msgstr "Du har ikkje løyve til å gjera detet"
|
||||
|
||||
#: lib/graphql/error.ex:76
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:76
|
||||
msgid "You need to be logged in"
|
||||
msgstr "Du må vera innlogga"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:114
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "Du kan ikkje ta imot invitasjonar med denne profilen."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:134
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:132
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr "Du kan ikkje avslå invitasjonen med denne profilen."
|
||||
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/media.ex:62
|
||||
msgid "File doesn't have an allowed MIME type."
|
||||
msgstr "Fila har ingen tillaten MIME-type."
|
||||
|
||||
#: lib/graphql/resolvers/group.ex:167
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:175
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr "Profilen er ikkje administrator for gruppa"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:284
|
||||
msgid "You can't edit this event."
|
||||
msgstr "Du kan ikkje endra denne hendinga."
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:287
|
||||
msgid "You can't attribute this event to this profile."
|
||||
msgstr "Du kan ikkje kopla denne hendinga til denne profilen."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:135
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "Invitasjonen finst ikkje."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:179
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:177
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Denne medlemen har allereie fått avslag."
|
||||
|
||||
#: 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."
|
||||
msgstr "Du har ikkje løyve til å fjerna denne medlemen."
|
||||
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/actors/actor.ex:351
|
||||
msgid "This username is already taken."
|
||||
msgstr "Dette brukarnamnet er oppteke."
|
||||
|
||||
#: 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"
|
||||
msgstr ""
|
||||
"Du må gje anten ein ID eller ei stuttadresse for å få tilgang til ordskiftet"
|
||||
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:245
|
||||
msgid "Organizer profile is not owned by the user"
|
||||
msgstr "Brukaren eig ikkje arrangørprofilen"
|
||||
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:89
|
||||
msgid "Profile ID provided is not the anonymous profile one"
|
||||
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
|
||||
#: 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"
|
||||
msgstr "Dette biletet er for stort"
|
||||
|
||||
#: lib/web/views/utils.ex:33
|
||||
#, elixir-format
|
||||
#: lib/web/views/utils.ex:33
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr "Fann ikkje indeksfila. Du må kompilera framsida på nytt."
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:122
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Greidde ikkje laga ressursen"
|
||||
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:390
|
||||
msgid "Invalid activation token"
|
||||
msgstr "Ugyldig aktiveringslykjel"
|
||||
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:208
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
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
Loading…
Reference in New Issue
Block a user