forked from potsda.mn/mobilizon
Merge branch 'feature/notifications' into 'master'
Send email notifications when a participation is approved/rejected Closes #164 See merge request framasoft/mobilizon!206
This commit is contained in:
commit
fd123f56f2
|
@ -14,7 +14,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="card-footer">
|
<footer class="card-footer">
|
||||||
<b-button v-if="participant.role === ParticipantRole.NOT_APPROVED" @click="accept(participant)" type="is-success" class="card-footer-item">{{ $t('Approve') }}</b-button>
|
<b-button v-if="[ParticipantRole.NOT_APPROVED, ParticipantRole.REJECTED].includes(participant.role)" @click="accept(participant)" type="is-success" class="card-footer-item">{{ $t('Approve') }}</b-button>
|
||||||
<b-button v-if="participant.role === ParticipantRole.NOT_APPROVED" @click="reject(participant)" type="is-danger" class="card-footer-item">{{ $t('Reject')}} </b-button>
|
<b-button v-if="participant.role === ParticipantRole.NOT_APPROVED" @click="reject(participant)" type="is-danger" class="card-footer-item">{{ $t('Reject')}} </b-button>
|
||||||
<b-button v-if="participant.role === ParticipantRole.PARTICIPANT" @click="exclude(participant)" type="is-danger" class="card-footer-item">{{ $t('Exclude')}} </b-button>
|
<b-button v-if="participant.role === ParticipantRole.PARTICIPANT" @click="exclude(participant)" type="is-danger" class="card-footer-item">{{ $t('Exclude')}} </b-button>
|
||||||
<span v-if="participant.role === ParticipantRole.CREATOR" class="card-footer-item">{{ $t('Creator')}} </span>
|
<span v-if="participant.role === ParticipantRole.CREATOR" class="card-footer-item">{{ $t('Creator')}} </span>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<div class="participation-button">
|
<div class="participation-button">
|
||||||
<b-dropdown aria-role="list" position="is-bottom-left" v-if="participation && participation.role === ParticipantRole.PARTICIPANT">
|
<b-dropdown aria-role="list" position="is-bottom-left" v-if="participation && participation.role === ParticipantRole.PARTICIPANT">
|
||||||
<button class="button is-success" type="button" slot="trigger">
|
<button class="button is-success" type="button" slot="trigger">
|
||||||
|
<b-icon icon="check"></b-icon>
|
||||||
<template>
|
<template>
|
||||||
<span>{{ $t('I participate') }}</span>
|
<span>{{ $t('I participate') }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -12,7 +13,7 @@
|
||||||
<!-- {{ $t('Change my identity…')}}-->
|
<!-- {{ $t('Change my identity…')}}-->
|
||||||
<!-- </b-dropdown-item>-->
|
<!-- </b-dropdown-item>-->
|
||||||
|
|
||||||
<b-dropdown-item :value="false" aria-role="listitem" @click="confirmLeave">
|
<b-dropdown-item :value="false" aria-role="listitem" @click="confirmLeave" class="has-text-danger">
|
||||||
{{ $t('Cancel my participation…')}}
|
{{ $t('Cancel my participation…')}}
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
</b-dropdown>
|
</b-dropdown>
|
||||||
|
@ -20,6 +21,7 @@
|
||||||
<div v-else-if="participation && participation.role === ParticipantRole.NOT_APPROVED">
|
<div v-else-if="participation && participation.role === ParticipantRole.NOT_APPROVED">
|
||||||
<b-dropdown aria-role="list" position="is-bottom-left" class="dropdown-disabled">
|
<b-dropdown aria-role="list" position="is-bottom-left" class="dropdown-disabled">
|
||||||
<button class="button is-success" type="button" slot="trigger">
|
<button class="button is-success" type="button" slot="trigger">
|
||||||
|
<b-icon icon="timer-sand-empty"></b-icon>
|
||||||
<template>
|
<template>
|
||||||
<span>{{ $t('I participate') }}</span>
|
<span>{{ $t('I participate') }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -30,7 +32,7 @@
|
||||||
<!-- {{ $t('Change my identity…')}}-->
|
<!-- {{ $t('Change my identity…')}}-->
|
||||||
<!-- </b-dropdown-item>-->
|
<!-- </b-dropdown-item>-->
|
||||||
|
|
||||||
<b-dropdown-item :value="false" aria-role="listitem" @click="confirmLeave">
|
<b-dropdown-item :value="false" aria-role="listitem" @click="confirmLeave" class="has-text-danger">
|
||||||
{{ $t('Cancel my participation request…')}}
|
{{ $t('Cancel my participation request…')}}
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
</b-dropdown>
|
</b-dropdown>
|
||||||
|
@ -38,6 +40,10 @@
|
||||||
<small>{{ $t('Waiting for organization team approval.')}}</small>
|
<small>{{ $t('Waiting for organization team approval.')}}</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div v-else-if="participation && participation.role === ParticipantRole.REJECTED">
|
||||||
|
<span>{{ $t('Unfortunately, your participation request was rejected by the organizers.')}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<b-dropdown aria-role="list" position="is-bottom-left" v-if="!participation">
|
<b-dropdown aria-role="list" position="is-bottom-left" v-if="!participation">
|
||||||
<button class="button is-primary" type="button" slot="trigger">
|
<button class="button is-primary" type="button" slot="trigger">
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -334,23 +334,15 @@ export const LEAVE_EVENT = gql`
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const ACCEPT_PARTICIPANT = gql`
|
export const UPDATE_PARTICIPANT = gql`
|
||||||
mutation AcceptParticipant($id: ID!, $moderatorActorId: ID!) {
|
mutation AcceptParticipant($id: ID!, $moderatorActorId: ID!, $role: ParticipantRoleEnum!) {
|
||||||
acceptParticipation(id: $id, moderatorActorId: $moderatorActorId) {
|
updateParticipation(id: $id, moderatorActorId: $moderatorActorId, role: $role) {
|
||||||
role,
|
role,
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const REJECT_PARTICIPANT = gql`
|
|
||||||
mutation RejectParticipant($id: ID!, $moderatorActorId: ID!) {
|
|
||||||
rejectParticipation(id: $id, moderatorActorId: $moderatorActorId) {
|
|
||||||
id
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
export const DELETE_EVENT = gql`
|
export const DELETE_EVENT = gql`
|
||||||
mutation DeleteEvent($eventId: ID!, $actorId: ID!) {
|
mutation DeleteEvent($eventId: ID!, $actorId: ID!) {
|
||||||
deleteEvent(
|
deleteEvent(
|
||||||
|
@ -371,7 +363,8 @@ export const PARTICIPANTS = gql`
|
||||||
},
|
},
|
||||||
participantStats {
|
participantStats {
|
||||||
approved,
|
approved,
|
||||||
unapproved
|
unapproved,
|
||||||
|
rejected
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -253,5 +253,9 @@
|
||||||
"{approved} / {total} seats": "{approved} / {total} seats",
|
"{approved} / {total} seats": "{approved} / {total} seats",
|
||||||
"{count} participants": "{count} participants",
|
"{count} participants": "{count} participants",
|
||||||
"{count} requests waiting": "{count} requests waiting",
|
"{count} requests waiting": "{count} requests waiting",
|
||||||
"© The Mobilizon Contributors {date} - Made with Elixir, Phoenix, VueJS & with some love and some weeks": "© The Mobilizon Contributors {date} - Made with Elixir, Phoenix, VueJS & with some love and some weeks"
|
"© The Mobilizon Contributors {date} - Made with Elixir, Phoenix, VueJS & with some love and some weeks": "© The Mobilizon Contributors {date} - Made with Elixir, Phoenix, VueJS & with some love and some weeks",
|
||||||
|
"Requests": "Requests",
|
||||||
|
"Rejected": "Rejected",
|
||||||
|
"Rejected participations": "Rejected participations",
|
||||||
|
"Unfortunately, your participation request was rejected by the organizers.": "Unfortunately, your participation request was rejected by the organizers."
|
||||||
}
|
}
|
|
@ -253,5 +253,9 @@
|
||||||
"{approved} / {total} seats": "{approved} / {total} places",
|
"{approved} / {total} seats": "{approved} / {total} places",
|
||||||
"{count} participants": "Un⋅e participant⋅e|{count} participant⋅e⋅s",
|
"{count} participants": "Un⋅e participant⋅e|{count} participant⋅e⋅s",
|
||||||
"{count} requests waiting": "Un⋅e demande en attente|{count} demandes en attente",
|
"{count} requests waiting": "Un⋅e demande en attente|{count} demandes en attente",
|
||||||
"© The Mobilizon Contributors {date} - Made with Elixir, Phoenix, VueJS & with some love and some weeks": "© Les contributeurs de Mobilizon {date} - Fait avec Elixir, Phoenix, VueJS & et de l'amour et des semaines"
|
"© The Mobilizon Contributors {date} - Made with Elixir, Phoenix, VueJS & with some love and some weeks": "© Les contributeurs de Mobilizon {date} - Fait avec Elixir, Phoenix, VueJS & et de l'amour et des semaines",
|
||||||
|
"Requests": "Requêtes",
|
||||||
|
"Rejected": "Rejetés",
|
||||||
|
"Rejected participations": "Participations rejetées",
|
||||||
|
"Unfortunately, your participation request was rejected by the organizers.": "Malheureusement, votre demande de participation a été refusée par les organisateur⋅ices."
|
||||||
}
|
}
|
|
@ -30,6 +30,7 @@ export enum EventVisibilityJoinOptions {
|
||||||
|
|
||||||
export enum ParticipantRole {
|
export enum ParticipantRole {
|
||||||
NOT_APPROVED = 'NOT_APPROVED',
|
NOT_APPROVED = 'NOT_APPROVED',
|
||||||
|
REJECTED = 'REJECTED',
|
||||||
PARTICIPANT = 'PARTICIPANT',
|
PARTICIPANT = 'PARTICIPANT',
|
||||||
MODERATOR = 'MODERATOR',
|
MODERATOR = 'MODERATOR',
|
||||||
ADMINISTRATOR = 'ADMINISTRATOR',
|
ADMINISTRATOR = 'ADMINISTRATOR',
|
||||||
|
@ -112,6 +113,7 @@ export interface IEvent {
|
||||||
participantStats: {
|
participantStats: {
|
||||||
approved: number;
|
approved: number;
|
||||||
unapproved: number;
|
unapproved: number;
|
||||||
|
rejected: number;
|
||||||
};
|
};
|
||||||
participants: IParticipant[];
|
participants: IParticipant[];
|
||||||
|
|
||||||
|
@ -175,7 +177,7 @@ export class EventModel implements IEvent {
|
||||||
|
|
||||||
publishAt = new Date();
|
publishAt = new Date();
|
||||||
|
|
||||||
participantStats = { approved: 0, unapproved: 0 };
|
participantStats = { approved: 0, unapproved: 0, rejected: 0 };
|
||||||
participants: IParticipant[] = [];
|
participants: IParticipant[] = [];
|
||||||
|
|
||||||
relatedEvents: IEvent[] = [];
|
relatedEvents: IEvent[] = [];
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<b-tab-item>
|
<b-tab-item>
|
||||||
<template slot="header">
|
<template slot="header">
|
||||||
<b-icon icon="information-outline"></b-icon>
|
<b-icon icon="information-outline"></b-icon>
|
||||||
<span> Participants <b-tag rounded> {{ participantStats.approved }} </b-tag> </span>
|
<span>{{ $t('Participants')}} <b-tag rounded> {{ participantStats.approved }} </b-tag> </span>
|
||||||
</template>
|
</template>
|
||||||
<section v-if="participantsAndCreators.length > 0">
|
<section v-if="participantsAndCreators.length > 0">
|
||||||
<h2 class="title">{{ $t('Participants') }}</h2>
|
<h2 class="title">{{ $t('Participants') }}</h2>
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
<b-tab-item>
|
<b-tab-item>
|
||||||
<template slot="header">
|
<template slot="header">
|
||||||
<b-icon icon="source-pull"></b-icon>
|
<b-icon icon="source-pull"></b-icon>
|
||||||
<span> Demandes <b-tag rounded> {{ participantStats.unapproved }} </b-tag> </span>
|
<span>{{ $t('Requests') }} <b-tag rounded> {{ participantStats.unapproved }} </b-tag> </span>
|
||||||
</template>
|
</template>
|
||||||
<section v-if="queue.length > 0">
|
<section v-if="queue.length > 0">
|
||||||
<h2 class="title">{{ $t('Waiting list') }}</h2>
|
<h2 class="title">{{ $t('Waiting list') }}</h2>
|
||||||
|
@ -39,6 +39,25 @@
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</b-tab-item>
|
</b-tab-item>
|
||||||
|
<b-tab-item>
|
||||||
|
<template slot="header">
|
||||||
|
<b-icon icon="source-pull"></b-icon>
|
||||||
|
<span>{{ $t('Rejected')}} <b-tag rounded> {{ participantStats.rejected }} </b-tag> </span>
|
||||||
|
</template>
|
||||||
|
<section v-if="rejected.length > 0">
|
||||||
|
<h2 class="title">{{ $t('Rejected participations') }}</h2>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column is-one-quarter-desktop" v-for="participant in rejected" :key="participant.actor.id">
|
||||||
|
<participant-card
|
||||||
|
:participant="participant"
|
||||||
|
:accept="acceptParticipant"
|
||||||
|
:reject="refuseParticipant"
|
||||||
|
:exclude="refuseParticipant"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</b-tab-item>
|
||||||
</b-tabs>
|
</b-tabs>
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
|
@ -46,7 +65,7 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Prop, Vue } from 'vue-property-decorator';
|
import { Component, Prop, Vue } from 'vue-property-decorator';
|
||||||
import { IEvent, IParticipant, Participant, ParticipantRole } from '@/types/event.model';
|
import { IEvent, IParticipant, Participant, ParticipantRole } from '@/types/event.model';
|
||||||
import { ACCEPT_PARTICIPANT, PARTICIPANTS, REJECT_PARTICIPANT } from '@/graphql/event';
|
import { UPDATE_PARTICIPANT, PARTICIPANTS } from '@/graphql/event';
|
||||||
import ParticipantCard from '@/components/Account/ParticipantCard.vue';
|
import ParticipantCard from '@/components/Account/ParticipantCard.vue';
|
||||||
import { CURRENT_ACTOR_CLIENT } from '@/graphql/actor';
|
import { CURRENT_ACTOR_CLIENT } from '@/graphql/actor';
|
||||||
import { IPerson } from '@/types/actor';
|
import { IPerson } from '@/types/actor';
|
||||||
|
@ -98,6 +117,19 @@ import { IPerson } from '@/types/actor';
|
||||||
},
|
},
|
||||||
update: data => data.event.participants.map(participation => new Participant(participation)),
|
update: data => data.event.participants.map(participation => new Participant(participation)),
|
||||||
},
|
},
|
||||||
|
rejected: {
|
||||||
|
query: PARTICIPANTS,
|
||||||
|
variables() {
|
||||||
|
return {
|
||||||
|
uuid: this.eventId,
|
||||||
|
page: 1,
|
||||||
|
limit: 20,
|
||||||
|
roles: [ParticipantRole.REJECTED].join(),
|
||||||
|
actorId: this.currentActor.id,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
update: data => data.event.participants.map(participation => new Participant(participation)),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
export default class Participants extends Vue {
|
export default class Participants extends Vue {
|
||||||
|
@ -108,6 +140,7 @@ export default class Participants extends Vue {
|
||||||
// participants: IParticipant[] = [];
|
// participants: IParticipant[] = [];
|
||||||
organizers: IParticipant[] = [];
|
organizers: IParticipant[] = [];
|
||||||
queue: IParticipant[] = [];
|
queue: IParticipant[] = [];
|
||||||
|
rejected: IParticipant[] = [];
|
||||||
event!: IEvent;
|
event!: IEvent;
|
||||||
|
|
||||||
ParticipantRole = ParticipantRole;
|
ParticipantRole = ParticipantRole;
|
||||||
|
@ -156,15 +189,16 @@ export default class Participants extends Vue {
|
||||||
async acceptParticipant(participant: IParticipant) {
|
async acceptParticipant(participant: IParticipant) {
|
||||||
try {
|
try {
|
||||||
const { data } = await this.$apollo.mutate({
|
const { data } = await this.$apollo.mutate({
|
||||||
mutation: ACCEPT_PARTICIPANT,
|
mutation: UPDATE_PARTICIPANT,
|
||||||
variables: {
|
variables: {
|
||||||
id: participant.id,
|
id: participant.id,
|
||||||
moderatorActorId: this.currentActor.id,
|
moderatorActorId: this.currentActor.id,
|
||||||
|
role: ParticipantRole.PARTICIPANT,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (data) {
|
if (data) {
|
||||||
console.log('accept', data);
|
this.queue.filter(participant => participant !== data.updateParticipation.id);
|
||||||
this.queue.filter(participant => participant !== data.acceptParticipation.id);
|
this.rejected.filter(participant => participant !== data.updateParticipation.id);
|
||||||
this.participants.push(participant);
|
this.participants.push(participant);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -175,15 +209,17 @@ export default class Participants extends Vue {
|
||||||
async refuseParticipant(participant: IParticipant) {
|
async refuseParticipant(participant: IParticipant) {
|
||||||
try {
|
try {
|
||||||
const { data } = await this.$apollo.mutate({
|
const { data } = await this.$apollo.mutate({
|
||||||
mutation: REJECT_PARTICIPANT,
|
mutation: UPDATE_PARTICIPANT,
|
||||||
variables: {
|
variables: {
|
||||||
id: participant.id,
|
id: participant.id,
|
||||||
moderatorActorId: this.currentActor.id,
|
moderatorActorId: this.currentActor.id,
|
||||||
|
role: ParticipantRole.REJECTED,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (data) {
|
if (data) {
|
||||||
this.participants.filter(participant => participant !== data.rejectParticipation.id);
|
this.participants.filter(participant => participant !== data.updateParticipation.id);
|
||||||
this.queue.filter(participant => participant !== data.rejectParticipation.id);
|
this.queue.filter(participant => participant !== data.updateParticipation.id);
|
||||||
|
this.rejected.push(participant);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
|
|
@ -70,6 +70,7 @@ defmodule Mobilizon.Events do
|
||||||
|
|
||||||
defenum(ParticipantRole, :participant_role, [
|
defenum(ParticipantRole, :participant_role, [
|
||||||
:not_approved,
|
:not_approved,
|
||||||
|
:rejected,
|
||||||
:participant,
|
:participant,
|
||||||
:moderator,
|
:moderator,
|
||||||
:administrator,
|
:administrator,
|
||||||
|
@ -718,6 +719,17 @@ defmodule Mobilizon.Events do
|
||||||
|> Repo.aggregate(:count, :id)
|
|> Repo.aggregate(:count, :id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Counts rejected participants.
|
||||||
|
"""
|
||||||
|
@spec count_rejected_participants(integer | String.t()) :: integer
|
||||||
|
def count_rejected_participants(event_id) do
|
||||||
|
event_id
|
||||||
|
|> count_participants_query()
|
||||||
|
|> filter_rejected_role()
|
||||||
|
|> Repo.aggregate(:count, :id)
|
||||||
|
end
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Gets the default participant role depending on the event join options.
|
Gets the default participant role depending on the event join options.
|
||||||
"""
|
"""
|
||||||
|
@ -1361,7 +1373,7 @@ defmodule Mobilizon.Events do
|
||||||
|
|
||||||
@spec filter_approved_role(Ecto.Query.t()) :: Ecto.Query.t()
|
@spec filter_approved_role(Ecto.Query.t()) :: Ecto.Query.t()
|
||||||
defp filter_approved_role(query) do
|
defp filter_approved_role(query) do
|
||||||
from(p in query, where: p.role != ^:not_approved)
|
from(p in query, where: p.role not in ^[:not_approved, :rejected])
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec filter_unapproved_role(Ecto.Query.t()) :: Ecto.Query.t()
|
@spec filter_unapproved_role(Ecto.Query.t()) :: Ecto.Query.t()
|
||||||
|
@ -1369,6 +1381,11 @@ defmodule Mobilizon.Events do
|
||||||
from(p in query, where: p.role == ^:not_approved)
|
from(p in query, where: p.role == ^:not_approved)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@spec filter_rejected_role(Ecto.Query.t()) :: Ecto.Query.t()
|
||||||
|
defp filter_rejected_role(query) do
|
||||||
|
from(p in query, where: p.role == ^:rejected)
|
||||||
|
end
|
||||||
|
|
||||||
@spec filter_role(Ecto.Query.t(), list(atom())) :: Ecto.Query.t()
|
@spec filter_role(Ecto.Query.t(), list(atom())) :: Ecto.Query.t()
|
||||||
defp filter_role(query, []), do: query
|
defp filter_role(query, []), do: query
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ defmodule MobilizonWeb.API.Participations do
|
||||||
alias Mobilizon.Events
|
alias Mobilizon.Events
|
||||||
alias Mobilizon.Events.{Event, Participant}
|
alias Mobilizon.Events.{Event, Participant}
|
||||||
alias Mobilizon.Service.ActivityPub
|
alias Mobilizon.Service.ActivityPub
|
||||||
|
alias MobilizonWeb.Email.Participation
|
||||||
|
|
||||||
@spec join(Event.t(), Actor.t()) :: {:ok, Participant.t()}
|
@spec join(Event.t(), Actor.t()) :: {:ok, Participant.t()}
|
||||||
def join(%Event{id: event_id} = event, %Actor{id: actor_id} = actor) do
|
def join(%Event{id: event_id} = event, %Actor{id: actor_id} = actor) do
|
||||||
|
@ -22,10 +23,19 @@ defmodule MobilizonWeb.API.Participations do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def accept(
|
@doc """
|
||||||
%Participant{} = participation,
|
Update participation status
|
||||||
%Actor{} = moderator
|
"""
|
||||||
) do
|
def update(%Participant{} = participation, %Actor{} = moderator, :participant),
|
||||||
|
do: accept(participation, moderator)
|
||||||
|
|
||||||
|
def update(%Participant{} = participation, %Actor{} = moderator, :rejected),
|
||||||
|
do: reject(participation, moderator)
|
||||||
|
|
||||||
|
defp accept(
|
||||||
|
%Participant{} = participation,
|
||||||
|
%Actor{} = moderator
|
||||||
|
) do
|
||||||
with {:ok, activity, _} <-
|
with {:ok, activity, _} <-
|
||||||
ActivityPub.accept(
|
ActivityPub.accept(
|
||||||
%{
|
%{
|
||||||
|
@ -36,15 +46,16 @@ defmodule MobilizonWeb.API.Participations do
|
||||||
"#{MobilizonWeb.Endpoint.url()}/accept/join/#{participation.id}"
|
"#{MobilizonWeb.Endpoint.url()}/accept/join/#{participation.id}"
|
||||||
),
|
),
|
||||||
{:ok, %Participant{role: :participant} = participation} <-
|
{:ok, %Participant{role: :participant} = participation} <-
|
||||||
Events.update_participant(participation, %{"role" => :participant}) do
|
Events.update_participant(participation, %{"role" => :participant}),
|
||||||
|
:ok <- Participation.send_emails_to_local_user(participation) do
|
||||||
{:ok, activity, participation}
|
{:ok, activity, participation}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def reject(
|
defp reject(
|
||||||
%Participant{} = participation,
|
%Participant{} = participation,
|
||||||
%Actor{} = moderator
|
%Actor{} = moderator
|
||||||
) do
|
) do
|
||||||
with {:ok, activity, _} <-
|
with {:ok, activity, _} <-
|
||||||
ActivityPub.reject(
|
ActivityPub.reject(
|
||||||
%{
|
%{
|
||||||
|
@ -54,8 +65,9 @@ defmodule MobilizonWeb.API.Participations do
|
||||||
},
|
},
|
||||||
"#{MobilizonWeb.Endpoint.url()}/reject/join/#{participation.id}"
|
"#{MobilizonWeb.Endpoint.url()}/reject/join/#{participation.id}"
|
||||||
),
|
),
|
||||||
{:ok, %Participant{} = participation} <-
|
{:ok, %Participant{role: :rejected} = participation} <-
|
||||||
Events.delete_participant(participation) do
|
Events.update_participant(participation, %{"role" => :rejected}),
|
||||||
|
:ok <- Participation.send_emails_to_local_user(participation) do
|
||||||
{:ok, activity, participation}
|
{:ok, activity, participation}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
84
lib/mobilizon_web/email/participation.ex
Normal file
84
lib/mobilizon_web/email/participation.ex
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
defmodule MobilizonWeb.Email.Participation do
|
||||||
|
@moduledoc """
|
||||||
|
Handles emails sent about participation.
|
||||||
|
"""
|
||||||
|
|
||||||
|
use Bamboo.Phoenix, view: MobilizonWeb.EmailView
|
||||||
|
|
||||||
|
import Bamboo.Phoenix
|
||||||
|
|
||||||
|
import MobilizonWeb.Gettext
|
||||||
|
|
||||||
|
alias Mobilizon.Users.User
|
||||||
|
alias Mobilizon.Actors.Actor
|
||||||
|
alias Mobilizon.Events.Participant
|
||||||
|
|
||||||
|
alias MobilizonWeb.Email
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Send emails to local user
|
||||||
|
"""
|
||||||
|
def send_emails_to_local_user(
|
||||||
|
%Participant{actor: %Actor{user_id: nil} = _actor} = _participation
|
||||||
|
),
|
||||||
|
do: :ok
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Send emails to local user
|
||||||
|
"""
|
||||||
|
def send_emails_to_local_user(
|
||||||
|
%Participant{actor: %Actor{user_id: user_id} = _actor} = participation
|
||||||
|
) do
|
||||||
|
with %User{} = user <- Mobilizon.Users.get_user!(user_id) do
|
||||||
|
user
|
||||||
|
|> participation_updated(participation)
|
||||||
|
|> Email.Mailer.deliver_later()
|
||||||
|
|
||||||
|
:ok
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@spec participation_updated(User.t(), Participant.t(), String.t()) :: Bamboo.Email.t()
|
||||||
|
def participation_updated(user, participant, locale \\ "en")
|
||||||
|
|
||||||
|
def participation_updated(
|
||||||
|
%User{email: email},
|
||||||
|
%Participant{event: event, role: :rejected},
|
||||||
|
locale
|
||||||
|
) do
|
||||||
|
Gettext.put_locale(locale)
|
||||||
|
|
||||||
|
subject =
|
||||||
|
gettext(
|
||||||
|
"Your participation to event %{title} has been rejected",
|
||||||
|
title: event.title
|
||||||
|
)
|
||||||
|
|
||||||
|
Email.base_email(to: email, subject: subject)
|
||||||
|
|> assign(:locale, locale)
|
||||||
|
|> assign(:event, event)
|
||||||
|
|> assign(:subject, subject)
|
||||||
|
|> render(:event_participation_rejected)
|
||||||
|
end
|
||||||
|
|
||||||
|
@spec participation_updated(User.t(), Participant.t(), String.t()) :: Bamboo.Email.t()
|
||||||
|
def participation_updated(
|
||||||
|
%User{email: email},
|
||||||
|
%Participant{event: event, role: :participant},
|
||||||
|
locale
|
||||||
|
) do
|
||||||
|
Gettext.put_locale(locale)
|
||||||
|
|
||||||
|
subject =
|
||||||
|
gettext(
|
||||||
|
"Your participation to event %{title} has been approved",
|
||||||
|
title: event.title
|
||||||
|
)
|
||||||
|
|
||||||
|
Email.base_email(to: email, subject: subject)
|
||||||
|
|> assign(:locale, locale)
|
||||||
|
|> assign(:event, event)
|
||||||
|
|> assign(:subject, subject)
|
||||||
|
|> render(:event_participation_approved)
|
||||||
|
end
|
||||||
|
end
|
|
@ -83,7 +83,8 @@ defmodule MobilizonWeb.Resolvers.Event do
|
||||||
{:ok,
|
{:ok,
|
||||||
%{
|
%{
|
||||||
approved: Mobilizon.Events.count_approved_participants(id),
|
approved: Mobilizon.Events.count_approved_participants(id),
|
||||||
unapproved: Mobilizon.Events.count_unapproved_participants(id)
|
unapproved: Mobilizon.Events.count_unapproved_participants(id),
|
||||||
|
rejected: Mobilizon.Events.count_rejected_participants(id)
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -202,9 +203,9 @@ defmodule MobilizonWeb.Resolvers.Event do
|
||||||
{:error, "You need to be logged-in to leave an event"}
|
{:error, "You need to be logged-in to leave an event"}
|
||||||
end
|
end
|
||||||
|
|
||||||
def accept_participation(
|
def update_participation(
|
||||||
_parent,
|
_parent,
|
||||||
%{id: participation_id, moderator_actor_id: moderator_actor_id},
|
%{id: participation_id, moderator_actor_id: moderator_actor_id, role: new_role},
|
||||||
%{
|
%{
|
||||||
context: %{
|
context: %{
|
||||||
current_user: user
|
current_user: user
|
||||||
|
@ -214,14 +215,15 @@ defmodule MobilizonWeb.Resolvers.Event do
|
||||||
# Check that moderator provided is rightly authenticated
|
# Check that moderator provided is rightly authenticated
|
||||||
with {:is_owned, moderator_actor} <- User.owns_actor(user, moderator_actor_id),
|
with {:is_owned, moderator_actor} <- User.owns_actor(user, moderator_actor_id),
|
||||||
# Check that participation already exists
|
# Check that participation already exists
|
||||||
{:has_participation, %Participant{role: :not_approved} = participation} <-
|
{:has_participation, %Participant{role: old_role} = participation} <-
|
||||||
{:has_participation, Mobilizon.Events.get_participant(participation_id)},
|
{:has_participation, Mobilizon.Events.get_participant(participation_id)},
|
||||||
|
{:same_role, false} <- {:same_role, new_role == old_role},
|
||||||
# Check that moderator has right
|
# Check that moderator has right
|
||||||
{:actor_approve_permission, true} <-
|
{:actor_approve_permission, true} <-
|
||||||
{:actor_approve_permission,
|
{:actor_approve_permission,
|
||||||
Mobilizon.Events.moderator_for_event?(participation.event.id, moderator_actor_id)},
|
Mobilizon.Events.moderator_for_event?(participation.event.id, moderator_actor_id)},
|
||||||
{:ok, _activity, participation} <-
|
{:ok, _activity, participation} <-
|
||||||
MobilizonWeb.API.Participations.accept(participation, moderator_actor) do
|
MobilizonWeb.API.Participations.update(participation, moderator_actor, new_role) do
|
||||||
{:ok, participation}
|
{:ok, participation}
|
||||||
else
|
else
|
||||||
{:is_owned, nil} ->
|
{:is_owned, nil} ->
|
||||||
|
@ -234,55 +236,14 @@ defmodule MobilizonWeb.Resolvers.Event do
|
||||||
{:actor_approve_permission, _} ->
|
{:actor_approve_permission, _} ->
|
||||||
{:error, "Provided moderator actor ID doesn't have permission on this event"}
|
{:error, "Provided moderator actor ID doesn't have permission on this event"}
|
||||||
|
|
||||||
|
{:same_role, true} ->
|
||||||
|
{:error, "Participant already has role #{new_role}"}
|
||||||
|
|
||||||
{:error, :participant_not_found} ->
|
{:error, :participant_not_found} ->
|
||||||
{:error, "Participant not found"}
|
{:error, "Participant not found"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def reject_participation(
|
|
||||||
_parent,
|
|
||||||
%{id: participation_id, moderator_actor_id: moderator_actor_id},
|
|
||||||
%{
|
|
||||||
context: %{
|
|
||||||
current_user: user
|
|
||||||
}
|
|
||||||
}
|
|
||||||
) do
|
|
||||||
# Check that moderator provided is rightly authenticated
|
|
||||||
with {:is_owned, moderator_actor} <- User.owns_actor(user, moderator_actor_id),
|
|
||||||
# Check that participation really exists
|
|
||||||
{:has_participation, %Participant{} = participation} <-
|
|
||||||
{:has_participation, Mobilizon.Events.get_participant(participation_id)},
|
|
||||||
# Check that moderator has right
|
|
||||||
{:actor_approve_permission, true} <-
|
|
||||||
{:actor_approve_permission,
|
|
||||||
Mobilizon.Events.moderator_for_event?(participation.event.id, moderator_actor_id)},
|
|
||||||
{:ok, _activity, participation} <-
|
|
||||||
MobilizonWeb.API.Participations.reject(participation, moderator_actor) do
|
|
||||||
{
|
|
||||||
:ok,
|
|
||||||
%{
|
|
||||||
id: participation.id,
|
|
||||||
event: %{
|
|
||||||
id: participation.event.id
|
|
||||||
},
|
|
||||||
actor: %{
|
|
||||||
id: participation.actor.id
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{:is_owned, nil} ->
|
|
||||||
{:error, "Moderator Actor ID is not owned by authenticated user"}
|
|
||||||
|
|
||||||
{:actor_approve_permission, _} ->
|
|
||||||
{:error, "Provided moderator actor ID doesn't have permission on this event"}
|
|
||||||
|
|
||||||
{:has_participation, nil} ->
|
|
||||||
{:error, "Participant not found"}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Create an event
|
Create an event
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -111,6 +111,7 @@ defmodule MobilizonWeb.Schema.EventType do
|
||||||
object :participant_stats do
|
object :participant_stats do
|
||||||
field(:approved, :integer, description: "The number of approved participants")
|
field(:approved, :integer, description: "The number of approved participants")
|
||||||
field(:unapproved, :integer, description: "The number of unapproved participants")
|
field(:unapproved, :integer, description: "The number of unapproved participants")
|
||||||
|
field(:rejected, :integer, description: "The number of rejected participants")
|
||||||
end
|
end
|
||||||
|
|
||||||
object :event_offer do
|
object :event_offer do
|
||||||
|
|
|
@ -38,6 +38,7 @@ defmodule MobilizonWeb.Schema.Events.ParticipantType do
|
||||||
value(:moderator)
|
value(:moderator)
|
||||||
value(:administrator)
|
value(:administrator)
|
||||||
value(:creator)
|
value(:creator)
|
||||||
|
value(:rejected)
|
||||||
end
|
end
|
||||||
|
|
||||||
@desc "Represents a deleted participant"
|
@desc "Represents a deleted participant"
|
||||||
|
@ -65,19 +66,12 @@ defmodule MobilizonWeb.Schema.Events.ParticipantType do
|
||||||
end
|
end
|
||||||
|
|
||||||
@desc "Accept a participation"
|
@desc "Accept a participation"
|
||||||
field :accept_participation, :participant do
|
field :update_participation, :participant do
|
||||||
arg(:id, non_null(:id))
|
arg(:id, non_null(:id))
|
||||||
|
arg(:role, non_null(:participant_role_enum))
|
||||||
arg(:moderator_actor_id, non_null(:id))
|
arg(:moderator_actor_id, non_null(:id))
|
||||||
|
|
||||||
resolve(&Resolvers.Event.accept_participation/3)
|
resolve(&Resolvers.Event.update_participation/3)
|
||||||
end
|
|
||||||
|
|
||||||
@desc "Reject a participation"
|
|
||||||
field :reject_participation, :deleted_participant do
|
|
||||||
arg(:id, non_null(:id))
|
|
||||||
arg(:moderator_actor_id, non_null(:id))
|
|
||||||
|
|
||||||
resolve(&Resolvers.Event.reject_participation/3)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
<!-- HERO -->
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#424056" align="center" style="padding: 0px 10px 0px 10px;">
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<table align="center" border="0" cellspacing="0" cellpadding="0" width="600">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top" width="600">
|
||||||
|
<![endif]-->
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px;" >
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="center" valign="top" style="padding: 40px 20px 20px 20px; border-radius: 4px 4px 0px 0px; color: #111111; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 48px; font-weight: 400; letter-spacing: 4px; line-height: 48px;">
|
||||||
|
<h1 style="font-size: 48px; font-weight: 400; margin: 0;">
|
||||||
|
<%= gettext "All good!" %>
|
||||||
|
</h1>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<![endif]-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<!-- COPY BLOCK -->
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#f4f4f4" align="center" style="padding: 0px 10px 0px 10px;">
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<table align="center" border="0" cellspacing="0" cellpadding="0" width="600">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top" width="600">
|
||||||
|
<![endif]-->
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px;" >
|
||||||
|
<!-- COPY -->
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #666666; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||||
|
<p style="margin: 0;">
|
||||||
|
<%= gettext "You requested to participate in event %{title}", title: @event.title %>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 40px 30px; color: #777777; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||||
|
<p style="margin: 0">
|
||||||
|
<%= gettext "An organizer just approved your participation. You're now going to this event!" %>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<!-- BULLETPROOF BUTTON -->
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="left">
|
||||||
|
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="center" style="padding: 20px 30px 60px 30px;">
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center" style="border-radius: 3px;" bgcolor="#424056"><a href="<%= page_url(MobilizonWeb.Endpoint, :event, @event.id) %>" target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #424056; display: inline-block;">
|
||||||
|
<%= gettext "Go to event page" %>
|
||||||
|
</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 40px 30px; color: #777777; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px;" >
|
||||||
|
<p style="margin: 0">
|
||||||
|
<%= gettext "If you need to cancel your participation, just access the event page through link above and click on the participation button." %>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<![endif]-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<%= gettext "Participation approved" %>
|
||||||
|
|
||||||
|
==
|
||||||
|
|
||||||
|
<%= gettext "You requested to participate in event %{title}.", title: @event.title %>
|
||||||
|
|
||||||
|
<%= gettext "An organizer just approved your participation. You're now going to this event!" %>
|
||||||
|
|
||||||
|
<%= page_url(MobilizonWeb.Endpoint, :event, @event.id) %>
|
||||||
|
|
||||||
|
<%= gettext "If you need to cancel your participation, just access the previous link and click on the participation button." %>
|
|
@ -0,0 +1,56 @@
|
||||||
|
<!-- HERO -->
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#424056" align="center" style="padding: 0px 10px 0px 10px;">
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<table align="center" border="0" cellspacing="0" cellpadding="0" width="600">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top" width="600">
|
||||||
|
<![endif]-->
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px;" >
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="center" valign="top" style="padding: 40px 20px 20px 20px; border-radius: 4px 4px 0px 0px; color: #111111; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 48px; font-weight: 400; letter-spacing: 4px; line-height: 48px;">
|
||||||
|
<h1 style="font-size: 48px; font-weight: 400; margin: 0;">
|
||||||
|
<%= gettext "Sorry!" %>
|
||||||
|
</h1>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<![endif]-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<!-- COPY BLOCK -->
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#f4f4f4" align="center" style="padding: 0px 10px 0px 10px;">
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<table align="center" border="0" cellspacing="0" cellpadding="0" width="600">
|
||||||
|
<tr>
|
||||||
|
<td align="center" valign="top" width="600">
|
||||||
|
<![endif]-->
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px;" >
|
||||||
|
<!-- COPY -->
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #666666; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||||
|
<p style="margin: 0;">
|
||||||
|
<%= gettext "You requested to participate in event %{title}", title: @event.title %>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 40px 30px; color: #777777; font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||||
|
<p style="margin: 0">
|
||||||
|
<%= gettext "Unfortunately, the organizers rejected your participation." %>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<![endif]-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<%= gettext "Participation rejected" %>
|
||||||
|
|
||||||
|
==
|
||||||
|
|
||||||
|
<%= gettext "You requested to participate in event %{title}.", title: @event.title %>
|
||||||
|
|
||||||
|
<%= gettext "Unfortunately, the organizers rejected your participation." %>
|
|
@ -8,7 +8,6 @@ defmodule Mobilizon.Service.ActivityPub.Activity do
|
||||||
local: boolean,
|
local: boolean,
|
||||||
actor: Actor.t(),
|
actor: Actor.t(),
|
||||||
recipients: [String.t()]
|
recipients: [String.t()]
|
||||||
# notifications: [???]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defstruct [
|
defstruct [
|
||||||
|
@ -16,6 +15,5 @@ defmodule Mobilizon.Service.ActivityPub.Activity do
|
||||||
:local,
|
:local,
|
||||||
:actor,
|
:actor,
|
||||||
:recipients
|
:recipients
|
||||||
# :notifications
|
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
|
@ -454,7 +454,8 @@ defmodule Mobilizon.Service.ActivityPub do
|
||||||
{:only_organizer, Participant.is_not_only_organizer(event_id, actor_id)},
|
{:only_organizer, Participant.is_not_only_organizer(event_id, actor_id)},
|
||||||
{:ok, %Participant{} = participant} <-
|
{:ok, %Participant{} = participant} <-
|
||||||
Mobilizon.Events.get_participant(event_id, actor_id),
|
Mobilizon.Events.get_participant(event_id, actor_id),
|
||||||
{:ok, %Participant{} = participant} <- Mobilizon.Events.delete_participant(participant),
|
{:ok, %Participant{} = participant} <-
|
||||||
|
Events.delete_participant(participant),
|
||||||
leave_data <- %{
|
leave_data <- %{
|
||||||
"type" => "Leave",
|
"type" => "Leave",
|
||||||
# If it's an exclusion it should be something else
|
# If it's an exclusion it should be something else
|
||||||
|
|
|
@ -14,6 +14,7 @@ defmodule Mobilizon.Service.ActivityPub.Transmogrifier do
|
||||||
alias Mobilizon.Events.{Comment, Event, Participant}
|
alias Mobilizon.Events.{Comment, Event, Participant}
|
||||||
alias Mobilizon.Service.ActivityPub
|
alias Mobilizon.Service.ActivityPub
|
||||||
alias Mobilizon.Service.ActivityPub.{Converter, Convertible, Utils, Visibility}
|
alias Mobilizon.Service.ActivityPub.{Converter, Convertible, Utils, Visibility}
|
||||||
|
alias MobilizonWeb.Email.Participation
|
||||||
|
|
||||||
require Logger
|
require Logger
|
||||||
|
|
||||||
|
@ -543,10 +544,8 @@ defmodule Mobilizon.Service.ActivityPub.Transmogrifier do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc """
|
# Handle incoming `Accept` activities wrapping a `Join` activity on an event
|
||||||
Handle incoming `Accept` activities wrapping a `Join` activity on an event
|
defp do_handle_incoming_accept_join(join_object, %Actor{} = actor_accepting) do
|
||||||
"""
|
|
||||||
def do_handle_incoming_accept_join(join_object, %Actor{} = actor_accepting) do
|
|
||||||
with {:join_event,
|
with {:join_event,
|
||||||
{:ok,
|
{:ok,
|
||||||
%Participant{role: :not_approved, actor: actor, id: join_id, event: event} =
|
%Participant{role: :not_approved, actor: actor, id: join_id, event: event} =
|
||||||
|
@ -566,7 +565,9 @@ defmodule Mobilizon.Service.ActivityPub.Transmogrifier do
|
||||||
"#{MobilizonWeb.Endpoint.url()}/accept/join/#{join_id}"
|
"#{MobilizonWeb.Endpoint.url()}/accept/join/#{join_id}"
|
||||||
),
|
),
|
||||||
{:ok, %Participant{role: :participant}} <-
|
{:ok, %Participant{role: :participant}} <-
|
||||||
Events.update_participant(participant, %{"role" => :participant}) do
|
Events.update_participant(participant, %{"role" => :participant}),
|
||||||
|
:ok <-
|
||||||
|
Participation.send_emails_to_local_user(participant) do
|
||||||
{:ok, activity, participant}
|
{:ok, activity, participant}
|
||||||
else
|
else
|
||||||
{:join_event, {:ok, %Participant{role: :participant}}} ->
|
{:join_event, {:ok, %Participant{role: :participant}}} ->
|
||||||
|
@ -591,10 +592,8 @@ defmodule Mobilizon.Service.ActivityPub.Transmogrifier do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc """
|
# Handle incoming `Reject` activities wrapping a `Join` activity on an event
|
||||||
Handle incoming `Reject` activities wrapping a `Join` activity on an event
|
defp do_handle_incoming_reject_join(join_object, %Actor{} = actor_accepting) do
|
||||||
"""
|
|
||||||
def do_handle_incoming_reject_join(join_object, %Actor{} = actor_accepting) do
|
|
||||||
with {:join_event,
|
with {:join_event,
|
||||||
{:ok,
|
{:ok,
|
||||||
%Participant{role: :not_approved, actor: actor, id: join_id, event: event} =
|
%Participant{role: :not_approved, actor: actor, id: join_id, event: event} =
|
||||||
|
@ -613,8 +612,9 @@ defmodule Mobilizon.Service.ActivityPub.Transmogrifier do
|
||||||
},
|
},
|
||||||
"#{MobilizonWeb.Endpoint.url()}/reject/join/#{join_id}"
|
"#{MobilizonWeb.Endpoint.url()}/reject/join/#{join_id}"
|
||||||
),
|
),
|
||||||
{:ok, %Participant{}} <-
|
{:ok, %Participant{role: :rejected} = participant} <-
|
||||||
Events.delete_participant(participant) do
|
Events.update_participant(participant, %{"role" => :rejected}),
|
||||||
|
:ok <- Participation.send_emails_to_local_user(participant) do
|
||||||
{:ok, activity, participant}
|
{:ok, activity, participant}
|
||||||
else
|
else
|
||||||
{:join_event, {:ok, %Participant{role: :participant}}} ->
|
{:join_event, {:ok, %Participant{role: :participant}}} ->
|
||||||
|
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
93
priv/gettext/cs/LC_MESSAGES/errors.po
Normal file
93
priv/gettext/cs/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: cs\n"
|
||||||
|
"Plural-Forms: nplurals=3\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
87
priv/gettext/de/LC_MESSAGES/errors.po
Normal file
87
priv/gettext/de/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: de\n"
|
||||||
|
"Plural-Forms: nplurals=2\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -1,20 +1,17 @@
|
||||||
#, elixir-format
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/service/export/feed.ex:161
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -35,17 +32,18 @@ msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -55,7 +53,7 @@ msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -71,7 +69,6 @@ msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -82,6 +79,7 @@ msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -124,3 +122,107 @@ msgstr ""
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -18,135 +18,241 @@ msgstr ""
|
||||||
"X-Generator: Weblate 3.8\n"
|
"X-Generator: Weblate 3.8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr "An email sent by Mobilizon on %{instance}."
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"If you didn't request this, please ignore this email. Your password won't "
|
"If you didn't request this, please ignore this email. Your password won't "
|
||||||
"change until you access the link below and create a new one."
|
"change until you access the link below and create a new one."
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr "Feed for %{email} on Mobilizon"
|
msgstr "Feed for %{email} on Mobilizon"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr "%{instance} is a Mobilizon server."
|
msgstr "%{instance} is a Mobilizon server."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgstr "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr "%{title} by %{creator}"
|
msgstr "%{title} by %{creator}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr "Activate my account"
|
msgstr "Activate my account"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr "Ask the community on Framacolibri"
|
msgstr "Ask the community on Framacolibri"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Comments"
|
msgstr "Comments"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr "Event"
|
msgstr "Event"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr "If you didn't request this, please ignore this email."
|
msgstr "If you didn't request this, please ignore this email."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr "Instructions to reset your password on %{instance}"
|
msgstr "Instructions to reset your password on %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr "Learn more about Mobilizon."
|
msgstr "Learn more about Mobilizon."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr "Nearly here!"
|
msgstr "Nearly here!"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr "Need some help? Something not working properly?"
|
msgstr "Need some help? Something not working properly?"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr "New report on %{instance}"
|
msgstr "New report on %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr "Reason"
|
msgstr "Reason"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Reset Password"
|
msgstr "Reset Password"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Resetting your password is easy. Just press the button below and follow the "
|
"Resetting your password is easy. Just press the button below and follow the "
|
||||||
"instructions. We'll have you up and running in no time."
|
"instructions. We'll have you up and running in no time."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr "Trouble signing in?"
|
msgstr "Trouble signing in?"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr "View the report"
|
msgstr "View the report"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"You created an account on %{host} with this email address. You are one click "
|
"You created an account on %{host} with this email address. You are one click "
|
||||||
"away from activating it."
|
"away from activating it."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr "You requested a new password for your account on %{server}."
|
msgstr "You requested a new password for your account on %{server}."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr "Instructions to confirm your Mobilizon account on %{instance}"
|
msgstr "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr "New report on Mobilizon instance %{instance}"
|
msgstr "New report on Mobilizon instance %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr "Activate my account"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr "Learn more about Mobilizon."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr "New report on %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
"Resetting your password is easy. Just press the button below and follow the "
|
||||||
|
"instructions. We'll have you up and running in no time."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
"You created an account on %{host} with this email address. You are one click "
|
||||||
|
"away from activating it."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr "You requested a new password for your account on %{server}."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
87
priv/gettext/es/LC_MESSAGES/errors.po
Normal file
87
priv/gettext/es/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: es\n"
|
||||||
|
"Plural-Forms: nplurals=2\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -21,105 +21,233 @@ msgstr ""
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 3.8\n"
|
"X-Generator: Weblate 3.8\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr "Un email envoyé par Mobilizon sur %{instance}."
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr "Si vous n'avez pas demandé ceci, vous pouvez ignorer cet email. Votre mot de passe ne changera pas tant que vous n'accédez pas au lien ci-dessous et que vous en définissiez un nouveau."
|
msgstr "Si vous n'avez pas demandé ceci, vous pouvez ignorer cet email. Votre mot de passe ne changera pas tant que vous n'accédez pas au lien ci-dessous et que vous en définissiez un nouveau."
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr "Flux pour %{email} sur Mobilizon"
|
msgstr "Flux pour %{email} sur Mobilizon"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr "%{instance} est une instance Mobilizon."
|
msgstr "%{instance} est une instance Mobilizon."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr "%{reporter_name} (%{reporter_username}) a signalé le contenu suivant."
|
msgstr "%{reporter_name} (%{reporter_username}) a signalé le contenu suivant."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr "%{title} par %{creator}"
|
msgstr "%{title} par %{creator}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr "Activer mon compte"
|
msgstr "Activer mon compte"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr "Demander à la communauté sur Framacolibri"
|
msgstr "Demander à la communauté sur Framacolibri"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Commentaires"
|
msgstr "Commentaires"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr "Événement"
|
msgstr "Événement"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr "Si vous n'avez pas demandé ceci, merci d'ignorer cet email."
|
msgstr "Si vous n'avez pas demandé ceci, merci d'ignorer cet email."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr "Instructions pour réinitialiser votre mot de passe sur %{instance}"
|
msgstr "Instructions pour réinitialiser votre mot de passe sur %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr "En apprendre plus à propos de Mobilizon."
|
msgstr "En apprendre plus à propos de Mobilizon."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr "Vous y êtes presque !"
|
msgstr "Vous y êtes presque !"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr "Besoin d'aide ? Quelque chose ne fonctionne pas correctement ?"
|
msgstr "Besoin d'aide ? Quelque chose ne fonctionne pas correctement ?"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr "Nouveau signalement sur %{instance}"
|
msgstr "Nouveau signalement sur %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr "Raison"
|
msgstr "Raison"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Réinitialiser mon mot de passe"
|
msgstr "Réinitialiser mon mot de passe"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr "Réinitialiser votre mot de passe est facile. Cliquez simplement sur le bouton et suivez les inscriptions. Vous serez opérationnel en un rien de temps."
|
msgstr "Réinitialiser votre mot de passe est facile. Cliquez simplement sur le bouton et suivez les inscriptions. Vous serez opérationnel en un rien de temps."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr "Des problèmes à vous connecter ?"
|
msgstr "Des problèmes à vous connecter ?"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr "Voir le signalement"
|
msgstr "Voir le signalement"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr "Vous avez créé un compte sur %{host} avec cette adresse email. Vous êtes à un clic de l'activer."
|
msgstr "Vous avez créé un compte sur %{host} avec cette adresse email. Vous êtes à un clic de l'activer."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous avez demandé un nouveau mot de passe pour votre compte sur %{server}."
|
"Vous avez demandé un nouveau mot de passe pour votre compte sur %{server}."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr "Instructions pour confirmer votre compte Mobilizon sur %{instance}"
|
msgstr "Instructions pour confirmer votre compte Mobilizon sur %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr "Nouveau signalement sur l'instance Mobilizon %{instance}"
|
msgstr "Nouveau signalement sur l'instance Mobilizon %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr "Activer mon compte"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr "En apprendre plus à propos de Mobilizon."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr "Nouveau signalement sur %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr "Réinitialiser votre mot de passe est facile. Cliquez simplement sur le bouton et suivez les inscriptions. Vous serez opérationnel en un rien de temps."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr "Vous avez créé un compte sur %{host} avec cette adresse email. Vous êtes à un clic de l'activer."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
"Vous avez demandé un nouveau mot de passe pour votre compte sur %{server}."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
87
priv/gettext/it/LC_MESSAGES/errors.po
Normal file
87
priv/gettext/it/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: it\n"
|
||||||
|
"Plural-Forms: nplurals=2\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
81
priv/gettext/ja/LC_MESSAGES/errors.po
Normal file
81
priv/gettext/ja/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: ja\n"
|
||||||
|
"Plural-Forms: nplurals=1\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
87
priv/gettext/nl/LC_MESSAGES/errors.po
Normal file
87
priv/gettext/nl/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: nl\n"
|
||||||
|
"Plural-Forms: nplurals=2\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -14,137 +14,243 @@ msgstr ""
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 3.8\n"
|
"X-Generator: Weblate 3.8\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr "Un corrièl enviat per Mobilizon sus %{instance}."
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"S’avètz pas demandat aquò, podètz ignorar aqueste corrièl. Vòstre senhal "
|
"S’avètz pas demandat aquò, podètz ignorar aqueste corrièl. Vòstre senhal "
|
||||||
"cambiarà pas mentre que cliquetz pas lo ligam çai-jos e ne definiscatz un "
|
"cambiarà pas mentre que cliquetz pas lo ligam çai-jos e ne definiscatz un "
|
||||||
"novèl."
|
"novèl."
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr "Flux per %{email} sus Mobilizon"
|
msgstr "Flux per %{email} sus Mobilizon"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr "%{instance} es una instància Mobilizon."
|
msgstr "%{instance} es una instància Mobilizon."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%{reporter_name} (%{reporter_username}) a senhalat lo contengut seguent."
|
"%{reporter_name} (%{reporter_username}) a senhalat lo contengut seguent."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr "%{title} per %{creator}"
|
msgstr "%{title} per %{creator}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr "Activar mon compte"
|
msgstr "Activar mon compte"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr "Demandar a la comunautat sus Framacolibri"
|
msgstr "Demandar a la comunautat sus Framacolibri"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Comentaris"
|
msgstr "Comentaris"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr "Eveniment"
|
msgstr "Eveniment"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr "S’avètz pas demandat aquò, mercés d’ignorar aqueste messatge."
|
msgstr "S’avètz pas demandat aquò, mercés d’ignorar aqueste messatge."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr "Consignas per reïnincializar vòstre senhal sus %{instance}"
|
msgstr "Consignas per reïnincializar vòstre senhal sus %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr "Ne saber mai tocant Mobilizon."
|
msgstr "Ne saber mai tocant Mobilizon."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr "I sètz gaireben !"
|
msgstr "I sètz gaireben !"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr "Besonh d’ajuda ? Quicòm truca ?"
|
msgstr "Besonh d’ajuda ? Quicòm truca ?"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr "Nòu senhalament sus %{instance}"
|
msgstr "Nòu senhalament sus %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr "Rason"
|
msgstr "Rason"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Reïnicializar mon senhal"
|
msgstr "Reïnicializar mon senhal"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e seguètz "
|
"Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e seguètz "
|
||||||
"las consignas. Seretz prèst d’aquí un momenton."
|
"las consignas. Seretz prèst d’aquí un momenton."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr "De dificultats a vos connectar ?"
|
msgstr "De dificultats a vos connectar ?"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr "Veire lo senhalament"
|
msgstr "Veire lo senhalament"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un "
|
"Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un "
|
||||||
"clic de l’activar."
|
"clic de l’activar."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{server}."
|
msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{server}."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr "Consignas per confirmar vòstre compte Mobilizon sus %{instance}"
|
msgstr "Consignas per confirmar vòstre compte Mobilizon sus %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr "Nòu senhalament sus l’instància Mobilizon %{instance}"
|
msgstr "Nòu senhalament sus l’instància Mobilizon %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr "Activar mon compte"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr "Ne saber mai tocant Mobilizon."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr "Nòu senhalament sus %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
"Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e seguètz "
|
||||||
|
"las consignas. Seretz prèst d’aquí un momenton."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
"Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un "
|
||||||
|
"clic de l’activar."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{server}."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
87
priv/gettext/oc/LC_MESSAGES/errors.po
Normal file
87
priv/gettext/oc/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: oc\n"
|
||||||
|
"Plural-Forms: nplurals=2\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
93
priv/gettext/pl/LC_MESSAGES/errors.po
Normal file
93
priv/gettext/pl/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: pl\n"
|
||||||
|
"Plural-Forms: nplurals=3\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
87
priv/gettext/pt/LC_MESSAGES/errors.po
Normal file
87
priv/gettext/pt/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: pt\n"
|
||||||
|
"Plural-Forms: nplurals=2\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -12,129 +12,231 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Translate Toolkit 2.4.0\n"
|
"X-Generator: Translate Toolkit 2.4.0\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:3
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "An email sent by Mobilizon on %{instance}."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
||||||
#, elixir-format
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:122
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:38
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:48
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:62
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:11
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:46
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:46
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:45
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:123
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.html.eex:88
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:80
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:18
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.html.eex:100
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
||||||
msgid "You requested a new password for your account on %{server}."
|
msgid "You requested a new password for your account on %{server}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/user.ex:25
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
||||||
|
msgid "Activate your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
||||||
|
msgid "All good!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
||||||
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
msgid "Go to event page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
||||||
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
||||||
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
||||||
|
msgid "Learn more about Mobilizon:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
||||||
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
||||||
|
msgid "Participation approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
||||||
|
msgid "Participation rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
||||||
|
msgid "Password reset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
||||||
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
||||||
|
msgid "Sorry!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
||||||
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
||||||
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
||||||
|
msgid "You requested a new password for your account on %{host}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
msgid "You requested to participate in event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
||||||
|
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
||||||
|
msgid "You requested to participate in event %{title}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:73
|
||||||
|
msgid "Your participation to event %{title} has been approved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/mobilizon_web/email/participation.ex:52
|
||||||
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
|
msgstr ""
|
||||||
|
|
93
priv/gettext/ru/LC_MESSAGES/errors.po
Normal file
93
priv/gettext/ru/LC_MESSAGES/errors.po
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
## `msgid`s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove `msgid`s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use `mix gettext.extract --merge` or `mix gettext.merge`
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: ru\n"
|
||||||
|
"Plural-Forms: nplurals=3\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,52 @@
|
||||||
|
defmodule Mobilizon.Storage.Repo.Migrations.RenamePostgresTypes do
|
||||||
|
use Ecto.Migration
|
||||||
|
alias Mobilizon.Actors.{ActorVisibility, MemberRole}
|
||||||
|
|
||||||
|
alias Mobilizon.Events.{
|
||||||
|
CommentVisibility,
|
||||||
|
JoinOptions,
|
||||||
|
EventStatus,
|
||||||
|
EventVisibility,
|
||||||
|
ParticipantRole
|
||||||
|
}
|
||||||
|
|
||||||
|
alias Mobilizon.Users.UserRole
|
||||||
|
|
||||||
|
@types %{
|
||||||
|
"actor_visibility_type" => ActorVisibility.type(),
|
||||||
|
"comment_visibility_type" => CommentVisibility.type(),
|
||||||
|
"event_join_options_type" => JoinOptions.type(),
|
||||||
|
"event_status_type" => EventStatus.type(),
|
||||||
|
"event_visibility_type" => EventVisibility.type(),
|
||||||
|
"member_role_type" => MemberRole.type(),
|
||||||
|
"participant_role_type" => ParticipantRole.type(),
|
||||||
|
"user_role_type" => UserRole.type()
|
||||||
|
}
|
||||||
|
|
||||||
|
def up do
|
||||||
|
Enum.each(@types, fn {k, v} -> rename_type(k, v) end)
|
||||||
|
end
|
||||||
|
|
||||||
|
def down do
|
||||||
|
Enum.each(@types, fn {k, v} -> rename_type(v, k) end)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp rename_type(old_type_name, new_type_name) do
|
||||||
|
with %Postgrex.Result{columns: ["exists"], rows: [[true]]} <-
|
||||||
|
Ecto.Adapters.SQL.query!(
|
||||||
|
Mobilizon.Storage.Repo,
|
||||||
|
"select exists (select 1 from pg_type where typname = '#{
|
||||||
|
old_type_name |> remove_schema
|
||||||
|
}' and typnamespace = (select oid from pg_namespace where nspname = 'public'))"
|
||||||
|
) do
|
||||||
|
Ecto.Migration.execute(
|
||||||
|
"ALTER TYPE #{old_type_name |> remove_schema} RENAME TO #{new_type_name |> remove_schema}"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# We don't want the schema: public.actor_visibility => actor_visibility
|
||||||
|
def remove_schema(schema) when is_atom(schema), do: remove_schema(to_string(schema))
|
||||||
|
def remove_schema("public." <> schema), do: schema
|
||||||
|
def remove_schema(schema), do: schema
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
defmodule Mobilizon.Storage.Repo.Migrations.AddRejectedToParticipantRole do
|
||||||
|
use Ecto.Migration
|
||||||
|
alias Mobilizon.Storage.Repo
|
||||||
|
alias Mobilizon.Events.Participant
|
||||||
|
alias Mobilizon.Events.ParticipantRole
|
||||||
|
import Ecto.Query
|
||||||
|
|
||||||
|
@disable_ddl_transaction true
|
||||||
|
|
||||||
|
def up do
|
||||||
|
Ecto.Migration.execute(
|
||||||
|
"ALTER TYPE #{ParticipantRole.type()} ADD VALUE IF NOT EXISTS 'rejected'"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def down do
|
||||||
|
Participant
|
||||||
|
|> where(role: "rejected")
|
||||||
|
|> Repo.delete_all()
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,5 +1,5 @@
|
||||||
# source: http://localhost:4000/api
|
# source: http://localhost:4000/api
|
||||||
# timestamp: Wed Sep 25 2019 16:41:05 GMT+0200 (GMT+02:00)
|
# timestamp: Mon Sep 30 2019 09:56:05 GMT+0200 (GMT+02:00)
|
||||||
|
|
||||||
schema {
|
schema {
|
||||||
query: RootQueryType
|
query: RootQueryType
|
||||||
|
@ -671,12 +671,16 @@ enum ParticipantRoleEnum {
|
||||||
MODERATOR
|
MODERATOR
|
||||||
NOT_APPROVED
|
NOT_APPROVED
|
||||||
PARTICIPANT
|
PARTICIPANT
|
||||||
|
REJECTED
|
||||||
}
|
}
|
||||||
|
|
||||||
type ParticipantStats {
|
type ParticipantStats {
|
||||||
"""The number of approved participants"""
|
"""The number of approved participants"""
|
||||||
approved: Int
|
approved: Int
|
||||||
|
|
||||||
|
"""The number of rejected participants"""
|
||||||
|
rejected: Int
|
||||||
|
|
||||||
"""The number of unapproved participants"""
|
"""The number of unapproved participants"""
|
||||||
unapproved: Int
|
unapproved: Int
|
||||||
}
|
}
|
||||||
|
@ -879,9 +883,6 @@ enum ReportStatus {
|
||||||
}
|
}
|
||||||
|
|
||||||
type RootMutationType {
|
type RootMutationType {
|
||||||
"""Accept a participation"""
|
|
||||||
acceptParticipation(id: ID!, moderatorActorId: ID!): Participant
|
|
||||||
|
|
||||||
"""Change default actor for user"""
|
"""Change default actor for user"""
|
||||||
changeDefaultActor(preferredUsername: String!): User
|
changeDefaultActor(preferredUsername: String!): User
|
||||||
|
|
||||||
|
@ -1028,9 +1029,6 @@ type RootMutationType {
|
||||||
summary: String = ""
|
summary: String = ""
|
||||||
): Person
|
): Person
|
||||||
|
|
||||||
"""Reject a participation"""
|
|
||||||
rejectParticipation(id: ID!, moderatorActorId: ID!): DeletedParticipant
|
|
||||||
|
|
||||||
"""Resend registration confirmation token"""
|
"""Resend registration confirmation token"""
|
||||||
resendConfirmationEmail(email: String!, locale: String = "en"): String
|
resendConfirmationEmail(email: String!, locale: String = "en"): String
|
||||||
|
|
||||||
|
@ -1065,6 +1063,9 @@ type RootMutationType {
|
||||||
visibility: EventVisibility = PUBLIC
|
visibility: EventVisibility = PUBLIC
|
||||||
): Event
|
): Event
|
||||||
|
|
||||||
|
"""Accept a participation"""
|
||||||
|
updateParticipation(id: ID!, moderatorActorId: ID!, role: ParticipantRoleEnum!): Participant
|
||||||
|
|
||||||
"""Update an identity"""
|
"""Update an identity"""
|
||||||
updatePerson(
|
updatePerson(
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
use MobilizonWeb.ConnCase
|
use MobilizonWeb.ConnCase
|
||||||
|
use Bamboo.Test
|
||||||
alias Mobilizon.Events
|
alias Mobilizon.Events
|
||||||
alias MobilizonWeb.AbsintheHelpers
|
alias MobilizonWeb.{AbsintheHelpers, Email}
|
||||||
import Mobilizon.Factory
|
import Mobilizon.Factory
|
||||||
|
|
||||||
@event %{
|
@event %{
|
||||||
|
@ -491,7 +492,8 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
uuid,
|
uuid,
|
||||||
participantStats {
|
participantStats {
|
||||||
approved,
|
approved,
|
||||||
unapproved
|
unapproved,
|
||||||
|
rejected
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -504,6 +506,7 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
assert json_response(res, 200)["data"]["event"]["uuid"] == to_string(event.uuid)
|
assert json_response(res, 200)["data"]["event"]["uuid"] == to_string(event.uuid)
|
||||||
assert json_response(res, 200)["data"]["event"]["participantStats"]["approved"] == 1
|
assert json_response(res, 200)["data"]["event"]["participantStats"]["approved"] == 1
|
||||||
assert json_response(res, 200)["data"]["event"]["participantStats"]["unapproved"] == 0
|
assert json_response(res, 200)["data"]["event"]["participantStats"]["unapproved"] == 0
|
||||||
|
assert json_response(res, 200)["data"]["event"]["participantStats"]["rejected"] == 0
|
||||||
|
|
||||||
moderator = insert(:actor)
|
moderator = insert(:actor)
|
||||||
|
|
||||||
|
@ -521,13 +524,20 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
actor_id: unapproved.id
|
actor_id: unapproved.id
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Events.create_participant(%{
|
||||||
|
role: :rejected,
|
||||||
|
event_id: event.id,
|
||||||
|
actor_id: unapproved.id
|
||||||
|
})
|
||||||
|
|
||||||
query = """
|
query = """
|
||||||
{
|
{
|
||||||
event(uuid: "#{event.uuid}") {
|
event(uuid: "#{event.uuid}") {
|
||||||
uuid,
|
uuid,
|
||||||
participantStats {
|
participantStats {
|
||||||
approved,
|
approved,
|
||||||
unapproved
|
unapproved,
|
||||||
|
rejected
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -540,11 +550,12 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
assert json_response(res, 200)["data"]["event"]["uuid"] == to_string(event.uuid)
|
assert json_response(res, 200)["data"]["event"]["uuid"] == to_string(event.uuid)
|
||||||
assert json_response(res, 200)["data"]["event"]["participantStats"]["approved"] == 2
|
assert json_response(res, 200)["data"]["event"]["participantStats"]["approved"] == 2
|
||||||
assert json_response(res, 200)["data"]["event"]["participantStats"]["unapproved"] == 1
|
assert json_response(res, 200)["data"]["event"]["participantStats"]["unapproved"] == 1
|
||||||
|
assert json_response(res, 200)["data"]["event"]["participantStats"]["rejected"] == 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "Participant approval" do
|
describe "Participation role status update" do
|
||||||
test "accept_participation/3", %{conn: conn, actor: actor, user: user} do
|
test "update_participation/3", %{conn: conn, actor: actor, user: user} do
|
||||||
user_creator = insert(:user)
|
user_creator = insert(:user)
|
||||||
actor_creator = insert(:actor, user: user_creator)
|
actor_creator = insert(:actor, user: user_creator)
|
||||||
event = insert(:event, join_options: :restricted, organizer_actor: actor_creator)
|
event = insert(:event, join_options: :restricted, organizer_actor: actor_creator)
|
||||||
|
@ -581,8 +592,9 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
|
|
||||||
mutation = """
|
mutation = """
|
||||||
mutation {
|
mutation {
|
||||||
acceptParticipation(
|
updateParticipation(
|
||||||
id: "#{participation_id}",
|
id: "#{participation_id}",
|
||||||
|
role: PARTICIPANT,
|
||||||
moderator_actor_id: #{actor_creator.id}
|
moderator_actor_id: #{actor_creator.id}
|
||||||
) {
|
) {
|
||||||
id,
|
id,
|
||||||
|
@ -603,21 +615,25 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
assert json_response(res, 200)["errors"] == nil
|
assert json_response(res, 200)["errors"] == nil
|
||||||
assert json_response(res, 200)["data"]["acceptParticipation"]["role"] == "PARTICIPANT"
|
assert json_response(res, 200)["data"]["updateParticipation"]["role"] == "PARTICIPANT"
|
||||||
|
|
||||||
assert json_response(res, 200)["data"]["acceptParticipation"]["event"]["id"] ==
|
assert json_response(res, 200)["data"]["updateParticipation"]["event"]["id"] ==
|
||||||
to_string(event.id)
|
to_string(event.id)
|
||||||
|
|
||||||
assert json_response(res, 200)["data"]["acceptParticipation"]["actor"]["id"] ==
|
assert json_response(res, 200)["data"]["updateParticipation"]["actor"]["id"] ==
|
||||||
to_string(actor.id)
|
to_string(actor.id)
|
||||||
|
|
||||||
|
participation = Mobilizon.Events.get_participant(participation_id)
|
||||||
|
|
||||||
|
assert_delivered_email(Email.Participation.participation_updated(user, participation))
|
||||||
|
|
||||||
res =
|
res =
|
||||||
conn
|
conn
|
||||||
|> auth_conn(user_creator)
|
|> auth_conn(user_creator)
|
||||||
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
assert hd(json_response(res, 200)["errors"])["message"] =~
|
assert hd(json_response(res, 200)["errors"])["message"] ==
|
||||||
" can't be approved since it's already a participant (with role participant)"
|
"Participant already has role participant"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "accept_participation/3 with bad parameters", %{conn: conn, actor: actor, user: user} do
|
test "accept_participation/3 with bad parameters", %{conn: conn, actor: actor, user: user} do
|
||||||
|
@ -657,8 +673,9 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
|
|
||||||
mutation = """
|
mutation = """
|
||||||
mutation {
|
mutation {
|
||||||
acceptParticipation(
|
updateParticipation (
|
||||||
id: "#{participation_id}",
|
id: "#{participation_id}",
|
||||||
|
role: PARTICIPANT,
|
||||||
moderator_actor_id: #{actor_creator.id}
|
moderator_actor_id: #{actor_creator.id}
|
||||||
) {
|
) {
|
||||||
id,
|
id,
|
||||||
|
@ -721,11 +738,13 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
|
|
||||||
mutation = """
|
mutation = """
|
||||||
mutation {
|
mutation {
|
||||||
rejectParticipation(
|
updateParticipation(
|
||||||
id: "#{participation_id}",
|
id: "#{participation_id}",
|
||||||
|
role: REJECTED,
|
||||||
moderator_actor_id: #{actor_creator.id}
|
moderator_actor_id: #{actor_creator.id}
|
||||||
) {
|
) {
|
||||||
id,
|
id,
|
||||||
|
role,
|
||||||
actor {
|
actor {
|
||||||
id
|
id
|
||||||
},
|
},
|
||||||
|
@ -742,20 +761,24 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
assert json_response(res, 200)["errors"] == nil
|
assert json_response(res, 200)["errors"] == nil
|
||||||
assert json_response(res, 200)["data"]["rejectParticipation"]["id"] == participation_id
|
assert json_response(res, 200)["data"]["updateParticipation"]["id"] == participation_id
|
||||||
|
|
||||||
assert json_response(res, 200)["data"]["rejectParticipation"]["event"]["id"] ==
|
assert json_response(res, 200)["data"]["updateParticipation"]["event"]["id"] ==
|
||||||
to_string(event.id)
|
to_string(event.id)
|
||||||
|
|
||||||
assert json_response(res, 200)["data"]["rejectParticipation"]["actor"]["id"] ==
|
assert json_response(res, 200)["data"]["updateParticipation"]["actor"]["id"] ==
|
||||||
to_string(actor.id)
|
to_string(actor.id)
|
||||||
|
|
||||||
|
participation = Mobilizon.Events.get_participant(participation_id)
|
||||||
|
assert_delivered_email(Email.Participation.participation_updated(user, participation))
|
||||||
|
|
||||||
res =
|
res =
|
||||||
conn
|
conn
|
||||||
|> auth_conn(user_creator)
|
|> auth_conn(user_creator)
|
||||||
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
|> post("/api", AbsintheHelpers.mutation_skeleton(mutation))
|
||||||
|
|
||||||
assert hd(json_response(res, 200)["errors"])["message"] == "Participant not found"
|
assert hd(json_response(res, 200)["errors"])["message"] ==
|
||||||
|
"Participant already has role rejected"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "reject_participation/3 with bad parameters", %{conn: conn, actor: actor, user: user} do
|
test "reject_participation/3 with bad parameters", %{conn: conn, actor: actor, user: user} do
|
||||||
|
@ -795,8 +818,9 @@ defmodule MobilizonWeb.Resolvers.ParticipantResolverTest do
|
||||||
|
|
||||||
mutation = """
|
mutation = """
|
||||||
mutation {
|
mutation {
|
||||||
rejectParticipation(
|
updateParticipation (
|
||||||
id: "#{participation_id}",
|
id: "#{participation_id}",
|
||||||
|
role: REJECTED,
|
||||||
moderator_actor_id: #{actor_creator.id}
|
moderator_actor_id: #{actor_creator.id}
|
||||||
) {
|
) {
|
||||||
id,
|
id,
|
||||||
|
|
Loading…
Reference in a new issue