forked from potsda.mn/mobilizon
Merge branch 'bugs' into 'main'
Allow group admins to moderate new members and other things Closes #881 et #886 See merge request framasoft/mobilizon!1107
This commit is contained in:
commit
fbb167983d
|
@ -339,6 +339,10 @@ release-create:
|
|||
stage: deploy
|
||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
rules: *tag-rules
|
||||
variables:
|
||||
APP_ASSET_AMD64: "${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME}_amd64.tar.gz"
|
||||
APP_ASSET_ARM: "${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME}_arm.tar.gz"
|
||||
APP_ASSET_ARM64: "${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME}_arm64.tar.gz"
|
||||
before_script:
|
||||
- apk --no-cache add gawk sed grep
|
||||
script: |
|
||||
|
@ -348,4 +352,6 @@ release-create:
|
|||
release-cli create --name "$CI_COMMIT_TAG" \
|
||||
--description "$CHANGELOG" \
|
||||
--tag-name "$CI_COMMIT_TAG" \
|
||||
--assets-link "{\"name\":\"${APP_ASSET}\",\"url\":\"${ENDPOINT}/${APP_ASSET}\"}"
|
||||
--assets-link "{\"name\":\"${APP_ASSET_AMD64}\",\"url\":\"${ENDPOINT}/${APP_ASSET_AMD64}\"}" \
|
||||
--assets-link "{\"name\":\"${APP_ASSET_ARM}\",\"url\":\"${ENDPOINT}/${APP_ASSET_ARM}\"}" \
|
||||
--assets-link "{\"name\":\"${APP_ASSET_ARM64}\",\"url\":\"${ENDPOINT}/${APP_ASSET_ARM64}\"}"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
version: '3'
|
||||
version: "3.2"
|
||||
|
||||
services:
|
||||
postgres:
|
||||
|
|
|
@ -148,6 +148,11 @@ export default class GroupActivityItem extends mixins(ActivityMixin) {
|
|||
case Openness.INVITE_ONLY:
|
||||
details.push("The group can now only be joined with an invite.");
|
||||
break;
|
||||
case Openness.MODERATED:
|
||||
details.push(
|
||||
"The group can now be joined by anyone, but new members need to be approved by an administrator."
|
||||
);
|
||||
break;
|
||||
case Openness.OPEN:
|
||||
details.push("The group can now be joined by anyone.");
|
||||
break;
|
||||
|
|
|
@ -9,13 +9,7 @@
|
|||
:inline="true"
|
||||
slot="member"
|
||||
>
|
||||
<b>
|
||||
{{
|
||||
$t("@{username}", {
|
||||
username: usernameWithDomain(activity.object.actor),
|
||||
})
|
||||
}}</b
|
||||
></popover-actor-card
|
||||
<b> {{ displayName(activity.object.actor) }}</b></popover-actor-card
|
||||
>
|
||||
<b slot="member" v-else>{{
|
||||
subjectParams.member_actor_federated_username
|
||||
|
@ -25,13 +19,7 @@
|
|||
:inline="true"
|
||||
slot="profile"
|
||||
>
|
||||
<b>
|
||||
{{
|
||||
$t("@{username}", {
|
||||
username: usernameWithDomain(activity.author),
|
||||
})
|
||||
}}</b
|
||||
></popover-actor-card
|
||||
<b> {{ displayName(activity.author) }}</b></popover-actor-card
|
||||
></i18n
|
||||
>
|
||||
<small class="has-text-grey-dark activity-date">{{
|
||||
|
@ -41,7 +29,7 @@
|
|||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { usernameWithDomain } from "@/types/actor";
|
||||
import { displayName } from "@/types/actor";
|
||||
import { ActivityMemberSubject, MemberRole } from "@/types/enums";
|
||||
import { Component } from "vue-property-decorator";
|
||||
import RouteName from "../../router/name";
|
||||
|
@ -62,7 +50,7 @@ export const MEMBER_ROLE_VALUE: Record<string, number> = {
|
|||
},
|
||||
})
|
||||
export default class MemberActivityItem extends mixins(ActivityMixin) {
|
||||
usernameWithDomain = usernameWithDomain;
|
||||
displayName = displayName;
|
||||
RouteName = RouteName;
|
||||
ActivityMemberSubject = ActivityMemberSubject;
|
||||
|
||||
|
@ -83,6 +71,14 @@ export default class MemberActivityItem extends mixins(ActivityMixin) {
|
|||
return "You added the member {member}.";
|
||||
}
|
||||
return "{profile} added the member {member}.";
|
||||
case ActivityMemberSubject.MEMBER_APPROVED:
|
||||
if (this.isAuthorCurrentActor) {
|
||||
return "You approved {member}'s membership.";
|
||||
}
|
||||
if (this.isObjectMemberCurrentActor) {
|
||||
return "Your membership was approved by {profile}.";
|
||||
}
|
||||
return "{profile} approved {member}'s membership.";
|
||||
case ActivityMemberSubject.MEMBER_JOINED:
|
||||
return "{member} joined the group.";
|
||||
case ActivityMemberSubject.MEMBER_UPDATED:
|
||||
|
@ -94,6 +90,12 @@ export default class MemberActivityItem extends mixins(ActivityMixin) {
|
|||
}
|
||||
return "{profile} updated the member {member}.";
|
||||
case ActivityMemberSubject.MEMBER_REMOVED:
|
||||
if (this.subjectParams.member_role === MemberRole.NOT_APPROVED) {
|
||||
if (this.isAuthorCurrentActor) {
|
||||
return "You rejected {member}'s membership request.";
|
||||
}
|
||||
return "{profile} rejected {member}'s membership request.";
|
||||
}
|
||||
if (this.isAuthorCurrentActor) {
|
||||
return "You excluded member {member}.";
|
||||
}
|
||||
|
|
|
@ -1,57 +1,65 @@
|
|||
<template>
|
||||
<div class="media">
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<i18n
|
||||
tag="p"
|
||||
path="You have been invited by {invitedBy} to the following group:"
|
||||
>
|
||||
<b slot="invitedBy">{{ member.invitedBy.name }}</b>
|
||||
</i18n>
|
||||
</div>
|
||||
<div class="media subfield">
|
||||
<div class="media-left">
|
||||
<figure class="image is-48x48" v-if="member.parent.avatar">
|
||||
<img class="is-rounded" :src="member.parent.avatar.url" alt="" />
|
||||
</figure>
|
||||
<b-icon v-else size="is-large" icon="account-group" />
|
||||
<div class="card">
|
||||
<div class="card-content media">
|
||||
<div class="media-content">
|
||||
<div class="content">
|
||||
<i18n
|
||||
tag="p"
|
||||
path="You have been invited by {invitedBy} to the following group:"
|
||||
>
|
||||
<b slot="invitedBy">{{ member.invitedBy.name }}</b>
|
||||
</i18n>
|
||||
</div>
|
||||
<div class="media-content">
|
||||
<div class="level">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<router-link
|
||||
:to="{
|
||||
name: RouteName.GROUP,
|
||||
params: {
|
||||
preferredUsername: usernameWithDomain(member.parent),
|
||||
},
|
||||
}"
|
||||
>
|
||||
<h3>{{ member.parent.name }}</h3>
|
||||
<p class="is-6 has-text-grey">
|
||||
<span v-if="member.parent.domain">
|
||||
{{
|
||||
`@${member.parent.preferredUsername}@${member.parent.domain}`
|
||||
}}
|
||||
</span>
|
||||
<span v-else>{{
|
||||
`@${member.parent.preferredUsername}`
|
||||
}}</span>
|
||||
</p>
|
||||
</router-link>
|
||||
<div class="media subfield">
|
||||
<div class="media-left">
|
||||
<figure class="image is-48x48" v-if="member.parent.avatar">
|
||||
<img class="is-rounded" :src="member.parent.avatar.url" alt="" />
|
||||
</figure>
|
||||
<b-icon v-else size="is-large" icon="account-group" />
|
||||
</div>
|
||||
<div class="media-content">
|
||||
<div class="level">
|
||||
<div class="level-left">
|
||||
<div class="level-item mr-3">
|
||||
<router-link
|
||||
:to="{
|
||||
name: RouteName.GROUP,
|
||||
params: {
|
||||
preferredUsername: usernameWithDomain(member.parent),
|
||||
},
|
||||
}"
|
||||
>
|
||||
<h3 class="is-size-5">{{ member.parent.name }}</h3>
|
||||
<p class="is-size-7 has-text-grey-dark">
|
||||
<span v-if="member.parent.domain">
|
||||
{{
|
||||
`@${member.parent.preferredUsername}@${member.parent.domain}`
|
||||
}}
|
||||
</span>
|
||||
<span v-else>{{
|
||||
`@${member.parent.preferredUsername}`
|
||||
}}</span>
|
||||
</p>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<b-button type="is-success" @click="$emit('accept', member.id)">
|
||||
{{ $t("Accept") }}
|
||||
</b-button>
|
||||
</div>
|
||||
<div class="level-item">
|
||||
<b-button type="is-danger" @click="$emit('reject', member.id)">
|
||||
{{ $t("Decline") }}
|
||||
</b-button>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<b-button
|
||||
type="is-success"
|
||||
@click="$emit('accept', member.id)"
|
||||
>
|
||||
{{ $t("Accept") }}
|
||||
</b-button>
|
||||
</div>
|
||||
<div class="level-item">
|
||||
<b-button
|
||||
type="is-danger"
|
||||
@click="$emit('reject', member.id)"
|
||||
>
|
||||
{{ $t("Decline") }}
|
||||
</b-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -82,4 +90,7 @@ export default class InvitationCard extends Vue {
|
|||
background: lighten($primary, 40%);
|
||||
padding: 10px;
|
||||
}
|
||||
h3 {
|
||||
color: $violet-3;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<section v-if="invitations && invitations.length > 0">
|
||||
<section class="card my-3" v-if="invitations && invitations.length > 0">
|
||||
<InvitationCard
|
||||
v-for="member in invitations"
|
||||
:key="member.id"
|
||||
|
@ -13,8 +13,9 @@
|
|||
import { ACCEPT_INVITATION, REJECT_INVITATION } from "@/graphql/member";
|
||||
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||
import InvitationCard from "@/components/Group/InvitationCard.vue";
|
||||
import { LOGGED_USER_MEMBERSHIPS } from "@/graphql/actor";
|
||||
import { PERSON_STATUS_GROUP } from "@/graphql/actor";
|
||||
import { IMember } from "@/types/actor/member.model";
|
||||
import { IGroup, IPerson, usernameWithDomain } from "@/types/actor";
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
|
@ -26,18 +27,25 @@ export default class Invitations extends Vue {
|
|||
|
||||
async acceptInvitation(id: string): Promise<void> {
|
||||
try {
|
||||
const { data } = await this.$apollo.mutate<{ acceptInvitation: IMember }>(
|
||||
{
|
||||
mutation: ACCEPT_INVITATION,
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
refetchQueries: [{ query: LOGGED_USER_MEMBERSHIPS }],
|
||||
}
|
||||
);
|
||||
if (data) {
|
||||
this.$emit("accept-invitation", data.acceptInvitation);
|
||||
}
|
||||
await this.$apollo.mutate<{ acceptInvitation: IMember }>({
|
||||
mutation: ACCEPT_INVITATION,
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
refetchQueries({ data }) {
|
||||
const profile = data?.acceptInvitation?.actor as IPerson;
|
||||
const group = data?.acceptInvitation?.parent as IGroup;
|
||||
if (profile && group) {
|
||||
return [
|
||||
{
|
||||
query: PERSON_STATUS_GROUP,
|
||||
variables: { id: profile.id, group: usernameWithDomain(group) },
|
||||
},
|
||||
];
|
||||
}
|
||||
return [];
|
||||
},
|
||||
});
|
||||
} catch (error: any) {
|
||||
console.error(error);
|
||||
if (error.graphQLErrors && error.graphQLErrors.length > 0) {
|
||||
|
@ -48,18 +56,25 @@ export default class Invitations extends Vue {
|
|||
|
||||
async rejectInvitation(id: string): Promise<void> {
|
||||
try {
|
||||
const { data } = await this.$apollo.mutate<{ rejectInvitation: IMember }>(
|
||||
{
|
||||
mutation: REJECT_INVITATION,
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
refetchQueries: [{ query: LOGGED_USER_MEMBERSHIPS }],
|
||||
}
|
||||
);
|
||||
if (data) {
|
||||
this.$emit("reject-invitation", data.rejectInvitation);
|
||||
}
|
||||
await this.$apollo.mutate<{ rejectInvitation: IMember }>({
|
||||
mutation: REJECT_INVITATION,
|
||||
variables: {
|
||||
id,
|
||||
},
|
||||
refetchQueries({ data }) {
|
||||
const profile = data?.rejectInvitation?.actor as IPerson;
|
||||
const group = data?.rejectInvitation?.parent as IGroup;
|
||||
if (profile && group) {
|
||||
return [
|
||||
{
|
||||
query: PERSON_STATUS_GROUP,
|
||||
variables: { id: profile.id, group: usernameWithDomain(group) },
|
||||
},
|
||||
];
|
||||
}
|
||||
return [];
|
||||
},
|
||||
});
|
||||
} catch (error: any) {
|
||||
console.error(error);
|
||||
if (error.graphQLErrors && error.graphQLErrors.length > 0) {
|
||||
|
|
|
@ -37,9 +37,10 @@ export const ACCEPT_INVITATION = gql`
|
|||
export const REJECT_INVITATION = gql`
|
||||
mutation RejectInvitation($id: ID!) {
|
||||
rejectInvitation(id: $id) {
|
||||
id
|
||||
...MemberFragment
|
||||
}
|
||||
}
|
||||
${MEMBER_FRAGMENT}
|
||||
`;
|
||||
|
||||
export const GROUP_MEMBERS = gql`
|
||||
|
@ -72,13 +73,22 @@ export const UPDATE_MEMBER = gql`
|
|||
`;
|
||||
|
||||
export const REMOVE_MEMBER = gql`
|
||||
mutation RemoveMember($groupId: ID!, $memberId: ID!) {
|
||||
removeMember(groupId: $groupId, memberId: $memberId) {
|
||||
mutation RemoveMember($memberId: ID!, $exclude: Boolean) {
|
||||
removeMember(memberId: $memberId, exclude: $exclude) {
|
||||
id
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const APPROVE_MEMBER = gql`
|
||||
mutation ApproveMember($memberId: ID!) {
|
||||
approveMember(memberId: $memberId) {
|
||||
...MemberFragment
|
||||
}
|
||||
}
|
||||
${MEMBER_FRAGMENT}
|
||||
`;
|
||||
|
||||
export const JOIN_GROUP = gql`
|
||||
mutation JoinGroup($groupId: ID!) {
|
||||
joinGroup(groupId: $groupId) {
|
||||
|
|
|
@ -881,6 +881,7 @@
|
|||
"{member} was invited by {profile}.": "{member} was invited by {profile}.",
|
||||
"You added the member {member}.": "You added the member {member}.",
|
||||
"{profile} added the member {member}.": "{profile} added the member {member}.",
|
||||
"{member} joined the group.": "{member} joined the group.",
|
||||
"{member} rejected the invitation to join the group.": "{member} rejected the invitation to join the group.",
|
||||
"{member} accepted the invitation to join the group.": "{member} accepted the invitation to join the group.",
|
||||
"You excluded member {member}.": "You excluded member {member}.",
|
||||
|
@ -1233,5 +1234,17 @@
|
|||
"Any type": "Any type",
|
||||
"In person": "In person",
|
||||
"In the past": "In the past",
|
||||
"Only registered users may fetch remote events from their URL.": "Only registered users may fetch remote events from their URL."
|
||||
"Only registered users may fetch remote events from their URL.": "Only registered users may fetch remote events from their URL.",
|
||||
"Moderate new members": "Moderate new members",
|
||||
"Anyone can request being a member, but an administrator needs to approve the membership.": "Anyone can request being a member, but an administrator needs to approve the membership.",
|
||||
"Cancel membership request": "Cancel membership request",
|
||||
"group's upcoming public events": "group's upcoming public events",
|
||||
"access to the group's private content as well": "access to the group's private content as well",
|
||||
"Following the group will allow you to be informed of the {group_upcoming_public_events}, whereas joining the group means you will {access_to_group_private_content_as_well}, including group discussions, group resources and members-only posts.": "Following the group will allow you to be informed of the {group_upcoming_public_events}, whereas joining the group means you will {access_to_group_private_content_as_well}, including group discussions, group resources and members-only posts.",
|
||||
"The group can now be joined by anyone, but new members need to be approved by an administrator.": "The group can now be joined by anyone, but new members need to be approved by an administrator.",
|
||||
"You approved {member}'s membership.": "You approved {member}'s membership.",
|
||||
"Your membership was approved by {profile}.": "Your membership was approved by {profile}.",
|
||||
"{profile} approved {member}'s membership.": "{profile} approved {member}'s membership.",
|
||||
"You rejected {member}'s membership request.": "You rejected {member}'s membership request.",
|
||||
"{profile} rejected {member}'s membership request.": "{profile} rejected {member}'s membership request."
|
||||
}
|
||||
|
|
|
@ -1077,7 +1077,7 @@
|
|||
"You excluded member {member}.": "Vous avez exclu le ou la membre {member}.",
|
||||
"You have been disconnected": "Vous avez été déconnecté⋅e",
|
||||
"You have been invited by {invitedBy} to the following group:": "Vous avez été invité par {invitedBy} à rejoindre le groupe suivant :",
|
||||
"You have been removed from this group's members.": "Vous avez été exclu des membres de ce groupe.",
|
||||
"You have been removed from this group's members.": "Vous avez été exclu⋅e des membres de ce groupe.",
|
||||
"You have cancelled your participation": "Vous avez annulé votre participation",
|
||||
"You have one event in {days} days.": "Vous n'avez pas d'événements dans {days} jours | Vous avez un événement dans {days} jours. | Vous avez {count} événements dans {days} jours",
|
||||
"You have one event today.": "Vous n'avez pas d'événement aujourd'hui | Vous avez un événement aujourd'hui. | Vous avez {count} événements aujourd'hui",
|
||||
|
@ -1231,6 +1231,7 @@
|
|||
"{old_group_name} was renamed to {group}.": "{old_group_name} a été renommé en {group}.",
|
||||
"{profile} (by default)": "{profile} (par défault)",
|
||||
"{profile} added the member {member}.": "{profile} a ajouté le ou la membre {member}.",
|
||||
"{member} joined the group.": "{member} a rejoint le groupe.",
|
||||
"{profile} archived the discussion {discussion}.": "{profile} a archivé la discussion {discussion}.",
|
||||
"{profile} created the discussion {discussion}.": "{profile} a créé la discussion {discussion}.",
|
||||
"{profile} created the folder {resource}.": "{profile} a créé le dossier {resource}.",
|
||||
|
@ -1337,5 +1338,17 @@
|
|||
"Any type": "N'importe quel type",
|
||||
"In person": "En personne",
|
||||
"In the past": "Dans le passé",
|
||||
"Only registered users may fetch remote events from their URL.": "Seul⋅es les utilisateur⋅ices enregistré⋅es peuvent récupérer des événements depuis leur URL."
|
||||
"Only registered users may fetch remote events from their URL.": "Seul⋅es les utilisateur⋅ices enregistré⋅es peuvent récupérer des événements depuis leur URL.",
|
||||
"Moderate new members": "Modérer les nouvelles et nouveaux membres",
|
||||
"Anyone can request being a member, but an administrator needs to approve the membership.": "N'importe qui peut demander à être membre, mais un⋅e administrateur⋅ice devra approuver leur adhésion.",
|
||||
"Cancel membership request": "Annuler la demande d'adhésion",
|
||||
"group's upcoming public events": "prochains événements publics du groupe",
|
||||
"access to the group's private content as well": "accédez également au contenu privé du groupe",
|
||||
"Following the group will allow you to be informed of the {group_upcoming_public_events}, whereas joining the group means you will {access_to_group_private_content_as_well}, including group discussions, group resources and members-only posts.": "Suivre le groupe vous permettra d'être informé⋅e des {group_upcoming_public_events}, alors que rejoindre le groupe signfie que vous {access_to_group_private_content_as_well}, y compris les discussion de groupe, les resources du groupe et les billets réservés au groupe.",
|
||||
"The group can now be joined by anyone, but new members need to be approved by an administrator.": "Le groupe peut maintenant être rejoint par n'importe qui, mais les nouvelles et nouveaux membres doivent être approuvées par un⋅e modérateur⋅ice.",
|
||||
"You approved {member}'s membership.": "Vous avez approuvé la demande d'adhésion de {member}.",
|
||||
"Your membership was approved by {profile}.": "Votre demande d'adhésion a été approuvée par {profile}.",
|
||||
"{profile} approved {member}'s membership.": "{profile} a approuvé la demande d'adhésion de {member}.",
|
||||
"You rejected {member}'s membership request.": "Vous avez rejeté la demande d'adhésion de {member}.",
|
||||
"{profile} rejected {member}'s membership request.": "{profile} a rejeté la demande d'adhésion de {member}."
|
||||
}
|
||||
|
|
|
@ -99,6 +99,10 @@ export default class GroupMixin extends Vue {
|
|||
]);
|
||||
}
|
||||
|
||||
get isCurrentActorAPendingGroupMember(): boolean {
|
||||
return this.hasCurrentActorThisRole([MemberRole.NOT_APPROVED]);
|
||||
}
|
||||
|
||||
hasCurrentActorThisRole(givenRole: string | string[]): boolean {
|
||||
const roles = Array.isArray(givenRole) ? givenRole : [givenRole];
|
||||
return (
|
||||
|
|
|
@ -23,29 +23,6 @@
|
|||
</ul>
|
||||
</nav>
|
||||
<b-loading :active.sync="$apollo.loading"></b-loading>
|
||||
<invitations
|
||||
v-if="isCurrentActorAnInvitedGroupMember"
|
||||
:invitations="[groupMember]"
|
||||
@acceptInvitation="acceptInvitation"
|
||||
@reject-invitation="rejectInvitation"
|
||||
/>
|
||||
<b-message v-if="isCurrentActorARejectedGroupMember" type="is-danger">
|
||||
{{ $t("You have been removed from this group's members.") }}
|
||||
</b-message>
|
||||
<b-message
|
||||
v-if="
|
||||
isCurrentActorAGroupMember &&
|
||||
isCurrentActorARecentMember &&
|
||||
isCurrentActorOnADifferentDomainThanGroup
|
||||
"
|
||||
type="is-info"
|
||||
>
|
||||
{{
|
||||
$t(
|
||||
"Since you are a new member, private content can take a few minutes to appear."
|
||||
)
|
||||
}}
|
||||
</b-message>
|
||||
<header class="block-container presentation" v-if="group">
|
||||
<div class="banner-container">
|
||||
<lazy-image-wrapper :picture="group.banner" />
|
||||
|
@ -137,7 +114,7 @@
|
|||
<b-tooltip
|
||||
v-if="
|
||||
(!isCurrentActorAGroupMember || previewPublic) &&
|
||||
group.openness !== Openness.OPEN
|
||||
group.openness === Openness.INVITE_ONLY
|
||||
"
|
||||
:label="$t('This group is invite-only')"
|
||||
position="is-bottom"
|
||||
|
@ -148,7 +125,9 @@
|
|||
>
|
||||
<b-button
|
||||
v-else-if="
|
||||
(!isCurrentActorAGroupMember || previewPublic) &&
|
||||
((!isCurrentActorAGroupMember &&
|
||||
!isCurrentActorAPendingGroupMember) ||
|
||||
previewPublic) &&
|
||||
currentActor.id
|
||||
"
|
||||
@click="joinGroup"
|
||||
|
@ -157,6 +136,14 @@
|
|||
:disabled="previewPublic"
|
||||
>{{ $t("Join group") }}</b-button
|
||||
>
|
||||
<b-button
|
||||
outlined
|
||||
v-else-if="isCurrentActorAPendingGroupMember"
|
||||
@click="leaveGroup"
|
||||
@keyup.enter="leaveGroup"
|
||||
type="is-primary"
|
||||
>{{ $t("Cancel membership request") }}</b-button
|
||||
>
|
||||
<b-button
|
||||
tag="router-link"
|
||||
:to="{
|
||||
|
@ -310,6 +297,49 @@
|
|||
</b-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<invitations
|
||||
v-if="isCurrentActorAnInvitedGroupMember"
|
||||
:invitations="[groupMember]"
|
||||
/>
|
||||
<b-message v-if="isCurrentActorARejectedGroupMember" type="is-danger">
|
||||
{{ $t("You have been removed from this group's members.") }}
|
||||
</b-message>
|
||||
<b-message
|
||||
v-if="
|
||||
isCurrentActorAGroupMember &&
|
||||
isCurrentActorARecentMember &&
|
||||
isCurrentActorOnADifferentDomainThanGroup
|
||||
"
|
||||
type="is-info"
|
||||
>
|
||||
{{
|
||||
$t(
|
||||
"Since you are a new member, private content can take a few minutes to appear."
|
||||
)
|
||||
}}
|
||||
</b-message>
|
||||
<b-message
|
||||
v-if="
|
||||
!isCurrentActorAGroupMember &&
|
||||
!isCurrentActorAPendingGroupMember &&
|
||||
!isCurrentActorPendingFollow &&
|
||||
!isCurrentActorFollowing
|
||||
"
|
||||
type="is-info"
|
||||
has-icon
|
||||
class="m-3"
|
||||
>
|
||||
<i18n
|
||||
path="Following the group will allow you to be informed of the {group_upcoming_public_events}, whereas joining the group means you will {access_to_group_private_content_as_well}, including group discussions, group resources and members-only posts."
|
||||
>
|
||||
<b slot="group_upcoming_public_events">{{
|
||||
$t("group's upcoming public events")
|
||||
}}</b>
|
||||
<b slot="access_to_group_private_content_as_well">{{
|
||||
$t("access to the group's private content as well")
|
||||
}}</b>
|
||||
</i18n>
|
||||
</b-message>
|
||||
</div>
|
||||
</header>
|
||||
</div>
|
||||
|
@ -893,31 +923,6 @@ export default class Group extends mixins(GroupMixin) {
|
|||
});
|
||||
}
|
||||
|
||||
acceptInvitation(): void {
|
||||
if (this.groupMember) {
|
||||
const index = this.person.memberships.elements.findIndex(
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
({ id }: IMember) => id === this.groupMember.id
|
||||
);
|
||||
const member = this.groupMember;
|
||||
member.role = MemberRole.MEMBER;
|
||||
this.person.memberships.elements.splice(index, 1, member);
|
||||
this.$apollo.queries.group.refetch();
|
||||
}
|
||||
}
|
||||
|
||||
rejectInvitation({ id: memberId }: { id: string }): void {
|
||||
const index = this.person.memberships.elements.findIndex(
|
||||
(membership) =>
|
||||
membership.role === MemberRole.INVITED && membership.id === memberId
|
||||
);
|
||||
if (index > -1) {
|
||||
this.person.memberships.elements.splice(index, 1);
|
||||
this.person.memberships.total -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
async reportGroup(content: string, forward: boolean): Promise<void> {
|
||||
this.isReportModalActive = false;
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
|
|
|
@ -195,6 +195,20 @@
|
|||
</b-table-column>
|
||||
<b-table-column field="actions" :label="$t('Actions')" v-slot="props">
|
||||
<div class="buttons" v-if="props.row.actor.id !== currentActor.id">
|
||||
<b-button
|
||||
type="is-success"
|
||||
v-if="props.row.role === MemberRole.NOT_APPROVED"
|
||||
@click="approveMember(props.row)"
|
||||
icon-left="check"
|
||||
>{{ $t("Approve member") }}</b-button
|
||||
>
|
||||
<b-button
|
||||
type="is-danger"
|
||||
v-if="props.row.role === MemberRole.NOT_APPROVED"
|
||||
@click="rejectMember(props.row)"
|
||||
icon-left="exit-to-app"
|
||||
>{{ $t("Reject member") }}</b-button
|
||||
>
|
||||
<b-button
|
||||
v-if="
|
||||
[MemberRole.MEMBER, MemberRole.MODERATOR].includes(
|
||||
|
@ -217,7 +231,7 @@
|
|||
>
|
||||
<b-button
|
||||
v-if="props.row.role === MemberRole.MEMBER"
|
||||
@click="removeMember(props.row.id)"
|
||||
@click="removeMember(props.row)"
|
||||
type="is-danger"
|
||||
icon-left="exit-to-app"
|
||||
>{{ $t("Remove") }}</b-button
|
||||
|
@ -250,8 +264,9 @@ import {
|
|||
GROUP_MEMBERS,
|
||||
REMOVE_MEMBER,
|
||||
UPDATE_MEMBER,
|
||||
APPROVE_MEMBER,
|
||||
} from "../../graphql/member";
|
||||
import { usernameWithDomain } from "../../types/actor";
|
||||
import { usernameWithDomain, displayName } from "../../types/actor";
|
||||
import EmptyContent from "@/components/Utils/EmptyContent.vue";
|
||||
|
||||
@Component({
|
||||
|
@ -332,7 +347,7 @@ export default class GroupMembers extends mixins(GroupMixin) {
|
|||
this.$notifier.success(
|
||||
this.$t("{username} was invited to {group}", {
|
||||
username: this.newMemberUsername,
|
||||
group: this.group.name || usernameWithDomain(this.group),
|
||||
group: displayName(this.group),
|
||||
}) as string
|
||||
);
|
||||
this.newMemberUsername = "";
|
||||
|
@ -375,7 +390,7 @@ export default class GroupMembers extends mixins(GroupMixin) {
|
|||
});
|
||||
}
|
||||
|
||||
async removeMember(memberId: string): Promise<void> {
|
||||
async removeMember(oldMember: IMember): Promise<void> {
|
||||
const { roles, MEMBERS_PER_PAGE, group, page } = this;
|
||||
const variables = {
|
||||
name: usernameWithDomain(group),
|
||||
|
@ -388,7 +403,7 @@ export default class GroupMembers extends mixins(GroupMixin) {
|
|||
mutation: REMOVE_MEMBER,
|
||||
variables: {
|
||||
groupId: this.group.id,
|
||||
memberId,
|
||||
memberId: oldMember.id,
|
||||
},
|
||||
refetchQueries: [
|
||||
{
|
||||
|
@ -397,12 +412,18 @@ export default class GroupMembers extends mixins(GroupMixin) {
|
|||
},
|
||||
],
|
||||
});
|
||||
this.$notifier.success(
|
||||
this.$t("The member was removed from the group {group}", {
|
||||
username: this.newMemberUsername,
|
||||
group: this.group.name || usernameWithDomain(this.group),
|
||||
}) as string
|
||||
);
|
||||
let message = this.$t("The member was removed from the group {group}", {
|
||||
group: displayName(this.group),
|
||||
}) as string;
|
||||
if (oldMember.role === MemberRole.NOT_APPROVED) {
|
||||
message = this.$t(
|
||||
"The membership request from {profile} was rejected",
|
||||
{
|
||||
group: displayName(oldMember.actor),
|
||||
}
|
||||
) as string;
|
||||
}
|
||||
this.$notifier.success(message);
|
||||
} catch (error: any) {
|
||||
console.error(error);
|
||||
if (error.graphQLErrors && error.graphQLErrors.length > 0) {
|
||||
|
@ -414,29 +435,49 @@ export default class GroupMembers extends mixins(GroupMixin) {
|
|||
promoteMember(member: IMember): void {
|
||||
if (!member.id) return;
|
||||
if (member.role === MemberRole.MODERATOR) {
|
||||
this.updateMember(member.id, MemberRole.ADMINISTRATOR);
|
||||
this.updateMember(member, MemberRole.ADMINISTRATOR);
|
||||
}
|
||||
if (member.role === MemberRole.MEMBER) {
|
||||
this.updateMember(member.id, MemberRole.MODERATOR);
|
||||
this.updateMember(member, MemberRole.MODERATOR);
|
||||
}
|
||||
}
|
||||
|
||||
demoteMember(member: IMember): void {
|
||||
if (!member.id) return;
|
||||
if (member.role === MemberRole.MODERATOR) {
|
||||
this.updateMember(member.id, MemberRole.MEMBER);
|
||||
this.updateMember(member, MemberRole.MEMBER);
|
||||
}
|
||||
if (member.role === MemberRole.ADMINISTRATOR) {
|
||||
this.updateMember(member.id, MemberRole.MODERATOR);
|
||||
this.updateMember(member, MemberRole.MODERATOR);
|
||||
}
|
||||
}
|
||||
|
||||
async updateMember(memberId: string, role: MemberRole): Promise<void> {
|
||||
async approveMember(member: IMember): Promise<void> {
|
||||
try {
|
||||
await this.$apollo.mutate<{ approveMember: IMember }>({
|
||||
mutation: APPROVE_MEMBER,
|
||||
variables: { memberId: member.id },
|
||||
});
|
||||
this.$notifier.success(this.$t("The member was approved") as string);
|
||||
} catch (error: any) {
|
||||
console.error(error);
|
||||
if (error.graphQLErrors && error.graphQLErrors.length > 0) {
|
||||
this.$notifier.error(error.graphQLErrors[0].message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rejectMember(member: IMember): void {
|
||||
if (!member.id) return;
|
||||
this.removeMember(member);
|
||||
}
|
||||
|
||||
async updateMember(oldMember: IMember, role: MemberRole): Promise<void> {
|
||||
try {
|
||||
await this.$apollo.mutate<{ updateMember: IMember }>({
|
||||
mutation: UPDATE_MEMBER,
|
||||
variables: {
|
||||
memberId,
|
||||
memberId: oldMember.id,
|
||||
role,
|
||||
},
|
||||
refetchQueries: [
|
||||
|
@ -455,8 +496,14 @@ export default class GroupMembers extends mixins(GroupMixin) {
|
|||
successMessage = "The member role was updated to administrator";
|
||||
break;
|
||||
case MemberRole.MEMBER:
|
||||
if (oldMember.role === MemberRole.NOT_APPROVED) {
|
||||
successMessage = "The member was approved";
|
||||
} else {
|
||||
successMessage = "The member role was updated to simple member";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
successMessage = "The member role was updated to simple member";
|
||||
successMessage = "The member role was updated";
|
||||
}
|
||||
this.$notifier.success(this.$t(successMessage) as string);
|
||||
} catch (error: any) {
|
||||
|
|
|
@ -128,6 +128,19 @@
|
|||
}}</small>
|
||||
</b-radio>
|
||||
</div>
|
||||
<div class="field">
|
||||
<b-radio
|
||||
v-model="editableGroup.openness"
|
||||
name="groupOpenness"
|
||||
:native-value="Openness.MODERATED"
|
||||
>{{ $t("Moderate new members") }}<br />
|
||||
<small>{{
|
||||
$t(
|
||||
"Anyone can request being a member, but an administrator needs to approve the membership."
|
||||
)
|
||||
}}</small>
|
||||
</b-radio>
|
||||
</div>
|
||||
<div class="field">
|
||||
<b-radio
|
||||
v-model="editableGroup.openness"
|
||||
|
|
|
@ -10,6 +10,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Accept do
|
|||
alias Mobilizon.Federation.ActivityStream
|
||||
alias Mobilizon.Federation.ActivityStream.Convertible
|
||||
alias Mobilizon.Service.Notifications.Scheduler
|
||||
alias Mobilizon.Web.Email.Member, as: EmailMember
|
||||
alias Mobilizon.Web.Endpoint
|
||||
require Logger
|
||||
|
||||
|
@ -21,7 +22,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Accept do
|
|||
maybe_relay_if_group_activity: 1
|
||||
]
|
||||
|
||||
@type acceptable_types :: :join | :follow | :invite
|
||||
@type acceptable_types :: :join | :follow | :invite | :member
|
||||
@type acceptable_entities ::
|
||||
accept_join_entities | accept_follow_entities | accept_invite_entities
|
||||
|
||||
|
@ -35,6 +36,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Accept do
|
|||
:join -> accept_join(entity, additional)
|
||||
:follow -> accept_follow(entity, additional)
|
||||
:invite -> accept_invite(entity, additional)
|
||||
:member -> accept_member(entity, additional)
|
||||
end
|
||||
|
||||
with {:ok, entity, update_data} <- accept_res do
|
||||
|
@ -158,12 +160,47 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Accept do
|
|||
end
|
||||
end
|
||||
|
||||
@spec maybe_refresh_group(Member.t()) :: :ok | nil
|
||||
defp maybe_refresh_group(%Member{
|
||||
parent: %Actor{domain: parent_domain, url: parent_url},
|
||||
actor: %Actor{} = actor
|
||||
}) do
|
||||
unless is_nil(parent_domain),
|
||||
do: Refresher.fetch_group(parent_url, actor)
|
||||
@spec accept_member(Member.t(), map()) ::
|
||||
{:ok, Member.t(), Activity.t()} | {:error, Ecto.Changeset.t()}
|
||||
defp accept_member(
|
||||
%Member{actor_id: actor_id, actor: actor, parent: %Actor{} = group} = member,
|
||||
%{moderator: %Actor{url: actor_url} = moderator}
|
||||
) do
|
||||
with %Actor{} <- Actors.get_actor!(actor_id),
|
||||
{:ok, %Member{id: member_id} = member} <-
|
||||
Actors.update_member(member, %{role: :member}) do
|
||||
Mobilizon.Service.Activity.Member.insert_activity(member,
|
||||
subject: "member_approved",
|
||||
moderator: moderator
|
||||
)
|
||||
|
||||
Absinthe.Subscription.publish(Endpoint, actor,
|
||||
group_membership_changed: [Actor.preferred_username_and_domain(group), actor_id]
|
||||
)
|
||||
|
||||
EmailMember.send_notification_to_approved_member(member)
|
||||
|
||||
Cachex.del(:activity_pub, "member_#{member_id}")
|
||||
|
||||
maybe_refresh_group(member)
|
||||
|
||||
accept_data = %{
|
||||
"type" => "Accept",
|
||||
"attributedTo" => member.parent.url,
|
||||
"to" => [member.parent.members_url],
|
||||
"cc" => [member.parent.url],
|
||||
"actor" => actor_url,
|
||||
"object" => Convertible.model_to_as(member),
|
||||
"id" => "#{Endpoint.url()}/accept/member/#{member_id}"
|
||||
}
|
||||
|
||||
{:ok, member, accept_data}
|
||||
end
|
||||
end
|
||||
|
||||
@spec maybe_refresh_group(Member.t()) :: {:ok, Actor.t()} | {:error, atom()} | {:error}
|
||||
defp maybe_refresh_group(%Member{
|
||||
parent: %Actor{} = group
|
||||
}),
|
||||
do: Refresher.refresh_profile(group)
|
||||
end
|
||||
|
|
|
@ -69,14 +69,20 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Leave do
|
|||
end
|
||||
|
||||
def leave(
|
||||
%Actor{type: :Group, id: group_id, url: group_url, members_url: group_members_url},
|
||||
%Actor{id: actor_id, url: actor_url},
|
||||
%Actor{
|
||||
type: :Group,
|
||||
domain: group_domain,
|
||||
id: group_id,
|
||||
url: group_url,
|
||||
members_url: group_members_url
|
||||
},
|
||||
%Actor{id: actor_id, url: actor_url, domain: actor_domain},
|
||||
local,
|
||||
additional
|
||||
) do
|
||||
case Actors.get_member(actor_id, group_id) do
|
||||
{:ok, %Member{id: member_id} = member} ->
|
||||
if Map.get(additional, :force_member_removal, false) ||
|
||||
if Map.get(additional, :force_member_removal, false) || group_domain != actor_domain ||
|
||||
!Actors.is_only_administrator?(member_id, group_id) do
|
||||
with {:ok, %Member{} = member} <- Actors.delete_member(member) do
|
||||
Mobilizon.Service.Activity.Member.insert_activity(member, subject: "member_quit")
|
||||
|
|
|
@ -28,6 +28,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Reject do
|
|||
:join -> reject_join(entity, additional)
|
||||
:follow -> reject_follow(entity, additional)
|
||||
:invite -> reject_invite(entity, additional)
|
||||
:member -> reject_member(entity, additional)
|
||||
end
|
||||
|
||||
{:ok, activity} = create_activity(update_data, local)
|
||||
|
@ -118,4 +119,28 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Reject do
|
|||
{:ok, member, accept_data}
|
||||
end
|
||||
end
|
||||
|
||||
@spec reject_member(Member.t(), map()) :: {:ok, Member.t(), Activity.t()} | any
|
||||
defp reject_member(
|
||||
%Member{actor_id: actor_id} = member,
|
||||
%{moderator: %Actor{url: actor_url}}
|
||||
) do
|
||||
with %Actor{} <- Actors.get_actor(actor_id),
|
||||
{:ok, %Member{url: member_url, id: member_id} = member} <-
|
||||
Actors.delete_member(member),
|
||||
Mobilizon.Service.Activity.Member.insert_activity(member,
|
||||
subject: "member_rejected"
|
||||
),
|
||||
accept_data <- %{
|
||||
"type" => "Reject",
|
||||
"actor" => actor_url,
|
||||
"attributedTo" => member.parent.url,
|
||||
"to" => [member.parent.members_url],
|
||||
"cc" => [member.parent.url],
|
||||
"object" => member_url,
|
||||
"id" => "#{Endpoint.url()}/reject/member/#{member_id}"
|
||||
} do
|
||||
{:ok, member, accept_data}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,23 +21,25 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Remove do
|
|||
@spec remove(Member.t(), Actor.t(), Actor.t(), boolean, map) ::
|
||||
{:ok, Activity.t(), Member.t()} | {:error, :member_not_found | Ecto.Changeset.t()}
|
||||
def remove(
|
||||
%Member{} = member,
|
||||
%Member{id: member_id},
|
||||
%Actor{type: :Group, url: group_url, members_url: group_members_url},
|
||||
%Actor{url: moderator_url} = moderator,
|
||||
local,
|
||||
_additional \\ %{}
|
||||
) do
|
||||
with {:ok, %Member{id: member_id}} <- Actors.update_member(member, %{role: :rejected}),
|
||||
%Member{} = member <- Actors.get_member(member_id) do
|
||||
with %Member{actor: %Actor{url: actor_url}} = member <- Actors.get_member(member_id),
|
||||
{:ok, %Member{}} <- Actors.delete_member(member) do
|
||||
Mobilizon.Service.Activity.Member.insert_activity(member,
|
||||
moderator: moderator,
|
||||
subject: "member_removed"
|
||||
)
|
||||
|
||||
Cachex.del(:activity_pub, "member_#{member_id}")
|
||||
|
||||
EmailMember.send_notification_to_removed_member(member)
|
||||
|
||||
remove_data = %{
|
||||
"to" => [group_members_url],
|
||||
"to" => [actor_url, group_members_url],
|
||||
"type" => "Remove",
|
||||
"actor" => moderator_url,
|
||||
"object" => member.url,
|
||||
|
|
|
@ -740,14 +740,13 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
|||
) do
|
||||
Logger.info("Handle incoming to remove a member from a group")
|
||||
|
||||
with {:ok, %Actor{id: moderator_id} = moderator} <-
|
||||
with {:ok, %Actor{} = moderator} <-
|
||||
data |> Utils.get_actor() |> ActivityPubActor.get_or_fetch_actor_by_url(),
|
||||
{:ok, person_id} <- get_remove_object(object),
|
||||
{:ok, %Actor{type: :Group, id: group_id} = group} <-
|
||||
origin |> Utils.get_url() |> ActivityPubActor.get_or_fetch_actor_by_url(),
|
||||
{:is_admin, {:ok, %Member{role: role}}}
|
||||
when role in [:moderator, :administrator, :creator] <-
|
||||
{:is_admin, Actors.get_member(moderator_id, group_id)},
|
||||
{:is_admin, true} <-
|
||||
{:is_admin, can_remove_actor_from_group?(moderator, group)},
|
||||
{:is_member, {:ok, %Member{role: role} = member}} when role != :rejected <-
|
||||
{:is_member, Actors.get_member(person_id, group_id)} do
|
||||
Actions.Remove.remove(member, group, moderator, false)
|
||||
|
@ -866,6 +865,9 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
|||
|
||||
{:error, _err} ->
|
||||
case get_member(join_object) do
|
||||
{:ok, %Member{role: :not_approved} = member} ->
|
||||
do_handle_incoming_accept_join_group(member, :member, %{moderator: actor_accepting})
|
||||
|
||||
{:ok, %Member{invited_by: nil} = member} ->
|
||||
do_handle_incoming_accept_join_group(member, :join)
|
||||
|
||||
|
@ -922,15 +924,17 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
|||
|
||||
defp do_handle_incoming_accept_join_group(
|
||||
%Member{role: role, parent: _group} = member,
|
||||
type
|
||||
type,
|
||||
additional \\ %{}
|
||||
)
|
||||
when role in [:not_approved, :rejected, :invited] and type in [:join, :invite] do
|
||||
when role in [:not_approved, :rejected, :invited] and type in [:join, :invite, :member] do
|
||||
# Or maybe for groups it's the group that sends the Accept activity
|
||||
with {:ok, %Activity{} = activity, %Member{role: :member} = member} <-
|
||||
Actions.Accept.accept(
|
||||
type,
|
||||
member,
|
||||
false
|
||||
false,
|
||||
additional
|
||||
) do
|
||||
{:ok, activity, member}
|
||||
end
|
||||
|
@ -1194,4 +1198,17 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
|||
Actions.Create.create(:discussion, object_data, false)
|
||||
end
|
||||
end
|
||||
|
||||
@spec can_remove_actor_from_group?(Actor.t(), Actor.t()) :: boolean()
|
||||
defp can_remove_actor_from_group?(%Actor{} = moderator, %Actor{} = group) do
|
||||
case Actors.get_member(moderator.id, group.id) do
|
||||
{:ok, %Member{role: role}} when role in [:moderator, :administrator, :creator] ->
|
||||
true
|
||||
|
||||
_ ->
|
||||
# If member moderator not found, it's probably because no one on this instance is member of this group yet
|
||||
# Therefore we can't access the list of admin/moderators and we just trust the origin domain
|
||||
moderator.domain == group.domain
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -151,7 +151,13 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Actors do
|
|||
|> Map.update(:message, nil, &String.trim(HTML.strip_tags(&1)))
|
||||
}) do
|
||||
{:ok, %Member{} = member} ->
|
||||
Mobilizon.Service.Activity.Member.insert_activity(member, subject: "member_joined")
|
||||
subject =
|
||||
case Mobilizon.Actors.get_default_member_role(group) do
|
||||
:not_approved -> "member_request"
|
||||
:member -> "member_joined"
|
||||
end
|
||||
|
||||
Mobilizon.Service.Activity.Member.insert_activity(member, subject: subject)
|
||||
|
||||
Absinthe.Subscription.publish(Endpoint, actor,
|
||||
group_membership_changed: [Actor.preferred_username_and_domain(group), actor.id]
|
||||
|
|
|
@ -118,6 +118,34 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
|
|||
"timezone" => %{
|
||||
"@id" => "mz:timezone",
|
||||
"@type" => "sc:Text"
|
||||
},
|
||||
"discussions" => %{
|
||||
"@id" => "mz:discussions",
|
||||
"@type" => "@id"
|
||||
},
|
||||
"events" => %{
|
||||
"@id" => "mz:events",
|
||||
"@type" => "@id"
|
||||
},
|
||||
"members" => %{
|
||||
"@id" => "mz:members",
|
||||
"@type" => "@id"
|
||||
},
|
||||
"openness" => %{
|
||||
"@id" => "mz:openness",
|
||||
"@type" => "@id"
|
||||
},
|
||||
"posts" => %{
|
||||
"@id" => "mz:posts",
|
||||
"@type" => "@id"
|
||||
},
|
||||
"resources" => %{
|
||||
"@id" => "mz:resources",
|
||||
"@type" => "@id"
|
||||
},
|
||||
"todos" => %{
|
||||
"@id" => "mz:todos",
|
||||
"@type" => "@id"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -54,13 +54,6 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Actor do
|
|||
outbox_url: data["outbox"],
|
||||
following_url: data["following"],
|
||||
followers_url: data["followers"],
|
||||
members_url: data["members"],
|
||||
resources_url: data["resources"],
|
||||
todos_url: data["todos"],
|
||||
events_url: data["events"],
|
||||
posts_url: data["posts"],
|
||||
discussions_url: data["discussions"],
|
||||
shared_inbox_url: data["endpoints"]["sharedInbox"],
|
||||
domain: URI.parse(data["id"]).host,
|
||||
manually_approves_followers: data["manuallyApprovesFollowers"],
|
||||
type: data["type"],
|
||||
|
@ -68,10 +61,26 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Actor do
|
|||
openness: data["openness"],
|
||||
physical_address_id: if(address, do: address.id, else: nil)
|
||||
}
|
||||
|> add_endpoints_to_model(data)
|
||||
end
|
||||
|
||||
def as_to_model_data(_), do: {:error, :actor_not_allowed_type}
|
||||
|
||||
defp add_endpoints_to_model(actor, data) do
|
||||
# TODO: Remove fallbacks in 3.0
|
||||
endpoints = %{
|
||||
members_url: get_in(data, ["endpoints", "members"]) || data["members"],
|
||||
resources_url: get_in(data, ["endpoints", "resources"]) || data["resources"],
|
||||
todos_url: get_in(data, ["endpoints", "todos"]) || data["todos"],
|
||||
events_url: get_in(data, ["endpoints", "events"]) || data["events"],
|
||||
posts_url: get_in(data, ["endpoints", "posts"]) || data["posts"],
|
||||
discussions_url: get_in(data, ["endpoints", "discussions"]) || data["discussions"],
|
||||
shared_inbox_url: data["endpoints"]["sharedInbox"]
|
||||
}
|
||||
|
||||
Map.merge(actor, endpoints)
|
||||
end
|
||||
|
||||
@doc """
|
||||
Convert an actor struct to an ActivityStream representation.
|
||||
"""
|
||||
|
@ -86,12 +95,6 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Actor do
|
|||
"summary" => actor.summary || "",
|
||||
"following" => actor.following_url,
|
||||
"followers" => actor.followers_url,
|
||||
"members" => actor.members_url,
|
||||
"resources" => actor.resources_url,
|
||||
"todos" => actor.todos_url,
|
||||
"posts" => actor.posts_url,
|
||||
"events" => actor.events_url,
|
||||
"discussions" => actor.discussions_url,
|
||||
"inbox" => actor.inbox_url,
|
||||
"outbox" => actor.outbox_url,
|
||||
"url" => actor.url,
|
||||
|
@ -113,12 +116,30 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Actor do
|
|||
}
|
||||
|
||||
actor_data
|
||||
|> add_endpoints(actor)
|
||||
|> maybe_add_members(actor)
|
||||
|> maybe_add_avatar_picture(actor)
|
||||
|> maybe_add_banner_picture(actor)
|
||||
|> maybe_add_physical_address(actor)
|
||||
end
|
||||
|
||||
defp add_endpoints(%{"endpoints" => endpoints} = actor_data, %ActorModel{} = actor) do
|
||||
new_endpoints = %{
|
||||
"members" => actor.members_url,
|
||||
"resources" => actor.resources_url,
|
||||
"todos" => actor.todos_url,
|
||||
"posts" => actor.posts_url,
|
||||
"events" => actor.events_url,
|
||||
"discussions" => actor.discussions_url
|
||||
}
|
||||
|
||||
endpoints = Map.merge(endpoints, new_endpoints)
|
||||
|
||||
actor_data
|
||||
|> Map.merge(new_endpoints)
|
||||
|> Map.put("endpoints", endpoints)
|
||||
end
|
||||
|
||||
@spec download_picture(String.t() | nil, String.t(), String.t()) :: map() | nil
|
||||
defp download_picture(nil, _name, _default_name), do: nil
|
||||
|
||||
|
|
|
@ -141,6 +141,37 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
|
|||
end
|
||||
end
|
||||
|
||||
def approve_member(_parent, %{member_id: member_id}, %{
|
||||
context: %{current_actor: %Actor{} = moderator}
|
||||
}) do
|
||||
case Actors.get_member(member_id) do
|
||||
%Member{} = member ->
|
||||
with {:ok, _activity, %Member{} = member} <-
|
||||
Actions.Accept.accept(:member, member, true, %{moderator: moderator}) do
|
||||
{:ok, member}
|
||||
end
|
||||
|
||||
{:error, :member_not_found} ->
|
||||
{:error, dgettext("errors", "You are not a moderator or admin for this group")}
|
||||
end
|
||||
end
|
||||
|
||||
# TODO : Maybe remove me ? Remove member with exclude parameter does the same
|
||||
def reject_member(_parent, %{member_id: member_id}, %{
|
||||
context: %{current_actor: %Actor{} = moderator}
|
||||
}) do
|
||||
case Actors.get_member(member_id) do
|
||||
%Member{} = member ->
|
||||
with {:ok, _activity, %Member{} = member} <-
|
||||
Actions.Reject.reject(:member, member, true, %{moderator: moderator}) do
|
||||
{:ok, member}
|
||||
end
|
||||
|
||||
{:error, :member_not_found} ->
|
||||
{:error, dgettext("errors", "You are not a moderator or admin for this group")}
|
||||
end
|
||||
end
|
||||
|
||||
@spec update_member(any(), map(), Absinthe.Resolution.t()) ::
|
||||
{:ok, Member.t()} | {:error, String.t()}
|
||||
def update_member(_parent, %{member_id: member_id, role: role}, %{
|
||||
|
@ -168,18 +199,17 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
|
|||
|
||||
@spec remove_member(any(), map(), Absinthe.Resolution.t()) ::
|
||||
{:ok, Member.t()} | {:error, String.t()}
|
||||
def remove_member(_parent, %{member_id: member_id, group_id: group_id}, %{
|
||||
def remove_member(_parent, %{member_id: member_id, exclude: _exclude}, %{
|
||||
context: %{current_actor: %Actor{id: moderator_id} = moderator}
|
||||
}) do
|
||||
with %Member{role: role} = member when role != :rejected <- Actors.get_member(member_id),
|
||||
%Actor{type: :Group} = group <- Actors.get_actor(group_id),
|
||||
{:has_rights_to_remove, {:ok, %Member{role: role}}}
|
||||
when role in [:moderator, :administrator, :creator] <-
|
||||
{:has_rights_to_remove, Actors.get_member(moderator_id, group_id)},
|
||||
{:ok, _activity, %Member{}} <-
|
||||
Actions.Remove.remove(member, group, moderator, true) do
|
||||
{:ok, member}
|
||||
else
|
||||
case Actors.get_member(member_id) do
|
||||
nil ->
|
||||
{:error,
|
||||
dgettext(
|
||||
"errors",
|
||||
"This member does not exist"
|
||||
)}
|
||||
|
||||
%Member{role: :rejected} ->
|
||||
{:error,
|
||||
dgettext(
|
||||
|
@ -187,15 +217,41 @@ defmodule Mobilizon.GraphQL.Resolvers.Member do
|
|||
"This member already has been rejected."
|
||||
)}
|
||||
|
||||
{:has_rights_to_remove, _} ->
|
||||
{:error,
|
||||
dgettext(
|
||||
"errors",
|
||||
"You don't have the right to remove this member."
|
||||
)}
|
||||
%Member{parent_id: group_id} = member ->
|
||||
case Actors.get_member(moderator_id, group_id) do
|
||||
{:ok, %Member{role: role}} when role in [:moderator, :administrator, :creator] ->
|
||||
%Actor{type: :Group} = group = Actors.get_actor(group_id)
|
||||
|
||||
with {:ok, _activity, %Member{}} <-
|
||||
Actions.Remove.remove(member, group, moderator, true) do
|
||||
{:ok, member}
|
||||
end
|
||||
|
||||
{:ok, %Member{}} ->
|
||||
{:error,
|
||||
dgettext(
|
||||
"errors",
|
||||
"You don't have the role needed to remove this member."
|
||||
)}
|
||||
|
||||
{:error, :member_not_found} ->
|
||||
{:error,
|
||||
dgettext(
|
||||
"errors",
|
||||
"You don't have the right to remove this member."
|
||||
)}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def remove_member(_parent, _args, _resolution),
|
||||
do:
|
||||
{:error,
|
||||
dgettext(
|
||||
"errors",
|
||||
"You must be logged-in to remove a member"
|
||||
)}
|
||||
|
||||
# Rejected members can be invited again
|
||||
@spec check_member_not_existant_or_rejected(String.t() | integer, String.t() | integer()) ::
|
||||
boolean()
|
||||
|
|
|
@ -81,6 +81,24 @@ defmodule Mobilizon.GraphQL.Schema.Actors.MemberType do
|
|||
resolve(&Member.reject_invitation/3)
|
||||
end
|
||||
|
||||
@desc """
|
||||
Approve a membership request
|
||||
"""
|
||||
field :approve_member, :member do
|
||||
arg(:member_id, non_null(:id), description: "The member ID")
|
||||
|
||||
resolve(&Member.approve_member/3)
|
||||
end
|
||||
|
||||
@desc """
|
||||
Reject a membership request
|
||||
"""
|
||||
field :reject_member, :member do
|
||||
arg(:member_id, non_null(:id), description: "The member ID")
|
||||
|
||||
resolve(&Member.reject_member/3)
|
||||
end
|
||||
|
||||
@desc """
|
||||
Update a member's role
|
||||
"""
|
||||
|
@ -93,9 +111,13 @@ defmodule Mobilizon.GraphQL.Schema.Actors.MemberType do
|
|||
|
||||
@desc "Remove a member from a group"
|
||||
field :remove_member, :member do
|
||||
arg(:group_id, non_null(:id), description: "The group ID")
|
||||
arg(:member_id, non_null(:id), description: "The member ID")
|
||||
|
||||
arg(:exclude, :boolean,
|
||||
default_value: false,
|
||||
description: "Whether the member should be excluded from the group"
|
||||
)
|
||||
|
||||
resolve(&Member.remove_member/3)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,19 +18,19 @@ defmodule Mobilizon.Service.Activity.Member do
|
|||
) do
|
||||
subject = Keyword.get(options, :subject)
|
||||
|
||||
with author_id <- get_author(new_member, options),
|
||||
object_id <- if(subject == "member_removed", do: nil, else: to_string(member_id)) do
|
||||
ActivityBuilder.enqueue(:build_activity, %{
|
||||
"type" => "member",
|
||||
"subject" => subject,
|
||||
"subject_params" => get_subject_params(new_member, options),
|
||||
"group_id" => parent_id,
|
||||
"author_id" => author_id,
|
||||
"object_type" => "member",
|
||||
"object_id" => object_id,
|
||||
"inserted_at" => DateTime.utc_now()
|
||||
})
|
||||
end
|
||||
author_id = get_author(new_member, options)
|
||||
object_id = if(subject == "member_removed", do: nil, else: to_string(member_id))
|
||||
|
||||
ActivityBuilder.enqueue(:build_activity, %{
|
||||
"type" => "member",
|
||||
"subject" => subject,
|
||||
"subject_params" => get_subject_params(new_member, options),
|
||||
"group_id" => parent_id,
|
||||
"author_id" => author_id,
|
||||
"object_type" => "member",
|
||||
"object_id" => object_id,
|
||||
"inserted_at" => DateTime.utc_now()
|
||||
})
|
||||
end
|
||||
|
||||
def insert_activity(_, _), do: {:ok, nil}
|
||||
|
@ -66,38 +66,41 @@ defmodule Mobilizon.Service.Activity.Member do
|
|||
end
|
||||
end
|
||||
|
||||
moderator = Keyword.get(options, :moderator)
|
||||
old_member = Keyword.get(options, :old_member)
|
||||
|
||||
subject_params = %{
|
||||
%{
|
||||
member_role: String.upcase(to_string(role))
|
||||
}
|
||||
|> maybe_add_actor(actor)
|
||||
|> maybe_add_old_member(Keyword.get(options, :old_member))
|
||||
|> maybe_add_moderator(Keyword.get(options, :moderator))
|
||||
end
|
||||
|
||||
subject_params =
|
||||
if(is_nil(actor),
|
||||
do: subject_params,
|
||||
else:
|
||||
subject_params
|
||||
|> Map.put(
|
||||
:member_actor_federated_username,
|
||||
Actor.preferred_username_and_domain(actor)
|
||||
)
|
||||
|> Map.put(:member_actor_name, actor.name)
|
||||
)
|
||||
@spec maybe_add_actor(map(), Actor.t() | nil) :: map()
|
||||
defp maybe_add_actor(subject_params, nil), do: subject_params
|
||||
|
||||
subject_params =
|
||||
if(is_nil(old_member),
|
||||
do: subject_params,
|
||||
else: Map.put(subject_params, :old_role, String.upcase(to_string(old_member.role)))
|
||||
)
|
||||
defp maybe_add_actor(subject_params, %Actor{} = actor) do
|
||||
subject_params
|
||||
|> Map.put(
|
||||
:member_actor_federated_username,
|
||||
Actor.preferred_username_and_domain(actor)
|
||||
)
|
||||
|> Map.put(:member_actor_name, actor.name)
|
||||
end
|
||||
|
||||
if is_nil(moderator),
|
||||
do: subject_params,
|
||||
else:
|
||||
Map.put(
|
||||
subject_params,
|
||||
:moderator_preferred_username,
|
||||
Actor.preferred_username_and_domain(moderator)
|
||||
)
|
||||
@spec maybe_add_old_member(map(), Member.t() | nil) :: map()
|
||||
defp maybe_add_old_member(subject_params, nil), do: subject_params
|
||||
|
||||
defp maybe_add_old_member(subject_params, old_member) do
|
||||
Map.put(subject_params, :old_role, String.upcase(to_string(old_member.role)))
|
||||
end
|
||||
|
||||
@spec maybe_add_moderator(map(), Actor.t() | nil) :: map()
|
||||
defp maybe_add_moderator(subject_params, nil), do: subject_params
|
||||
|
||||
defp maybe_add_moderator(subject_params, moderator) do
|
||||
Map.put(
|
||||
subject_params,
|
||||
:moderator_preferred_username,
|
||||
Actor.preferred_username_and_domain(moderator)
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -50,6 +50,14 @@ defmodule Mobilizon.Service.Activity.Renderer.Member do
|
|||
dgettext("activity", "%{profile} added the member %{member}.", args)
|
||||
end
|
||||
|
||||
defp text(:member_approved, args) do
|
||||
dgettext("activity", "%{profile} approved the membership request from %{member}.", args)
|
||||
end
|
||||
|
||||
defp text(:member_rejected, args) do
|
||||
dgettext("activity", "%{profile} rejected the membership request from %{member}.", args)
|
||||
end
|
||||
|
||||
defp text(:member_updated, args) do
|
||||
dgettext("activity", "%{profile} updated the member %{member}.", args)
|
||||
end
|
||||
|
|
|
@ -247,7 +247,7 @@ defmodule Mobilizon.Service.Notifications.Scheduler do
|
|||
:direct
|
||||
|
||||
:one_day ->
|
||||
calculate_next_day_notification(Date.utc_today(), timezone)
|
||||
calculate_next_day_notification(Date.utc_today(), timezone: timezone)
|
||||
|
||||
:one_hour ->
|
||||
DateTime.utc_now()
|
||||
|
|
|
@ -46,13 +46,65 @@ defmodule Mobilizon.Web.Email.Member do
|
|||
end
|
||||
end
|
||||
|
||||
# Only send notification to local members
|
||||
def send_notification_to_approved_member(%Member{actor: %Actor{user_id: nil}}), do: :ok
|
||||
|
||||
def send_notification_to_approved_member(%Member{
|
||||
actor: %Actor{user_id: user_id},
|
||||
parent: %Actor{} = group
|
||||
}) do
|
||||
with %User{email: email, locale: locale} <- Users.get_user!(user_id) do
|
||||
Gettext.put_locale(locale)
|
||||
|
||||
subject =
|
||||
gettext(
|
||||
"Your membership request for group %{group} has been approved",
|
||||
group: Actor.display_name(group)
|
||||
)
|
||||
|
||||
Email.base_email(to: email, subject: subject)
|
||||
|> assign(:locale, locale)
|
||||
|> assign(:group, group)
|
||||
|> assign(:subject, subject)
|
||||
|> render(:group_membership_approval)
|
||||
|> Email.Mailer.send_email_later()
|
||||
|
||||
:ok
|
||||
end
|
||||
end
|
||||
|
||||
# Only send notification to local members
|
||||
def send_notification_to_removed_member(%Member{actor: %Actor{user_id: nil}}), do: :ok
|
||||
|
||||
# Member rejection
|
||||
def send_notification_to_removed_member(%Member{
|
||||
actor: %Actor{user_id: user_id},
|
||||
parent: %Actor{} = group,
|
||||
role: :rejected
|
||||
role: :not_approved
|
||||
}) do
|
||||
with %User{email: email, locale: locale} <- Users.get_user!(user_id) do
|
||||
Gettext.put_locale(locale)
|
||||
|
||||
subject =
|
||||
gettext(
|
||||
"Your membership request for group %{group} has been rejected",
|
||||
group: Actor.display_name(group)
|
||||
)
|
||||
|
||||
Email.base_email(to: email, subject: subject)
|
||||
|> assign(:locale, locale)
|
||||
|> assign(:group, group)
|
||||
|> assign(:subject, subject)
|
||||
|> render(:group_membership_rejection)
|
||||
|> Email.Mailer.send_email_later()
|
||||
|
||||
:ok
|
||||
end
|
||||
end
|
||||
|
||||
def send_notification_to_removed_member(%Member{
|
||||
actor: %Actor{user_id: user_id},
|
||||
parent: %Actor{} = group
|
||||
}) do
|
||||
with %User{email: email, locale: locale} <- Users.get_user!(user_id) do
|
||||
Gettext.put_locale(locale)
|
||||
|
@ -60,7 +112,7 @@ defmodule Mobilizon.Web.Email.Member do
|
|||
subject =
|
||||
gettext(
|
||||
"You have been removed from group %{group}",
|
||||
group: group.name
|
||||
group: Actor.display_name(group)
|
||||
)
|
||||
|
||||
Email.base_email(to: email, subject: subject)
|
||||
|
|
69
lib/web/templates/email/group_membership_approval.html.heex
Normal file
69
lib/web/templates/email/group_membership_approval.html.heex
Normal file
|
@ -0,0 +1,69 @@
|
|||
<!-- HERO -->
|
||||
<tr>
|
||||
<td bgcolor="#474467" 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: #3A384C; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 48px; font-weight: 400; line-height: 48px;">
|
||||
<h1 style="font-size: 48px; font-weight: 400; margin: 0;">
|
||||
<%= gettext "You're in!" %>
|
||||
</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--[if (gte mso 9)|(IE)]>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- COPY BLOCK -->
|
||||
<tr>
|
||||
<td bgcolor="#E6E4F4" 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: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||
<p style="margin: 0;">
|
||||
<%= gettext("Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved.", group: Mobilizon.Actors.Actor.display_name(@group), link_start: "<a href=\"#{Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@group))}\">", link_end: "</a>") |> raw %>
|
||||
</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="#3C376E">
|
||||
<a href={"#{ Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@group)) }"} target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;">
|
||||
<%= gettext "View the group" %>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--[if (gte mso 9)|(IE)]>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
|
@ -0,0 +1,5 @@
|
|||
<%= gettext "You're in!" %>
|
||||
==
|
||||
<%= gettext "Your membership request for group %{group} has been approved.", group: Mobilizon.Actors.Actor.display_name(@group) %>
|
||||
|
||||
<%= Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@group)) %>
|
49
lib/web/templates/email/group_membership_rejection.html.heex
Normal file
49
lib/web/templates/email/group_membership_rejection.html.heex
Normal file
|
@ -0,0 +1,49 @@
|
|||
<!-- HERO -->
|
||||
<tr>
|
||||
<td bgcolor="#474467" 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: #3A384C; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 48px; font-weight: 400; line-height: 48px;">
|
||||
<h1 style="font-size: 48px; font-weight: 400; margin: 0;">
|
||||
<%= gettext "Sorry, not this time!" %>
|
||||
</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--[if (gte mso 9)|(IE)]>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- COPY BLOCK -->
|
||||
<tr>
|
||||
<td bgcolor="#E6E4F4" 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 40px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
|
||||
<p style="margin: 0;">
|
||||
<%= gettext("Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected.", group: Mobilizon.Actors.Actor.display_name(@group), link_start: "<a href=\"#{Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@group))}\">", link_end: "</a>") |> raw %>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--[if (gte mso 9)|(IE)]>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
|
@ -0,0 +1,5 @@
|
|||
<%= gettext "Sorry, not this time!" %>
|
||||
==
|
||||
<%= gettext "Your membership request for group %{group} has been rejected.", group: Mobilizon.Actors.Actor.display_name(@group) %>
|
||||
|
||||
<%= Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@group)) %>
|
|
@ -89,7 +89,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -107,7 +107,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -143,7 +143,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -315,3 +315,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -324,3 +324,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1061,7 +1061,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1646,7 +1646,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1655,3 +1655,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -547,7 +547,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -583,7 +584,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -818,12 +819,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1033,3 +1034,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -318,3 +318,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1037,7 +1037,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1622,7 +1622,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1631,3 +1631,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -521,7 +521,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -557,7 +558,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -792,12 +793,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1007,3 +1008,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1235,7 +1235,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Salut i canya al forçut!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "T'han tret del grup %{group}"
|
||||
|
||||
|
@ -1878,7 +1878,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Ubicació"
|
||||
|
@ -1887,3 +1887,50 @@ msgstr "Ubicació"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "T'han acceptat!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -522,7 +522,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -558,7 +559,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -793,12 +794,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1008,3 +1009,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -318,3 +318,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1037,7 +1037,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1622,7 +1622,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1631,3 +1631,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -521,7 +521,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -557,7 +558,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -792,12 +793,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1007,3 +1008,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr "%{profile} hat die Ressource %{resource} gelöscht."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr "%{profile} hat das Mitglied %{member} ausgeschlossen."
|
||||
|
@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "%{profile} hat die Gruppe verlassen."
|
||||
|
@ -153,7 +153,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr "%{profile} hat die Gruppe %{group} aktualisiert."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "%{profile} hat das Mitglied %{member} aktualisiert."
|
||||
|
@ -326,3 +326,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr "%{profile} hat das Mitglied %{member} aktualisiert."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1277,7 +1277,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Macht's gut und danke für den Fisch!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Sie wurden aus der Gruppe %{group} entfernt"
|
||||
|
||||
|
@ -1990,7 +1990,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Ort"
|
||||
|
@ -1999,3 +1999,50 @@ msgstr "Ort"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Sie sind dabei!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -532,7 +532,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Sie sind nicht Mitglied in dieser Gruppe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Sie sind kein Moderator oder Admin für diese Gruppe"
|
||||
|
||||
|
@ -571,7 +572,7 @@ msgstr ""
|
|||
"Teilnehmer sind, der die Veranstaltung erstellt"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Sie können sich nicht auf eine niedrigere Mitgliedsrolle für diese Gruppe "
|
||||
|
@ -820,12 +821,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "Diese Einladung gibt es nicht."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Dieses Mitglied ist bereits abgelehnt worden."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Sie haben nicht das Recht, dieses Mitglied zu entfernen."
|
||||
|
||||
|
@ -1037,3 +1038,18 @@ msgstr "Sie müssen eingeloggt sein, um einer Gruppe beizutreten"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu aktualisieren"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Sie haben nicht das Recht, dieses Mitglied zu entfernen."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -1016,7 +1016,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1610,3 +1610,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1069,7 +1069,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1654,7 +1654,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1663,3 +1663,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -525,7 +525,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -561,7 +562,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -796,12 +797,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1011,3 +1012,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -522,7 +522,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -558,7 +559,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -793,12 +794,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1008,3 +1009,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr "%{profile} eliminado el recurso %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr "%{profile }miembro excluido %{member}."
|
||||
|
@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr "%{profile} movió el recurso %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "%{profile} abandona el grupo."
|
||||
|
@ -153,7 +153,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr "%{profile} actualizó el grupo %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "%{profile} actualizado el miembro %{member}."
|
||||
|
@ -329,3 +329,13 @@ msgstr "El post %{post} del grupo %{group} fue actualizado por %{profile}."
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "El post %{post} del grupo %{group} fue actualizado por %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr "%{profile} actualizado el miembro %{member}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1248,7 +1248,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "¡Hasta luego y gracias por el pescado!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Ha sido eliminado del grupo %{group}"
|
||||
|
||||
|
@ -1949,7 +1949,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Ubicación"
|
||||
|
@ -1958,3 +1958,50 @@ msgstr "Ubicación"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "¡Vas!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -528,7 +528,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "no eres un miembro de este grupo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "No eres moderador ni administrador de este grupo"
|
||||
|
||||
|
@ -566,7 +567,7 @@ msgstr ""
|
|||
"evento"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"No puede establecerse en un rol de miembro inferior para este grupo porque "
|
||||
|
@ -812,12 +813,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "Esta invitación no existe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Este miembro ya ha sido rechazado."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "No tiene derecho a eliminar este miembro."
|
||||
|
||||
|
@ -1035,3 +1036,18 @@ msgstr "Debes iniciar sesión para eliminar su cuenta"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Debes iniciar sesión para actualizar un grupo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "No tiene derecho a eliminar este miembro."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr "%{profile} poisti resurssin %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr "%{profile} hylkäsi jäsenen %{member}."
|
||||
|
@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr "%{profile} siirsi resurssin %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "%{profile} poistui ryhmästä."
|
||||
|
@ -151,7 +151,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr "%{profile} päivitti ryhmää %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "%{profile} päivitti jäsentä %{member}."
|
||||
|
@ -327,3 +327,13 @@ msgstr "Viestin %{post} ryhmästä %{group} julkaisi %{profile}."
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "Viestin %{post} ryhmästä %{group} päivitti %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr "%{profile} päivitti jäsentä %{member}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1228,7 +1228,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Näkemiin ja kiitos kaloista!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Sinut on poistettu ryhmästä %{group}"
|
||||
|
||||
|
@ -1916,7 +1916,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Paikka"
|
||||
|
@ -1925,3 +1925,50 @@ msgstr "Paikka"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Olet mukana!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -525,7 +525,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Et ole ryhmän jäsen"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Et ole ryhmän moderaattori tai ylläpitäjä"
|
||||
|
||||
|
@ -562,7 +563,7 @@ msgstr ""
|
|||
"Et voi poistua tapahtumasta, koska olet ainoa tapahtuman luonut osallistuja"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Et voi vaihtaa jäsenrooliasi ryhmässä nykyistä alemmaksi, koska olet ainoa "
|
||||
|
@ -799,12 +800,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "Kutsua ei ole."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Jäsen on jo hylätty."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Sinulla ei ole oikeutta poistaa jäsentä."
|
||||
|
||||
|
@ -1014,3 +1015,18 @@ msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Voit päivittää ryhmää vain sisäänkirjautuneena"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Sinulla ei ole oikeutta poistaa jäsentä."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -10,7 +10,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2021-06-30 12:15+0200\n"
|
||||
"PO-Revision-Date: 2021-11-12 17:15+0100\n"
|
||||
"Last-Translator: Thomas Citharel <thomas.citharel@framasoft.org>\n"
|
||||
"Language-Team: French <https://weblate.framasoft.org/projects/mobilizon/activity/fr/>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -18,312 +18,259 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Poedit 2.4.3\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:38
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12
|
||||
#: lib/service/activity/renderer/member.ex:38 lib/web/templates/email/activity/_member_activity_item.html.heex:19
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:12
|
||||
msgid "%{member} accepted the invitation to join the group."
|
||||
msgstr "%{member} a accepté l'invitation à rejoindre le groupe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:42
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17
|
||||
#: lib/service/activity/renderer/member.ex:42 lib/web/templates/email/activity/_member_activity_item.html.heex:26
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:17
|
||||
msgid "%{member} rejected the invitation to join the group."
|
||||
msgstr "%{member} a refusé l'invitation à rejoindre le groupe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:30
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1
|
||||
#: lib/service/activity/renderer/member.ex:30 lib/web/templates/email/activity/_member_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:1
|
||||
msgid "%{member} requested to join the group."
|
||||
msgstr "%{member} a demandé à rejoindre le groupe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:34
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6
|
||||
#: lib/service/activity/renderer/member.ex:34 lib/web/templates/email/activity/_member_activity_item.html.heex:11
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:6
|
||||
msgid "%{member} was invited by %{profile}."
|
||||
msgstr "%{member} a été invité⋅e par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:50
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27
|
||||
#: lib/service/activity/renderer/member.ex:50 lib/web/templates/email/activity/_member_activity_item.html.heex:40
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:27
|
||||
msgid "%{profile} added the member %{member}."
|
||||
msgstr "%{profile} a ajouté le ou la membre %{membre}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:65
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
|
||||
#: lib/service/activity/renderer/discussion.ex:65 lib/web/templates/email/activity/_discussion_activity_item.html.heex:46
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
|
||||
msgid "%{profile} archived the discussion %{discussion}."
|
||||
msgstr "%{profile} a archivé la discussion %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:25
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
|
||||
#: lib/service/activity/renderer/discussion.ex:25 lib/web/templates/email/activity/_discussion_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
|
||||
msgid "%{profile} created the discussion %{discussion}."
|
||||
msgstr "%{profile} a créé la discussion %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:24
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2
|
||||
#: lib/service/activity/renderer/resource.ex:24 lib/web/templates/email/activity/_resource_activity_item.html.heex:5
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:2
|
||||
msgid "%{profile} created the folder %{resource}."
|
||||
msgstr "%{profile} a créé le dossier %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_group_activity_item.text.eex:1
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:4 lib/web/templates/email/activity/_group_activity_item.text.eex:1
|
||||
msgid "%{profile} created the group %{group}."
|
||||
msgstr "%{profile} a créé le groupe %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:33
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8
|
||||
#: lib/service/activity/renderer/resource.ex:33 lib/web/templates/email/activity/_resource_activity_item.html.heex:20
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:8
|
||||
msgid "%{profile} created the resource %{resource}."
|
||||
msgstr "%{profile} a créé la resource %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:75
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
|
||||
#: lib/service/activity/renderer/discussion.ex:75 lib/web/templates/email/activity/_discussion_activity_item.html.heex:60
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
|
||||
msgid "%{profile} deleted the discussion %{discussion}."
|
||||
msgstr "%{profile} a créé la discussion %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:97
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40
|
||||
#: lib/service/activity/renderer/resource.ex:97 lib/web/templates/email/activity/_resource_activity_item.html.heex:103
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:40
|
||||
msgid "%{profile} deleted the folder %{resource}."
|
||||
msgstr "%{profile} a supprimé le dossier %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:106
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45
|
||||
#: lib/service/activity/renderer/resource.ex:106 lib/web/templates/email/activity/_resource_activity_item.html.heex:111
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:45
|
||||
msgid "%{profile} deleted the resource %{resource}."
|
||||
msgstr "%{profile} a supprimé la resource %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
#: lib/service/activity/renderer/member.ex:66 lib/web/templates/email/activity/_member_activity_item.html.heex:56
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr "%{profile} a exclu le ou la membre %{membre}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:76
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28
|
||||
#: lib/service/activity/renderer/resource.ex:76 lib/web/templates/email/activity/_resource_activity_item.html.heex:71
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:28
|
||||
msgid "%{profile} moved the folder %{resource}."
|
||||
msgstr "%{profile} a déplacé le dossier %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:85
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34
|
||||
#: lib/service/activity/renderer/resource.ex:85 lib/web/templates/email/activity/_resource_activity_item.html.heex:86
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:34
|
||||
msgid "%{profile} moved the resource %{resource}."
|
||||
msgstr "%{profile} a déplacé la ressource %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
#: lib/service/activity/renderer/member.ex:70 lib/web/templates/email/activity/_member_activity_item.html.heex:64
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "%{profile} a quitté le groupe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:55
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
|
||||
#: lib/service/activity/renderer/discussion.ex:55 lib/web/templates/email/activity/_discussion_activity_item.html.heex:32
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
|
||||
msgid "%{profile} renamed the discussion %{discussion}."
|
||||
msgstr "%{profile} a renommé la discussion %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:45
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14
|
||||
#: lib/service/activity/renderer/resource.ex:45 lib/web/templates/email/activity/_resource_activity_item.html.heex:37
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:14
|
||||
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
|
||||
msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:59
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21
|
||||
#: lib/service/activity/renderer/resource.ex:59 lib/web/templates/email/activity/_resource_activity_item.html.heex:53
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:21
|
||||
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
|
||||
msgstr "%{profile} a renommé la resource %{old_resource_title} en %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:35
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
|
||||
#: lib/service/activity/renderer/discussion.ex:35 lib/web/templates/email/activity/_discussion_activity_item.html.heex:18
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
|
||||
msgid "%{profile} replied to the discussion %{discussion}."
|
||||
msgstr "%{profile} a répondu à la discussion %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:19
|
||||
#: lib/web/templates/email/activity/_group_activity_item.text.eex:7
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:19 lib/web/templates/email/activity/_group_activity_item.text.eex:7
|
||||
msgid "%{profile} updated the group %{group}."
|
||||
msgstr "%{profile} a mis à jour le groupe %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
#: lib/service/activity/renderer/member.ex:62 lib/web/templates/email/activity/_member_activity_item.html.heex:48
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "%{profile} a mis à jour le membre %{member}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:23
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
|
||||
#: lib/service/activity/renderer/event.ex:23 lib/web/templates/email/activity/_event_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
|
||||
msgid "The event %{event} was created by %{profile}."
|
||||
msgstr "L'événement %{event} a été créé par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:43
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
|
||||
#: lib/service/activity/renderer/event.ex:43 lib/web/templates/email/activity/_event_activity_item.html.heex:34
|
||||
#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
|
||||
msgid "The event %{event} was deleted by %{profile}."
|
||||
msgstr "L'événement %{event} a été supprimé par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:33
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
|
||||
#: lib/service/activity/renderer/event.ex:33 lib/web/templates/email/activity/_event_activity_item.html.heex:19
|
||||
#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
|
||||
msgid "The event %{event} was updated by %{profile}."
|
||||
msgstr "L'événement %{event} a été mis à jour par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_post_activity_item.text.eex:1
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:4 lib/web/templates/email/activity/_post_activity_item.text.eex:1
|
||||
msgid "The post %{post} was created by %{profile}."
|
||||
msgstr "Le billet %{post} a été créé par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:34
|
||||
#: lib/web/templates/email/activity/_post_activity_item.text.eex:13
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:34 lib/web/templates/email/activity/_post_activity_item.text.eex:13
|
||||
msgid "The post %{post} was deleted by %{profile}."
|
||||
msgstr "Le billet %{post} a été supprimé par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:19
|
||||
#: lib/web/templates/email/activity/_post_activity_item.text.eex:7
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:19 lib/web/templates/email/activity/_post_activity_item.text.eex:7
|
||||
msgid "The post %{post} was updated by %{profile}."
|
||||
msgstr "Le billet %{post} a été mis à jour par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:46
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22
|
||||
#: lib/service/activity/renderer/member.ex:46 lib/web/templates/email/activity/_member_activity_item.html.heex:33
|
||||
#: lib/web/templates/email/activity/_member_activity_item.text.eex:22
|
||||
msgid "%{member} joined the group."
|
||||
msgstr "%{member} a rejoint le groupe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:63
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
|
||||
#: lib/service/activity/renderer/event.ex:63 lib/web/templates/email/activity/_event_activity_item.html.heex:58
|
||||
#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
|
||||
msgid "%{profile} posted a comment on the event %{event}."
|
||||
msgstr "%{profile} a posté un commentaire sur l'événement %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:54
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
|
||||
#: lib/service/activity/renderer/event.ex:54 lib/web/templates/email/activity/_event_activity_item.html.heex:43
|
||||
#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
|
||||
msgid "%{profile} replied to a comment on the event %{event}."
|
||||
msgstr "%{profile} a répondu à un commentaire sur l'événement %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:27
|
||||
msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings."
|
||||
msgstr "Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans vos préférences."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:135
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:23
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:135 lib/web/templates/email/email_direct_activity.text.eex:23
|
||||
msgid "View one more activity"
|
||||
msgid_plural "View %{count} more activities"
|
||||
msgstr[0] "Voir une activité de plus"
|
||||
msgstr[1] "Voir %{count} activités de plus"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:44
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:7
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:44 lib/web/templates/email/email_direct_activity.html.heex:46
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:6 lib/web/templates/email/email_direct_activity.text.eex:7
|
||||
msgid "There has been an activity!"
|
||||
msgid_plural "There has been some activity!"
|
||||
msgstr[0] "Il y a eu une activité !"
|
||||
msgstr[1] "Il y a eu de l'activité !"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/renderer.ex:46
|
||||
msgid "Activity on %{instance}"
|
||||
msgstr "Activité sur %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:38
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
|
||||
#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
|
||||
#: lib/service/activity/renderer/comment.ex:38 lib/web/templates/email/activity/_comment_activity_item.html.heex:19
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/email_anonymous_activity.html.heex:41
|
||||
#: lib/web/templates/email/email_anonymous_activity.text.eex:5
|
||||
msgid "%{profile} has posted an announcement under event %{event}."
|
||||
msgstr "%{profile} a posté une annonce sous l'événement %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:24
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
|
||||
#: lib/service/activity/renderer/comment.ex:24 lib/web/templates/email/activity/_comment_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
|
||||
msgid "%{profile} mentionned you in a comment under event %{event}."
|
||||
msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:45
|
||||
msgid "%{profile} mentionned you in the discussion %{discussion}."
|
||||
msgstr "%{profile} vous a mentionné dans la discussion %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:155
|
||||
msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}."
|
||||
msgstr ""
|
||||
"Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans %{tag_start}vos "
|
||||
"préférences%{tag_end}."
|
||||
"Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans %{tag_start}vos préférences"
|
||||
"%{tag_end}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:42
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:5
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:42 lib/web/templates/email/email_direct_activity.text.eex:5
|
||||
msgid "Here's your weekly activity recap"
|
||||
msgstr "Voici votre récapitulatif hebdomadaire d'activité"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
|
||||
msgid "Activity notification for %{instance}"
|
||||
msgstr "Notification d'activité sur %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:126
|
||||
msgid "Daily activity recap for %{instance}"
|
||||
msgstr "Récapitulatif quotidien d'activité sur %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:40
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:4
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:40 lib/web/templates/email/email_direct_activity.text.eex:4
|
||||
msgid "Here's your daily activity recap"
|
||||
msgstr "Voici votre récapitulatif quotidien d'activité"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:133
|
||||
msgid "Weekly activity recap for %{instance}"
|
||||
msgstr "Récapitulatif hebdomadaire d'activité sur %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:66
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
|
||||
#: lib/service/activity/renderer/comment.ex:66 lib/web/templates/email/activity/_comment_activity_item.html.heex:51
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
|
||||
msgid "%{profile} has posted a new comment under your event %{event}."
|
||||
msgstr "%{profile} a posté un nouveau commentaire sous votre événement %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:53
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
|
||||
#: lib/service/activity/renderer/comment.ex:53 lib/web/templates/email/activity/_comment_activity_item.html.heex:36
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
|
||||
msgid "%{profile} has posted a new reply under your event %{event}."
|
||||
msgstr "%{profile} a posté une nouvelle réponse sous votre événement %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:46
|
||||
msgid "Announcement for your event %{event}"
|
||||
msgstr "Annonce pour votre événement %{event}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/group.ex:23
|
||||
msgid "The group %{group} was updated by %{profile}."
|
||||
msgstr "Le groupe %{group} a été mis à jour par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/post.ex:47
|
||||
msgid "The post %{post} from group %{group} was deleted by %{profile}."
|
||||
msgstr "Le billet %{post} du groupe %{group} a été supprimé par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/post.ex:31
|
||||
msgid "The post %{post} from group %{group} was published by %{profile}."
|
||||
msgstr "Le billet %{post} du groupe %{group} a été publié par %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "Le billet %{post} du groupe %{group} a été mis à jour par %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr "%{profile} a approuvé la demande d'adhésion de %{member}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr "%{profile} a rejeté la demande d'adhésion de %{member}."
|
||||
|
|
|
@ -10,7 +10,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2021-11-10 20:42+0100\n"
|
||||
"PO-Revision-Date: 2021-11-12 17:13+0100\n"
|
||||
"Last-Translator: Thomas Citharel <thomas.citharel@framasoft.org>\n"
|
||||
"Language-Team: French <https://weblate.framasoft.org/projects/mobilizon/backend/fr/>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -830,7 +830,7 @@ msgstr "Si vous pensez qu'il s'agit d'une erreur, vous pouvez contacter les admi
|
|||
msgid "So long, and thanks for the fish!"
|
||||
msgstr "Salut, et encore merci pour le poisson !"
|
||||
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Vous avez été enlevé du groupe %{group}"
|
||||
|
||||
|
@ -1296,3 +1296,39 @@ msgstr "Nouvelle localisation :"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr "Nouvelle date de début :"
|
||||
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13 lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr "Désolé, pas cette fois !"
|
||||
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr "Voir le groupe"
|
||||
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13 lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Vous en êtes !"
|
||||
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr "Votre demande d'adhésion pour le groupe %{group} a été acceptée"
|
||||
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr "Votre demande d'adhésion pour le groupe %{group} a été rejetée"
|
||||
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr "Votre demande d'adhésion pour le groupe %{group} a été rejetée."
|
||||
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr "Votre demande d'adhésion pour le groupe %{link_start}<b>%{group}</b>%{link_end} a été rejetée."
|
||||
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr "Votre demande d'adhésion pour le groupe %{group} a été approuvée."
|
||||
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr "Votre demande d'adhésion pour le groupe %{link_start}<b>%{group}</b>%{link_end} a été approuvée."
|
||||
|
|
|
@ -10,7 +10,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2021-10-11 17:40+0200\n"
|
||||
"PO-Revision-Date: 2021-11-12 17:14+0100\n"
|
||||
"Last-Translator: Vincent Finance <linuxmario@linuxmario.net>\n"
|
||||
"Language-Team: French <https://weblate.framasoft.org/projects/mobilizon/backend-errors/fr/>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -96,921 +96,747 @@ msgstr "doit être supérieur ou égal à %{number}"
|
|||
msgid "must be equal to %{number}"
|
||||
msgstr "doit être égal à %{number}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:107
|
||||
msgid "Cannot refresh the token"
|
||||
msgstr "Impossible de rafraîchir le jeton"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:245
|
||||
msgid "Current profile is not a member of this group"
|
||||
msgstr "Le profil actuel n'est pas un membre de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:249
|
||||
msgid "Current profile is not an administrator of the selected group"
|
||||
msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:593
|
||||
msgid "Error while saving user settings"
|
||||
msgstr "Erreur lors de la sauvegarde des paramètres utilisateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242
|
||||
#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342
|
||||
#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79
|
||||
#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 lib/graphql/resolvers/group.ex:274
|
||||
#: lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 lib/graphql/resolvers/group.ex:391
|
||||
#: lib/graphql/resolvers/member.ex:79
|
||||
msgid "Group not found"
|
||||
msgstr "Groupe non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82
|
||||
msgid "Group with ID %{id} not found"
|
||||
msgstr "Groupe avec l'ID %{id} non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:85
|
||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||
msgstr "Impossible de s'authentifier, votre adresse e-mail ou bien votre mot de passe sont invalides."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:308
|
||||
msgid "Member not found"
|
||||
msgstr "Membre non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:94
|
||||
msgid "No profile found for the moderator user"
|
||||
msgstr "Aucun profil trouvé pour l'utilisateur modérateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:253
|
||||
msgid "No user to validate with this email was found"
|
||||
msgstr "Aucun·e utilisateur·ice à valider avec cet email n'a été trouvé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278
|
||||
msgid "No user with this email was found"
|
||||
msgstr "Aucun·e utilisateur·ice avec cette adresse e-mail n'a été trouvé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:28
|
||||
#: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236
|
||||
#: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397
|
||||
#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440
|
||||
#: lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/participant.ex:32
|
||||
#: lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 lib/graphql/resolvers/person.ex:353
|
||||
#: lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 lib/graphql/resolvers/person.ex:425
|
||||
#: lib/graphql/resolvers/person.ex:440
|
||||
msgid "Profile is not owned by authenticated user"
|
||||
msgstr "Le profil n'est pas possédé par l'utilisateur connecté"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:156
|
||||
msgid "Registrations are not open"
|
||||
msgstr "Les inscriptions ne sont pas ouvertes"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:408
|
||||
msgid "The current password is invalid"
|
||||
msgstr "Le mot de passe actuel est invalid"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:451
|
||||
msgid "The new email doesn't seem to be valid"
|
||||
msgstr "La nouvelle adresse e-mail ne semble pas être valide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:454
|
||||
msgid "The new email must be different"
|
||||
msgstr "La nouvelle adresse e-mail doit être différente"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:411
|
||||
msgid "The new password must be different"
|
||||
msgstr "Le nouveau mot de passe doit être différent"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520
|
||||
#: lib/graphql/resolvers/user.ex:523
|
||||
#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 lib/graphql/resolvers/user.ex:523
|
||||
msgid "The password provided is invalid"
|
||||
msgstr "Le mot de passe fourni est invalide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:415
|
||||
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
|
||||
msgstr ""
|
||||
"Le mot de passe que vous avez choisi est trop court. Merci de vous assurer que votre mot de passe contienne au moins "
|
||||
"6 caractères."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:274
|
||||
msgid "This user can't reset their password"
|
||||
msgstr "Cet·te utilisateur·ice ne peut pas réinitialiser son mot de passe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:81
|
||||
msgid "This user has been disabled"
|
||||
msgstr "Cet·te utilisateur·ice a été désactivé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237
|
||||
msgid "Unable to validate user"
|
||||
msgstr "Impossible de valider l'utilisateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:501
|
||||
msgid "User already disabled"
|
||||
msgstr "L'utilisateur·ice est déjà désactivé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:568
|
||||
msgid "User requested is not logged-in"
|
||||
msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:280
|
||||
msgid "You are already a member of this group"
|
||||
msgstr "Vous êtes déjà membre de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:315
|
||||
msgid "You can't leave this group because you are the only administrator"
|
||||
msgstr "Vous ne pouvez pas quitter ce groupe car vous en êtes le ou la seul·e administrateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:277
|
||||
msgid "You cannot join this group"
|
||||
msgstr "Vous ne pouvez pas rejoindre ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:112
|
||||
msgid "You may not list groups unless moderator."
|
||||
msgstr "Vous ne pouvez pas lister les groupes sauf à être modérateur·ice."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:466
|
||||
msgid "You need to be logged-in to change your email"
|
||||
msgstr "Vous devez être connecté·e pour changer votre adresse e-mail"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:423
|
||||
msgid "You need to be logged-in to change your password"
|
||||
msgstr "Vous devez être connecté·e pour changer votre mot de passe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:254
|
||||
msgid "You need to be logged-in to delete a group"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:528
|
||||
msgid "You need to be logged-in to delete your account"
|
||||
msgstr "Vous devez être connecté·e pour supprimer votre compte"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:285
|
||||
msgid "You need to be logged-in to join a group"
|
||||
msgstr "Vous devez être connecté·e pour rejoindre un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:320
|
||||
msgid "You need to be logged-in to leave a group"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:218
|
||||
msgid "You need to be logged-in to update a group"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:112
|
||||
msgid "You need to have an existing token to get a refresh token"
|
||||
msgstr "Vous devez avoir un jeton existant pour obtenir un jeton de rafraîchissement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:256 lib/graphql/resolvers/user.ex:281
|
||||
msgid "You requested again a confirmation email too soon"
|
||||
msgstr "Vous avez à nouveau demandé un email de confirmation trop vite"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:159
|
||||
msgid "Your email is not on the allowlist"
|
||||
msgstr "Votre adresse e-mail n'est pas sur la liste d'autorisations"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:100
|
||||
msgid "Error while performing background task"
|
||||
msgstr "Erreur lors de l'exécution d'une tâche d'arrière-plan"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:32
|
||||
msgid "No profile found with this ID"
|
||||
msgstr "Aucun profil trouvé avec cet ID"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97
|
||||
msgid "No remote profile found with this ID"
|
||||
msgstr "Aucun profil distant trouvé avec cet ID"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:72
|
||||
msgid "Only moderators and administrators can suspend a profile"
|
||||
msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent suspendre un profil"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:105
|
||||
msgid "Only moderators and administrators can unsuspend a profile"
|
||||
msgstr "Seul·es les modérateur·ice et les administrateur·ices peuvent annuler la suspension d'un profil"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:29
|
||||
msgid "Only remote profiles may be refreshed"
|
||||
msgstr "Seuls les profils distants peuvent être rafraîchis"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:64
|
||||
msgid "Profile already suspended"
|
||||
msgstr "Le profil est déjà suspendu"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:96
|
||||
msgid "A valid email is required by your instance"
|
||||
msgstr "Une adresse e-mail valide est requise par votre instance"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:90
|
||||
#: lib/graphql/resolvers/participant.ex:143
|
||||
#: lib/graphql/resolvers/participant.ex:90 lib/graphql/resolvers/participant.ex:143
|
||||
msgid "Anonymous participation is not enabled"
|
||||
msgstr "La participation anonyme n'est pas activée"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:210
|
||||
msgid "Cannot remove the last administrator of a group"
|
||||
msgstr "Impossible de supprimer le ou la dernier·ère administrateur·ice d'un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:207
|
||||
msgid "Cannot remove the last identity of a user"
|
||||
msgstr "Impossible de supprimer le dernier profil d'un·e utilisateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:126
|
||||
msgid "Comment is already deleted"
|
||||
msgstr "Le commentaire est déjà supprimé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69
|
||||
msgid "Discussion not found"
|
||||
msgstr "Discussion non trouvée"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82
|
||||
msgid "Error while saving report"
|
||||
msgstr "Erreur lors de la sauvegarde du signalement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:102
|
||||
msgid "Error while updating report"
|
||||
msgstr "Erreur lors de la mise à jour du signalement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:131
|
||||
msgid "Event id not found"
|
||||
msgstr "ID de l'événement non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360
|
||||
#: lib/graphql/resolvers/event.ex:412
|
||||
#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 lib/graphql/resolvers/event.ex:412
|
||||
msgid "Event not found"
|
||||
msgstr "Événement non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:87
|
||||
#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155
|
||||
#: lib/graphql/resolvers/participant.ex:336
|
||||
#: lib/graphql/resolvers/participant.ex:87 lib/graphql/resolvers/participant.ex:128
|
||||
#: lib/graphql/resolvers/participant.ex:155 lib/graphql/resolvers/participant.ex:336
|
||||
msgid "Event with this ID %{id} doesn't exist"
|
||||
msgstr "L'événement avec cet ID %{id} n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:103
|
||||
msgid "Internal Error"
|
||||
msgstr "Erreur interne"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:219
|
||||
msgid "No discussion with ID %{id}"
|
||||
msgstr "Aucune discussion avec l'ID %{id}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107
|
||||
#: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
|
||||
#: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107 lib/graphql/resolvers/todos.ex:179
|
||||
#: lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237
|
||||
msgid "No profile found for user"
|
||||
msgstr "Aucun profil trouvé pour l'utilisateur modérateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:64
|
||||
msgid "No such feed token"
|
||||
msgstr "Aucun jeton de flux correspondant"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:259
|
||||
msgid "Participant already has role %{role}"
|
||||
msgstr "Le ou la participant·e a déjà le rôle %{role}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:187
|
||||
#: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263
|
||||
#: lib/graphql/resolvers/participant.ex:187 lib/graphql/resolvers/participant.ex:220
|
||||
#: lib/graphql/resolvers/participant.ex:263
|
||||
msgid "Participant not found"
|
||||
msgstr "Participant·e non trouvé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:32
|
||||
msgid "Person with ID %{id} not found"
|
||||
msgstr "Personne avec l'ID %{id} non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:56
|
||||
msgid "Person with username %{username} not found"
|
||||
msgstr "Personne avec le nom %{name} non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203
|
||||
msgid "Post ID is not a valid ID"
|
||||
msgstr "L'ID du billet n'est pas un ID valide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206
|
||||
msgid "Post doesn't exist"
|
||||
msgstr "Le billet n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:82
|
||||
msgid "Profile invited doesn't exist"
|
||||
msgstr "Le profil invité n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95
|
||||
msgid "Profile is already a member of this group"
|
||||
msgstr "Ce profil est déjà membre de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175
|
||||
#: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132
|
||||
#: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58
|
||||
#: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182
|
||||
#: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246
|
||||
#: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175 lib/graphql/resolvers/post.ex:209
|
||||
#: lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132 lib/graphql/resolvers/resource.ex:165
|
||||
#: lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58 lib/graphql/resolvers/todos.ex:83
|
||||
#: lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182 lib/graphql/resolvers/todos.ex:214
|
||||
#: lib/graphql/resolvers/todos.ex:246
|
||||
msgid "Profile is not member of group"
|
||||
msgstr "Le profil n'est pas un·e membre du groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233
|
||||
msgid "Profile not found"
|
||||
msgstr "Profile non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:40
|
||||
msgid "Report not found"
|
||||
msgstr "Groupe non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196
|
||||
msgid "Resource doesn't exist"
|
||||
msgstr "La ressource n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:124
|
||||
msgid "The event has already reached its maximum capacity"
|
||||
msgstr "L'événement a déjà atteint sa capacité maximale"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:282
|
||||
msgid "This token is invalid"
|
||||
msgstr "Ce jeton est invalide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243
|
||||
msgid "Todo doesn't exist"
|
||||
msgstr "Ce todo n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211
|
||||
#: lib/graphql/resolvers/todos.ex:240
|
||||
#: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211 lib/graphql/resolvers/todos.ex:240
|
||||
msgid "Todo list doesn't exist"
|
||||
msgstr "Cette todo-liste n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:73
|
||||
msgid "Token does not exist"
|
||||
msgstr "Ce jeton n'existe pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70
|
||||
msgid "Token is not a valid UUID"
|
||||
msgstr "Ce jeton n'est pas un UUID valide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458
|
||||
msgid "User not found"
|
||||
msgstr "Utilisateur·ice non trouvé·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:310
|
||||
msgid "You already have a profile for this user"
|
||||
msgstr "Vous avez déjà un profil pour cet utilisateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:134
|
||||
msgid "You are already a participant of this event"
|
||||
msgstr "Vous êtes déjà un·e participant·e à cet événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:85
|
||||
msgid "You are not a member of this group"
|
||||
msgstr "Vous n'êtes pas membre de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171 lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Vous n'êtes pas administrateur·ice ou modérateur·ice de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:59
|
||||
msgid "You are not allowed to create a comment if not connected"
|
||||
msgstr "Vous n'êtes pas autorisé·e à créer un commentaire si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:41
|
||||
msgid "You are not allowed to create a feed token if not connected"
|
||||
msgstr "Vous n'êtes pas autorisé·e à créer un jeton de flux si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:134
|
||||
msgid "You are not allowed to delete a comment if not connected"
|
||||
msgstr "Vous n'êtes pas autorisé·e à supprimer un commentaire si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:82
|
||||
msgid "You are not allowed to delete a feed token if not connected"
|
||||
msgstr "Vous n'êtes pas autorisé·e à supprimer un jeton de flux si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:93
|
||||
msgid "You are not allowed to update a comment if not connected"
|
||||
msgstr "Vous n'êtes pas autorisé·e à mettre à jour un commentaire si non connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:181
|
||||
#: lib/graphql/resolvers/participant.ex:214
|
||||
#: lib/graphql/resolvers/participant.ex:181 lib/graphql/resolvers/participant.ex:214
|
||||
msgid "You can't leave event because you're the only event creator participant"
|
||||
msgstr "Vous ne pouvez pas quitter cet événement car vous en êtes le ou la seule créateur·ice participant"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas vous définir avec un rôle de membre inférieur pour ce groupe car vous en êtes le ou la seul·e "
|
||||
"administrateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:122
|
||||
msgid "You cannot delete this comment"
|
||||
msgstr "Vous ne pouvez pas supprimer ce commentaire"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:408
|
||||
msgid "You cannot delete this event"
|
||||
msgstr "Vous ne pouvez pas supprimer cet événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:88
|
||||
msgid "You cannot invite to this group"
|
||||
msgstr "Vous ne pouvez pas rejoindre ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/feed_token.ex:76
|
||||
msgid "You don't have permission to delete this token"
|
||||
msgstr "Vous n'avez pas la permission de supprimer ce jeton"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:54
|
||||
msgid "You need to be logged-in and a moderator to list action logs"
|
||||
msgstr "Vous devez être connecté·e et une modérateur·ice pour lister les journaux de modération"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:28
|
||||
msgid "You need to be logged-in and a moderator to list reports"
|
||||
msgstr "Vous devez être connecté·e et une modérateur·ice pour lister les signalements"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:107
|
||||
msgid "You need to be logged-in and a moderator to update a report"
|
||||
msgstr "Vous devez être connecté·e et une modérateur·ice pour modifier un signalement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:45
|
||||
msgid "You need to be logged-in and a moderator to view a report"
|
||||
msgstr "Vous devez être connecté·e pour et une modérateur·ice pour visionner un signalement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:255
|
||||
msgid "You need to be logged-in and an administrator to access admin settings"
|
||||
msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux paramètres administrateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:239
|
||||
msgid "You need to be logged-in and an administrator to access dashboard statistics"
|
||||
msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux panneau de statistiques"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/admin.ex:281
|
||||
msgid "You need to be logged-in and an administrator to save admin settings"
|
||||
msgstr "Vous devez être connecté·e et un·e administrateur·ice pour sauvegarder les paramètres administrateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:84
|
||||
msgid "You need to be logged-in to access discussions"
|
||||
msgstr "Vous devez être connecté·e pour accéder aux discussions"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:96
|
||||
msgid "You need to be logged-in to access resources"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:318
|
||||
msgid "You need to be logged-in to create events"
|
||||
msgstr "Vous devez être connecté·e pour créer des événements"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:141
|
||||
msgid "You need to be logged-in to create posts"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/report.ex:79
|
||||
msgid "You need to be logged-in to create reports"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:137
|
||||
msgid "You need to be logged-in to create resources"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:417
|
||||
msgid "You need to be logged-in to delete an event"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:214
|
||||
msgid "You need to be logged-in to delete posts"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:204
|
||||
msgid "You need to be logged-in to delete resources"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:108
|
||||
msgid "You need to be logged-in to join an event"
|
||||
msgstr "Vous devez être connecté·e pour rejoindre un événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:225
|
||||
msgid "You need to be logged-in to leave an event"
|
||||
msgstr "Vous devez être connecté·e pour quitter un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:374
|
||||
msgid "You need to be logged-in to update an event"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/post.ex:180
|
||||
msgid "You need to be logged-in to update posts"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:174
|
||||
msgid "You need to be logged-in to update resources"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:233
|
||||
msgid "You need to be logged-in to view a resource preview"
|
||||
msgstr "Vous devez être connecté·e pour supprimer un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:129
|
||||
msgid "Parent resource doesn't belong to this group"
|
||||
msgstr "La ressource parente n'appartient pas à ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:114
|
||||
msgid "The chosen password is too short."
|
||||
msgstr "Le mot de passe choisi est trop court."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:142
|
||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||
msgstr "Le jeton d'inscription est déjà utilisé, cela ressemble à un problème de notre côté."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/users/user.ex:108
|
||||
msgid "This email is already used."
|
||||
msgstr "Cette adresse e-mail est déjà utilisée."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:97
|
||||
msgid "Post not found"
|
||||
msgstr "Billet non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:84
|
||||
msgid "Invalid arguments passed"
|
||||
msgstr "Paramètres fournis invalides"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:90
|
||||
msgid "Invalid credentials"
|
||||
msgstr "Identifiants invalides"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:88
|
||||
msgid "Reset your password to login"
|
||||
msgstr "Réinitialiser votre mot de passe pour vous connecter"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:95 lib/graphql/error.ex:100
|
||||
msgid "Resource not found"
|
||||
msgstr "Ressource non trouvée"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:102
|
||||
msgid "Something went wrong"
|
||||
msgstr "Quelque chose s'est mal passé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:83
|
||||
msgid "Unknown Resource"
|
||||
msgstr "Ressource inconnue"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:93
|
||||
msgid "You don't have permission to do this"
|
||||
msgstr "Vous n'avez pas la permission de faire ceci"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/error.ex:85
|
||||
msgid "You need to be logged in"
|
||||
msgstr "Vous devez être connecté·e"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:116
|
||||
msgid "You can't accept this invitation with this profile."
|
||||
msgstr "Vous ne pouvez pas accepter cette invitation avec ce profil."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:137
|
||||
msgid "You can't reject this invitation with this profile."
|
||||
msgstr "Vous ne pouvez pas rejeter cette invitation avec ce profil."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/media.ex:71
|
||||
msgid "File doesn't have an allowed MIME type."
|
||||
msgstr "Le fichier n'a pas un type MIME autorisé."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:213
|
||||
msgid "Profile is not administrator for the group"
|
||||
msgstr "Le profil n'est pas administrateur·ice pour le groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:363
|
||||
msgid "You can't edit this event."
|
||||
msgstr "Vous ne pouvez pas éditer cet événement."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:366
|
||||
msgid "You can't attribute this event to this profile."
|
||||
msgstr "Vous ne pouvez pas attribuer cet événement à ce profil."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:140
|
||||
msgid "This invitation doesn't exist."
|
||||
msgstr "Cette invitation n'existe pas."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Ce·tte membre a déjà été rejetté·e."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/mobilizon/actors/actor.ex:350
|
||||
msgid "This username is already taken."
|
||||
msgstr "Cet identifiant est déjà pris."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:81
|
||||
msgid "You must provide either an ID or a slug to access a discussion"
|
||||
msgstr "Vous devez fournir un ID ou bien un slug pour accéder à une discussion"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:313
|
||||
msgid "Organizer profile is not owned by the user"
|
||||
msgstr "Le profil de l'organisateur·ice n'appartient pas à l'utilisateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:93
|
||||
msgid "Profile ID provided is not the anonymous profile one"
|
||||
msgstr "L'ID du profil fourni n'est pas celui du profil anonyme"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:159 lib/graphql/resolvers/group.ex:201
|
||||
#: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
|
||||
#: lib/graphql/resolvers/group.ex:159 lib/graphql/resolvers/group.ex:201 lib/graphql/resolvers/person.ex:148
|
||||
#: lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304
|
||||
msgid "The provided picture is too heavy"
|
||||
msgstr "L'image fournie est trop lourde"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/views/utils.ex:34
|
||||
msgid "Index file not found. You need to recompile the front-end."
|
||||
msgstr "Fichier d'index non trouvé. Vous devez recompiler le front-end."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:126
|
||||
msgid "Error while creating resource"
|
||||
msgstr "Erreur lors de la création de la resource"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:484
|
||||
msgid "Invalid activation token"
|
||||
msgstr "Jeton d'activation invalide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:223
|
||||
msgid "Unable to fetch resource details from this URL."
|
||||
msgstr "Impossible de récupérer les détails de la ressource depuis cette URL."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253
|
||||
#: lib/graphql/resolvers/participant.ex:328
|
||||
#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 lib/graphql/resolvers/participant.ex:328
|
||||
msgid "Provided profile doesn't have moderator permissions on this event"
|
||||
msgstr "Le profil modérateur fourni n'a pas de permissions sur cet événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:299
|
||||
msgid "Organizer profile doesn't have permission to create an event on behalf of this group"
|
||||
msgstr "Le profil de l'organisateur⋅ice n'a pas la permission de créer un événement au nom de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:354
|
||||
msgid "This profile doesn't have permission to update an event on behalf of this group"
|
||||
msgstr "Ce profil n'a pas la permission de mettre à jour un événement au nom du groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:163
|
||||
msgid "Your e-mail has been denied registration or uses a disallowed e-mail provider"
|
||||
msgstr "Votre adresse e-mail a été refusée à l'inscription ou bien utilise un fournisseur d'e-mail interdit"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:129
|
||||
msgid "Comment not found"
|
||||
msgstr "Commentaire non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/discussion.ex:123
|
||||
msgid "Error while creating a discussion"
|
||||
msgstr "Erreur lors de la création de la discussion"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:607
|
||||
msgid "Error while updating locale"
|
||||
msgstr "Erreur lors de la mise à jour des options linguistiques"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/person.ex:307
|
||||
msgid "Error while uploading pictures"
|
||||
msgstr "Erreur lors du téléversement des images"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:190
|
||||
msgid "Failed to leave the event"
|
||||
msgstr "Impossible de quitter l'événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:209
|
||||
msgid "Failed to update the group"
|
||||
msgstr "Impossible de mettre à jour le groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:448
|
||||
msgid "Failed to update user email"
|
||||
msgstr "Impossible de mettre à jour l'adresse e-mail de utilisateur"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:480
|
||||
msgid "Failed to validate user email"
|
||||
msgstr "Impossible de valider l'adresse e-mail de l'utilisateur·ice"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:146
|
||||
msgid "The anonymous actor ID is invalid"
|
||||
msgstr "L'ID de l'acteur anonyme est invalide"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/resource.ex:162
|
||||
msgid "Unknown error while updating resource"
|
||||
msgstr "Erreur inconnue lors de la mise à jour de la resource"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/comment.ex:84
|
||||
msgid "You are not the comment creator"
|
||||
msgstr "Vous n'êtes pas le ou la createur⋅ice du commentaire"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:405
|
||||
msgid "You cannot change your password."
|
||||
msgstr "Vous ne pouvez pas changer votre mot de passe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:321
|
||||
msgid "Format not supported"
|
||||
msgstr "Format non supporté"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:305
|
||||
msgid "A dependency needed to export to %{format} is not installed"
|
||||
msgstr "Une dépendance nécessaire pour exporter en %{format} n'est pas installée"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/participant.ex:313
|
||||
msgid "An error occured while saving export"
|
||||
msgstr "Une erreur est survenue lors de l'enregistrement de l'export"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/controllers/export_controller.ex:30
|
||||
msgid "Export to format %{format} is not enabled on this instance"
|
||||
msgstr "L'export au format %{format} n'est pas activé sur cette instance"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:165
|
||||
msgid "Only admins can create groups"
|
||||
msgstr "Seul⋅es les administrateur⋅ices peuvent créer des groupes"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:306
|
||||
msgid "Only groups can create events"
|
||||
msgstr "Seuls les groupes peuvent créer des événements"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/event.ex:292
|
||||
msgid "Unknown error while creating event"
|
||||
msgstr "Erreur inconnue lors de la création de l'événement"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:461
|
||||
msgid "User cannot change email"
|
||||
msgstr "L'utilisateur ne peut changer son adresse e-mail"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:364
|
||||
msgid "Follow does not match your account"
|
||||
msgstr ""
|
||||
msgstr "L'abonnement ne correspond pas à votre compte"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:368
|
||||
msgid "Follow not found"
|
||||
msgstr ""
|
||||
msgstr "Abonnement non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:327
|
||||
msgid "Profile with username %{username} not found"
|
||||
msgstr "Personne avec le nom %{name} non trouvé"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/user.ex:322
|
||||
msgid "This profile does not belong to you"
|
||||
msgstr ""
|
||||
msgstr "Ce profil ne vous appartient pas"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:338
|
||||
msgid "You are already following this group"
|
||||
msgstr ""
|
||||
msgstr "Vous êtes déjà membre de ce groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:347
|
||||
msgid "You need to be logged-in to follow a group"
|
||||
msgstr "Vous devez être connecté·e pour rejoindre un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:396
|
||||
msgid "You need to be logged-in to unfollow a group"
|
||||
msgstr "Vous devez être connecté·e pour rejoindre un groupe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Vous devez être connecté·e pour mettre à jour un groupe"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr "Ce membre n'existe pas"
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre."
|
||||
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr "Vous devez être connecté⋅e pour supprimer un⋅e membre"
|
||||
|
|
|
@ -24,209 +24,209 @@ msgstr ""
|
|||
## Run "mix gettext.extract" to bring this file up to
|
||||
## date. Leave "msgstr"s empty as changing them here as no
|
||||
## effect: edit them in PO (.po) files instead.
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:38
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12
|
||||
#, elixir-format
|
||||
msgid "%{member} accepted the invitation to join the group."
|
||||
msgstr "Ghabh %{member} ris a’ bhallrachd sa bhuidheann."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:42
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17
|
||||
#, elixir-format
|
||||
msgid "%{member} rejected the invitation to join the group."
|
||||
msgstr "Dhiùlt %{member} a’ bhallrachd sa bhuidheann."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:30
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1
|
||||
#, elixir-format
|
||||
msgid "%{member} requested to join the group."
|
||||
msgstr "Dh’iarr %{member} ballrachd sa bhuidheann."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:34
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6
|
||||
#, elixir-format
|
||||
msgid "%{member} was invited by %{profile}."
|
||||
msgstr "Fhuair %{member} cuireadh o %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:50
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27
|
||||
#, elixir-format
|
||||
msgid "%{profile} added the member %{member}."
|
||||
msgstr "Chuir %{profile} am ball %{member} ris."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:65
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
|
||||
#, elixir-format
|
||||
msgid "%{profile} archived the discussion %{discussion}."
|
||||
msgstr "Chuir %{profile} an deasbad %{discussion} san tasg-lann."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:25
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
|
||||
#, elixir-format
|
||||
msgid "%{profile} created the discussion %{discussion}."
|
||||
msgstr "Chruthaich %{profile} an deasbad %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:24
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2
|
||||
#, elixir-format
|
||||
msgid "%{profile} created the folder %{resource}."
|
||||
msgstr "Chruthaich %{profile} am pasgan %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_group_activity_item.text.eex:1
|
||||
#, elixir-format
|
||||
msgid "%{profile} created the group %{group}."
|
||||
msgstr "Chruthaich %{profile} am buidheann %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:33
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8
|
||||
#, elixir-format
|
||||
msgid "%{profile} created the resource %{resource}."
|
||||
msgstr "Chruthaich %{profile} an goireas %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:75
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
|
||||
#, elixir-format
|
||||
msgid "%{profile} deleted the discussion %{discussion}."
|
||||
msgstr "Sguab %{profile} às an deasbad %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:97
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40
|
||||
#, elixir-format
|
||||
msgid "%{profile} deleted the folder %{resource}."
|
||||
msgstr "Sguab %{profile} às am pasgan %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:106
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45
|
||||
#, elixir-format
|
||||
msgid "%{profile} deleted the resource %{resource}."
|
||||
msgstr "Sguab %{profile} às an goireas %{resource}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr "Dhùin %{profile} am ball %{member} a-mach."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:76
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28
|
||||
#, elixir-format
|
||||
msgid "%{profile} moved the folder %{resource}."
|
||||
msgstr "Ghluais %{profile} am pasgan %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:85
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34
|
||||
#, elixir-format
|
||||
msgid "%{profile} moved the resource %{resource}."
|
||||
msgstr "Ghluais %{profile} an goireas %{resource}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "Dh’fhàg %{profile} am buidheann."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:55
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
|
||||
#, elixir-format
|
||||
msgid "%{profile} renamed the discussion %{discussion}."
|
||||
msgstr "Thug %{profile} ainm ùr air %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:45
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14
|
||||
#, elixir-format
|
||||
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
|
||||
msgstr "Thug %{profile} %{resource} air a’ phasgan %{old_resource_title}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/resource.ex:59
|
||||
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21
|
||||
#, elixir-format
|
||||
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
|
||||
msgstr "Thug %{profile} %{resource} air a’ ghoireas %{old_resource_title}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:35
|
||||
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
|
||||
#, elixir-format
|
||||
msgid "%{profile} replied to the discussion %{discussion}."
|
||||
msgstr "Fhreagair %{profile} san deasbad %{discussion}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_group_activity_item.html.heex:19
|
||||
#: lib/web/templates/email/activity/_group_activity_item.text.eex:7
|
||||
#, elixir-format
|
||||
msgid "%{profile} updated the group %{group}."
|
||||
msgstr "Dh’ùraich %{profile} am buidheann %{group}."
|
||||
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "Dh’ùraich %{profile} am ball %{member}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:23
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1
|
||||
#, elixir-format
|
||||
msgid "The event %{event} was created by %{profile}."
|
||||
msgstr "Chaidh an tachartas %{event} a chruthachadh le %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:43
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13
|
||||
#, elixir-format
|
||||
msgid "The event %{event} was deleted by %{profile}."
|
||||
msgstr "Chaidh an tachartas %{event} a sguabadh às le %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:33
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7
|
||||
#, elixir-format
|
||||
msgid "The event %{event} was updated by %{profile}."
|
||||
msgstr "Chaidh an tachartas %{event} ùrachadh le %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:4
|
||||
#: lib/web/templates/email/activity/_post_activity_item.text.eex:1
|
||||
#, elixir-format
|
||||
msgid "The post %{post} was created by %{profile}."
|
||||
msgstr "Chaidh am post %{post} a chruthachadh le %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:34
|
||||
#: lib/web/templates/email/activity/_post_activity_item.text.eex:13
|
||||
#, elixir-format
|
||||
msgid "The post %{post} was deleted by %{profile}."
|
||||
msgstr "Chaidh am post %{post} a sguabadh às le %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/activity/_post_activity_item.html.heex:19
|
||||
#: lib/web/templates/email/activity/_post_activity_item.text.eex:7
|
||||
#, elixir-format
|
||||
msgid "The post %{post} was updated by %{profile}."
|
||||
msgstr "Chaidh am post %{post} ùrachadh le %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:46
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22
|
||||
#, elixir-format
|
||||
msgid "%{member} joined the group."
|
||||
msgstr "Fhuair %{member} ballrachd sa bhuidheann."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:63
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25
|
||||
#, elixir-format
|
||||
msgid "%{profile} posted a comment on the event %{event}."
|
||||
msgstr "Thug %{profile} beachd air an tachartas %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/event.ex:54
|
||||
#: lib/web/templates/email/activity/_event_activity_item.html.heex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19
|
||||
#, elixir-format
|
||||
msgid "%{profile} replied to a comment on the event %{event}."
|
||||
msgstr "Fhreagair %{profile} do bheachd air an tachartas %{event}."
|
||||
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:27
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:27
|
||||
msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings."
|
||||
msgstr ""
|
||||
"A bheil thu airson brathan fhaighinn mu ghnìomhachd? ’S urrainn dhut "
|
||||
"atharrachadh dè cho tric ’s a gheibh thu iad no an cur à comas sna "
|
||||
"roghainnean agad."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:135
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:23
|
||||
#, elixir-format
|
||||
msgid "View one more activity"
|
||||
msgid_plural "View %{count} more activities"
|
||||
msgstr[0] "Seall %{count} ghnìomhachd a bharrachd"
|
||||
|
@ -234,10 +234,10 @@ msgstr[1] "Seall %{count} ghnìomhachd a bharrachd"
|
|||
msgstr[2] "Seall %{count} gnìomhachdan a bharrachd"
|
||||
msgstr[3] "Seall %{count} gnìomhachd a bharrachd"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:44
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:46 lib/web/templates/email/email_direct_activity.text.eex:6
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:7
|
||||
#, elixir-format
|
||||
msgid "There has been an activity!"
|
||||
msgid_plural "There has been some activity!"
|
||||
msgstr[0] "Bha gnìomhachd ann!"
|
||||
|
@ -245,99 +245,109 @@ msgstr[1] "Bha gnìomhachdan ann!"
|
|||
msgstr[2] "Bha gnìomhachdan ann!"
|
||||
msgstr[3] "Bha gnìomhachdan ann!"
|
||||
|
||||
#: lib/service/activity/renderer/renderer.ex:46
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/renderer.ex:46
|
||||
msgid "Activity on %{instance}"
|
||||
msgstr "Gnìomhachd air %{instance}"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:38
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:7
|
||||
#: lib/web/templates/email/email_anonymous_activity.html.heex:41 lib/web/templates/email/email_anonymous_activity.text.eex:5
|
||||
#, elixir-format
|
||||
msgid "%{profile} has posted an announcement under event %{event}."
|
||||
msgstr "Chuir %{profile} brath-fios ris an tachartas %{event}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:24
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:1
|
||||
#, elixir-format
|
||||
msgid "%{profile} mentionned you in a comment under event %{event}."
|
||||
msgstr "Thug %{profile} iomradh ort ann am beachd san tachartas %{event}."
|
||||
|
||||
#: lib/service/activity/renderer/discussion.ex:45
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/discussion.ex:45
|
||||
msgid "%{profile} mentionned you in the discussion %{discussion}."
|
||||
msgstr "Thug %{profile} iomradh ort san deasbad %{discussion}."
|
||||
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:155
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:155
|
||||
msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}."
|
||||
msgstr ""
|
||||
"A bheil thu airson brathan fhaighinn mu ghnìomhachd? ’S urrainn dhut "
|
||||
"atharrachadh dè cho tric ’s a gheibh thu iad no an cur à comas sna "
|
||||
"%{tag_start}roghainnean%{tag_end} agad."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:42
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:5
|
||||
#, elixir-format
|
||||
msgid "Here's your weekly activity recap"
|
||||
msgstr "Seo dhut ath-shùil air gnìomhachd na seachdaine"
|
||||
|
||||
#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:119 lib/web/email/activity.ex:140
|
||||
msgid "Activity notification for %{instance}"
|
||||
msgstr "Brath gnìomhachd airson %{instance}"
|
||||
|
||||
#: lib/web/email/activity.ex:126
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:126
|
||||
msgid "Daily activity recap for %{instance}"
|
||||
msgstr "Ath-shùil air gnìomhachd %{instance} làitheil"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/email_direct_activity.html.heex:40
|
||||
#: lib/web/templates/email/email_direct_activity.text.eex:4
|
||||
#, elixir-format
|
||||
msgid "Here's your daily activity recap"
|
||||
msgstr "Seo dhut ath-shùil air gnìomhachd an latha"
|
||||
|
||||
#: lib/web/email/activity.ex:133
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:133
|
||||
msgid "Weekly activity recap for %{instance}"
|
||||
msgstr "Ath-shùil air gnìomhachd %{instance} sheachdaineil"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:66
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:51 lib/web/templates/email/activity/_comment_activity_item.text.eex:19
|
||||
#, elixir-format
|
||||
msgid "%{profile} has posted a new comment under your event %{event}."
|
||||
msgstr "Thug %{profile} beachd ùr fon tachartas %{event} agad."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/comment.ex:53
|
||||
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:36 lib/web/templates/email/activity/_comment_activity_item.text.eex:13
|
||||
#, elixir-format
|
||||
msgid "%{profile} has posted a new reply under your event %{event}."
|
||||
msgstr "Chuir %{profile} freagairt ùr ris fon tachartas %{event} agad."
|
||||
|
||||
#: lib/web/email/activity.ex:46
|
||||
#, elixir-format
|
||||
#: lib/web/email/activity.ex:46
|
||||
msgid "Announcement for your event %{event}"
|
||||
msgstr "Brath-fios dhan tachartas %{event} agad"
|
||||
|
||||
#: lib/service/activity/renderer/group.ex:23
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/group.ex:23
|
||||
msgid "The group %{group} was updated by %{profile}."
|
||||
msgstr "Chaidh am buidheann %{group} ùrachadh le %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/post.ex:47
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/post.ex:47
|
||||
msgid "The post %{post} from group %{group} was deleted by %{profile}."
|
||||
msgstr ""
|
||||
"Chaidh am post %{post} on bhuidheann %{group} a sguabadh às le %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/post.ex:31
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/post.ex:31
|
||||
msgid "The post %{post} from group %{group} was published by %{profile}."
|
||||
msgstr ""
|
||||
"Chaidh am post %{post} on bhuidheann %{group} fhoillseachadh le %{profile}."
|
||||
|
||||
#: lib/service/activity/renderer/post.ex:39
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "Chaidh am post %{post} on bhuidheann %{group} ùrachadh le %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr "Dh’ùraich %{profile} am ball %{member}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
1686
priv/gettext/gd/LC_MESSAGES/default.po
Normal file
1686
priv/gettext/gd/LC_MESSAGES/default.po
Normal file
File diff suppressed because it is too large
Load diff
1031
priv/gettext/gd/LC_MESSAGES/errors.po
Normal file
1031
priv/gettext/gd/LC_MESSAGES/errors.po
Normal file
File diff suppressed because it is too large
Load diff
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1226,7 +1226,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Ata aquí, e grazas pola atención!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Foches eliminada do grupo %{group}"
|
||||
|
||||
|
@ -1916,7 +1916,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Localización"
|
||||
|
@ -1925,3 +1925,50 @@ msgstr "Localización"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Vas ir!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -525,7 +525,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Non es membro deste grupo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Non es moderadora ou administradora deste grupo"
|
||||
|
||||
|
@ -562,7 +563,7 @@ msgstr ""
|
|||
"Non podes saír do evento porque es a única creadora do evento que participa"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Non podes adxudicarte un rol menor neste grupo porque es a única "
|
||||
|
@ -808,12 +809,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "O convite non existe."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Este membro xa foi rexeitado."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Non tes permiso para eliminar este membro."
|
||||
|
||||
|
@ -1028,3 +1029,18 @@ msgstr "Tes que estar conectada para poder unirte a un grupo"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Tes que estar conectada para poder actualizar un grupo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Non tes permiso para eliminar este membro."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1082,7 +1082,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1667,7 +1667,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Hely"
|
||||
|
@ -1676,3 +1676,50 @@ msgstr "Hely"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -542,7 +542,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Nem tagja ennek a csoportnak"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Nem moderátor vagy adminisztrátor ennél a csoportnál"
|
||||
|
||||
|
@ -579,7 +580,7 @@ msgstr ""
|
|||
"Nem hagyhatja el az eseményt, mert Ön az egyedüli eseménylétrehozó résztvevő"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Nem állíthatja magát alacsonyabb tagszerepre ennél a csoportnál, mert Ön az "
|
||||
|
@ -831,12 +832,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "Ez a meghívás nem létezik."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Ez a tag már vissza lett utasítva."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Nincs meg a jogosultsága a tag eltávolításához."
|
||||
|
||||
|
@ -1048,3 +1049,18 @@ msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Bejelentkezve kell lennie egy csoport frissítéséhez"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Nincs meg a jogosultsága a tag eltávolításához."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -102,7 +102,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -120,7 +120,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "%{profile} keluar dari kelompok."
|
||||
|
@ -156,7 +156,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr "%{profile} memperbarui kelompok %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -326,3 +326,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "Postingan %{post} dari kelompok %{group} diperbarui oleh %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1065,7 +1065,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Sampai jumpa, dan terima kasih atas ikannya!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Anda telah dikeluarkan dari kelompok %{group}"
|
||||
|
||||
|
@ -1650,7 +1650,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Lokasi"
|
||||
|
@ -1659,3 +1659,50 @@ msgstr "Lokasi"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Anda ikut!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -516,7 +516,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -552,7 +553,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -787,12 +788,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1002,3 +1003,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1257,7 +1257,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Addio, e grazie per il pesce!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Sei stato rimosso dal gruppo %{group}"
|
||||
|
||||
|
@ -1957,7 +1957,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Posizione"
|
||||
|
@ -1966,3 +1966,50 @@ msgstr "Posizione"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Ce l'hai fatta!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -524,7 +524,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Non sei un membro di questo gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Non sei un moderatore o amministratore di questo gruppo"
|
||||
|
||||
|
@ -561,7 +562,7 @@ msgstr ""
|
|||
"Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Non puoi impostare te stesso per un ruolo di membro inferiore per questo "
|
||||
|
@ -806,12 +807,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "Questo invito non esiste."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Questo memebro è già stato rifiutato."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Non hai il diritto di rimuovere questo membro."
|
||||
|
||||
|
@ -1025,3 +1026,18 @@ msgstr "È necessario effettuare il login per entrare a far parte di un gruppo"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "È necessario effettuare il login per aggiornare un gruppo"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Non hai il diritto di rimuovere questo membro."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -314,3 +314,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1025,7 +1025,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1610,7 +1610,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1619,3 +1619,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -509,7 +509,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -545,7 +546,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -780,12 +781,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -995,3 +996,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1049,7 +1049,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1635,7 +1635,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1644,3 +1644,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -515,7 +515,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -551,7 +552,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -786,12 +787,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1001,3 +1002,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -97,7 +97,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr "%{profile} sletta ressursen %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr "%{profile} kasta ut medlemen %{member}."
|
||||
|
@ -115,7 +115,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr "%{profile} flytta ressursen %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "%{profile} forlét gruppa."
|
||||
|
@ -152,7 +152,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr "%{profile} oppdaterte gruppa %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "%{profile} oppdaterte medlemen %{member}."
|
||||
|
@ -328,3 +328,13 @@ msgstr "%{profile} la ut innlegget %{post} i gruppa %{group}."
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "%{profile} oppdaterte innlegget %{post} i gruppa %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr "%{profile} oppdaterte medlemen %{member}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1221,7 +1221,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Ha det så lenge, og takk for all fisken!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Du er fjerna frå gruppa %{group}"
|
||||
|
||||
|
@ -1915,7 +1915,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Stad"
|
||||
|
@ -1924,3 +1924,50 @@ msgstr "Stad"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Du skal dit!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -538,7 +538,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Du er ikkje medlem i denne gruppa"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Du er ikkje styrar eller administrator for denne gruppa"
|
||||
|
||||
|
@ -577,7 +578,7 @@ msgstr ""
|
|||
"oppretta hendinga"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Du kan ikkje gje deg sjølv ei deltakarrolle i denne gruppa, fordi du er den "
|
||||
|
@ -823,12 +824,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "Invitasjonen finst ikkje."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Denne medlemen har allereie fått avslag."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Du har ikkje løyve til å fjerna denne medlemen."
|
||||
|
||||
|
@ -1045,3 +1046,18 @@ msgstr "Du må vera innlogga for å bli med i ei gruppe"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Du må vera innlogga for å oppdatera ei gruppe"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Du har ikkje løyve til å fjerna denne medlemen."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1126,7 +1126,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Vos an tirat del grop %{group}"
|
||||
|
||||
|
@ -1720,7 +1720,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Localizacion"
|
||||
|
@ -1729,3 +1729,50 @@ msgstr "Localizacion"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "I anatz !"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -527,7 +527,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -563,7 +564,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -798,12 +799,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1013,3 +1014,18 @@ msgstr "Devetz d'esser conectat per rejónher un grop"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Devetz d'esser conectat per metre à jorn un grop"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -318,3 +318,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1135,7 +1135,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Zostałeś(-aś) usunięty(-a) z grupy %{group}"
|
||||
|
||||
|
@ -1734,7 +1734,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Miejsce"
|
||||
|
@ -1743,3 +1743,50 @@ msgstr "Miejsce"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Weźmiesz udział!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -534,7 +534,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Nie jesteś członkiem tej grupy"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Nie jesteś moderatorem ani administratorem tej grupy"
|
||||
|
||||
|
@ -570,7 +571,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Nie możesz przydzielić sobie niższej rangi grupy, ponieważ jesteś jedynym "
|
||||
|
@ -815,12 +816,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "To zaproszenie nie istnieje."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Ten członek już został odrzucony."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "Nie masz uprawnień do usunięcia tego członka."
|
||||
|
||||
|
@ -1030,3 +1031,18 @@ msgstr "Musisz być zalogowany(-a), aby dołączyć do grupy"
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Musisz być zalogowany(-a), aby zaktualizować grupę"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "Nie masz uprawnień do usunięcia tego członka."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1030,7 +1030,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1615,7 +1615,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1624,3 +1624,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -515,7 +515,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -551,7 +552,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -786,12 +787,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1001,3 +1002,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -90,7 +90,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr ""
|
||||
|
@ -108,7 +108,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr ""
|
||||
|
@ -144,7 +144,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr ""
|
||||
|
@ -316,3 +316,13 @@ msgstr ""
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1107,7 +1107,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1727,7 +1727,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr ""
|
||||
|
@ -1736,3 +1736,50 @@ msgstr ""
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -515,7 +515,8 @@ msgid "You are not a member of this group"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr ""
|
||||
|
||||
|
@ -551,7 +552,7 @@ msgid "You can't leave event because you're the only event creator participant"
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -786,12 +787,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1001,3 +1002,18 @@ msgstr ""
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
|
@ -98,7 +98,7 @@ msgid "%{profile} deleted the resource %{resource}."
|
|||
msgstr "%{profile} удалил ресурс %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
#: lib/service/activity/renderer/member.ex:66
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39
|
||||
msgid "%{profile} excluded member %{member}."
|
||||
msgstr "%{profile} исключил участника %{member}."
|
||||
|
@ -116,7 +116,7 @@ msgid "%{profile} moved the resource %{resource}."
|
|||
msgstr "%{profile} переместил ресурс %{resource}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/service/activity/renderer/member.ex:70
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45
|
||||
msgid "%{profile} quit the group."
|
||||
msgstr "%{profile} вышел из группы."
|
||||
|
@ -152,7 +152,7 @@ msgid "%{profile} updated the group %{group}."
|
|||
msgstr "%{profile} обновил группу %{group}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
#: lib/service/activity/renderer/member.ex:62
|
||||
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33
|
||||
msgid "%{profile} updated the member %{member}."
|
||||
msgstr "%{profile} обновил участника %{member}."
|
||||
|
@ -330,3 +330,13 @@ msgstr "Сообщение %{post} из группы %{group} было опуб
|
|||
#: lib/service/activity/renderer/post.ex:39
|
||||
msgid "The post %{post} from group %{group} was updated by %{profile}."
|
||||
msgstr "Сообщение %{post} из группы %{group} было обновлено %{profile}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:54
|
||||
msgid "%{profile} approved the membership request from %{member}."
|
||||
msgstr "%{profile} обновил участника %{member}."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/service/activity/renderer/member.ex:58
|
||||
msgid "%{profile} rejected the membership request from %{member}."
|
||||
msgstr ""
|
||||
|
|
|
@ -1257,7 +1257,7 @@ msgid "So long, and thanks for the fish!"
|
|||
msgstr "Всего хорошего, и спасибо за рыбу!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:61
|
||||
#: lib/web/email/member.ex:113
|
||||
msgid "You have been removed from group %{group}"
|
||||
msgstr "Вас исключили из группы %{group}"
|
||||
|
||||
|
@ -1960,7 +1960,7 @@ msgstr ""
|
|||
msgid "New end date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/event_updated.text.eex:10
|
||||
msgid "New location:"
|
||||
msgstr "Местонахождение"
|
||||
|
@ -1969,3 +1969,50 @@ msgstr "Местонахождение"
|
|||
#: lib/web/templates/email/event_updated.text.eex:8
|
||||
msgid "New start date:"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:1
|
||||
msgid "Sorry, not this time!"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:52
|
||||
msgid "View the group"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:13
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:1
|
||||
msgid "You're in!"
|
||||
msgstr "Вы примете участие!"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:60
|
||||
msgid "Your membership request for group %{group} has been approved"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/email/member.ex:89
|
||||
msgid "Your membership request for group %{group} has been rejected"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/web/templates/email/group_membership_rejection.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.text.eex:3
|
||||
msgid "Your membership request for group %{group} has been approved."
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format, fuzzy
|
||||
#: lib/web/templates/email/group_membership_approval.html.heex:38
|
||||
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
|
||||
msgstr ""
|
||||
|
|
|
@ -539,7 +539,8 @@ msgid "You are not a member of this group"
|
|||
msgstr "Вы не состоите в этой группе"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:155
|
||||
#: lib/graphql/resolvers/member.ex:155 lib/graphql/resolvers/member.ex:171
|
||||
#: lib/graphql/resolvers/member.ex:186
|
||||
msgid "You are not a moderator or admin for this group"
|
||||
msgstr "Вы не модератор и не администратор этой группы"
|
||||
|
||||
|
@ -577,7 +578,7 @@ msgstr ""
|
|||
"участником, создавшим его"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:159
|
||||
#: lib/graphql/resolvers/member.ex:190
|
||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||
msgstr ""
|
||||
"Вы не можете назначить себе роль с меньшими правами для этой группы, потому "
|
||||
|
@ -835,12 +836,12 @@ msgid "This invitation doesn't exist."
|
|||
msgstr "Такого приглашения не существует."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:185
|
||||
#: lib/graphql/resolvers/member.ex:215
|
||||
msgid "This member already has been rejected."
|
||||
msgstr "Этот участник уже был отклонён."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:192
|
||||
#: lib/graphql/resolvers/member.ex:239
|
||||
msgid "You don't have the right to remove this member."
|
||||
msgstr "У вас нет прав на удаление этого участника."
|
||||
|
||||
|
@ -1056,3 +1057,18 @@ msgstr "Вам необходимо войти в систему, чтобы п
|
|||
#: lib/graphql/resolvers/group.ex:373
|
||||
msgid "You need to be logged-in to update a group follow"
|
||||
msgstr "Вам необходимо войти в систему, чтобы обновить группу"
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:208
|
||||
msgid "This member does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:232
|
||||
msgid "You don't have the role needed to remove this member."
|
||||
msgstr "У вас нет прав на удаление этого участника."
|
||||
|
||||
#, elixir-format
|
||||
#: lib/graphql/resolvers/member.ex:250
|
||||
msgid "You must be logged-in to remove a member"
|
||||
msgstr ""
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue