Merge branch 'improve-build-times' into 'master'
Improve build times See merge request framasoft/mobilizon!608
This commit is contained in:
commit
b32e8f701e
|
@ -30,7 +30,6 @@
|
||||||
"graphql": "^15.0.0",
|
"graphql": "^15.0.0",
|
||||||
"graphql-tag": "^2.10.3",
|
"graphql-tag": "^2.10.3",
|
||||||
"intersection-observer": "^0.11.0",
|
"intersection-observer": "^0.11.0",
|
||||||
"javascript-time-ago": "^2.0.4",
|
|
||||||
"leaflet": "^1.4.0",
|
"leaflet": "^1.4.0",
|
||||||
"leaflet.locatecontrol": "^0.72.0",
|
"leaflet.locatecontrol": "^0.72.0",
|
||||||
"lodash": "^4.17.11",
|
"lodash": "^4.17.11",
|
||||||
|
@ -54,7 +53,6 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/chai": "^4.2.11",
|
"@types/chai": "^4.2.11",
|
||||||
"@types/javascript-time-ago": "^2.0.1",
|
|
||||||
"@types/leaflet": "^1.5.2",
|
"@types/leaflet": "^1.5.2",
|
||||||
"@types/leaflet.locatecontrol": "^0.60.7",
|
"@types/leaflet.locatecontrol": "^0.60.7",
|
||||||
"@types/lodash": "^4.14.141",
|
"@types/lodash": "^4.14.141",
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
@import "variables.scss";
|
@import "variables.scss";
|
||||||
|
|
||||||
|
@import "~bulma";
|
||||||
|
@import "~bulma-divider";
|
||||||
|
@import "~buefy/src/scss/buefy";
|
||||||
|
|
||||||
// a {
|
// a {
|
||||||
// color: $violet-2;
|
// color: $violet-2;
|
||||||
// }
|
// }
|
||||||
|
|
|
@ -46,8 +46,6 @@ export default class ActorCard extends Vue {
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
.tooltip {
|
.tooltip {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
z-index: 10000;
|
z-index: 10000;
|
||||||
|
|
|
@ -88,7 +88,6 @@ export default class ParticipantCard extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import "../../variables.scss";
|
|
||||||
.card-footer-item {
|
.card-footer-item {
|
||||||
height: $control-height;
|
height: $control-height;
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
|
|
||||||
<b-table-column field="targetActor.updatedAt" :label="$t('Date')" sortable v-slot="props">
|
<b-table-column field="targetActor.updatedAt" :label="$t('Date')" sortable v-slot="props">
|
||||||
<span :title="$options.filters.formatDateTimeString(props.row.updatedAt)">{{
|
<span :title="$options.filters.formatDateTimeString(props.row.updatedAt)">{{
|
||||||
timeago(props.row.updatedAt)
|
formatDistanceToNow(new Date(props.row.updatedAt), { locale: $dateFnsLocale })
|
||||||
}}</span></b-table-column
|
}}</span></b-table-column
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -102,6 +102,7 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Mixins } from "vue-property-decorator";
|
import { Component, Mixins } from "vue-property-decorator";
|
||||||
import { SnackbarProgrammatic as Snackbar } from "buefy";
|
import { SnackbarProgrammatic as Snackbar } from "buefy";
|
||||||
|
import { formatDistanceToNow } from "date-fns";
|
||||||
import { ACCEPT_RELAY, REJECT_RELAY, RELAY_FOLLOWERS } from "../../graphql/admin";
|
import { ACCEPT_RELAY, REJECT_RELAY, RELAY_FOLLOWERS } from "../../graphql/admin";
|
||||||
import { Paginate } from "../../types/paginate";
|
import { Paginate } from "../../types/paginate";
|
||||||
import { IFollower } from "../../types/actor/follower.model";
|
import { IFollower } from "../../types/actor/follower.model";
|
||||||
|
@ -126,6 +127,8 @@ export default class Followers extends Mixins(RelayMixin) {
|
||||||
|
|
||||||
RelayMixin = RelayMixin;
|
RelayMixin = RelayMixin;
|
||||||
|
|
||||||
|
formatDistanceToNow = formatDistanceToNow;
|
||||||
|
|
||||||
async acceptRelays(): Promise<void> {
|
async acceptRelays(): Promise<void> {
|
||||||
await this.checkedRows.forEach((row: IFollower) => {
|
await this.checkedRows.forEach((row: IFollower) => {
|
||||||
this.acceptRelay(`${row.actor.preferredUsername}@${row.actor.domain}`);
|
this.acceptRelay(`${row.actor.preferredUsername}@${row.actor.domain}`);
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
<b-table-column field="targetActor.updatedAt" :label="$t('Date')" sortable v-slot="props">
|
<b-table-column field="targetActor.updatedAt" :label="$t('Date')" sortable v-slot="props">
|
||||||
<span :title="$options.filters.formatDateTimeString(props.row.updatedAt)">{{
|
<span :title="$options.filters.formatDateTimeString(props.row.updatedAt)">{{
|
||||||
timeago(props.row.updatedAt)
|
formatDistanceToNow(new Date(props.row.updatedAt), { locale: $dateFnsLocale })
|
||||||
}}</span></b-table-column
|
}}</span></b-table-column
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -100,6 +100,7 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Mixins } from "vue-property-decorator";
|
import { Component, Mixins } from "vue-property-decorator";
|
||||||
import { SnackbarProgrammatic as Snackbar } from "buefy";
|
import { SnackbarProgrammatic as Snackbar } from "buefy";
|
||||||
|
import { formatDistanceToNow } from "date-fns";
|
||||||
import { ADD_RELAY, RELAY_FOLLOWINGS, REMOVE_RELAY } from "../../graphql/admin";
|
import { ADD_RELAY, RELAY_FOLLOWINGS, REMOVE_RELAY } from "../../graphql/admin";
|
||||||
import { IFollower } from "../../types/actor/follower.model";
|
import { IFollower } from "../../types/actor/follower.model";
|
||||||
import { Paginate } from "../../types/paginate";
|
import { Paginate } from "../../types/paginate";
|
||||||
|
@ -126,6 +127,8 @@ export default class Followings extends Mixins(RelayMixin) {
|
||||||
|
|
||||||
RelayMixin = RelayMixin;
|
RelayMixin = RelayMixin;
|
||||||
|
|
||||||
|
formatDistanceToNow = formatDistanceToNow;
|
||||||
|
|
||||||
async followRelay(e: Event): Promise<void> {
|
async followRelay(e: Event): Promise<void> {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -24,7 +24,12 @@
|
||||||
<strong :class="{ organizer: commentFromOrganizer }">{{ comment.actor.name }}</strong>
|
<strong :class="{ organizer: commentFromOrganizer }">{{ comment.actor.name }}</strong>
|
||||||
<small>@{{ usernameWithDomain(comment.actor) }}</small>
|
<small>@{{ usernameWithDomain(comment.actor) }}</small>
|
||||||
<a class="comment-link has-text-grey" :href="commentURL">
|
<a class="comment-link has-text-grey" :href="commentURL">
|
||||||
<small>{{ timeago(new Date(comment.updatedAt)) }}</small>
|
<small>{{
|
||||||
|
formatDistanceToNow(new Date(comment.updatedAt), {
|
||||||
|
locale: $dateFnsLocale,
|
||||||
|
addSuffix: true,
|
||||||
|
})
|
||||||
|
}}</small>
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<a v-else class="comment-link has-text-grey" :href="commentURL">
|
<a v-else class="comment-link has-text-grey" :href="commentURL">
|
||||||
|
@ -130,8 +135,8 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Prop, Vue, Ref } from "vue-property-decorator";
|
import { Component, Prop, Vue, Ref } from "vue-property-decorator";
|
||||||
import EditorComponent from "@/components/Editor.vue";
|
import EditorComponent from "@/components/Editor.vue";
|
||||||
import TimeAgo from "javascript-time-ago";
|
|
||||||
import { SnackbarProgrammatic as Snackbar } from "buefy";
|
import { SnackbarProgrammatic as Snackbar } from "buefy";
|
||||||
|
import { formatDistanceToNow } from "date-fns";
|
||||||
import { CommentModel, IComment } from "../../types/comment.model";
|
import { CommentModel, IComment } from "../../types/comment.model";
|
||||||
import { CURRENT_ACTOR_CLIENT } from "../../graphql/actor";
|
import { CURRENT_ACTOR_CLIENT } from "../../graphql/actor";
|
||||||
import { IPerson, usernameWithDomain } from "../../types/actor";
|
import { IPerson, usernameWithDomain } from "../../types/actor";
|
||||||
|
@ -171,18 +176,13 @@ export default class Comment extends Vue {
|
||||||
|
|
||||||
showReplies = false;
|
showReplies = false;
|
||||||
|
|
||||||
timeAgoInstance: TimeAgo | null = null;
|
|
||||||
|
|
||||||
CommentModeration = CommentModeration;
|
CommentModeration = CommentModeration;
|
||||||
|
|
||||||
usernameWithDomain = usernameWithDomain;
|
usernameWithDomain = usernameWithDomain;
|
||||||
|
|
||||||
async mounted(): Promise<void> {
|
formatDistanceToNow = formatDistanceToNow;
|
||||||
const localeName = this.$i18n.locale;
|
|
||||||
const locale = await import(`javascript-time-ago/locale/${localeName}`);
|
|
||||||
TimeAgo.addLocale(locale);
|
|
||||||
this.timeAgoInstance = new TimeAgo(localeName);
|
|
||||||
|
|
||||||
|
async mounted(): Promise<void> {
|
||||||
const { hash } = this.$route;
|
const { hash } = this.$route;
|
||||||
if (hash.includes(`#comment-${this.comment.uuid}`)) {
|
if (hash.includes(`#comment-${this.comment.uuid}`)) {
|
||||||
this.fetchReplies();
|
this.fetchReplies();
|
||||||
|
@ -243,13 +243,6 @@ export default class Comment extends Vue {
|
||||||
this.showReplies = true;
|
this.showReplies = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
timeago(dateTime: Date): string {
|
|
||||||
if (this.timeAgoInstance != null) {
|
|
||||||
return this.timeAgoInstance.format(dateTime);
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
get commentSelected(): boolean {
|
get commentSelected(): boolean {
|
||||||
return this.commentId === this.$route.hash;
|
return this.commentId === this.$route.hash;
|
||||||
}
|
}
|
||||||
|
@ -316,8 +309,6 @@ export default class Comment extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
form.reply {
|
form.reply {
|
||||||
padding-bottom: 1rem;
|
padding-bottom: 1rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,10 @@
|
||||||
</span>
|
</span>
|
||||||
<div class="post-infos">
|
<div class="post-infos">
|
||||||
<span :title="comment.insertedAt | formatDateTimeString">
|
<span :title="comment.insertedAt | formatDateTimeString">
|
||||||
{{ $timeAgo.format(new Date(comment.updatedAt), "twitter") || $t("Right now") }}</span
|
{{
|
||||||
|
formatDistanceToNow(new Date(comment.updatedAt), { locale: $dateFnsLocale }) ||
|
||||||
|
$t("Right now")
|
||||||
|
}}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -53,7 +56,13 @@
|
||||||
v-if="comment.insertedAt.getTime() !== comment.updatedAt.getTime()"
|
v-if="comment.insertedAt.getTime() !== comment.updatedAt.getTime()"
|
||||||
:title="comment.updatedAt | formatDateTimeString"
|
:title="comment.updatedAt | formatDateTimeString"
|
||||||
>
|
>
|
||||||
{{ $t("Edited {ago}", { ago: $timeAgo.format(new Date(comment.updatedAt)) }) }}
|
{{
|
||||||
|
$t("Edited {ago}", {
|
||||||
|
ago: formatDistanceToNow(new Date(comment.updatedAt), {
|
||||||
|
locale: $dateFnsLocale,
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="comment-deleted" v-else-if="!editMode">
|
<div class="comment-deleted" v-else-if="!editMode">
|
||||||
|
@ -76,7 +85,8 @@
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Prop, Vue } from "vue-property-decorator";
|
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
import { IComment, CommentModel } from "../../types/comment.model";
|
import { formatDistanceToNow } from "date-fns";
|
||||||
|
import { IComment } from "../../types/comment.model";
|
||||||
import { usernameWithDomain, IPerson } from "../../types/actor";
|
import { usernameWithDomain, IPerson } from "../../types/actor";
|
||||||
import { CURRENT_ACTOR_CLIENT } from "../../graphql/actor";
|
import { CURRENT_ACTOR_CLIENT } from "../../graphql/actor";
|
||||||
|
|
||||||
|
@ -99,14 +109,16 @@ export default class DiscussionComment extends Vue {
|
||||||
|
|
||||||
usernameWithDomain = usernameWithDomain;
|
usernameWithDomain = usernameWithDomain;
|
||||||
|
|
||||||
|
formatDistanceToNow = formatDistanceToNow;
|
||||||
|
|
||||||
// isReportModalActive: boolean = false;
|
// isReportModalActive: boolean = false;
|
||||||
|
|
||||||
toggleEditMode() {
|
toggleEditMode(): void {
|
||||||
this.updatedComment = this.comment.text;
|
this.updatedComment = this.comment.text;
|
||||||
this.editMode = !this.editMode;
|
this.editMode = !this.editMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateComment() {
|
updateComment(): void {
|
||||||
this.comment.text = this.updatedComment;
|
this.comment.text = this.updatedComment;
|
||||||
this.$emit("update-comment", this.comment);
|
this.$emit("update-comment", this.comment);
|
||||||
this.toggleEditMode();
|
this.toggleEditMode();
|
||||||
|
@ -114,8 +126,6 @@ export default class DiscussionComment extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
article.comment {
|
article.comment {
|
||||||
display: flex;
|
display: flex;
|
||||||
border-top: 1px solid #e9e9e9;
|
border-top: 1px solid #e9e9e9;
|
||||||
|
|
|
@ -16,7 +16,10 @@
|
||||||
<div class="title-and-date">
|
<div class="title-and-date">
|
||||||
<p class="discussion-minimalist-title">{{ discussion.title }}</p>
|
<p class="discussion-minimalist-title">{{ discussion.title }}</p>
|
||||||
<span :title="actualDate | formatDateTimeString">
|
<span :title="actualDate | formatDateTimeString">
|
||||||
{{ $timeAgo.format(new Date(actualDate), "twitter") || $t("Right now") }}</span
|
{{
|
||||||
|
formatDistanceToNowStrict(new Date(actualDate), { locale: $dateFnsLocale }) ||
|
||||||
|
$t("Right now")
|
||||||
|
}}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="has-text-grey" v-if="!discussion.lastComment.deletedAt">
|
<div class="has-text-grey" v-if="!discussion.lastComment.deletedAt">
|
||||||
|
@ -28,6 +31,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Prop, Vue } from "vue-property-decorator";
|
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
|
import { formatDistanceToNowStrict } from "date-fns";
|
||||||
import { IDiscussion } from "../../types/discussions";
|
import { IDiscussion } from "../../types/discussions";
|
||||||
import RouteName from "../../router/name";
|
import RouteName from "../../router/name";
|
||||||
|
|
||||||
|
@ -37,7 +41,9 @@ export default class DiscussionListItem extends Vue {
|
||||||
|
|
||||||
RouteName = RouteName;
|
RouteName = RouteName;
|
||||||
|
|
||||||
get htmlTextEllipsis() {
|
formatDistanceToNowStrict = formatDistanceToNowStrict;
|
||||||
|
|
||||||
|
get htmlTextEllipsis(): string {
|
||||||
const element = document.createElement("div");
|
const element = document.createElement("div");
|
||||||
if (this.discussion.lastComment && this.discussion.lastComment.text) {
|
if (this.discussion.lastComment && this.discussion.lastComment.text) {
|
||||||
element.innerHTML = this.discussion.lastComment.text
|
element.innerHTML = this.discussion.lastComment.text
|
||||||
|
@ -47,7 +53,7 @@ export default class DiscussionListItem extends Vue {
|
||||||
return element.innerText;
|
return element.innerText;
|
||||||
}
|
}
|
||||||
|
|
||||||
get actualDate() {
|
get actualDate(): string | Date | undefined {
|
||||||
if (this.discussion.updatedAt === this.discussion.insertedAt && this.discussion.lastComment) {
|
if (this.discussion.updatedAt === this.discussion.insertedAt && this.discussion.lastComment) {
|
||||||
return this.discussion.lastComment.publishedAt;
|
return this.discussion.lastComment.publishedAt;
|
||||||
}
|
}
|
||||||
|
|
|
@ -552,8 +552,6 @@ export default class EditorComponent extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
$color-black: #000;
|
$color-black: #000;
|
||||||
$color-white: #eee;
|
$color-white: #eee;
|
||||||
|
|
||||||
|
|
|
@ -27,23 +27,21 @@ export default class DateCalendarIcon extends Vue {
|
||||||
*/
|
*/
|
||||||
@Prop({ required: true }) date!: string;
|
@Prop({ required: true }) date!: string;
|
||||||
|
|
||||||
get dateObj() {
|
get dateObj(): Date {
|
||||||
return new Date(this.$props.date);
|
return new Date(this.$props.date);
|
||||||
}
|
}
|
||||||
|
|
||||||
get month() {
|
get month(): string {
|
||||||
return this.dateObj.toLocaleString(undefined, { month: "short" });
|
return this.dateObj.toLocaleString(undefined, { month: "short" });
|
||||||
}
|
}
|
||||||
|
|
||||||
get day() {
|
get day(): string {
|
||||||
return this.dateObj.toLocaleString(undefined, { day: "numeric" });
|
return this.dateObj.toLocaleString(undefined, { day: "numeric" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
time.datetime-container {
|
time.datetime-container {
|
||||||
background: $backgrounds;
|
background: $backgrounds;
|
||||||
border: 1px solid $borders;
|
border: 1px solid $borders;
|
||||||
|
|
|
@ -115,8 +115,6 @@ export default class EventCard extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables";
|
|
||||||
|
|
||||||
a.card {
|
a.card {
|
||||||
display: block;
|
display: block;
|
||||||
background: $secondary;
|
background: $secondary;
|
||||||
|
|
|
@ -275,8 +275,6 @@ export default class EventListCard extends mixins(ActorMixin, EventMixin) {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables";
|
|
||||||
|
|
||||||
article.box {
|
article.box {
|
||||||
div.tag-container {
|
div.tag-container {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -104,8 +104,6 @@ export default class EventListViewCard extends mixins(ActorMixin, EventMixin) {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables";
|
|
||||||
|
|
||||||
article.box {
|
article.box {
|
||||||
div.content {
|
div.content {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|
|
@ -20,8 +20,6 @@ export default class EventMetadataBlock extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 1.8rem;
|
font-size: 1.8rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|
|
@ -44,8 +44,6 @@ export default class Footer extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../variables.scss";
|
|
||||||
|
|
||||||
footer.footer {
|
footer.footer {
|
||||||
color: $secondary;
|
color: $secondary;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -32,8 +32,6 @@ export default class GroupSection extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
section {
|
section {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Prop, Vue } from "vue-property-decorator";
|
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
import { IGroup, IMember, usernameWithDomain } from "@/types/actor";
|
import { IMember, usernameWithDomain } from "@/types/actor";
|
||||||
import RouteName from "../../router/name";
|
import RouteName from "../../router/name";
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
@ -68,8 +68,6 @@ export default class InvitationCard extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
.media:not(.subfield) {
|
.media:not(.subfield) {
|
||||||
background: lighten($primary, 40%);
|
background: lighten($primary, 40%);
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Component, Prop, Vue } from "vue-property-decorator";
|
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import MobilizonLogo from "../assets/mobilizon_logo.svg?inline";
|
import MobilizonLogo from "../assets/mobilizon_logo.svg?inline";
|
||||||
|
|
||||||
|
@ -18,8 +18,6 @@ export default class Logo extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../variables.scss";
|
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
fill: $background-color;
|
fill: $background-color;
|
||||||
|
|
||||||
|
|
|
@ -216,8 +216,6 @@ export default class NavBar extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../variables.scss";
|
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
.navbar-item {
|
.navbar-item {
|
||||||
a.button {
|
a.button {
|
||||||
|
|
|
@ -5,11 +5,17 @@
|
||||||
>
|
>
|
||||||
<div class="title-info-wrapper">
|
<div class="title-info-wrapper">
|
||||||
<p class="post-minimalist-title">{{ post.title }}</p>
|
<p class="post-minimalist-title">{{ post.title }}</p>
|
||||||
<small class="has-text-grey">{{ $timeAgo.format(new Date(post.insertedAt)) }}</small>
|
<small class="has-text-grey">{{
|
||||||
|
formatDistanceToNow(new Date(post.publishAt || post.insertedAt), {
|
||||||
|
locale: $dateFnsLocale,
|
||||||
|
addSuffix: true,
|
||||||
|
})
|
||||||
|
}}</small>
|
||||||
</div>
|
</div>
|
||||||
</router-link>
|
</router-link>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { formatDistanceToNow } from "date-fns";
|
||||||
import { Component, Prop, Vue } from "vue-property-decorator";
|
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
import RouteName from "../../router/name";
|
import RouteName from "../../router/name";
|
||||||
import { IPost } from "../../types/post.model";
|
import { IPost } from "../../types/post.model";
|
||||||
|
@ -19,6 +25,8 @@ export default class PostListItem extends Vue {
|
||||||
@Prop({ required: true, type: Object }) post!: IPost;
|
@Prop({ required: true, type: Object }) post!: IPost;
|
||||||
|
|
||||||
RouteName = RouteName;
|
RouteName = RouteName;
|
||||||
|
|
||||||
|
formatDistanceToNow = formatDistanceToNow;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
@ -114,8 +114,6 @@ export default class FolderItem extends Mixins(ResourceMixin) {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
.resource-wrapper {
|
.resource-wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
|
@ -57,8 +57,6 @@ export default class ResourceItem extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
.resource-wrapper {
|
.resource-wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
|
@ -111,8 +111,6 @@ export default class ResourceSelector extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
.panel {
|
.panel {
|
||||||
a.panel-block {
|
a.panel-block {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|
|
@ -30,8 +30,6 @@ export default class SettingMenuItem extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
li.setting-menu-item {
|
li.setting-menu-item {
|
||||||
font-size: 1.05rem;
|
font-size: 1.05rem;
|
||||||
background-color: #fff1de;
|
background-color: #fff1de;
|
||||||
|
|
|
@ -37,8 +37,6 @@ export default class SettingMenuSection extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
li {
|
li {
|
||||||
font-size: 1.3rem;
|
font-size: 1.3rem;
|
||||||
background-color: $secondary;
|
background-color: $secondary;
|
||||||
|
|
|
@ -13,8 +13,6 @@ export default class Tag extends Vue {}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../variables.scss";
|
|
||||||
|
|
||||||
span.tag {
|
span.tag {
|
||||||
background: $purple-3;
|
background: $purple-3;
|
||||||
color: $violet-2;
|
color: $violet-2;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="card" v-if="todo">
|
<div class="card" v-if="todo">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<b-field :label="$t('Statut')">
|
<b-field :label="$t('Status')">
|
||||||
<b-checkbox size="is-large" v-model="status" />
|
<b-checkbox size="is-large" v-model="status" />
|
||||||
</b-field>
|
</b-field>
|
||||||
<b-field :label="$t('Title')">
|
<b-field :label="$t('Title')">
|
||||||
|
|
|
@ -12,8 +12,6 @@ import { Component, Vue } from "vue-property-decorator";
|
||||||
export default class Subtitle extends Vue {}
|
export default class Subtitle extends Vue {}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 15px 0 30px;
|
margin: 15px 0 30px;
|
||||||
|
|
|
@ -8,14 +8,12 @@ import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
export default class VerticalDivider extends Vue {
|
export default class VerticalDivider extends Vue {
|
||||||
@Prop({ default: "Or" }) content!: string;
|
@Prop({ default: "Or" }) content!: string;
|
||||||
|
|
||||||
get dataContent() {
|
get dataContent(): string {
|
||||||
return this.content.toLocaleUpperCase();
|
return this.content.toLocaleUpperCase();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
.is-divider-vertical[data-content]::after {
|
.is-divider-vertical[data-content]::after {
|
||||||
background-color: $body-background-color;
|
background-color: $body-background-color;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ import nl2br from "@/filters/utils";
|
||||||
import { formatDateString, formatTimeString, formatDateTimeString } from "./datetime";
|
import { formatDateString, formatTimeString, formatDateTimeString } from "./datetime";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
install(vue: any) {
|
install(vue: any): void {
|
||||||
vue.filter("formatDateString", formatDateString);
|
vue.filter("formatDateString", formatDateString);
|
||||||
vue.filter("formatTimeString", formatTimeString);
|
vue.filter("formatTimeString", formatTimeString);
|
||||||
vue.filter("formatDateTimeString", formatDateTimeString);
|
vue.filter("formatDateTimeString", formatDateTimeString);
|
||||||
|
|
|
@ -204,7 +204,7 @@
|
||||||
"Duplicate": "Dupliquer",
|
"Duplicate": "Dupliquer",
|
||||||
"Edit": "Modifier",
|
"Edit": "Modifier",
|
||||||
"Edit post": "Éditer le billet",
|
"Edit post": "Éditer le billet",
|
||||||
"Edited {ago}": "Édité {ago}",
|
"Edited {ago}": "Édité il y a {ago}",
|
||||||
"Eg: Stockholm, Dance, Chess…": "Par exemple : Lyon, Danse, Bridge…",
|
"Eg: Stockholm, Dance, Chess…": "Par exemple : Lyon, Danse, Bridge…",
|
||||||
"Either on the {instance} instance or on another instance.": "Sur l'instance {instance} ou bien sur une autre instance.",
|
"Either on the {instance} instance or on another instance.": "Sur l'instance {instance} ou bien sur une autre instance.",
|
||||||
"Either the account is already validated, either the validation token is incorrect.": "Soit le compte est déjà validé, soit le jeton de validation est incorrect.",
|
"Either the account is already validated, either the validation token is incorrect.": "Soit le compte est déjà validé, soit le jeton de validation est incorrect.",
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
/* eslint-disable @typescript-eslint/camelcase */
|
|
||||||
|
|
||||||
import ar from "./ar.json";
|
|
||||||
import be from "./be.json";
|
|
||||||
import ca from "./ca.json";
|
|
||||||
import cs from "./cs.json";
|
|
||||||
import de from "./de.json";
|
|
||||||
import en_US from "./en_US.json";
|
|
||||||
import es from "./es.json";
|
|
||||||
import fi from "./fi.json";
|
|
||||||
import fr_FR from "./fr_FR.json";
|
|
||||||
import it from "./it.json";
|
|
||||||
import ja from "./ja.json";
|
|
||||||
import nl from "./nl.json";
|
|
||||||
import oc from "./oc.json";
|
|
||||||
import pl from "./pl.json";
|
|
||||||
import pt from "./pt.json";
|
|
||||||
import pt_BR from "./pt_BR.json";
|
|
||||||
import ru from "./ru.json";
|
|
||||||
import sv from "./sv.json";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
ar,
|
|
||||||
be,
|
|
||||||
ca,
|
|
||||||
cs,
|
|
||||||
de,
|
|
||||||
en: en_US,
|
|
||||||
en_US,
|
|
||||||
es,
|
|
||||||
fi,
|
|
||||||
fr: fr_FR,
|
|
||||||
fr_FR,
|
|
||||||
it,
|
|
||||||
ja,
|
|
||||||
nl,
|
|
||||||
oc,
|
|
||||||
pl,
|
|
||||||
pt,
|
|
||||||
pt_BR,
|
|
||||||
ru,
|
|
||||||
sv,
|
|
||||||
};
|
|
|
@ -1,19 +1,14 @@
|
||||||
{
|
{
|
||||||
"ar": "العربية",
|
"ar": "العربية",
|
||||||
"bg": "Български",
|
|
||||||
"be": "Беларуская мова",
|
"be": "Беларуская мова",
|
||||||
"br": "Brezhoneg",
|
|
||||||
"ca": "Català",
|
"ca": "Català",
|
||||||
"co": "Corsu",
|
|
||||||
"cs": "čeština",
|
"cs": "čeština",
|
||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
"eo": "Esperanto",
|
|
||||||
"es": "Español",
|
"es": "Español",
|
||||||
"fi": "suomi",
|
"fi": "suomi",
|
||||||
"fr": "Français",
|
"fr": "Français",
|
||||||
"gl": "Galego",
|
"gl": "Galego",
|
||||||
"hu": "Magyar",
|
|
||||||
"it": "Italiano",
|
"it": "Italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"nl": "Dutch",
|
"nl": "Dutch",
|
||||||
|
@ -22,9 +17,5 @@
|
||||||
"pt": "Português",
|
"pt": "Português",
|
||||||
"pt_PT": "Português (Portugal)",
|
"pt_PT": "Português (Portugal)",
|
||||||
"ru": "Русский",
|
"ru": "Русский",
|
||||||
"sq": "Shqip",
|
"sv": "Svenska"
|
||||||
"sv": "Svenska",
|
|
||||||
"tr": "Türkçe",
|
|
||||||
"vi": "Tiếng Việt",
|
|
||||||
"zh_Hant_TW": "繁體中文(台灣)"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,33 +6,17 @@ import Component from "vue-class-component";
|
||||||
import VueScrollTo from "vue-scrollto";
|
import VueScrollTo from "vue-scrollto";
|
||||||
import VueMeta from "vue-meta";
|
import VueMeta from "vue-meta";
|
||||||
import VTooltip from "v-tooltip";
|
import VTooltip from "v-tooltip";
|
||||||
import TimeAgo from "javascript-time-ago";
|
|
||||||
import App from "./App.vue";
|
import App from "./App.vue";
|
||||||
import router from "./router";
|
import router from "./router";
|
||||||
import { NotifierPlugin } from "./plugins/notifier";
|
import { NotifierPlugin } from "./plugins/notifier";
|
||||||
import { DateFnsPlugin } from "./plugins/dateFns";
|
|
||||||
import filters from "./filters";
|
import filters from "./filters";
|
||||||
import { i18n } from "./utils/i18n";
|
import { i18n } from "./utils/i18n";
|
||||||
import messages from "./i18n";
|
|
||||||
import apolloProvider from "./vue-apollo";
|
import apolloProvider from "./vue-apollo";
|
||||||
|
|
||||||
Vue.config.productionTip = false;
|
Vue.config.productionTip = false;
|
||||||
|
|
||||||
let language = document.documentElement.getAttribute("lang") as string;
|
|
||||||
language =
|
|
||||||
language ||
|
|
||||||
((window.navigator as any).userLanguage || window.navigator.language).replace(/-/, "_");
|
|
||||||
export const locale =
|
|
||||||
language && messages.hasOwnProperty(language) ? language : language.split("-")[0];
|
|
||||||
|
|
||||||
import(`javascript-time-ago/locale/${locale}`).then((localeFile) => {
|
|
||||||
TimeAgo.addLocale(localeFile);
|
|
||||||
Vue.prototype.$timeAgo = new TimeAgo(locale);
|
|
||||||
});
|
|
||||||
|
|
||||||
Vue.use(Buefy);
|
Vue.use(Buefy);
|
||||||
Vue.use(NotifierPlugin);
|
Vue.use(NotifierPlugin);
|
||||||
Vue.use(DateFnsPlugin, { locale });
|
|
||||||
Vue.use(filters);
|
Vue.use(filters);
|
||||||
Vue.use(VueMeta);
|
Vue.use(VueMeta);
|
||||||
Vue.use(VueScrollTo);
|
Vue.use(VueScrollTo);
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import { Component, Vue, Ref } from "vue-property-decorator";
|
import { Component, Vue, Ref } from "vue-property-decorator";
|
||||||
import { ActorType, IActor } from "@/types/actor";
|
import { ActorType, IActor } from "@/types/actor";
|
||||||
import { IFollower } from "@/types/actor/follower.model";
|
import { IFollower } from "@/types/actor/follower.model";
|
||||||
import TimeAgo from "javascript-time-ago";
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
export default class RelayMixin extends Vue {
|
export default class RelayMixin extends Vue {
|
||||||
|
@ -13,20 +12,11 @@ export default class RelayMixin extends Vue {
|
||||||
|
|
||||||
perPage = 10;
|
perPage = 10;
|
||||||
|
|
||||||
timeAgoInstance: TimeAgo | null = null;
|
toggle(row: Record<string, unknown>): void {
|
||||||
|
|
||||||
async mounted() {
|
|
||||||
const localeName = this.$i18n.locale;
|
|
||||||
const locale = await import(`javascript-time-ago/locale/${localeName}`);
|
|
||||||
TimeAgo.addLocale(locale);
|
|
||||||
this.timeAgoInstance = new TimeAgo(localeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
toggle(row: object) {
|
|
||||||
this.table.toggleDetails(row);
|
this.table.toggleDetails(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
async onPageChange(page: number) {
|
async onPageChange(page: number): Promise<void> {
|
||||||
this.page = page;
|
this.page = page;
|
||||||
await this.$apollo.queries.relayFollowings.fetchMore({
|
await this.$apollo.queries.relayFollowings.fetchMore({
|
||||||
variables: {
|
variables: {
|
||||||
|
@ -53,11 +43,4 @@ export default class RelayMixin extends Vue {
|
||||||
(actor.preferredUsername === "relay" || actor.preferredUsername === actor.domain)
|
(actor.preferredUsername === "relay" || actor.preferredUsername === actor.domain)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
timeago(dateTime: string): string {
|
|
||||||
if (this.timeAgoInstance != null) {
|
|
||||||
return this.timeAgoInstance.format(new Date(dateTime));
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Vue from "vue";
|
|
||||||
import Locale from "date-fns";
|
import Locale from "date-fns";
|
||||||
|
import VueInstance from "vue";
|
||||||
|
|
||||||
declare module "vue/types/vue" {
|
declare module "vue/types/vue" {
|
||||||
interface Vue {
|
interface Vue {
|
||||||
|
@ -7,8 +7,8 @@ declare module "vue/types/vue" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function DateFnsPlugin(vue: typeof Vue, { locale }: { locale: string }): void {
|
export function DateFnsPlugin(vue: typeof VueInstance, { locale }: { locale: string }): void {
|
||||||
import(`date-fns/locale/${locale}/index.js`).then((localeEntity) => {
|
import(`date-fns/locale/${locale}/index.js`).then((localeEntity) => {
|
||||||
Vue.prototype.$dateFnsLocale = localeEntity;
|
VueInstance.prototype.$dateFnsLocale = localeEntity;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import Vue from "vue";
|
/* eslint-disable no-shadow */
|
||||||
|
import VueInstance from "vue";
|
||||||
import { ColorModifiers } from "buefy/types/helpers.d";
|
import { ColorModifiers } from "buefy/types/helpers.d";
|
||||||
import { Route, RawLocation } from "vue-router";
|
import { Route, RawLocation } from "vue-router";
|
||||||
|
|
||||||
|
@ -12,39 +13,39 @@ declare module "vue/types/vue" {
|
||||||
beforeRouteEnter?(
|
beforeRouteEnter?(
|
||||||
to: Route,
|
to: Route,
|
||||||
from: Route,
|
from: Route,
|
||||||
next: (to?: RawLocation | false | ((vm: Vue) => void)) => void
|
next: (to?: RawLocation | false | ((vm: VueInstance) => void)) => void
|
||||||
): void;
|
): void;
|
||||||
|
|
||||||
beforeRouteLeave?(
|
beforeRouteLeave?(
|
||||||
to: Route,
|
to: Route,
|
||||||
from: Route,
|
from: Route,
|
||||||
next: (to?: RawLocation | false | ((vm: Vue) => void)) => void
|
next: (to?: RawLocation | false | ((vm: VueInstance) => void)) => void
|
||||||
): void;
|
): void;
|
||||||
|
|
||||||
beforeRouteUpdate?(
|
beforeRouteUpdate?(
|
||||||
to: Route,
|
to: Route,
|
||||||
from: Route,
|
from: Route,
|
||||||
next: (to?: RawLocation | false | ((vm: Vue) => void)) => void
|
next: (to?: RawLocation | false | ((vm: VueInstance) => void)) => void
|
||||||
): void;
|
): void;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class Notifier {
|
export class Notifier {
|
||||||
private readonly vue: typeof Vue;
|
private readonly vue: typeof VueInstance;
|
||||||
|
|
||||||
constructor(vue: typeof Vue) {
|
constructor(vue: typeof VueInstance) {
|
||||||
this.vue = vue;
|
this.vue = vue;
|
||||||
}
|
}
|
||||||
|
|
||||||
success(message: string) {
|
success(message: string): void {
|
||||||
this.notification(message, "is-success");
|
this.notification(message, "is-success");
|
||||||
}
|
}
|
||||||
|
|
||||||
error(message: string) {
|
error(message: string): void {
|
||||||
this.notification(message, "is-danger");
|
this.notification(message, "is-danger");
|
||||||
}
|
}
|
||||||
|
|
||||||
info(message: string) {
|
info(message: string): void {
|
||||||
this.notification(message, "is-info");
|
this.notification(message, "is-info");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,6 +61,6 @@ export class Notifier {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
export function NotifierPlugin(vue: typeof Vue): void {
|
export function NotifierPlugin(vue: typeof VueInstance): void {
|
||||||
vue.prototype.$notifier = new Notifier(vue);
|
vue.prototype.$notifier = new Notifier(vue);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,70 @@
|
||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
import VueI18n from "vue-i18n";
|
import VueI18n from "vue-i18n";
|
||||||
import messages from "../i18n/index";
|
import { DateFnsPlugin } from "@/plugins/dateFns";
|
||||||
|
import en from "../i18n/en_US.json";
|
||||||
|
import langs from "../i18n/langs.json";
|
||||||
|
|
||||||
|
const DEFAULT_LOCALE = "en";
|
||||||
|
|
||||||
let language = document.documentElement.getAttribute("lang") as string;
|
let language = document.documentElement.getAttribute("lang") as string;
|
||||||
language = language || ((window.navigator as any).userLanguage || window.navigator.language).replace(/-/, "_");
|
language = language || ((window.navigator as any).userLanguage || window.navigator.language).replace(/-/, "_");
|
||||||
export const locale = language && messages.hasOwnProperty(language) ? language : language.split("-")[0];
|
export const locale =
|
||||||
|
language && Object.prototype.hasOwnProperty.call(langs, language) ? language : language.split("-")[0];
|
||||||
|
|
||||||
Vue.use(VueI18n);
|
Vue.use(VueI18n);
|
||||||
|
|
||||||
|
console.log(en);
|
||||||
|
console.log(locale);
|
||||||
export const i18n = new VueI18n({
|
export const i18n = new VueI18n({
|
||||||
locale, // set locale
|
locale: DEFAULT_LOCALE, // set locale
|
||||||
messages, // set locale messages
|
messages: (en as unknown) as VueI18n.LocaleMessages, // set locale messages
|
||||||
fallbackLocale: "en_US",
|
fallbackLocale: "en",
|
||||||
});
|
});
|
||||||
|
console.log(i18n);
|
||||||
|
|
||||||
|
Vue.use(DateFnsPlugin, { locale });
|
||||||
|
|
||||||
|
const loadedLanguages = ["en"];
|
||||||
|
|
||||||
|
function setI18nLanguage(lang: string): string {
|
||||||
|
i18n.locale = lang;
|
||||||
|
return lang;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fileForLanguage(lang: string) {
|
||||||
|
const matches: Record<string, string> = {
|
||||||
|
fr: "fr_FR",
|
||||||
|
en: "en_US",
|
||||||
|
};
|
||||||
|
if (Object.prototype.hasOwnProperty.call(matches, lang)) {
|
||||||
|
return matches[lang];
|
||||||
|
}
|
||||||
|
return lang;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function loadLanguageAsync(lang: string): Promise<string> {
|
||||||
|
// If the same language
|
||||||
|
if (i18n.locale === lang) {
|
||||||
|
return Promise.resolve(setI18nLanguage(lang));
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the language was already loaded
|
||||||
|
if (loadedLanguages.includes(lang)) {
|
||||||
|
return Promise.resolve(setI18nLanguage(lang));
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(fileForLanguage(lang));
|
||||||
|
// If the language hasn't been loaded yet
|
||||||
|
return import(/* webpackChunkName: "lang-[request]" */ `@/i18n/${fileForLanguage(lang)}.json`).then(
|
||||||
|
(newMessages: any) => {
|
||||||
|
i18n.setLocaleMessage(lang, newMessages.default);
|
||||||
|
loadedLanguages.push(lang);
|
||||||
|
return setI18nLanguage(lang);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
loadLanguageAsync(locale);
|
||||||
|
|
||||||
export function formatList(list: string[]): string {
|
export function formatList(list: string[]): string {
|
||||||
if (window.Intl && Intl.ListFormat) {
|
if (window.Intl && Intl.ListFormat) {
|
||||||
|
|
|
@ -135,7 +135,3 @@ $subtitle-sup-size: 15px;
|
||||||
$breadcrumb-item-color: $primary;
|
$breadcrumb-item-color: $primary;
|
||||||
$checkbox-background-color: #fff;
|
$checkbox-background-color: #fff;
|
||||||
$title-color: $violet-3;
|
$title-color: $violet-3;
|
||||||
|
|
||||||
@import "~bulma";
|
|
||||||
@import "~bulma-divider";
|
|
||||||
@import "~buefy/src/scss/buefy";
|
|
||||||
|
|
|
@ -119,8 +119,6 @@ export default class About extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../variables.scss";
|
|
||||||
|
|
||||||
.hero.is-primary {
|
.hero.is-primary {
|
||||||
background: $background-color;
|
background: $background-color;
|
||||||
|
|
||||||
|
|
|
@ -122,8 +122,6 @@ export default class AboutInstance extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
section {
|
section {
|
||||||
&:not(:first-child) {
|
&:not(:first-child) {
|
||||||
margin: 2rem auto;
|
margin: 2rem auto;
|
||||||
|
|
|
@ -166,8 +166,6 @@ export default class AboutMobilizon extends Vue {}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
.hero.is-primary {
|
.hero.is-primary {
|
||||||
background: $background-color;
|
background: $background-color;
|
||||||
.subtitle {
|
.subtitle {
|
||||||
|
|
|
@ -51,8 +51,6 @@ export default class Privacy extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
main > .container {
|
main > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,6 @@ export default class Rules extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
main > .container {
|
main > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,8 +144,3 @@ export default class Profile extends Vue {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
|
||||||
@import "../../variables";
|
|
||||||
@import "~bulma/sass/utilities/_all";
|
|
||||||
@import "~bulma/sass/components/dropdown.sass";
|
|
||||||
</style>
|
|
||||||
|
|
|
@ -168,7 +168,6 @@ export default class Register extends mixins(identityEditionMixin) {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
.avatar-enter-active {
|
.avatar-enter-active {
|
||||||
transition: opacity 1s ease;
|
transition: opacity 1s ease;
|
||||||
}
|
}
|
||||||
|
|
|
@ -359,8 +359,6 @@ export default class Settings extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
.notification a {
|
.notification a {
|
||||||
color: $primary !important;
|
color: $primary !important;
|
||||||
text-decoration: underline !important;
|
text-decoration: underline !important;
|
||||||
|
|
|
@ -145,14 +145,13 @@ export default class Users extends Vue {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
onFiltersChange({ email }: { email: string }) {
|
onFiltersChange({ email }: { email: string }): void {
|
||||||
this.email = email;
|
this.email = email;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
a.profile,
|
a.profile,
|
||||||
a.user-profile {
|
a.user-profile {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
|
@ -296,8 +296,6 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
main section > .container {
|
main section > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1044,8 +1044,6 @@ export default class Event extends EventMixin {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables";
|
|
||||||
|
|
||||||
.section {
|
.section {
|
||||||
padding: 1rem 2rem 4rem;
|
padding: 1rem 2rem 4rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,8 +278,6 @@ export default class MyEvents extends Vue {
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables";
|
|
||||||
|
|
||||||
main > .container {
|
main > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -365,7 +365,7 @@ export default class Participants extends Vue {
|
||||||
|
|
||||||
nl2br = nl2br;
|
nl2br = nl2br;
|
||||||
|
|
||||||
toggleQueueDetails(row: IParticipant) {
|
toggleQueueDetails(row: IParticipant): void {
|
||||||
if (row.metadata.message && row.metadata.message.length < MESSAGE_ELLIPSIS_LENGTH) return;
|
if (row.metadata.message && row.metadata.message.length < MESSAGE_ELLIPSIS_LENGTH) return;
|
||||||
this.queueTable.toggleDetails(row);
|
this.queueTable.toggleDetails(row);
|
||||||
}
|
}
|
||||||
|
@ -374,8 +374,6 @@ export default class Participants extends Vue {
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
section {
|
section {
|
||||||
padding: 1rem 0;
|
padding: 1rem 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -546,8 +546,6 @@ export default class Group extends mixins(GroupMixin) {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
div.container {
|
div.container {
|
||||||
background: white;
|
background: white;
|
||||||
margin-bottom: 3rem;
|
margin-bottom: 3rem;
|
||||||
|
|
|
@ -120,8 +120,6 @@ export default class MyEvents extends Vue {
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables";
|
|
||||||
|
|
||||||
main > .container {
|
main > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -338,8 +338,6 @@ export default class Home extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
main > div > .container {
|
main > div > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,8 +58,6 @@ export default class Interact extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
main > .container {
|
main > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -443,8 +443,6 @@ export default class Report extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
tbody td img.image,
|
tbody td img.image,
|
||||||
.note img.image {
|
.note img.image {
|
||||||
display: inline;
|
display: inline;
|
||||||
|
|
|
@ -129,8 +129,6 @@ export default class Post extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
article {
|
article {
|
||||||
section.heading-section {
|
section.heading-section {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
|
@ -366,8 +366,6 @@ export default class Search extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
main > .container {
|
main > .container {
|
||||||
background: $white;
|
background: $white;
|
||||||
|
|
||||||
|
|
|
@ -323,8 +323,6 @@ export default class AccountSettings extends Vue {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import "@/variables.scss";
|
|
||||||
|
|
||||||
.setting-title {
|
.setting-title {
|
||||||
margin-top: 2rem;
|
margin-top: 2rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
|
|
|
@ -155,8 +155,6 @@ export default class Notifications extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables.scss";
|
|
||||||
|
|
||||||
.field {
|
.field {
|
||||||
&:not(:last-child) {
|
&:not(:last-child) {
|
||||||
margin-bottom: 1.5rem;
|
margin-bottom: 1.5rem;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
v-model="$i18n.locale"
|
v-model="$i18n.locale"
|
||||||
:placeholder="$t('Select a language')"
|
:placeholder="$t('Select a language')"
|
||||||
>
|
>
|
||||||
<option v-for="(language, lang) in languages" :value="lang" :key="lang">
|
<option v-for="(language, lang) in langs" :value="lang" :key="lang">
|
||||||
{{ language }}
|
{{ language }}
|
||||||
</option>
|
</option>
|
||||||
</b-select>
|
</b-select>
|
||||||
|
@ -73,8 +73,10 @@ export default class Preferences extends Vue {
|
||||||
|
|
||||||
RouteName = RouteName;
|
RouteName = RouteName;
|
||||||
|
|
||||||
|
langs: Record<string, string> = langs;
|
||||||
|
|
||||||
@Watch("loggedUser")
|
@Watch("loggedUser")
|
||||||
setSavedTimezone(loggedUser: IUser) {
|
setSavedTimezone(loggedUser: IUser): void {
|
||||||
if (loggedUser && loggedUser.settings.timezone) {
|
if (loggedUser && loggedUser.settings.timezone) {
|
||||||
this.selectedTimezone = loggedUser.settings.timezone;
|
this.selectedTimezone = loggedUser.settings.timezone;
|
||||||
} else {
|
} else {
|
||||||
|
@ -87,22 +89,24 @@ export default class Preferences extends Vue {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line class-methods-use-this
|
||||||
sanitize(timezone: string): string {
|
sanitize(timezone: string): string {
|
||||||
return timezone.split("_").join(" ").replace("St ", "St. ").split("/").join(" - ");
|
return timezone.split("_").join(" ").replace("St ", "St. ").split("/").join(" - ");
|
||||||
}
|
}
|
||||||
|
|
||||||
get timezones() {
|
get timezones(): Record<string, string[]> {
|
||||||
if (!this.config || !this.config.timezones) return {};
|
if (!this.config || !this.config.timezones) return {};
|
||||||
return this.config.timezones.reduce((acc: { [key: string]: Array<string> }, val: string) => {
|
return this.config.timezones.reduce((acc: { [key: string]: Array<string> }, val: string) => {
|
||||||
const components = val.split("/");
|
const components = val.split("/");
|
||||||
const [prefix, suffix] = [components.shift() as string, components.join("/")];
|
const [prefix, suffix] = [components.shift() as string, components.join("/")];
|
||||||
const pushOrCreate = (
|
const pushOrCreate = (
|
||||||
acc: { [key: string]: Array<string> },
|
acc2: { [key: string]: Array<string> },
|
||||||
prefix: string,
|
prefix2: string,
|
||||||
suffix: string
|
suffix2: string
|
||||||
) => {
|
) => {
|
||||||
(acc[prefix] = acc[prefix] || []).push(suffix);
|
// eslint-disable-next-line no-param-reassign
|
||||||
return acc;
|
(acc2[prefix2] = acc2[prefix2] || []).push(suffix2);
|
||||||
|
return acc2;
|
||||||
};
|
};
|
||||||
if (suffix) {
|
if (suffix) {
|
||||||
return pushOrCreate(acc, prefix, suffix);
|
return pushOrCreate(acc, prefix, suffix);
|
||||||
|
@ -111,22 +115,8 @@ export default class Preferences extends Vue {
|
||||||
}, {});
|
}, {});
|
||||||
}
|
}
|
||||||
|
|
||||||
get languages(): object {
|
|
||||||
return this.$i18n.availableLocales.reduce((acc: object, lang: string) => {
|
|
||||||
// @ts-ignore
|
|
||||||
if (langs[lang]) {
|
|
||||||
return {
|
|
||||||
...acc,
|
|
||||||
// @ts-ignore
|
|
||||||
[lang]: langs[lang],
|
|
||||||
};
|
|
||||||
}
|
|
||||||
return acc;
|
|
||||||
}, {} as object);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Watch("selectedTimezone")
|
@Watch("selectedTimezone")
|
||||||
async updateTimezone() {
|
async updateTimezone(): Promise<void> {
|
||||||
if (this.selectedTimezone !== this.loggedUser.settings.timezone) {
|
if (this.selectedTimezone !== this.loggedUser.settings.timezone) {
|
||||||
await this.$apollo.mutate<{ setUserSetting: string }>({
|
await this.$apollo.mutate<{ setUserSetting: string }>({
|
||||||
mutation: SET_USER_SETTINGS,
|
mutation: SET_USER_SETTINGS,
|
||||||
|
@ -138,7 +128,7 @@ export default class Preferences extends Vue {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Watch("$i18n.locale")
|
@Watch("$i18n.locale")
|
||||||
async updateLocale() {
|
async updateLocale(): Promise<void> {
|
||||||
await this.$apollo.mutate({
|
await this.$apollo.mutate({
|
||||||
mutation: UPDATE_USER_LOCALE,
|
mutation: UPDATE_USER_LOCALE,
|
||||||
variables: {
|
variables: {
|
||||||
|
|
|
@ -212,9 +212,6 @@ export default class Register extends Vue {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../../variables";
|
|
||||||
@import "../../common.scss";
|
|
||||||
|
|
||||||
.avatar-enter-active {
|
.avatar-enter-active {
|
||||||
transition: opacity 1s ease;
|
transition: opacity 1s ease;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
|
|
|
@ -5,6 +5,7 @@ module.exports = {
|
||||||
runtimeCompiler: true,
|
runtimeCompiler: true,
|
||||||
lintOnSave: true,
|
lintOnSave: true,
|
||||||
filenameHashing: true,
|
filenameHashing: true,
|
||||||
|
productionSourceMap: false,
|
||||||
outputDir: path.resolve(__dirname, "../priv/static"),
|
outputDir: path.resolve(__dirname, "../priv/static"),
|
||||||
configureWebpack: (config) => {
|
configureWebpack: (config) => {
|
||||||
// Limit the used memory when building
|
// Limit the used memory when building
|
||||||
|
@ -25,6 +26,17 @@ module.exports = {
|
||||||
|
|
||||||
config.plugins.push(new ForkTsCheckerWebpackPlugin(forkTsCheckerOptions));
|
config.plugins.push(new ForkTsCheckerWebpackPlugin(forkTsCheckerOptions));
|
||||||
},
|
},
|
||||||
|
chainWebpack: (config) => {
|
||||||
|
// remove the prefetch plugin
|
||||||
|
config.plugins.delete("prefetch");
|
||||||
|
},
|
||||||
|
css: {
|
||||||
|
loaderOptions: {
|
||||||
|
scss: {
|
||||||
|
additionalData: `@import "@/variables.scss";`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
// configureWebpack: {
|
// configureWebpack: {
|
||||||
// optimization: {
|
// optimization: {
|
||||||
// splitChunks: {
|
// splitChunks: {
|
||||||
|
|
17
js/yarn.lock
17
js/yarn.lock
|
@ -1352,11 +1352,6 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/javascript-time-ago@^2.0.1":
|
|
||||||
version "2.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/javascript-time-ago/-/javascript-time-ago-2.0.1.tgz#819ec39b467409e2fd6acb42bc53ae7d631bbdb0"
|
|
||||||
integrity sha512-6QWXsuqzfUMfsg1DTJan/MfUi80LGS1TOohSqxlgpBZEHH344xpl3LzgANTp7PPWf7Z/9S0l14RMQPF0vH7MIg==
|
|
||||||
|
|
||||||
"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6":
|
"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6":
|
||||||
version "7.0.6"
|
version "7.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
|
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
|
||||||
|
@ -7988,13 +7983,6 @@ javascript-stringify@^2.0.0, javascript-stringify@^2.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5"
|
resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5"
|
||||||
integrity sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==
|
integrity sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==
|
||||||
|
|
||||||
javascript-time-ago@^2.0.4:
|
|
||||||
version "2.2.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/javascript-time-ago/-/javascript-time-ago-2.2.8.tgz#d2821816a648f4659f605e030418af7949f0564e"
|
|
||||||
integrity sha512-VU2GZ88QYl7zEfnKe2VecnPlXunr1awIAf21S13CRUUYlk6cVbmA81GApMXHIbDUfYfsJVcPjjB76KLEPO4fGA==
|
|
||||||
dependencies:
|
|
||||||
relative-time-format "^1.0.5"
|
|
||||||
|
|
||||||
jest-worker@^25.4.0:
|
jest-worker@^25.4.0:
|
||||||
version "25.5.0"
|
version "25.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1"
|
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1"
|
||||||
|
@ -11941,11 +11929,6 @@ relateurl@0.2.x:
|
||||||
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
|
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
|
||||||
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
|
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
|
||||||
|
|
||||||
relative-time-format@^1.0.5:
|
|
||||||
version "1.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/relative-time-format/-/relative-time-format-1.0.5.tgz#3fb7c76ae39156afe0a3a7ff0cb7bf30aa0f0fb6"
|
|
||||||
integrity sha512-MAgx/YKcUQYJpIaWcfetPstElnWf26JxVis4PirdwVrrymFdbxyCSm6yENpfB1YuwFbtHSHksN3aBajVNxk10Q==
|
|
||||||
|
|
||||||
remark-parse@^7.0.0:
|
remark-parse@^7.0.0:
|
||||||
version "7.0.2"
|
version "7.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf"
|
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf"
|
||||||
|
|
|
@ -17,8 +17,8 @@ defmodule Mobilizon.GraphQL.Schema.PostType do
|
||||||
field(:attributed_to, :actor, description: "The post's group")
|
field(:attributed_to, :actor, description: "The post's group")
|
||||||
field(:visibility, :post_visibility, description: "The post's visibility")
|
field(:visibility, :post_visibility, description: "The post's visibility")
|
||||||
field(:publish_at, :datetime, description: "When the post was published")
|
field(:publish_at, :datetime, description: "When the post was published")
|
||||||
field(:inserted_at, :naive_datetime, description: "The post's creation date")
|
field(:inserted_at, :datetime, description: "The post's creation date")
|
||||||
field(:updated_at, :naive_datetime, description: "The post's last update date")
|
field(:updated_at, :datetime, description: "The post's last update date")
|
||||||
|
|
||||||
field(:tags, list_of(:tag),
|
field(:tags, list_of(:tag),
|
||||||
resolve: &Tag.list_tags_for_post/3,
|
resolve: &Tag.list_tags_for_post/3,
|
||||||
|
|
|
@ -1643,12 +1643,17 @@ defmodule Mobilizon.Events do
|
||||||
where(query, [q], q.local == true)
|
where(query, [q], q.local == true)
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec filter_local_or_from_followed_instances_events(Ecto.Query.t()) :: Ecto.Query.t()
|
@spec filter_local_or_from_followed_instances_events(Ecto.Query.t()) ::
|
||||||
|
Ecto.Query.t()
|
||||||
defp filter_local_or_from_followed_instances_events(query) do
|
defp filter_local_or_from_followed_instances_events(query) do
|
||||||
from(q in query,
|
follower_actor_id = Mobilizon.Config.relay_actor_id()
|
||||||
left_join: s in Share,
|
|
||||||
on: s.uri == q.url,
|
query
|
||||||
where: q.local == true or not is_nil(s.uri)
|
|> join(:left, [q], s in Share, on: s.uri == q.url)
|
||||||
|
|> join(:left, [_q, ..., s], f in Follower, on: f.target_actor_id == s.actor_id)
|
||||||
|
|> where(
|
||||||
|
[q, ..., s, f],
|
||||||
|
q.local == true or (f.actor_id == ^follower_actor_id and not is_nil(s.uri))
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ defmodule Mobilizon.Posts.Post do
|
||||||
belongs_to(:picture, Picture, on_replace: :update)
|
belongs_to(:picture, Picture, on_replace: :update)
|
||||||
many_to_many(:tags, Tag, join_through: "posts_tags", on_replace: :delete)
|
many_to_many(:tags, Tag, join_through: "posts_tags", on_replace: :delete)
|
||||||
|
|
||||||
timestamps()
|
timestamps(type: :utc_datetime)
|
||||||
end
|
end
|
||||||
|
|
||||||
@required_attrs [
|
@required_attrs [
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<tr>
|
<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;" >
|
<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;">
|
<p style="margin: 0;">
|
||||||
<%= gettext("Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.") %>
|
<%= gettext("Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.", name: @follower.name, domain: @follower.domain) %>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -139,13 +139,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -154,11 +154,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -254,7 +249,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -829,7 +824,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -113,13 +113,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -128,11 +128,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -228,7 +223,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -803,7 +798,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -107,13 +107,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -122,11 +122,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -222,7 +217,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -797,7 +792,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -113,13 +113,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -128,11 +128,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -228,7 +223,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -803,7 +798,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -107,13 +107,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -122,11 +122,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -222,7 +217,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -797,7 +792,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -117,13 +117,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -132,11 +132,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -232,7 +227,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -807,7 +802,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -114,13 +114,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -129,11 +129,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -229,7 +224,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -804,7 +799,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -93,75 +93,71 @@ msgstr "debe ser mayor o igual que% {number}"
|
||||||
msgid "must be equal to %{number}"
|
msgid "must be equal to %{number}"
|
||||||
msgstr "debe ser igual a% {number}"
|
msgstr "debe ser igual a% {number}"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:103
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:103
|
||||||
msgid "Cannot refresh the token"
|
msgid "Cannot refresh the token"
|
||||||
msgstr "No se puede actualizar el token"
|
msgstr "No se puede actualizar el token"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:139
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:139
|
||||||
msgid "Creator profile is not owned by the current user"
|
msgid "Creator profile is not owned by the current user"
|
||||||
msgstr "El perfil del creador no es propiedad del usuario actual"
|
msgstr "El perfil del creador no es propiedad del usuario actual"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:203
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:203
|
||||||
msgid "Current profile is not a member of this group"
|
msgid "Current profile is not a member of this group"
|
||||||
msgstr "El perfil actual no es miembro de este grupo"
|
msgstr "El perfil actual no es miembro de este grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:207
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:207
|
||||||
msgid "Current profile is not an administrator of the selected group"
|
msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr "El perfil actual no es un administrador del grupo seleccionado"
|
msgstr "El perfil actual no es un administrador del grupo seleccionado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr "Error al guardar los parámetros del usuario"
|
msgstr "Error al guardar los parámetros del usuario"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr "Grupo no encontrado"
|
msgstr "Grupo no encontrado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:69
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:69
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr "No se encontró el grupo con ID% {id}"
|
msgstr "No se encontró el grupo con ID% {id}"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr "No se encontró el grupo con el nombre% {name}"
|
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
#, elixir-format
|
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Imposible autenticarse, su correo electrónico o contraseña no son válidos."
|
"Imposible autenticarse, su correo electrónico o contraseña no son válidos."
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:280
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:280
|
||||||
msgid "Member not found"
|
msgid "Member not found"
|
||||||
msgstr "Miembro no encontrado"
|
msgstr "Miembro no encontrado"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
|
#: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88
|
||||||
#: lib/graphql/resolvers/user.ex:417
|
#: lib/graphql/resolvers/user.ex:417
|
||||||
#, elixir-format
|
|
||||||
msgid "No profile found for the moderator user"
|
msgid "No profile found for the moderator user"
|
||||||
msgstr "No se encontró el perfil del usuario moderador"
|
msgstr "No se encontró el perfil del usuario moderador"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:195
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:195
|
||||||
msgid "No user to validate with this email was found"
|
msgid "No user to validate with this email was found"
|
||||||
msgstr "No se encontró ningún usuario para validar con este correo electrónico"
|
msgstr "No se encontró ningún usuario para validar con este correo electrónico"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/person.ex:232 lib/graphql/resolvers/user.ex:76
|
#: lib/graphql/resolvers/person.ex:232 lib/graphql/resolvers/user.ex:76
|
||||||
#: lib/graphql/resolvers/user.ex:219
|
#: lib/graphql/resolvers/user.ex:219
|
||||||
#, elixir-format
|
|
||||||
msgid "No user with this email was found"
|
msgid "No user with this email was found"
|
||||||
msgstr "No se encontró ningún usuario con este correo electrónico"
|
msgstr "No se encontró ningún usuario con este correo electrónico"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
|
#: lib/graphql/resolvers/comment.ex:50 lib/graphql/resolvers/comment.ex:112
|
||||||
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
|
#: lib/graphql/resolvers/event.ex:286 lib/graphql/resolvers/feed_token.ex:28 lib/graphql/resolvers/group.ex:245
|
||||||
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
|
#: lib/graphql/resolvers/member.ex:77 lib/graphql/resolvers/participant.ex:29
|
||||||
|
@ -169,707 +165,706 @@ msgstr "No se encontró ningún usuario con este correo electrónico"
|
||||||
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
|
#: lib/graphql/resolvers/person.ex:191 lib/graphql/resolvers/person.ex:256 lib/graphql/resolvers/person.ex:288
|
||||||
#: lib/graphql/resolvers/person.ex:301 lib/graphql/resolvers/picture.ex:75 lib/graphql/resolvers/report.ex:110
|
#: lib/graphql/resolvers/person.ex:301 lib/graphql/resolvers/picture.ex:75 lib/graphql/resolvers/report.ex:110
|
||||||
#: lib/graphql/resolvers/todos.ex:57
|
#: lib/graphql/resolvers/todos.ex:57
|
||||||
#, elixir-format
|
|
||||||
msgid "Profile is not owned by authenticated user"
|
msgid "Profile is not owned by authenticated user"
|
||||||
msgstr "El perfil no es propiedad del usuario autenticado"
|
msgstr "El perfil no es propiedad del usuario autenticado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:125
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:125
|
||||||
msgid "Registrations are not open"
|
msgid "Registrations are not open"
|
||||||
msgstr "Las inscripciones no están abiertas"
|
msgstr "Las inscripciones no están abiertas"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:330
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:330
|
||||||
msgid "The current password is invalid"
|
msgid "The current password is invalid"
|
||||||
msgstr "La contraseña actual no es válida"
|
msgstr "La contraseña actual no es válida"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:382
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:382
|
||||||
msgid "The new email doesn't seem to be valid"
|
msgid "The new email doesn't seem to be valid"
|
||||||
msgstr "El nuevo correo electrónico no parece ser válido"
|
msgstr "El nuevo correo electrónico no parece ser válido"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:379
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:379
|
||||||
msgid "The new email must be different"
|
msgid "The new email must be different"
|
||||||
msgstr "El nuevo correo electrónico debe ser diferente"
|
msgstr "El nuevo correo electrónico debe ser diferente"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:333
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:333
|
||||||
msgid "The new password must be different"
|
msgid "The new password must be different"
|
||||||
msgstr "La nueva contraseña debe ser diferente"
|
msgstr "La nueva contraseña debe ser diferente"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:376 lib/graphql/resolvers/user.ex:439
|
#: lib/graphql/resolvers/user.ex:376 lib/graphql/resolvers/user.ex:439
|
||||||
#: lib/graphql/resolvers/user.ex:442
|
#: lib/graphql/resolvers/user.ex:442
|
||||||
#, elixir-format
|
|
||||||
msgid "The password provided is invalid"
|
msgid "The password provided is invalid"
|
||||||
msgstr "La contraseña proporcionada no es válida"
|
msgstr "La contraseña proporcionada no es válida"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:337
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:337
|
||||||
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
|
msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La contraseña que ha elegido es demasiado corta. Asegúrese de que su "
|
"La contraseña que ha elegido es demasiado corta. Asegúrese de que su "
|
||||||
"contraseña contenga al menos 6 caracteres."
|
"contraseña contenga al menos 6 caracteres."
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:215
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:215
|
||||||
msgid "This user can't reset their password"
|
msgid "This user can't reset their password"
|
||||||
msgstr "Este usuario no puede restablecer su contraseña"
|
msgstr "Este usuario no puede restablecer su contraseña"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:79
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:79
|
||||||
msgid "This user has been disabled"
|
msgid "This user has been disabled"
|
||||||
msgstr "Este usuario ha sido inhabilitado"
|
msgstr "Este usuario ha sido inhabilitado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:179
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:179
|
||||||
msgid "Unable to validate user"
|
msgid "Unable to validate user"
|
||||||
msgstr "No se puede validar al usuario"
|
msgstr "No se puede validar al usuario"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:420
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:420
|
||||||
msgid "User already disabled"
|
msgid "User already disabled"
|
||||||
msgstr "El usuario ya está inhabilitado"
|
msgstr "El usuario ya está inhabilitado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr "El usuario solicitado no ha iniciado sesión"
|
msgstr "El usuario solicitado no ha iniciado sesión"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:254
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:254
|
||||||
msgid "You are already a member of this group"
|
msgid "You are already a member of this group"
|
||||||
msgstr "Ya eres miembro de este grupo"
|
msgstr "Ya eres miembro de este grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:287
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:287
|
||||||
msgid "You can't leave this group because you are the only administrator"
|
msgid "You can't leave this group because you are the only administrator"
|
||||||
msgstr "No puedes dejar este grupo porque eres el único administrador"
|
msgstr "No puedes dejar este grupo porque eres el único administrador"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:251
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:251
|
||||||
msgid "You cannot join this group"
|
msgid "You cannot join this group"
|
||||||
msgstr "No puedes unirte a este grupo"
|
msgstr "No puedes unirte a este grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:97
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:97
|
||||||
msgid "You may not list groups unless moderator."
|
msgid "You may not list groups unless moderator."
|
||||||
msgstr "No puedes enumerar grupos a menos que seas moderador."
|
msgstr "No puedes enumerar grupos a menos que seas moderador."
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:387
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:387
|
||||||
msgid "You need to be logged-in to change your email"
|
msgid "You need to be logged-in to change your email"
|
||||||
msgstr "Debes iniciar sesión para cambiar tu correo electrónico"
|
msgstr "Debes iniciar sesión para cambiar tu correo electrónico"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:345
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:345
|
||||||
msgid "You need to be logged-in to change your password"
|
msgid "You need to be logged-in to change your password"
|
||||||
msgstr "Debes iniciar sesión para cambiar tu contraseña"
|
msgstr "Debes iniciar sesión para cambiar tu contraseña"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:212
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:212
|
||||||
msgid "You need to be logged-in to delete a group"
|
msgid "You need to be logged-in to delete a group"
|
||||||
msgstr "Debes iniciar sesión para eliminar un grupo"
|
msgstr "Debes iniciar sesión para eliminar un grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:447
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:447
|
||||||
msgid "You need to be logged-in to delete your account"
|
msgid "You need to be logged-in to delete your account"
|
||||||
msgstr "Debes iniciar sesión para eliminar su cuenta"
|
msgstr "Debes iniciar sesión para eliminar su cuenta"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:259
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:259
|
||||||
msgid "You need to be logged-in to join a group"
|
msgid "You need to be logged-in to join a group"
|
||||||
msgstr "Debes iniciar sesión para eliminar su cuenta"
|
msgstr "Debes iniciar sesión para eliminar su cuenta"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:292
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:292
|
||||||
msgid "You need to be logged-in to leave a group"
|
msgid "You need to be logged-in to leave a group"
|
||||||
msgstr "Debes iniciar sesión para dejar un grupo"
|
msgstr "Debes iniciar sesión para dejar un grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:177
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:177
|
||||||
msgid "You need to be logged-in to update a group"
|
msgid "You need to be logged-in to update a group"
|
||||||
msgstr "Debes iniciar sesión para actualizar un grupo"
|
msgstr "Debes iniciar sesión para actualizar un grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:58
|
||||||
msgid "You need to have admin access to list users"
|
msgid "You need to have admin access to list users"
|
||||||
msgstr "Necesitas tener acceso de administrador para listar usuarios"
|
msgstr "Necesitas tener acceso de administrador para listar usuarios"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:108
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:108
|
||||||
msgid "You need to have an existing token to get a refresh token"
|
msgid "You need to have an existing token to get a refresh token"
|
||||||
msgstr "Debes tener un token existente para obtener un token de actualización"
|
msgstr "Debes tener un token existente para obtener un token de actualización"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:198 lib/graphql/resolvers/user.ex:222
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:198 lib/graphql/resolvers/user.ex:222
|
||||||
msgid "You requested again a confirmation email too soon"
|
msgid "You requested again a confirmation email too soon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Solicitó de nuevo un correo electrónico de confirmación demasiado pronto"
|
"Solicitó de nuevo un correo electrónico de confirmación demasiado pronto"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/user.ex:128
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/user.ex:128
|
||||||
msgid "Your email is not on the allowlist"
|
msgid "Your email is not on the allowlist"
|
||||||
msgstr "Tu correo electrónico no está en la lista de permitidos"
|
msgstr "Tu correo electrónico no está en la lista de permitidos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94
|
||||||
msgid "Error while performing background task"
|
msgid "Error while performing background task"
|
||||||
msgstr "Error al realizar la tarea en segundo plano"
|
msgstr "Error al realizar la tarea en segundo plano"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/actor.ex:27
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/actor.ex:27
|
||||||
msgid "No profile found with this ID"
|
msgid "No profile found with this ID"
|
||||||
msgstr "No se encontró ningún perfil con este ID"
|
msgstr "No se encontró ningún perfil con este ID"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91
|
||||||
msgid "No remote profile found with this ID"
|
msgid "No remote profile found with this ID"
|
||||||
msgstr "No se encontró ningún perfil remoto con este ID"
|
msgstr "No se encontró ningún perfil remoto con este ID"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/actor.ex:69
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/actor.ex:69
|
||||||
msgid "Only moderators and administrators can suspend a profile"
|
msgid "Only moderators and administrators can suspend a profile"
|
||||||
msgstr "Solo los moderadores y administradores pueden suspender un perfil"
|
msgstr "Solo los moderadores y administradores pueden suspender un perfil"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/actor.ex:99
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/actor.ex:99
|
||||||
msgid "Only moderators and administrators can unsuspend a profile"
|
msgid "Only moderators and administrators can unsuspend a profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Solo los moderadores y administradores pueden anular la suspensión de un "
|
"Solo los moderadores y administradores pueden anular la suspensión de un "
|
||||||
"perfil"
|
"perfil"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/actor.ex:24
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/actor.ex:24
|
||||||
msgid "Only remote profiles may be refreshed"
|
msgid "Only remote profiles may be refreshed"
|
||||||
msgstr "Solo se pueden actualizar los perfiles remotos"
|
msgstr "Solo se pueden actualizar los perfiles remotos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/actor.ex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/actor.ex:61
|
||||||
msgid "Profile already suspended"
|
msgid "Profile already suspended"
|
||||||
msgstr "Perfil ya suspendido"
|
msgstr "Perfil ya suspendido"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:96
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:96
|
||||||
msgid "A valid email is required by your instance"
|
msgid "A valid email is required by your instance"
|
||||||
msgstr "Su instancia requiere un correo electrónico válido"
|
msgstr "Su instancia requiere un correo electrónico válido"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:90
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:90
|
||||||
msgid "Anonymous participation is not enabled"
|
msgid "Anonymous participation is not enabled"
|
||||||
msgstr "La participación anónima no está habilitada"
|
msgstr "La participación anónima no está habilitada"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/person.ex:188
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/person.ex:188
|
||||||
msgid "Cannot remove the last administrator of a group"
|
msgid "Cannot remove the last administrator of a group"
|
||||||
msgstr "No se puede eliminar al último administrador de un grupo"
|
msgstr "No se puede eliminar al último administrador de un grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/person.ex:185
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/person.ex:185
|
||||||
msgid "Cannot remove the last identity of a user"
|
msgid "Cannot remove the last identity of a user"
|
||||||
msgstr "No se puede eliminar la última identidad de un usuario"
|
msgstr "No se puede eliminar la última identidad de un usuario"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/comment.ex:109
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/comment.ex:109
|
||||||
msgid "Comment is already deleted"
|
msgid "Comment is already deleted"
|
||||||
msgstr "El comentario ya está eliminado"
|
msgstr "El comentario ya está eliminado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/discussion.ex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/discussion.ex:61
|
||||||
msgid "Discussion not found"
|
msgid "Discussion not found"
|
||||||
msgstr "Discusión no encontrada"
|
msgstr "Discusión no encontrada"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:87
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:62 lib/graphql/resolvers/report.ex:87
|
||||||
msgid "Error while saving report"
|
msgid "Error while saving report"
|
||||||
msgstr "Error al guardar el informe"
|
msgstr "Error al guardar el informe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:113
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:113
|
||||||
msgid "Error while updating report"
|
msgid "Error while updating report"
|
||||||
msgstr "Error al actualizar el informe"
|
msgstr "Error al actualizar el informe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:131
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:131
|
||||||
msgid "Event id not found"
|
msgid "Event id not found"
|
||||||
msgstr "ID de evento no encontrado"
|
msgstr "ID de evento no encontrado"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
|
#: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:238
|
||||||
#: lib/graphql/resolvers/event.ex:283
|
#: lib/graphql/resolvers/event.ex:283
|
||||||
#, elixir-format
|
|
||||||
msgid "Event not found"
|
msgid "Event not found"
|
||||||
msgstr "Evento no encontrado"
|
msgstr "Evento no encontrado"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/participant.ex:87
|
#: lib/graphql/resolvers/participant.ex:87
|
||||||
#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:160
|
#: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:160
|
||||||
#, elixir-format
|
|
||||||
msgid "Event with this ID %{id} doesn't exist"
|
msgid "Event with this ID %{id} doesn't exist"
|
||||||
msgstr "El evento con este ID%{id} no existe"
|
msgstr "El evento con este ID%{id} no existe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:103
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:103
|
||||||
msgid "Internal Error"
|
msgid "Internal Error"
|
||||||
msgstr "Error interno"
|
msgstr "Error interno"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:234
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:100 lib/graphql/resolvers/participant.ex:234
|
||||||
msgid "Moderator profile is not owned by authenticated user"
|
msgid "Moderator profile is not owned by authenticated user"
|
||||||
msgstr "El perfil del moderador no es propiedad del usuario autenticado"
|
msgstr "El perfil del moderador no es propiedad del usuario autenticado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/discussion.ex:181
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/discussion.ex:181
|
||||||
msgid "No discussion with ID %{id}"
|
msgid "No discussion with ID %{id}"
|
||||||
msgstr "Sin discusión con ID%{id}"
|
msgstr "Sin discusión con ID%{id}"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:171
|
||||||
msgid "No profile found for user"
|
msgid "No profile found for user"
|
||||||
msgstr "No se encontró perfil para el usuario"
|
msgstr "No se encontró perfil para el usuario"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/feed_token.ex:66
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/feed_token.ex:66
|
||||||
msgid "No such feed token"
|
msgid "No such feed token"
|
||||||
msgstr "No existe tal token de alimentación"
|
msgstr "No existe tal token de alimentación"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:87
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:87
|
||||||
msgid "No such resource"
|
msgid "No such resource"
|
||||||
msgstr "No existe tal recurso"
|
msgstr "No existe tal recurso"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:202
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:202
|
||||||
msgid "Organizer profile is not owned by the user"
|
msgid "Organizer profile is not owned by the user"
|
||||||
msgstr "El perfil del organizador no es propiedad del usuario"
|
msgstr "El perfil del organizador no es propiedad del usuario"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:244
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:244
|
||||||
msgid "Participant already has role %{role}"
|
msgid "Participant already has role %{role}"
|
||||||
msgstr "El participante ya tiene el rol%{role}"
|
msgstr "El participante ya tiene el rol%{role}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/participant.ex:173
|
#: lib/graphql/resolvers/participant.ex:173
|
||||||
#: lib/graphql/resolvers/participant.ex:202 lib/graphql/resolvers/participant.ex:237
|
#: lib/graphql/resolvers/participant.ex:202 lib/graphql/resolvers/participant.ex:237
|
||||||
#: lib/graphql/resolvers/participant.ex:247
|
#: lib/graphql/resolvers/participant.ex:247
|
||||||
#, elixir-format
|
|
||||||
msgid "Participant not found"
|
msgid "Participant not found"
|
||||||
msgstr "Participante no encontrado"
|
msgstr "Participante no encontrado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/person.ex:31
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/person.ex:31
|
||||||
msgid "Person with ID %{id} not found"
|
msgid "Person with ID %{id} not found"
|
||||||
msgstr "Persona con ID%{id} no encontrada"
|
msgstr "Persona con ID%{id} no encontrada"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/person.ex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/person.ex:52
|
||||||
msgid "Person with username %{username} not found"
|
msgid "Person with username %{username} not found"
|
||||||
msgstr "Persona con nombre de usuario %{username} no encontrada"
|
msgstr "Persona con nombre de usuario %{username} no encontrada"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/picture.ex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/picture.ex:45
|
||||||
msgid "Picture with ID %{id} was not found"
|
msgid "Picture with ID %{id} was not found"
|
||||||
msgstr "No se encontró la foto con ID %{id}"
|
msgstr "No se encontró la foto con ID %{id}"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/post.ex:165 lib/graphql/resolvers/post.ex:198
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/post.ex:165 lib/graphql/resolvers/post.ex:198
|
||||||
msgid "Post ID is not a valid ID"
|
msgid "Post ID is not a valid ID"
|
||||||
msgstr "La ID de publicación no es válida"
|
msgstr "La ID de publicación no es válida"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/post.ex:168 lib/graphql/resolvers/post.ex:201
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/post.ex:168 lib/graphql/resolvers/post.ex:201
|
||||||
msgid "Post doesn't exist"
|
msgid "Post doesn't exist"
|
||||||
msgstr "La publicación no existe"
|
msgstr "La publicación no existe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:83
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:83
|
||||||
msgid "Profile invited doesn't exist"
|
msgid "Profile invited doesn't exist"
|
||||||
msgstr "El perfil invitado no existe"
|
msgstr "El perfil invitado no existe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:92
|
||||||
msgid "Profile is already a member of this group"
|
msgid "Profile is already a member of this group"
|
||||||
msgstr "Perfil ya es miembro de este grupo"
|
msgstr "Perfil ya es miembro de este grupo"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171
|
#: lib/graphql/resolvers/post.ex:131 lib/graphql/resolvers/post.ex:171
|
||||||
#: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:86 lib/graphql/resolvers/resource.ex:123
|
#: lib/graphql/resolvers/post.ex:204 lib/graphql/resolvers/resource.ex:86 lib/graphql/resolvers/resource.ex:123
|
||||||
#: lib/graphql/resolvers/resource.ex:152 lib/graphql/resolvers/resource.ex:181 lib/graphql/resolvers/todos.ex:60
|
#: lib/graphql/resolvers/resource.ex:152 lib/graphql/resolvers/resource.ex:181 lib/graphql/resolvers/todos.ex:60
|
||||||
#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174
|
#: lib/graphql/resolvers/todos.ex:84 lib/graphql/resolvers/todos.ex:102 lib/graphql/resolvers/todos.ex:174
|
||||||
#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225
|
#: lib/graphql/resolvers/todos.ex:197 lib/graphql/resolvers/todos.ex:225
|
||||||
#, elixir-format
|
|
||||||
msgid "Profile is not member of group"
|
msgid "Profile is not member of group"
|
||||||
msgstr "El perfil no es miembro del grupo"
|
msgstr "El perfil no es miembro del grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/person.ex:154 lib/graphql/resolvers/person.ex:182
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/person.ex:154 lib/graphql/resolvers/person.ex:182
|
||||||
msgid "Profile not found"
|
msgid "Profile not found"
|
||||||
msgstr "Perfil no encontrado"
|
msgstr "Perfil no encontrado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:241
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:104 lib/graphql/resolvers/participant.ex:241
|
||||||
msgid "Provided moderator profile doesn't have permission on this event"
|
msgid "Provided moderator profile doesn't have permission on this event"
|
||||||
msgstr "El perfil de moderador proporcionado no tiene permiso para este evento"
|
msgstr "El perfil de moderador proporcionado no tiene permiso para este evento"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:38
|
||||||
msgid "Report not found"
|
msgid "Report not found"
|
||||||
msgstr "Informe no encontrado"
|
msgstr "Informe no encontrado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:149 lib/graphql/resolvers/resource.ex:178
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:149 lib/graphql/resolvers/resource.ex:178
|
||||||
msgid "Resource doesn't exist"
|
msgid "Resource doesn't exist"
|
||||||
msgstr "El recurso no existe"
|
msgstr "El recurso no existe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:124
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:124
|
||||||
msgid "The event has already reached its maximum capacity"
|
msgid "The event has already reached its maximum capacity"
|
||||||
msgstr "El evento ya alcanzó su capacidad máxima"
|
msgstr "El evento ya alcanzó su capacidad máxima"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:267
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:267
|
||||||
msgid "This token is invalid"
|
msgid "This token is invalid"
|
||||||
msgstr "Este token no es válido"
|
msgstr "Este token no es válido"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/todos.ex:168 lib/graphql/resolvers/todos.ex:222
|
||||||
msgid "Todo doesn't exist"
|
msgid "Todo doesn't exist"
|
||||||
msgstr "Todo no existe"
|
msgstr "Todo no existe"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194
|
#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:194
|
||||||
#: lib/graphql/resolvers/todos.ex:219
|
#: lib/graphql/resolvers/todos.ex:219
|
||||||
#, elixir-format
|
|
||||||
msgid "Todo list doesn't exist"
|
msgid "Todo list doesn't exist"
|
||||||
msgstr "La lista de tareas pendientes no existe"
|
msgstr "La lista de tareas pendientes no existe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/feed_token.ex:72
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/feed_token.ex:72
|
||||||
msgid "Token does not exist"
|
msgid "Token does not exist"
|
||||||
msgstr "El token no existe"
|
msgstr "El token no existe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/feed_token.ex:69
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/feed_token.ex:69
|
||||||
msgid "Token is not a valid UUID"
|
msgid "Token is not a valid UUID"
|
||||||
msgstr "El token no es un UUID válido"
|
msgstr "El token no es un UUID válido"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:323
|
||||||
msgid "User not found"
|
msgid "User not found"
|
||||||
msgstr "Usuario no encontrado"
|
msgstr "Usuario no encontrado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/person.ex:235
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/person.ex:235
|
||||||
msgid "You already have a profile for this user"
|
msgid "You already have a profile for this user"
|
||||||
msgstr "Ya tienes un perfil para este usuario"
|
msgstr "Ya tienes un perfil para este usuario"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:134
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:134
|
||||||
msgid "You are already a participant of this event"
|
msgid "You are already a participant of this event"
|
||||||
msgstr "Ya eres participante de este evento"
|
msgstr "Ya eres participante de este evento"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/discussion.ex:185
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/discussion.ex:185
|
||||||
msgid "You are not a member of the group the discussion belongs to"
|
msgid "You are not a member of the group the discussion belongs to"
|
||||||
msgstr "No eres miembro del grupo al que pertenece la discusión"
|
msgstr "No eres miembro del grupo al que pertenece la discusión"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:86
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:86
|
||||||
msgid "You are not a member of this group"
|
msgid "You are not a member of this group"
|
||||||
msgstr "no eres un miembro de este grupo"
|
msgstr "no eres un miembro de este grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:143
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:143
|
||||||
msgid "You are not a moderator or admin for this group"
|
msgid "You are not a moderator or admin for this group"
|
||||||
msgstr "No eres moderador ni administrador de este grupo"
|
msgstr "No eres moderador ni administrador de este grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/comment.ex:55
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/comment.ex:55
|
||||||
msgid "You are not allowed to create a comment if not connected"
|
msgid "You are not allowed to create a comment if not connected"
|
||||||
msgstr "No está permitido crear un comentario si no está conectado"
|
msgstr "No está permitido crear un comentario si no está conectado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/feed_token.ex:44
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/feed_token.ex:44
|
||||||
msgid "You are not allowed to create a feed token if not connected"
|
msgid "You are not allowed to create a feed token if not connected"
|
||||||
msgstr "No puede crear un token de feed si no está conectado"
|
msgstr "No puede crear un token de feed si no está conectado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/comment.ex:117
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/comment.ex:117
|
||||||
msgid "You are not allowed to delete a comment if not connected"
|
msgid "You are not allowed to delete a comment if not connected"
|
||||||
msgstr "No puede eliminar un comentario si no está conectado"
|
msgstr "No puede eliminar un comentario si no está conectado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/feed_token.ex:81
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/feed_token.ex:81
|
||||||
msgid "You are not allowed to delete a feed token if not connected"
|
msgid "You are not allowed to delete a feed token if not connected"
|
||||||
msgstr "No puede eliminar un token de feed si no está conectado"
|
msgstr "No puede eliminar un token de feed si no está conectado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/comment.ex:77
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/comment.ex:77
|
||||||
msgid "You are not allowed to update a comment if not connected"
|
msgid "You are not allowed to update a comment if not connected"
|
||||||
msgstr "No se le permite actualizar un comentario si no está conectado"
|
msgstr "No se le permite actualizar un comentario si no está conectado"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/participant.ex:167
|
#: lib/graphql/resolvers/participant.ex:167
|
||||||
#: lib/graphql/resolvers/participant.ex:196
|
#: lib/graphql/resolvers/participant.ex:196
|
||||||
#, elixir-format
|
|
||||||
msgid "You can't leave event because you're the only event creator participant"
|
msgid "You can't leave event because you're the only event creator participant"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No puedes abandonar el evento porque eres el único participante creador del "
|
"No puedes abandonar el evento porque eres el único participante creador del "
|
||||||
"evento"
|
"evento"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:147
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:147
|
||||||
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
msgid "You can't set yourself to a lower member role for this group because you are the only administrator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No puede establecerse en un rol de miembro inferior para este grupo porque "
|
"No puede establecerse en un rol de miembro inferior para este grupo porque "
|
||||||
"es el único administrador"
|
"es el único administrador"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/comment.ex:105
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/comment.ex:105
|
||||||
msgid "You cannot delete this comment"
|
msgid "You cannot delete this comment"
|
||||||
msgstr "No puedes borrar este comentario"
|
msgstr "No puedes borrar este comentario"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:279
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:279
|
||||||
msgid "You cannot delete this event"
|
msgid "You cannot delete this event"
|
||||||
msgstr "No puedes borrar este evento"
|
msgstr "No puedes borrar este evento"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:89
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:89
|
||||||
msgid "You cannot invite to this group"
|
msgid "You cannot invite to this group"
|
||||||
msgstr "No puedes invitar a este grupo"
|
msgstr "No puedes invitar a este grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/feed_token.ex:75
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/feed_token.ex:75
|
||||||
msgid "You don't have permission to delete this token"
|
msgid "You don't have permission to delete this token"
|
||||||
msgstr "No tienes permiso para eliminar este token"
|
msgstr "No tienes permiso para eliminar este token"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/admin.ex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/admin.ex:52
|
||||||
msgid "You need to be logged-in and a moderator to list action logs"
|
msgid "You need to be logged-in and a moderator to list action logs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Debe iniciar sesión y un moderador para enumerar los registros de acción"
|
"Debe iniciar sesión y un moderador para enumerar los registros de acción"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:28
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:28
|
||||||
msgid "You need to be logged-in and a moderator to list reports"
|
msgid "You need to be logged-in and a moderator to list reports"
|
||||||
msgstr "Debe iniciar sesión y un moderador para enumerar los informes"
|
msgstr "Debe iniciar sesión y un moderador para enumerar los informes"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:118
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:118
|
||||||
msgid "You need to be logged-in and a moderator to update a report"
|
msgid "You need to be logged-in and a moderator to update a report"
|
||||||
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
|
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:43
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:43
|
||||||
msgid "You need to be logged-in and a moderator to view a report"
|
msgid "You need to be logged-in and a moderator to view a report"
|
||||||
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
|
msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/admin.ex:208
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/admin.ex:208
|
||||||
msgid "You need to be logged-in and an administrator to access admin settings"
|
msgid "You need to be logged-in and an administrator to access admin settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Debe iniciar sesión y ser administrador para acceder a la configuración de "
|
"Debe iniciar sesión y ser administrador para acceder a la configuración de "
|
||||||
"administrador"
|
"administrador"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/admin.ex:193
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/admin.ex:193
|
||||||
msgid "You need to be logged-in and an administrator to access dashboard statistics"
|
msgid "You need to be logged-in and an administrator to access dashboard statistics"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
|
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
|
||||||
"panel"
|
"panel"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/admin.ex:232
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/admin.ex:232
|
||||||
msgid "You need to be logged-in and an administrator to save admin settings"
|
msgid "You need to be logged-in and an administrator to save admin settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
|
"Debe iniciar sesión y ser administrador para acceder a las estadísticas del "
|
||||||
"panel"
|
"panel"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/discussion.ex:66
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/discussion.ex:66
|
||||||
msgid "You need to be logged-in to access discussions"
|
msgid "You need to be logged-in to access discussions"
|
||||||
msgstr "Debe iniciar sesión para acceder a las discusiones"
|
msgstr "Debe iniciar sesión para acceder a las discusiones"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:92
|
||||||
msgid "You need to be logged-in to access resources"
|
msgid "You need to be logged-in to access resources"
|
||||||
msgstr "Debes iniciar sesión para acceder a los recursos"
|
msgstr "Debes iniciar sesión para acceder a los recursos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:213
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:213
|
||||||
msgid "You need to be logged-in to create events"
|
msgid "You need to be logged-in to create events"
|
||||||
msgstr "Debes iniciar sesión para crear eventos"
|
msgstr "Debes iniciar sesión para crear eventos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/post.ex:139
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/post.ex:139
|
||||||
msgid "You need to be logged-in to create posts"
|
msgid "You need to be logged-in to create posts"
|
||||||
msgstr "Debes iniciar sesión para crear publicaciones"
|
msgstr "Debes iniciar sesión para crear publicaciones"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:81 lib/graphql/resolvers/report.ex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:81 lib/graphql/resolvers/report.ex:92
|
||||||
msgid "You need to be logged-in to create reports"
|
msgid "You need to be logged-in to create reports"
|
||||||
msgstr "Debe iniciar sesión para crear informes"
|
msgstr "Debe iniciar sesión para crear informes"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:128
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:128
|
||||||
msgid "You need to be logged-in to create resources"
|
msgid "You need to be logged-in to create resources"
|
||||||
msgstr "Debe iniciar sesión para crear recursos"
|
msgstr "Debe iniciar sesión para crear recursos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:291
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:291
|
||||||
msgid "You need to be logged-in to delete an event"
|
msgid "You need to be logged-in to delete an event"
|
||||||
msgstr "Debe iniciar sesión para eliminar un evento"
|
msgstr "Debe iniciar sesión para eliminar un evento"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/post.ex:209
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/post.ex:209
|
||||||
msgid "You need to be logged-in to delete posts"
|
msgid "You need to be logged-in to delete posts"
|
||||||
msgstr "Debes iniciar sesión para eliminar publicaciones"
|
msgstr "Debes iniciar sesión para eliminar publicaciones"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:186
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:186
|
||||||
msgid "You need to be logged-in to delete resources"
|
msgid "You need to be logged-in to delete resources"
|
||||||
msgstr "Debes iniciar sesión para eliminar recursos"
|
msgstr "Debes iniciar sesión para eliminar recursos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:108
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:108
|
||||||
msgid "You need to be logged-in to join an event"
|
msgid "You need to be logged-in to join an event"
|
||||||
msgstr "Debes iniciar sesión para eliminar recursos"
|
msgstr "Debes iniciar sesión para eliminar recursos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:207
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:207
|
||||||
msgid "You need to be logged-in to leave an event"
|
msgid "You need to be logged-in to leave an event"
|
||||||
msgstr "Debes iniciar sesión para salir de un evento"
|
msgstr "Debes iniciar sesión para salir de un evento"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:252
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:252
|
||||||
msgid "You need to be logged-in to update an event"
|
msgid "You need to be logged-in to update an event"
|
||||||
msgstr "Debe iniciar sesión para actualizar un evento"
|
msgstr "Debe iniciar sesión para actualizar un evento"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/post.ex:176
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/post.ex:176
|
||||||
msgid "You need to be logged-in to update posts"
|
msgid "You need to be logged-in to update posts"
|
||||||
msgstr "Debes iniciar sesión para actualizar las publicaciones"
|
msgstr "Debes iniciar sesión para actualizar las publicaciones"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:157
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:157
|
||||||
msgid "You need to be logged-in to update resources"
|
msgid "You need to be logged-in to update resources"
|
||||||
msgstr "Debes iniciar sesión para actualizar los recursos"
|
msgstr "Debes iniciar sesión para actualizar los recursos"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:204
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:204
|
||||||
msgid "You need to be logged-in to view a resource preview"
|
msgid "You need to be logged-in to view a resource preview"
|
||||||
msgstr "Debe iniciar sesión para ver una vista previa del recurso"
|
msgstr "Debe iniciar sesión para ver una vista previa del recurso"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/picture.ex:86
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/picture.ex:86
|
||||||
msgid "You need to login to upload a picture"
|
msgid "You need to login to upload a picture"
|
||||||
msgstr "Debes iniciar sesión para subir una imagen"
|
msgstr "Debes iniciar sesión para subir una imagen"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:84
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:84
|
||||||
msgid "Reporter ID does not match the anonymous profile id"
|
msgid "Reporter ID does not match the anonymous profile id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La identificación del informante no coincide con la identificación del "
|
"La identificación del informante no coincide con la identificación del "
|
||||||
"perfil anónimo"
|
"perfil anónimo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/report.ex:59
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/report.ex:59
|
||||||
msgid "Reporter profile is not owned by authenticated user"
|
msgid "Reporter profile is not owned by authenticated user"
|
||||||
msgstr "El perfil del denunciante no es propiedad de un usuario autenticado"
|
msgstr "El perfil del denunciante no es propiedad de un usuario autenticado"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/resource.ex:120
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/resource.ex:120
|
||||||
msgid "Parent resource doesn't belong to this group"
|
msgid "Parent resource doesn't belong to this group"
|
||||||
msgstr "El recurso principal no pertenece a este grupo"
|
msgstr "El recurso principal no pertenece a este grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/participant.ex:93
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/participant.ex:93
|
||||||
msgid "Profile ID provided is not the anonymous profile one"
|
msgid "Profile ID provided is not the anonymous profile one"
|
||||||
msgstr "El ID de perfil proporcionado no es el del perfil anónimo"
|
msgstr "El ID de perfil proporcionado no es el del perfil anónimo"
|
||||||
|
|
||||||
#: lib/mobilizon/users/user.ex:109
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon/users/user.ex:109
|
||||||
msgid "The chosen password is too short."
|
msgid "The chosen password is too short."
|
||||||
msgstr "La contraseña elegida es demasiado corta."
|
msgstr "La contraseña elegida es demasiado corta."
|
||||||
|
|
||||||
#: lib/mobilizon/users/user.ex:138
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon/users/user.ex:138
|
||||||
msgid "The registration token is already in use, this looks like an issue on our side."
|
msgid "The registration token is already in use, this looks like an issue on our side."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"El token de registro ya está en uso, esto parece un problema de nuestra "
|
"El token de registro ya está en uso, esto parece un problema de nuestra "
|
||||||
"parte."
|
"parte."
|
||||||
|
|
||||||
#: lib/mobilizon/users/user.ex:104
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/mobilizon/users/user.ex:104
|
||||||
msgid "This email is already used."
|
msgid "This email is already used."
|
||||||
msgstr "Este correo electrónico ya está en uso."
|
msgstr "Este correo electrónico ya está en uso."
|
||||||
|
|
||||||
#: lib/graphql/error.ex:88
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:88
|
||||||
msgid "Post not found"
|
msgid "Post not found"
|
||||||
msgstr "Informe no encontrado"
|
msgstr "Informe no encontrado"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:75
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:75
|
||||||
msgid "Invalid arguments passed"
|
msgid "Invalid arguments passed"
|
||||||
msgstr "Se pasaron argumentos no válidos"
|
msgstr "Se pasaron argumentos no válidos"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:81
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:81
|
||||||
msgid "Invalid credentials"
|
msgid "Invalid credentials"
|
||||||
msgstr "Credenciales no válidas"
|
msgstr "Credenciales no válidas"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:79
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:79
|
||||||
msgid "Reset your password to login"
|
msgid "Reset your password to login"
|
||||||
msgstr "Restablezca su contraseña para iniciar sesión"
|
msgstr "Restablezca su contraseña para iniciar sesión"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:86
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:86
|
||||||
msgid "Resource not found"
|
msgid "Resource not found"
|
||||||
msgstr "Recurso no encontrado"
|
msgstr "Recurso no encontrado"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:90
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr "Algo salió mal"
|
msgstr "Algo salió mal"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:74
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:74
|
||||||
msgid "Unknown Resource"
|
msgid "Unknown Resource"
|
||||||
msgstr "Recurso desconocido"
|
msgstr "Recurso desconocido"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:84
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:84
|
||||||
msgid "You don't have permission to do this"
|
msgid "You don't have permission to do this"
|
||||||
msgstr "No tienes permiso para hacer esto"
|
msgstr "No tienes permiso para hacer esto"
|
||||||
|
|
||||||
#: lib/graphql/error.ex:76
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/error.ex:76
|
||||||
msgid "You need to be logged in"
|
msgid "You need to be logged in"
|
||||||
msgstr "Debes iniciar sesión"
|
msgstr "Debes iniciar sesión"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:112
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:112
|
||||||
msgid "You can't accept this invitation with this profile."
|
msgid "You can't accept this invitation with this profile."
|
||||||
msgstr "No puedes aceptar esta invitación con este perfil."
|
msgstr "No puedes aceptar esta invitación con este perfil."
|
||||||
|
|
||||||
#: lib/graphql/resolvers/member.ex:129
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/member.ex:129
|
||||||
msgid "You can't reject this invitation with this profile."
|
msgid "You can't reject this invitation with this profile."
|
||||||
msgstr "No puedes rechazar esta invitación con este perfil."
|
msgstr "No puedes rechazar esta invitación con este perfil."
|
||||||
|
|
||||||
#: lib/graphql/resolvers/picture.ex:78
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/picture.ex:78
|
||||||
msgid "File doesn't have an allowed MIME type."
|
msgid "File doesn't have an allowed MIME type."
|
||||||
msgstr "El archivo no tiene un tipo MIME permitido."
|
msgstr "El archivo no tiene un tipo MIME permitido."
|
||||||
|
|
||||||
#: lib/graphql/resolvers/group.ex:172
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/group.ex:172
|
||||||
msgid "Profile is not administrator for the group"
|
msgid "Profile is not administrator for the group"
|
||||||
msgstr "El perfil no es miembro del grupo"
|
msgstr "El perfil no es miembro del grupo"
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:241
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:241
|
||||||
msgid "You can't edit this event."
|
msgid "You can't edit this event."
|
||||||
msgstr "No puedes borrar este evento."
|
msgstr "No puedes borrar este evento."
|
||||||
|
|
||||||
#: lib/graphql/resolvers/event.ex:244
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/graphql/resolvers/event.ex:244
|
||||||
msgid "You can't attribute this event to this profile."
|
msgid "You can't attribute this event to this profile."
|
||||||
msgstr "No puedes rechazar esta invitación con este perfil."
|
msgstr "No puedes rechazar esta invitación con este perfil."
|
||||||
|
|
|
@ -114,13 +114,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -129,11 +129,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -229,7 +224,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -804,7 +799,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -116,13 +116,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné"
|
msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr "Erreur lors de la sauvegarde des paramètres utilisateur"
|
msgstr "Erreur lors de la sauvegarde des paramètres utilisateur"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr "Groupe non trouvé"
|
msgstr "Groupe non trouvé"
|
||||||
|
|
||||||
|
@ -131,11 +131,6 @@ msgstr "Groupe non trouvé"
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr "Groupe avec l'ID %{id} non trouvé"
|
msgstr "Groupe avec l'ID %{id} non trouvé"
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr "Groupe avec le nom %{name} non trouvé"
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -233,7 +228,7 @@ msgid "User already disabled"
|
||||||
msgstr "L'utilisateur·ice est déjà désactivé·e"
|
msgstr "L'utilisateur·ice est déjà désactivé·e"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e"
|
msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e"
|
||||||
|
|
||||||
|
@ -810,7 +805,7 @@ msgid "Resource not found"
|
||||||
msgstr "Ressource non trouvée"
|
msgstr "Ressource non trouvée"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr "Quelque chose s'est mal passé"
|
msgstr "Quelque chose s'est mal passé"
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -114,13 +114,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr "Il profilo corrente non è amministratore del gruppo selezionato"
|
msgstr "Il profilo corrente non è amministratore del gruppo selezionato"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr "Errore nel salvare le preferenze utente"
|
msgstr "Errore nel salvare le preferenze utente"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr "Gruppo non trovato"
|
msgstr "Gruppo non trovato"
|
||||||
|
|
||||||
|
@ -129,11 +129,6 @@ msgstr "Gruppo non trovato"
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr "Gruppo con ID %{id} non trovato"
|
msgstr "Gruppo con ID %{id} non trovato"
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr "Gruppo con nome %{name} non trovato"
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -229,7 +224,7 @@ msgid "User already disabled"
|
||||||
msgstr "Utente già disabilitato"
|
msgstr "Utente già disabilitato"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr "L'utente richiesto non è loggato"
|
msgstr "L'utente richiesto non è loggato"
|
||||||
|
|
||||||
|
@ -804,7 +799,7 @@ msgid "Resource not found"
|
||||||
msgstr "Segnalazione non trovata"
|
msgstr "Segnalazione non trovata"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -101,13 +101,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -116,11 +116,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -216,7 +211,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -791,7 +786,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -107,13 +107,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -122,11 +122,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -222,7 +217,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -797,7 +792,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -114,13 +114,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -129,11 +129,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -229,7 +224,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -804,7 +799,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -121,13 +121,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -136,11 +136,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -236,7 +231,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -811,7 +806,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -107,13 +107,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -122,11 +122,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -222,7 +217,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -797,7 +792,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -107,13 +107,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -122,11 +122,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -222,7 +217,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -797,7 +792,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -113,13 +113,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -128,11 +128,6 @@ msgstr ""
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -228,7 +223,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -803,7 +798,7 @@ msgid "Resource not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -114,13 +114,13 @@ msgid "Current profile is not an administrator of the selected group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:514
|
#: lib/graphql/resolvers/user.ex:512
|
||||||
msgid "Error while saving user settings"
|
msgid "Error while saving user settings"
|
||||||
msgstr "Ett fel uppstod när användarinställningarna skulle sparas"
|
msgstr "Ett fel uppstod när användarinställningarna skulle sparas"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/group.ex:200 lib/graphql/resolvers/group.ex:248
|
#: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:200
|
||||||
#: lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
#: lib/graphql/resolvers/group.ex:248 lib/graphql/resolvers/group.ex:283 lib/graphql/resolvers/member.ex:80
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr "Gruppen kunde inte hittas"
|
msgstr "Gruppen kunde inte hittas"
|
||||||
|
|
||||||
|
@ -129,11 +129,6 @@ msgstr "Gruppen kunde inte hittas"
|
||||||
msgid "Group with ID %{id} not found"
|
msgid "Group with ID %{id} not found"
|
||||||
msgstr "Gruppen med %{id} kunde inte hittas"
|
msgstr "Gruppen med %{id} kunde inte hittas"
|
||||||
|
|
||||||
#, elixir-format
|
|
||||||
#: lib/graphql/resolvers/group.ex:41 lib/graphql/resolvers/group.ex:55
|
|
||||||
msgid "Group with name %{name} not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:83
|
#: lib/graphql/resolvers/user.ex:83
|
||||||
msgid "Impossible to authenticate, either your email or password are invalid."
|
msgid "Impossible to authenticate, either your email or password are invalid."
|
||||||
|
@ -229,7 +224,7 @@ msgid "User already disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/resolvers/user.ex:489
|
#: lib/graphql/resolvers/user.ex:487
|
||||||
msgid "User requested is not logged-in"
|
msgid "User requested is not logged-in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -804,7 +799,7 @@ msgid "Resource not found"
|
||||||
msgstr "Resursen kunde inte hittas"
|
msgstr "Resursen kunde inte hittas"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/graphql/error.ex:90
|
#: lib/graphql/error.ex:91
|
||||||
msgid "Something went wrong"
|
msgid "Something went wrong"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ defmodule Mobilizon.EventsTest do
|
||||||
alias Mobilizon.Actors.Actor
|
alias Mobilizon.Actors.Actor
|
||||||
alias Mobilizon.Events
|
alias Mobilizon.Events
|
||||||
alias Mobilizon.Events.{Event, Participant, Session, Tag, TagRelation, Track}
|
alias Mobilizon.Events.{Event, Participant, Session, Tag, TagRelation, Track}
|
||||||
|
alias Mobilizon.Federation.ActivityPub.Relay
|
||||||
alias Mobilizon.Service.Workers
|
alias Mobilizon.Service.Workers
|
||||||
alias Mobilizon.Storage.Page
|
alias Mobilizon.Storage.Page
|
||||||
|
|
||||||
|
@ -19,10 +20,54 @@ defmodule Mobilizon.EventsTest do
|
||||||
category: "meeting"
|
category: "meeting"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
describe "list_events/5" do
|
||||||
|
setup do
|
||||||
|
actor = insert(:actor)
|
||||||
|
event = insert(:event, organizer_actor: actor, visibility: :public, local: true)
|
||||||
|
Mobilizon.Config.clear_config_cache()
|
||||||
|
{:ok, actor: actor, event: event}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "list_events/0 returns all events", %{event: event} do
|
||||||
|
assert event.title == hd(Events.list_events()).title
|
||||||
|
end
|
||||||
|
|
||||||
|
test "list_events/5 returns events from other instances if we follow them",
|
||||||
|
%{event: _event} do
|
||||||
|
events = Events.list_events()
|
||||||
|
assert length(events) == 1
|
||||||
|
|
||||||
|
%Actor{id: remote_instance_actor_id} = remote_instance_actor = insert(:instance_actor)
|
||||||
|
%Actor{id: remote_actor_id} = insert(:actor, domain: "somedomain.tld", user: nil)
|
||||||
|
%Event{url: remote_event_url} = insert(:event, local: false, title: "My Remote event")
|
||||||
|
Mobilizon.Share.create(remote_event_url, remote_instance_actor_id, remote_actor_id)
|
||||||
|
|
||||||
|
%Actor{} = own_instance_actor = Relay.get_actor()
|
||||||
|
|
||||||
|
insert(:follower, target_actor: remote_instance_actor, actor: own_instance_actor)
|
||||||
|
|
||||||
|
events = Events.list_events()
|
||||||
|
assert length(events) == 2
|
||||||
|
assert events |> Enum.any?(fn event -> event.title == "My Remote event" end)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "list_events/5 doesn't return events from other instances if we don't follow them anymore",
|
||||||
|
%{event: _event} do
|
||||||
|
%Actor{id: remote_instance_actor_id} = insert(:instance_actor)
|
||||||
|
%Actor{id: remote_actor_id} = insert(:actor, domain: "somedomain.tld", user: nil)
|
||||||
|
%Event{url: remote_event_url} = insert(:event, local: false, title: "My Remote event")
|
||||||
|
Mobilizon.Share.create(remote_event_url, remote_instance_actor_id, remote_actor_id)
|
||||||
|
|
||||||
|
events = Events.list_events()
|
||||||
|
assert length(events) == 1
|
||||||
|
assert events |> Enum.all?(fn event -> event.title != "My Remote event" end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "events" do
|
describe "events" do
|
||||||
setup do
|
setup do
|
||||||
actor = insert(:actor)
|
actor = insert(:actor)
|
||||||
event = insert(:event, organizer_actor: actor, visibility: :public)
|
event = insert(:event, organizer_actor: actor, visibility: :public, local: true)
|
||||||
Workers.BuildSearch.insert_search_event(event)
|
Workers.BuildSearch.insert_search_event(event)
|
||||||
{:ok, actor: actor, event: event}
|
{:ok, actor: actor, event: event}
|
||||||
end
|
end
|
||||||
|
@ -41,10 +86,6 @@ defmodule Mobilizon.EventsTest do
|
||||||
}
|
}
|
||||||
@invalid_attrs %{begins_on: nil, description: nil, ends_on: nil, title: nil}
|
@invalid_attrs %{begins_on: nil, description: nil, ends_on: nil, title: nil}
|
||||||
|
|
||||||
test "list_events/0 returns all events", %{event: event} do
|
|
||||||
assert event.title == hd(Events.list_events()).title
|
|
||||||
end
|
|
||||||
|
|
||||||
test "get_event!/1 returns the event with given id", %{event: event} do
|
test "get_event!/1 returns the event with given id", %{event: event} do
|
||||||
assert Events.get_event!(event.id).title == event.title
|
assert Events.get_event!(event.id).title == event.title
|
||||||
refute Ecto.assoc_loaded?(Events.get_event!(event.id).organizer_actor)
|
refute Ecto.assoc_loaded?(Events.get_event!(event.id).organizer_actor)
|
||||||
|
|
|
@ -78,6 +78,28 @@ defmodule Mobilizon.Factory do
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def instance_actor_factory do
|
||||||
|
preferred_username = "relay"
|
||||||
|
domain = "#{sequence("mydomain")}.com"
|
||||||
|
|
||||||
|
struct!(
|
||||||
|
actor_factory(),
|
||||||
|
%{
|
||||||
|
preferred_username: preferred_username,
|
||||||
|
type: :Application,
|
||||||
|
url: "http://#{domain}/#{preferred_username}",
|
||||||
|
followers_url: Actor.build_url(preferred_username, :followers),
|
||||||
|
following_url: Actor.build_url(preferred_username, :following),
|
||||||
|
members_url: Actor.build_url(preferred_username, :members),
|
||||||
|
resources_url: Actor.build_url(preferred_username, :resources),
|
||||||
|
inbox_url: Actor.build_url(preferred_username, :inbox),
|
||||||
|
outbox_url: Actor.build_url(preferred_username, :outbox),
|
||||||
|
user: nil,
|
||||||
|
domain: domain
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
def follower_factory do
|
def follower_factory do
|
||||||
uuid = Ecto.UUID.generate()
|
uuid = Ecto.UUID.generate()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue