From 784c607c65c914d8659b7ac59e4daf533a63d56f Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sat, 26 Jun 2021 15:23:22 +0200 Subject: [PATCH] Send activity digests Signed-off-by: Thomas Citharel --- config/config.exs | 4 +- js/src/graphql/user.ts | 3 + js/src/i18n/en_US.json | 15 +- js/src/i18n/es.json | 1 - js/src/i18n/fr_FR.json | 17 +- js/src/i18n/gl.json | 1 - js/src/i18n/ru.json | 1 - js/src/types/current-user.model.ts | 1 + js/src/types/enums.ts | 1 + js/src/views/Settings/Notifications.vue | 60 ++- lib/graphql/schema/user.ex | 13 + lib/mobilizon/activities/activities.ex | 26 + lib/mobilizon/actors/actors.ex | 9 +- lib/mobilizon/users/users.ex | 20 +- lib/service/date_time/date_time.ex | 156 +++++- lib/service/notifications/scheduler.ex | 58 +- lib/service/notifier/email.ex | 114 ++-- lib/service/workers/digest_notifier_worker.ex | 14 - lib/service/workers/notification.ex | 14 +- .../workers/send_activity_recap_worker.ex | 112 ++++ lib/web/email/activity.ex | 42 +- .../activity/_comment_activity_item.html.eex | 69 --- .../activity/_comment_activity_item.text.eex | 6 +- lib/web/templates/email/email.html.eex | 8 +- .../email/email_direct_activity.html.eex | 17 +- .../email/email_direct_activity.text.eex | 11 +- priv/gettext/activity.pot | 77 ++- priv/gettext/ar/LC_MESSAGES/activity.po | 81 +-- priv/gettext/ar/LC_MESSAGES/default.po | 7 +- priv/gettext/ar/LC_MESSAGES/errors.po | 2 +- priv/gettext/be/LC_MESSAGES/activity.po | 81 +-- priv/gettext/be/LC_MESSAGES/default.po | 7 +- priv/gettext/be/LC_MESSAGES/errors.po | 2 +- priv/gettext/ca/LC_MESSAGES/activity.po | 81 +-- priv/gettext/ca/LC_MESSAGES/default.po | 7 +- priv/gettext/ca/LC_MESSAGES/errors.po | 2 +- priv/gettext/cs/LC_MESSAGES/activity.po | 81 +-- priv/gettext/cs/LC_MESSAGES/default.po | 7 +- priv/gettext/cs/LC_MESSAGES/errors.po | 2 +- priv/gettext/de/LC_MESSAGES/activity.po | 81 +-- priv/gettext/de/LC_MESSAGES/default.po | 7 +- priv/gettext/de/LC_MESSAGES/errors.po | 2 +- priv/gettext/default.pot | 7 +- priv/gettext/en/LC_MESSAGES/activity.po | 81 +-- priv/gettext/en/LC_MESSAGES/default.po | 7 +- priv/gettext/en/LC_MESSAGES/errors.po | 2 +- priv/gettext/errors.pot | 2 +- priv/gettext/es/LC_MESSAGES/activity.po | 147 +++--- priv/gettext/es/LC_MESSAGES/default.po | 495 +++++++++--------- priv/gettext/es/LC_MESSAGES/errors.po | 2 +- priv/gettext/fi/LC_MESSAGES/activity.po | 147 +++--- priv/gettext/fi/LC_MESSAGES/default.po | 495 +++++++++--------- priv/gettext/fi/LC_MESSAGES/errors.po | 296 +++++------ priv/gettext/fr/LC_MESSAGES/activity.po | 160 +++--- priv/gettext/fr/LC_MESSAGES/default.po | 7 +- priv/gettext/fr/LC_MESSAGES/errors.po | 2 +- priv/gettext/gl/LC_MESSAGES/activity.po | 81 +-- priv/gettext/gl/LC_MESSAGES/default.po | 495 +++++++++--------- priv/gettext/gl/LC_MESSAGES/errors.po | 2 +- priv/gettext/hu/LC_MESSAGES/activity.po | 81 +-- priv/gettext/hu/LC_MESSAGES/default.po | 7 +- priv/gettext/hu/LC_MESSAGES/errors.po | 2 +- priv/gettext/it/LC_MESSAGES/activity.po | 81 +-- priv/gettext/it/LC_MESSAGES/default.po | 7 +- priv/gettext/it/LC_MESSAGES/errors.po | 2 +- priv/gettext/ja/LC_MESSAGES/activity.po | 81 +-- priv/gettext/ja/LC_MESSAGES/default.po | 7 +- priv/gettext/ja/LC_MESSAGES/errors.po | 2 +- priv/gettext/nl/LC_MESSAGES/activity.po | 81 +-- priv/gettext/nl/LC_MESSAGES/default.po | 7 +- priv/gettext/nl/LC_MESSAGES/errors.po | 2 +- priv/gettext/nn/LC_MESSAGES/activity.po | 81 +-- priv/gettext/nn/LC_MESSAGES/default.po | 7 +- priv/gettext/nn/LC_MESSAGES/errors.po | 2 +- priv/gettext/oc/LC_MESSAGES/activity.po | 81 +-- priv/gettext/oc/LC_MESSAGES/default.po | 7 +- priv/gettext/oc/LC_MESSAGES/errors.po | 2 +- priv/gettext/pl/LC_MESSAGES/activity.po | 81 +-- priv/gettext/pl/LC_MESSAGES/default.po | 7 +- priv/gettext/pl/LC_MESSAGES/errors.po | 2 +- priv/gettext/pt/LC_MESSAGES/activity.po | 81 +-- priv/gettext/pt/LC_MESSAGES/default.po | 7 +- priv/gettext/pt/LC_MESSAGES/errors.po | 2 +- priv/gettext/pt_BR/LC_MESSAGES/activity.po | 81 +-- priv/gettext/pt_BR/LC_MESSAGES/default.po | 7 +- priv/gettext/pt_BR/LC_MESSAGES/errors.po | 2 +- priv/gettext/ru/LC_MESSAGES/activity.po | 147 +++--- priv/gettext/ru/LC_MESSAGES/default.po | 495 +++++++++--------- priv/gettext/ru/LC_MESSAGES/errors.po | 2 +- priv/gettext/sv/LC_MESSAGES/activity.po | 81 +-- priv/gettext/sv/LC_MESSAGES/default.po | 7 +- priv/gettext/sv/LC_MESSAGES/errors.po | 2 +- test/service/date_time/date_time.exs | 71 --- test/service/date_time/date_time_test.exs | 220 ++++++++ test/service/notifier/email_test.exs | 58 +- 95 files changed, 3259 insertions(+), 2382 deletions(-) delete mode 100644 lib/service/workers/digest_notifier_worker.ex create mode 100644 lib/service/workers/send_activity_recap_worker.ex delete mode 100644 test/service/date_time/date_time.exs create mode 100644 test/service/date_time/date_time_test.exs diff --git a/config/config.exs b/config/config.exs index 52b949736..15f93c26e 100644 --- a/config/config.exs +++ b/config/config.exs @@ -277,9 +277,9 @@ config :mobilizon, Oban, crontab: [ {"@hourly", Mobilizon.Service.Workers.BuildSiteMap, queue: :background}, {"17 4 * * *", Mobilizon.Service.Workers.RefreshGroups, queue: :background}, - # To be activated in Mobilizon 1.2 - # {"@hourly", Mobilizon.Service.Workers.CleanOrphanMediaWorker, queue: :background}, + {"@hourly", Mobilizon.Service.Workers.CleanOrphanMediaWorker, queue: :background}, {"@hourly", Mobilizon.Service.Workers.CleanUnconfirmedUsersWorker, queue: :background}, + {"@hourly", Mobilizon.Service.Workers.SendActivityRecapWorker, queue: :notifications}, {"@daily", Mobilizon.Service.Workers.CleanOldActivityWorker, queue: :background} ]}, {Oban.Plugins.Pruner, max_age: 300} diff --git a/js/src/graphql/user.ts b/js/src/graphql/user.ts index 0d35778fd..ad7ba463e 100644 --- a/js/src/graphql/user.ts +++ b/js/src/graphql/user.ts @@ -125,6 +125,7 @@ export const USER_SETTINGS_FRAGMENT = gql` notificationBeforeEvent notificationPendingParticipation notificationPendingMembership + groupNotifications location { range geohash @@ -154,6 +155,7 @@ export const SET_USER_SETTINGS = gql` $notificationBeforeEvent: Boolean $notificationPendingParticipation: NotificationPendingEnum $notificationPendingMembership: NotificationPendingEnum + $groupNotifications: NotificationPendingEnum $location: LocationInput ) { setUserSettings( @@ -163,6 +165,7 @@ export const SET_USER_SETTINGS = gql` notificationBeforeEvent: $notificationBeforeEvent notificationPendingParticipation: $notificationPendingParticipation notificationPendingMembership: $notificationPendingMembership + groupNotifications: $groupNotifications location: $location ) { ...UserSettingFragment diff --git a/js/src/i18n/en_US.json b/js/src/i18n/en_US.json index 01622cc95..2768d4d04 100644 --- a/js/src/i18n/en_US.json +++ b/js/src/i18n/en_US.json @@ -1011,14 +1011,8 @@ "Page not found": "Page not found", "{folder} - Resources": "{folder} - Resources", "General settings": "General settings", - "Unsubscribe to WebPush": "Unsubscribe to WebPush", - "WebPush": "WebPush", - "You can't use webpush in this browser.": "You can't use webpush in this browser.", "Notify participants": "Notify participants", "Browser notifications": "Browser notifications", - "Unsubscribe to browser notifications": "Unsubscribe to browser notifications", - "Activate browser notification": "Activate browser notification", - "You can't use notifications in this browser.": "You can't use notifications in this browser.", "Notification settings": "Notification settings", "Select the activities for which you wish to receive an email or a push notification.": "Select the activities for which you wish to receive an email or a push notification.", "Push": "Push", @@ -1054,5 +1048,12 @@ "Join group {group}": "Join group {group}", "Public preview": "Public preview", "On {instance} and other federated instances": "On {instance} and other federated instances", - "Error while subscribing to push notifications": "Error while subscribing to push notifications" + "Error while subscribing to push notifications": "Error while subscribing to push notifications", + "Unsubscribe to browser push notifications": "Unsubscribe to browser push notifications", + "Activate browser push notifications": "Activate browser push notifications", + "You can't use push notifications in this browser.": "You can't use push notifications in this browser.", + "Send notification e-mails": "Send notification e-mails", + "Announcements and mentions notifications are always sent straight away.": "Announcements and mentions notifications are always sent straight away.", + "Weekly email summary": "Weekly email summary", + "Receive one email for each activity": "Receive one email for each activity" } diff --git a/js/src/i18n/es.json b/js/src/i18n/es.json index 42a9780c3..9aaee155c 100644 --- a/js/src/i18n/es.json +++ b/js/src/i18n/es.json @@ -967,7 +967,6 @@ "We won’t change the world from Facebook. The tool we dream of, surveillance capitalism corporations won’t develop it, as they couldn’t profit from it. This is an opportunity to build something better, by taking another approach.": "No cambiaremos el mundo de Facebook. La herramienta con la que soñamos, las corporaciones de capitalismo de vigilancia no la desarrollarán ya que no podrían beneficiarse de ella. Esta es una oportunidad para construir algo mejor, adoptando otro enfoque.", "We'll send you an email one hour before the event begins, to be sure you won't forget about it.": "Le enviaremos un correo electrónico una hora antes de que comience el evento, para asegurarnos de que no lo olvide.", "We'll use your timezone settings to send a recap of the morning of the event.": "Usaremos la configuración de su zona horaria para enviarle un recordatorio la mañana del día evento.", - "WebPush": "Webpush", "Website": "Sitio web", "Website / URL": "Sitio web / URL", "Welcome back {username}!": "¡Bienvenido de nuevo {username}!", diff --git a/js/src/i18n/fr_FR.json b/js/src/i18n/fr_FR.json index c4c1ccd82..4f47fb66a 100644 --- a/js/src/i18n/fr_FR.json +++ b/js/src/i18n/fr_FR.json @@ -45,7 +45,6 @@ "Accessible through link": "Accessible uniquement par lien", "Account": "Compte", "Actions": "Actions", - "Activate browser notification": "Activer les notifications du navigateur", "Activated": "Activé", "Active": "Actif·ive", "Activity": "Activité", @@ -77,7 +76,7 @@ "An error has occurred.": "Une erreur est survenue.", "An ethical alternative": "Une alternative éthique", "An event I'm going to has been updated": "Un événement auquel je participe a été mis à jour", - "An event I'm going to has posted an announcement": "Un événement auquel je participe a posté une mise à jour", + "An event I'm going to has posted an announcement": "Un événement auquel je participe a posté une annonce", "An event I'm organizing has a new comment": "Un événement que j'organise a un nouveau commentaire", "An event I'm organizing has a new participation": "Un événement que j'organise a une nouvelle participation", "An event I'm organizing has a new pending participation": "Un événement que j'organise a une nouvelle participation en attente", @@ -858,8 +857,6 @@ "Unknown value for the openness setting.": "Valeur inconnue pour le paramètre d'ouverture.", "Unsaved changes": "Modifications non enregistrées", "Unset group": "Déselectionner le groupe", - "Unsubscribe to WebPush": "Se désinscrire de WebPush", - "Unsubscribe to browser notifications": "Se désabonner des notifications du navigateur", "Unsuspend": "Annuler la suspension", "Upcoming": "À venir", "Upcoming events": "Événements à venir", @@ -901,7 +898,6 @@ "We will redirect you to your instance in order to interact with this group": "Nous vous redirigerons vers votre instance afin que vous puissiez interagir avec ce groupe", "We'll send you an email one hour before the event begins, to be sure you won't forget about it.": "Nous vous enverrons un email une heure avant que l'événement débute, pour être sûr que vous ne l'oubliez pas.", "We'll use your timezone settings to send a recap of the morning of the event.": "Nous prendrons en compte votre fuseau horaire pour vous envoyer un récapitulatif de vos événements le matin.", - "WebPush": "WebPush", "Website": "Site web", "Website / URL": "Site web / URL", "Welcome back {username}!": "Bon retour {username} !", @@ -935,8 +931,6 @@ "You can't change your password because you are registered through {provider}.": "Vous ne pouvez pas changer votre mot de passe car vous vous êtes enregistré via {provider}.", "You can't remove your last identity.": "Vous ne pouvez pas supprimer votre dernière identité.", "You can't reset your password because you use a 3rd-party auth provider to login.": "Vous ne pouvez pas réinitialiser votre mot de passe car vous vous connectez via une méthode externe.", - "You can't use notifications in this browser.": "Vous ne pouvez pas utiliser les notifications dans ce navigateur.", - "You can't use webpush in this browser.": "Vous ne pouvez pas utiliser webpush dans ce navigateur.", "You changed your email or password": "Vous avez modifié votre email ou votre mot de passe", "You created the discussion {discussion}.": "Vous avez créé la discussion {discussion}.", "You created the event {event}.": "Vous avez créé l'événement {event}.", @@ -1145,5 +1139,12 @@ "Join group {group}": "Rejoindre le groupe {group}", "Public preview": "Aperçu public", "On {instance} and other federated instances": "Sur {instance} et d'autres instances fédérées", - "Error while subscribing to push notifications": "Erreur lors de la souscriptions aux notifications push" + "Error while subscribing to push notifications": "Erreur lors de la souscriptions aux notifications push", + "Unsubscribe to browser push notifications": "Se désinscrire des notifications push du navigateur", + "Activate browser push notifications": "Activer les notifications push du navigateur", + "You can't use push notifications in this browser.": "Vous ne pouvez pas utiliser les notifications push dans ce navigateur.", + "Send notification e-mails": "Envoyer des e-mails de notification", + "Announcements and mentions notifications are always sent straight away.": "Les notifications d'annonces et de mentions sont toujours envoyées directement.", + "Weekly email summary": "Résumé hebdomadaire par e-mail", + "Receive one email for each activity": "Recevoir un e-mail à chaque activité" } diff --git a/js/src/i18n/gl.json b/js/src/i18n/gl.json index 38bff171c..cb28f153a 100644 --- a/js/src/i18n/gl.json +++ b/js/src/i18n/gl.json @@ -893,7 +893,6 @@ "We will redirect you to your instance in order to interact with this group": "Ímoste reenviar á túa instancia para que poidas interactuar con este grupo", "We'll send you an email one hour before the event begins, to be sure you won't forget about it.": "Enviarémosche un email unha hora antes do comezo do evento, para que non o esquezas.", "We'll use your timezone settings to send a recap of the morning of the event.": "Usaremos os axustes de zona horaria para enviar un recordatorio na mañán do evento.", - "WebPush": "WebPush", "Website": "Sitio web", "Website / URL": "Sitio web / URL", "Welcome back {username}!": "Benvida {username}!", diff --git a/js/src/i18n/ru.json b/js/src/i18n/ru.json index 17d6811a0..4ff4314df 100644 --- a/js/src/i18n/ru.json +++ b/js/src/i18n/ru.json @@ -834,7 +834,6 @@ "We will redirect you to your instance in order to interact with this group": "Мы перенаправим вас на ваш узел, чтобы вы могли взаимодействовать с этой группой", "We'll send you an email one hour before the event begins, to be sure you won't forget about it.": "Мы отправим вам электронное письмо за час до начала мероприятия, чтобы вы не забыли про него.", "We'll use your timezone settings to send a recap of the morning of the event.": "Мы используем настройки вашего часового пояса, чтобы утром отправить вам напоминание о мероприятии.", - "WebPush": "WebPush уведомления", "Website": "Веб-сайт", "Website / URL": "Веб-сайт / URL", "Welcome back {username}!": "С возвращением, {username}!", diff --git a/js/src/types/current-user.model.ts b/js/src/types/current-user.model.ts index d8f17b038..5af6b016f 100644 --- a/js/src/types/current-user.model.ts +++ b/js/src/types/current-user.model.ts @@ -25,6 +25,7 @@ export interface IUserSettings { notificationBeforeEvent?: boolean; notificationPendingParticipation?: INotificationPendingEnum; notificationPendingMembership?: INotificationPendingEnum; + groupNotifications?: INotificationPendingEnum; location?: IUserPreferredLocation; } diff --git a/js/src/types/enums.ts b/js/src/types/enums.ts index 3f612e64f..f05e5262c 100644 --- a/js/src/types/enums.ts +++ b/js/src/types/enums.ts @@ -22,6 +22,7 @@ export enum INotificationPendingEnum { DIRECT = "DIRECT", ONE_DAY = "ONE_DAY", ONE_HOUR = "ONE_HOUR", + ONE_WEEK = "ONE_WEEK", } export enum IAuthProvider { diff --git a/js/src/views/Settings/Notifications.vue b/js/src/views/Settings/Notifications.vue index a4b127c50..b75fd93d3 100644 --- a/js/src/views/Settings/Notifications.vue +++ b/js/src/views/Settings/Notifications.vue @@ -19,16 +19,16 @@

{{ $t("Browser notifications") }}

{{ - $t("Unsubscribe to browser notifications") + $t("Unsubscribe to browser push notifications") }} {{ $t("Activate browser notification") }}{{ $t("Activate browser push notifications") }} {{ - $t("You can't use notifications in this browser.") + $t("You can't use push notifications in this browser.") }}
@@ -71,6 +71,28 @@ + + + + + +
@@ -305,7 +327,11 @@ export default class Notifications extends Vue { notificationPendingParticipation: INotificationPendingEnum | undefined = INotificationPendingEnum.NONE; + groupNotifications: INotificationPendingEnum | undefined = + INotificationPendingEnum.ONE_DAY; + notificationPendingParticipationValues: Record = {}; + groupNotificationsValues: Record = {}; RouteName = RouteName; @@ -313,6 +339,8 @@ export default class Notifications extends Vue { subscribed = false; + canShowWebPush = false; + notificationMethods = { email: this.$t("Email") as string, push: this.$t("Push") as string, @@ -508,7 +536,7 @@ export default class Notifications extends Vue { return merge(this.defaultNotificationValues, this.userNotificationValues); } - mounted(): void { + async mounted(): Promise { this.notificationPendingParticipationValues = { [INotificationPendingEnum.NONE]: this.$t("Do not receive any mail"), [INotificationPendingEnum.DIRECT]: this.$t( @@ -516,7 +544,18 @@ export default class Notifications extends Vue { ), [INotificationPendingEnum.ONE_HOUR]: this.$t("Hourly email summary"), [INotificationPendingEnum.ONE_DAY]: this.$t("Daily email summary"), + [INotificationPendingEnum.ONE_WEEK]: this.$t("Weekly email summary"), }; + this.groupNotificationsValues = { + [INotificationPendingEnum.NONE]: this.$t("Do not receive any mail"), + [INotificationPendingEnum.DIRECT]: this.$t( + "Receive one email for each activity" + ), + [INotificationPendingEnum.ONE_HOUR]: this.$t("Hourly email summary"), + [INotificationPendingEnum.ONE_DAY]: this.$t("Daily email summary"), + [INotificationPendingEnum.ONE_WEEK]: this.$t("Weekly email summary"), + }; + this.canShowWebPush = await this.checkCanShowWebPush(); } @Watch("loggedUser") @@ -528,6 +567,7 @@ export default class Notifications extends Vue { this.loggedUser.settings.notificationBeforeEvent; this.notificationPendingParticipation = this.loggedUser.settings.notificationPendingParticipation; + this.groupNotifications = this.loggedUser.settings.groupNotifications; } } @@ -582,7 +622,7 @@ export default class Notifications extends Vue { async subscribeToWebPush(): Promise { try { - if (this.canShowWebPush()) { + if (this.canShowWebPush) { const subscription = await subscribeUserToPush(); if (subscription) { const subscriptionJSON = subscription?.toJSON(); @@ -628,8 +668,12 @@ export default class Notifications extends Vue { } } - canShowWebPush(): boolean { - return window.isSecureContext && !!navigator.serviceWorker; + async checkCanShowWebPush(): Promise { + if (!window.isSecureContext && !("serviceWorker" in navigator)) + return Promise.resolve(false); + const registration = await navigator.serviceWorker.getRegistration(); + console.log("registration", registration); + return registration !== undefined; } async created(): Promise { diff --git a/lib/graphql/schema/user.ex b/lib/graphql/schema/user.ex index 8a5a97aff..b4ccd6f0c 100644 --- a/lib/graphql/schema/user.ex +++ b/lib/graphql/schema/user.ex @@ -190,6 +190,10 @@ defmodule Mobilizon.GraphQL.Schema.UserType do "When does the user receives a notification about a new pending membership in one of the group they're admin for" ) + field(:group_notifications, :notification_pending_enum, + description: "When does the user receives a notification about new activity" + ) + field(:location, :location, description: "The user's preferred location, where they want to be suggested events" ) @@ -213,6 +217,11 @@ defmodule Mobilizon.GraphQL.Schema.UserType do as: :one_day, description: "One day. Notifications will be sent at most each day" ) + + value(:one_week, + as: :one_week, + description: "One Week. Notifications will be sent at most each week" + ) end object :location do @@ -384,6 +393,10 @@ defmodule Mobilizon.GraphQL.Schema.UserType do "When does the user receives a notification about a new pending membership in one of the group they're admin for" ) + arg(:group_notifications, :notification_pending_enum, + description: "When does the user receives a notification about new activity" + ) + arg(:location, :location_input, description: "A geohash of the user's preferred location, where they want to see events" ) diff --git a/lib/mobilizon/activities/activities.ex b/lib/mobilizon/activities/activities.ex index 71887f2e2..7d7e75803 100644 --- a/lib/mobilizon/activities/activities.ex +++ b/lib/mobilizon/activities/activities.ex @@ -121,6 +121,32 @@ defmodule Mobilizon.Activities do |> Page.build_page(page, limit) end + @spec list_group_activities_for_recap( + integer() | String.t(), + integer() | String.t(), + DateTime.t() | nil + ) :: [Activity.t()] + def list_group_activities_for_recap( + group_id, + actor_asking_id, + last_sent_at \\ nil + ) do + query = + Activity + |> where([a], a.group_id == ^group_id) + |> join(:inner, [a], m in Member, + on: m.parent_id == a.group_id and m.actor_id == ^actor_asking_id + ) + |> where([a, m], a.inserted_at >= m.member_since) + |> order_by(desc: :inserted_at) + |> preload([:author, :group]) + + query = + if is_nil(last_sent_at), do: query, else: where(query, [a], a.inserted_at >= ^last_sent_at) + + Repo.all(query) + end + @doc """ Gets a single activity. diff --git a/lib/mobilizon/actors/actors.ex b/lib/mobilizon/actors/actors.ex index 2f78c3dca..2d5d9c409 100644 --- a/lib/mobilizon/actors/actors.ex +++ b/lib/mobilizon/actors/actors.ex @@ -1474,12 +1474,9 @@ defmodule Mobilizon.Actors do @spec groups_member_of_query(integer | String.t()) :: Ecto.Query.t() defp groups_member_of_query(actor_id) do - from( - a in Actor, - join: m in Member, - on: a.id == m.parent_id, - where: m.actor_id == ^actor_id - ) + Actor + |> join(:inner, [a], m in Member, on: a.id == m.parent_id) + |> where([a, m], m.actor_id == ^actor_id and m.role in ^@member_roles) end @spec groups_query :: Ecto.Query.t() diff --git a/lib/mobilizon/users/users.ex b/lib/mobilizon/users/users.ex index d747c06d8..9772f1a7e 100644 --- a/lib/mobilizon/users/users.ex +++ b/lib/mobilizon/users/users.ex @@ -17,7 +17,13 @@ defmodule Mobilizon.Users do defenum(UserRole, :user_role, [:administrator, :moderator, :user]) - defenum(NotificationPendingNotificationDelay, none: 0, direct: 1, one_hour: 5, one_day: 10) + defenum(NotificationPendingNotificationDelay, + none: 0, + direct: 1, + one_hour: 5, + one_day: 10, + one_week: 15 + ) @confirmation_token_length 30 @@ -520,6 +526,18 @@ defmodule Mobilizon.Users do |> Repo.insert(on_conflict: :replace_all, conflict_target: [:user_id, :key, :method]) end + @doc """ + Returns a stream of users which want to have a scheduled recap + """ + @spec stream_users_for_recap :: Enum.t() + def stream_users_for_recap do + User + |> filter_activated(true) + |> join(:inner, [u], s in Setting, on: s.user_id == u.id) + |> where([_u, s], s.group_notifications in [:one_hour, :one_day, :one_week]) + |> Repo.stream() + end + @spec user_by_email_query(String.t(), boolean | nil, boolean()) :: Ecto.Query.t() defp user_by_email_query(email, activated, unconfirmed) do User diff --git a/lib/service/date_time/date_time.ex b/lib/service/date_time/date_time.ex index 0e8df6fff..5d16bfa29 100644 --- a/lib/service/date_time/date_time.ex +++ b/lib/service/date_time/date_time.ex @@ -15,8 +15,8 @@ defmodule Mobilizon.Service.DateTime do @spec datetime_tz_convert(DateTime.t(), String.t()) :: DateTime.t() def datetime_tz_convert(%DateTime{} = datetime, timezone) do case DateTime.shift_zone(datetime, timezone) do - {:ok, datetime_with_user_tz} -> - datetime_with_user_tz + {:ok, datetime_with_tz} -> + datetime_with_tz _ -> datetime @@ -38,4 +38,156 @@ defmodule Mobilizon.Service.DateTime do "en" end end + + def is_first_day_of_week(%Date{} = date, locale \\ "en") do + Date.day_of_week(date) == Cldr.Calendar.first_day_for_locale(locale) + end + + @spec calculate_first_day_of_week(Date.t(), String.t()) :: Date.t() + def calculate_first_day_of_week(%Date{} = date, locale \\ "en") do + if is_first_day_of_week(date, locale), + do: date, + else: calculate_first_day_of_week(Date.add(date, -1), locale) + end + + @doc """ + Calculate the time when a notification should be sent, based on a daily schedule + + ## Parameters + * `compare_to` When to compare to. Defaults to the current datetime + * `notification_time` The time when the notification is being sent. Defaults to `~T[08:00:00]` + * `timezone` The user's timezone. Needed to convert the time in the user's local timezone. Defaults to `"Etc/UTC"` + """ + @spec calculate_next_day_notification(Date.t(), Keyword.t()) :: DateTime.t() + def calculate_next_day_notification(%Date{} = day, options \\ []) do + compare_to = Keyword.get(options, :compare_to, DateTime.utc_now()) + notification_time = Keyword.get(options, :notification_time, ~T[18:00:00]) + timezone = Keyword.get(options, :timezone, "Etc/UTC") + + send_at = DateTime.new!(day, notification_time, timezone) + + if DateTime.compare(send_at, compare_to) == :lt do + day + |> Date.add(1) + |> DateTime.new!(notification_time, timezone) + else + send_at + end + end + + @doc """ + Calculate the time when a notification should be sent, based on a weekly schedule + + ## Parameters + * `compare_to` When to compare to. Defaults to the current datetime + * `notification_time` The time when the notification is being sent. Defaults to `~T[08:00:00]` + * `timezone` The user's timezone. Needed to convert the time in the user's local timezone. Defaults to `"Etc/UTC"` + * `locale` The user's locale. Allows to get the first day of the week to send the notification on the beginning of the week. Defaults to `"en"`. + """ + @spec calculate_next_week_notification(DateTime.t(), Keyword.t()) :: DateTime.t() | nil + def calculate_next_week_notification(begins_on, options \\ []) do + # That's now, but we allow to override it for tests + compare_to = Keyword.get(options, :compare_to, DateTime.utc_now()) + + # If the event is in the future + if DateTime.compare(begins_on, compare_to) == :gt do + # We get the day of the scheduled notification next week + notification_date = appropriate_first_day_of_week(begins_on, options) + + if is_nil(notification_date) do + nil + else + # This is the datetime when the notification should be sent + if DateTime.compare(notification_date, compare_to) == :gt do + notification_date + else + nil + end + end + else + # In the past, don't send anything + nil + end + end + + @spec next_first_day_of_week(DateTime.t(), Keyword.t()) :: Date.t() | nil + def next_first_day_of_week(%DateTime{} = datetime, options) do + locale = Keyword.get(options, :locale, "en") + compare_to = Keyword.get(options, :compare_to, DateTime.utc_now()) + + next_first_day_of_week = + compare_to + |> DateTime.to_date() + |> calculate_first_day_of_week(locale) + |> Timex.add(Timex.Duration.from_weeks(1)) + |> build_notification_datetime(options) + + if Date.compare(datetime, next_first_day_of_week) == :gt do + next_first_day_of_week + else + nil + end + end + + def appropriate_first_day_of_week(%DateTime{} = datetime, options) do + locale = Keyword.get(options, :locale, "en") + timezone = Keyword.get(options, :timezone, "Etc/UTC") + + local_datetime = datetime_tz_convert(datetime, timezone) + + first_day = local_datetime |> DateTime.to_date() |> calculate_first_day_of_week(locale) + first_datetime = build_notification_datetime(first_day, options) + + if DateTime.compare(local_datetime, first_datetime) == :gt do + first_datetime + else + next_first_day_of_week(local_datetime, options) + end + end + + @spec build_notification_datetime(Date.t(), Keyword.t()) :: DateTime.t() + def build_notification_datetime( + %Date{} = date, + options + ) do + notification_time = Keyword.get(options, :notification_time, ~T[08:00:00]) + timezone = Keyword.get(options, :timezone, "Etc/UTC") + DateTime.new!(date, notification_time, timezone) + end + + @start_time ~T[08:00:00] + @end_time ~T[09:00:00] + + @spec is_between_hours(Keyword.t()) :: boolean() + def is_between_hours(options \\ []) when is_list(options) do + compare_to_day = Keyword.get(options, :compare_to_day, Date.utc_today()) + compare_to = Keyword.get(options, :compare_to_datetime, DateTime.utc_now()) + start_time = Keyword.get(options, :start_time, @start_time) + timezone = Keyword.get(options, :timezone, "Etc/UTC") + end_time = Keyword.get(options, :end_time, @end_time) + + DateTime.compare(compare_to, DateTime.new!(compare_to_day, start_time, timezone)) in [ + :gt, + :eq + ] && + DateTime.compare( + compare_to, + DateTime.new!(compare_to_day, end_time, timezone) + ) == :lt + end + + @spec is_between_hours_on_first_day(Keyword.t()) :: boolean() + def is_between_hours_on_first_day(options) when is_list(options) do + compare_to_day = Keyword.get(options, :compare_to_day, Date.utc_today()) + locale = Keyword.get(options, :locale, "en") + + Mobilizon.Service.DateTime.is_first_day_of_week(compare_to_day, locale) && + is_between_hours(options) + end + + @spec is_delay_ok_since_last_notification_sent(DateTime.t()) :: boolean() + def is_delay_ok_since_last_notification_sent(%DateTime{} = last_notification_sent) do + DateTime.compare(DateTime.add(last_notification_sent, 3_600), DateTime.utc_now()) == + :lt + end end diff --git a/lib/service/notifications/scheduler.ex b/lib/service/notifications/scheduler.ex index 0f9356d6e..872e70e82 100644 --- a/lib/service/notifications/scheduler.ex +++ b/lib/service/notifications/scheduler.ex @@ -8,6 +8,15 @@ defmodule Mobilizon.Service.Notifications.Scheduler do alias Mobilizon.Events.{Event, Participant} alias Mobilizon.Service.Workers.Notification alias Mobilizon.Users.{Setting, User} + + import Mobilizon.Service.DateTime, + only: [ + datetime_tz_convert: 2, + calculate_first_day_of_week: 2, + calculate_next_day_notification: 2, + calculate_next_week_notification: 2 + ] + require Logger @spec trigger_notifications_for_participant(Participant.t()) :: {:ok, nil} @@ -44,7 +53,7 @@ defmodule Mobilizon.Service.Notifications.Scheduler do when not is_nil(user_id) do case Users.get_setting(user_id) do %Setting{notification_on_day: true, timezone: timezone} -> - %DateTime{hour: hour} = begins_on_shifted = shift_zone(begins_on, timezone) + %DateTime{hour: hour} = begins_on_shifted = datetime_tz_convert(begins_on, timezone) Logger.debug("Participation event start at #{inspect(begins_on_shifted)} (user timezone)") send_date = @@ -90,7 +99,7 @@ defmodule Mobilizon.Service.Notifications.Scheduler do case settings do %Setting{notification_each_week: true, timezone: timezone} -> - %DateTime{} = begins_on_shifted = shift_zone(begins_on, timezone) + %DateTime{} = begins_on_shifted = datetime_tz_convert(begins_on, timezone) Logger.debug( "Participation event start at #{inspect(begins_on_shifted)} (user timezone is #{timezone})" @@ -143,6 +152,7 @@ defmodule Mobilizon.Service.Notifications.Scheduler do with %Actor{user_id: user_id} when not is_nil(user_id) <- Actors.get_actor(organizer_actor_id), %User{ + locale: locale, settings: %Setting{ notification_pending_participation: notification_pending_participation, timezone: timezone @@ -157,7 +167,13 @@ defmodule Mobilizon.Service.Notifications.Scheduler do :direct :one_day -> - calculate_next_day_notification(Date.utc_today(), timezone) + calculate_next_day_notification(Date.utc_today(), timezone: timezone) + + :one_week -> + calculate_next_week_notification(DateTime.utc_now(), + timezone: timezone, + locale: locale + ) :one_hour -> DateTime.utc_now() @@ -259,40 +275,4 @@ defmodule Mobilizon.Service.Notifications.Scheduler do Notification.enqueue(:pending_membership_notification, params, scheduled_at: send_at) end end - - defp shift_zone(datetime, timezone) do - case DateTime.shift_zone(datetime, timezone) do - {:ok, shift_datetime} -> shift_datetime - {:error, _} -> datetime - end - end - - defp calculate_first_day_of_week(%Date{} = date, locale) do - day_number = Date.day_of_week(date) - first_day_number = Cldr.Calendar.first_day_for_locale(locale) - - if day_number == first_day_number, - do: date, - else: calculate_first_day_of_week(Date.add(date, -1), locale) - end - - defp calculate_next_day_notification(%Date{} = day, timezone) do - send_at = date_to_datetime(day, ~T[18:00:00], timezone) - - if DateTime.compare(send_at, DateTime.utc_now()) == :lt do - day - |> Date.add(1) - |> date_to_datetime(~T[18:00:00], timezone) - else - send_at - end - end - - defp date_to_datetime(%Date{} = day, time, timezone) do - # Just in case - timezone = timezone || "Etc/UTC" - {:ok, datetime} = NaiveDateTime.new(day, time) - {:ok, datetime} = DateTime.from_naive(datetime, timezone) - datetime - end end diff --git a/lib/service/notifier/email.ex b/lib/service/notifier/email.ex index 4b7ad5839..5a8b3c7f2 100644 --- a/lib/service/notifier/email.ex +++ b/lib/service/notifier/email.ex @@ -6,10 +6,17 @@ defmodule Mobilizon.Service.Notifier.Email do alias Mobilizon.{Config, Users} alias Mobilizon.Service.Notifier alias Mobilizon.Service.Notifier.{Email, Filter} - alias Mobilizon.Users.{NotificationPendingNotificationDelay, Setting, User} + alias Mobilizon.Users.{Setting, User} alias Mobilizon.Web.Email.Activity, as: EmailActivity alias Mobilizon.Web.Email.Mailer + import Mobilizon.Service.DateTime, + only: [ + is_delay_ok_since_last_notification_sent: 1 + ] + + require Logger + @behaviour Notifier @impl Notifier @@ -27,9 +34,11 @@ defmodule Mobilizon.Service.Notifier.Email do @impl Notifier def send(%User{email: email, locale: locale} = user, activities, options) when is_list(activities) do - activities = Enum.filter(activities, &can_send_activity?(&1, user)) + activities = Enum.filter(activities, &can_send_activity?(&1, user, options)) + + if length(activities) > 0 do + Logger.debug("Found some activities to send by email") - if can_send?(user) && length(activities) > 0 do email |> EmailActivity.direct_activity(activities, Keyword.put(options, :locale, locale)) |> Mailer.send_email() @@ -37,13 +46,80 @@ defmodule Mobilizon.Service.Notifier.Email do save_last_notification_time(user) {:ok, :sent} else + Logger.debug("No activities to send by email") {:ok, :skipped} end end - @spec can_send_activity?(Activity.t(), User.t()) :: boolean() - defp can_send_activity?(%Activity{} = activity, %User{} = user) do - Filter.can_send_activity?(activity, "email", user, &default_activity_behavior/1) + # These notifications are using LegacyNotifierBuilder and don't have any history, + # so we always send them directly, as long as the setting isn't none + @always_direct_subjects [ + :participation_event_comment, + :event_comment_mention, + :discussion_mention + ] + + @spec can_send_activity?(Activity.t(), User.t(), Keyword.t()) :: boolean() + defp can_send_activity?( + %Activity{subject: subject} = activity, + %User{ + settings: %Setting{ + group_notifications: group_notifications, + last_notification_sent: last_notification_sent + } + } = user, + options + ) do + Filter.can_send_activity?(activity, "email", user, &default_activity_behavior/1) && + match_group_notifications_setting( + group_notifications, + subject, + last_notification_sent, + options + ) + end + + @spec match_group_notifications_setting( + NotificationPendingNotificationDelay.t(), + String.t(), + DateTime.t() | nil, + Keyword.t() + ) :: boolean() + # No notifications at all + defp match_group_notifications_setting(:none, _, _, _), do: false + + # Every notification + defp match_group_notifications_setting(:direct, _, _, _), do: true + + # Direct notifications + defp match_group_notifications_setting(_, subject, _, _) + when subject in @always_direct_subjects, + do: true + + defp match_group_notifications_setting( + group_notifications, + _subject, + last_notification_sent, + options + ) do + cond do + # This is a recap + Keyword.get(options, :recap, false) != false -> + true + + # First notification EVER! + group_notifications == :one_hour && is_nil(last_notification_sent) -> + true + + # Delay ok since last notification + group_notifications == :one_hour && + is_delay_ok_since_last_notification_sent(last_notification_sent) -> + true + + # Otherwise, no thanks + true -> + false + end end @default_behavior %{ @@ -70,32 +146,6 @@ defmodule Mobilizon.Service.Notifier.Email do Map.get(@default_behavior, activity_setting, false) end - @type notification_type :: - :group_notifications - | :notification_pending_participation - | :notification_pending_membership - - @spec user_notification_delay(User.t(), notification_type()) :: - NotificationPendingNotificationDelay.t() - defp user_notification_delay(%User{} = user, type \\ :group_notifications) do - Map.from_struct(user.settings)[type] - end - - @spec can_send?(User.t()) :: boolean() - defp can_send?(%User{settings: %Setting{last_notification_sent: last_notification_sent}} = user) do - last_notification_sent_or_default = last_notification_sent || DateTime.utc_now() - notification_delay = user_notification_delay(user) - diff = DateTime.diff(DateTime.utc_now(), last_notification_sent_or_default) - - cond do - notification_delay == :none -> false - is_nil(last_notification_sent) -> true - notification_delay == :direct -> true - notification_delay == :one_hour -> diff >= 60 * 60 - notification_delay == :one_day -> diff >= 24 * 60 * 60 - end - end - @spec save_last_notification_time(User.t()) :: {:ok, Setting.t()} | {:error, Ecto.Changeset.t()} defp save_last_notification_time(%User{id: user_id}) do attrs = %{user_id: user_id, last_notification_sent: DateTime.utc_now()} diff --git a/lib/service/workers/digest_notifier_worker.ex b/lib/service/workers/digest_notifier_worker.ex deleted file mode 100644 index 8a7d5ca94..000000000 --- a/lib/service/workers/digest_notifier_worker.ex +++ /dev/null @@ -1,14 +0,0 @@ -defmodule Mobilizon.Service.Workers.DigestNotifierWorker do - @moduledoc """ - Worker to send notifications - """ - - use Mobilizon.Service.Workers.Helper, queue: "notifications" - - @impl Oban.Worker - def perform(%Job{}) do - # Get last time activities were send - # List activities to send - # Send activites - end -end diff --git a/lib/service/workers/notification.ex b/lib/service/workers/notification.ex index 19202f8b2..004ef8e05 100644 --- a/lib/service/workers/notification.ex +++ b/lib/service/workers/notification.ex @@ -11,6 +11,11 @@ defmodule Mobilizon.Service.Workers.Notification do alias Mobilizon.Users.{Setting, User} alias Mobilizon.Web.Email.{Mailer, Notification} + import Mobilizon.Service.DateTime, + only: [ + datetime_tz_convert: 2 + ] + use Mobilizon.Service.Workers.Helper, queue: "mailers" @impl Oban.Worker @@ -109,16 +114,9 @@ defmodule Mobilizon.Service.Workers.Notification do end end - defp shift_zone(datetime, timezone) do - case DateTime.shift_zone(datetime, timezone) do - {:ok, shift_datetime} -> shift_datetime - {:error, _} -> datetime - end - end - defp calculate_start_end(days, timezone) do now = DateTime.utc_now() - %DateTime{} = now_shifted = shift_zone(now, timezone) + %DateTime{} = now_shifted = datetime_tz_convert(now, timezone) start = %{now_shifted | hour: 8, minute: 0, second: 0, microsecond: {0, 0}} {:ok, %NaiveDateTime{} = tomorrow} = diff --git a/lib/service/workers/send_activity_recap_worker.ex b/lib/service/workers/send_activity_recap_worker.ex new file mode 100644 index 000000000..5145ad778 --- /dev/null +++ b/lib/service/workers/send_activity_recap_worker.ex @@ -0,0 +1,112 @@ +defmodule Mobilizon.Service.Workers.SendActivityRecapWorker do + @moduledoc """ + Worker to send activity recaps + """ + + use Oban.Worker, queue: "notifications" + alias Mobilizon.{Activities, Actors, Users} + alias Mobilizon.Activities.Activity + alias Mobilizon.Actors.Actor + alias Mobilizon.Service.Notifier.Email + alias Mobilizon.Storage.Repo + alias Mobilizon.Users.{Setting, User} + + import Mobilizon.Service.DateTime, + only: [ + is_between_hours: 1, + is_between_hours_on_first_day: 1, + is_delay_ok_since_last_notification_sent: 1 + ] + + @impl Oban.Worker + def perform(%Job{}) do + Repo.transaction(fn -> + Users.stream_users_for_recap() + |> Enum.to_list() + |> Repo.preload([:settings]) + |> Enum.filter(&filter_elegible_users/1) + |> Enum.map(fn %User{} = user -> + %{ + activities: activities_for_user(user), + user: user + } + end) + |> Enum.filter(fn %{activities: activities, user: _user} -> length(activities) > 0 end) + |> Enum.map(fn %{ + activities: activities, + user: + %User{settings: %Setting{group_notifications: group_notifications}} = + user + } -> + Email.send(user, activities, recap: group_notifications) + end) + end) + end + + defp activities_for_user( + %User{settings: %Setting{last_notification_sent: last_notification_sent}} = user + ) do + user + |> Users.get_actors_for_user() + |> Enum.flat_map(&group_memberships(&1, last_notification_sent)) + |> Enum.uniq() + end + + defp group_memberships(%Actor{id: actor_id} = actor, last_notification_sent) do + actor + |> group_memberships_for_actor() + |> Enum.uniq() + |> Enum.flat_map(&activities_for_group(&1, actor_id, last_notification_sent)) + end + + defp group_memberships_for_actor(%Actor{} = actor) do + Actors.list_groups_member_of(actor) + end + + defp activities_for_group( + %Actor{id: group_id, type: :Group}, + actor_asking_id, + last_notification_sent + ) do + group_id + |> Activities.list_group_activities_for_recap(actor_asking_id, last_notification_sent) + # Don't send my own activities + |> Enum.filter(fn %Activity{author: %Actor{id: author_id}} -> author_id != actor_asking_id end) + end + + defp filter_elegible_users(%User{ + settings: %Setting{last_notification_sent: nil, group_notifications: :one_hour} + }) do + true + end + + defp filter_elegible_users(%User{ + settings: %Setting{ + last_notification_sent: %DateTime{} = last_notification_sent, + group_notifications: :one_hour + } + }) do + is_delay_ok_since_last_notification_sent(last_notification_sent) + end + + # If we're between notification hours + defp filter_elegible_users(%User{ + settings: %Setting{ + group_notifications: :one_day, + timezone: timezone + } + }) do + is_between_hours(timezone: timezone) + end + + # If we're on the first day of the week between notification hours + defp filter_elegible_users(%User{ + locale: locale, + settings: %Setting{ + group_notifications: :one_week, + timezone: timezone + } + }) do + is_between_hours_on_first_day(timezone: timezone, locale: locale) + end +end diff --git a/lib/web/email/activity.ex b/lib/web/email/activity.ex index d520d75bd..ba2735a25 100644 --- a/lib/web/email/activity.ex +++ b/lib/web/email/activity.ex @@ -21,13 +21,10 @@ defmodule Mobilizon.Web.Email.Activity do ) do locale = Keyword.get(options, :locale, "en") single_activity = Keyword.get(options, :single_activity, false) + recap = Keyword.get(options, :recap, false) Gettext.put_locale(locale) - subject = - gettext( - "Activity notification for %{instance}", - instance: Config.instance_name() - ) + subject = get_subject(recap) chunked_activities = chunk_activities(activities) @@ -37,6 +34,7 @@ defmodule Mobilizon.Web.Email.Activity do |> assign(:activities, chunked_activities) |> assign(:total_number_activities, length(activities)) |> assign(:single_activity, single_activity) + |> assign(:recap, recap) |> render(:email_direct_activity) end @@ -94,4 +92,38 @@ defmodule Mobilizon.Web.Email.Activity do end end) end + + @spec get_subject(atom() | false) :: String.t() + defp get_subject(recap) do + if recap do + case recap do + :one_hour -> + dgettext( + "activity", + "Activity notification for %{instance}", + instance: Config.instance_name() + ) + + :one_day -> + dgettext( + "activity", + "Daily activity recap for %{instance}", + instance: Config.instance_name() + ) + + :one_week -> + dgettext( + "activity", + "Weekly activity recap for %{instance}", + instance: Config.instance_name() + ) + end + else + dgettext( + "activity", + "Activity notification for %{instance}", + instance: Config.instance_name() + ) + end + end end diff --git a/lib/web/templates/email/activity/_comment_activity_item.html.eex b/lib/web/templates/email/activity/_comment_activity_item.html.eex index 135a194e1..df908b9c9 100644 --- a/lib/web/templates/email/activity/_comment_activity_item.html.eex +++ b/lib/web/templates/email/activity/_comment_activity_item.html.eex @@ -1,73 +1,4 @@ <%= case @activity.subject do %> - <% :discussion_created -> %> - <%= - dgettext("activity", "%{profile} created the discussion %{discussion}.", - %{ - profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", - discussion: " URI.decode()}\"> - #{@activity.subject_params["discussion_title"]} - " - } - ) |> raw %> - <% :discussion_replied -> %> - <%= - dgettext("activity", "%{profile} replied to the discussion %{discussion}.", - %{ - profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", - discussion: " URI.decode()}\"> - #{@activity.subject_params["discussion_title"]} - " - } - ) |> raw %> - <% :discussion_renamed -> %> - <%= - dgettext("activity", "%{profile} renamed the discussion %{discussion}.", - %{ - profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", - discussion: " URI.decode()}\"> - #{@activity.subject_params["discussion_title"]} - " - } - ) |> raw %> - <% :discussion_archived -> %> - <%= - dgettext("activity", "%{profile} archived the discussion %{discussion}.", - %{ - profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", - discussion: " URI.decode()}\"> - #{@activity.subject_params["discussion_title"]} - " - } - ) |> raw %> - <% :discussion_deleted -> %> - <%= - dgettext("activity", "%{profile} deleted the discussion %{discussion}.", - %{ - profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", - discussion: "#{@activity.subject_params["discussion_title"]}" - } - ) |> raw %> - <% :event_comment_mention -> %> <%= dgettext("activity", "%{profile} mentionned you in a comment under event %{event}.", diff --git a/lib/web/templates/email/activity/_comment_activity_item.text.eex b/lib/web/templates/email/activity/_comment_activity_item.text.eex index a3fdd1a05..7742f369a 100644 --- a/lib/web/templates/email/activity/_comment_activity_item.text.eex +++ b/lib/web/templates/email/activity/_comment_activity_item.text.eex @@ -22,19 +22,19 @@ discussion: @activity.subject_params["discussion_title"] } ) %> -<%= page_url(Mobilizon.Web.Endpoint, :discussion, Mobilizon.Actors.Actor.preferred_username_and_domain(@activity.group), @activity.subject_params["discussion_slug"]) |> URI.decode() %><% :discussion_deleted -> %><%= dgettext("activity", "%{profile} deleted the discussion %{discussion}.", +<%= page_url(Mobilizon.Web.Endpoint, :discussion, Mobilizon.Actors.Actor.preferred_username_and_domain(@activity.group), @activity.subject_params["discussion_slug"]) |> URI.decode() %><% :discussion_deleted -> %><%= dgettext("activity", "%{profile} deleted the discussion %{discussion}.", %{ profile: Mobilizon.Actors.Actor.display_name_and_username(@activity.author), discussion: @activity.subject_params["discussion_title"] } ) %> -<%= page_url(Mobilizon.Web.Endpoint, :discussion, Mobilizon.Actors.Actor.preferred_username_and_domain(@activity.group), @activity.subject_params["discussion_slug"]) |> URI.decode() %><% :event_comment_mention -> %><%= dgettext("activity", "%{profile} mentionned you in a comment under %{event}.", +<%= page_url(Mobilizon.Web.Endpoint, :discussion, Mobilizon.Actors.Actor.preferred_username_and_domain(@activity.group), @activity.subject_params["discussion_slug"]) |> URI.decode() %><% :event_comment_mention -> %><%= dgettext("activity", "%{profile} mentionned you in a comment under event %{event}.", %{ profile: Mobilizon.Actors.Actor.display_name_and_username(@activity.author), event: @activity.subject_params["event_title"] } ) %> -<%= page_url(Mobilizon.Web.Endpoint, :event, @activity.subject_params["event_uuid"]) |> URI.decode() %><% :participation_event_comment -> %><%= dgettext("activity", "%{profile} has posted an announcement under event %{event}.", +<%= page_url(Mobilizon.Web.Endpoint, :event, @activity.subject_params["event_uuid"]) |> URI.decode() %><% :participation_event_comment -> %><%= dgettext("activity", "%{profile} has posted an announcement under event %{event}.", %{ profile: Mobilizon.Actors.Actor.display_name_and_username(@activity.author), event: @activity.subject_params["event_title"] diff --git a/lib/web/templates/email/email.html.eex b/lib/web/templates/email/email.html.eex index fdb95260d..9f2bd89ee 100644 --- a/lib/web/templates/email/email.html.eex +++ b/lib/web/templates/email/email.html.eex @@ -110,11 +110,11 @@ - @@ -140,7 +140,7 @@ diff --git a/lib/web/templates/email/email_direct_activity.html.eex b/lib/web/templates/email/email_direct_activity.html.eex index 36de71308..be3d997b5 100644 --- a/lib/web/templates/email/email_direct_activity.html.eex +++ b/lib/web/templates/email/email_direct_activity.html.eex @@ -35,7 +35,16 @@ @@ -108,7 +117,9 @@ <% end %>

<%= unless @single_activity do %> - <%= datetime_relative(activity.inserted_at, @locale) %> + + <%= datetime_to_string(activity.inserted_at, @locale, :short) %> + <% end %> <% end %> @@ -141,7 +152,7 @@ diff --git a/lib/web/templates/email/email_direct_activity.text.eex b/lib/web/templates/email/email_direct_activity.text.eex index 49fb3a607..44572d5a2 100644 --- a/lib/web/templates/email/email_direct_activity.text.eex +++ b/lib/web/templates/email/email_direct_activity.text.eex @@ -1,7 +1,11 @@ <%= @subject %> == -<%= dngettext("activity", "There has been an activity!", "There has been some activity!", @total_number_activities) %> +<%= case @recap do %><% :one_day -> %><% dgettext("activity", "Here's your daily activity recap") %> +<% :one_week -> %><% dgettext("activity", "Here's your weekly activity recap") %> +<% :one_hour -> %><%= dngettext("activity", "There has been an activity!", "There has been some activity!", @total_number_activities) %> +<% false -> %><%= dngettext("activity", "There has been an activity!", "There has been some activity!", @total_number_activities) %> +<% end %> <%= for {_, group_activities} <- @activities do %> @@ -13,11 +17,12 @@ <%= for activity <- Enum.take(group_activities, 5) do %> * <%= case activity.type do %><% :discussion -> %><%= render("activity/_discussion_activity_item.text", activity: activity) %><% :event -> %><%= render("activity/_event_activity_item.text", activity: activity) %><% :group -> %><%= render("activity/_group_activity_item.text", activity: activity) %> <% :member -> %><%= render("activity/_member_activity_item.text", activity: activity) %><% :post -> %><%= render("activity/_post_activity_item.text", activity: activity) %><% :resource -> %><%= render("activity/_resource_activity_item.text", activity: activity) %><% :comment -> %><%= render("activity/_comment_activity_item.text", activity: activity) %><% end %> -<%= unless @single_activity do %><%= datetime_relative(activity.inserted_at, @locale) %><% end %> +<%= unless @single_activity do %><%= datetime_to_string(activity.inserted_at, @locale, :short) %><% end %> <% end %> <%= if length(group_activities) > 5 do %> <%= dngettext "activity", "View one more activity", "View %{count} more activities", length(group_activities) - 5, %{count: length(group_activities) - 5} %> <%= page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(hd(group_activities).group)) |> URI.decode() %>/timeline <% end %> <% end %> -<%= dgettext("activity", "Don't want to receive activity notifications? You may change frequency or disable them in your settings.") %> \ No newline at end of file +<%= dgettext("activity", "Don't want to receive activity notifications? You may change frequency or disable them in your settings.") %> +<% "#{Mobilizon.Web.Endpoint.url()}/settings/notifications" %> \ No newline at end of file diff --git a/priv/gettext/activity.pot b/priv/gettext/activity.pot index bd0a8f409..e6019876c 100644 --- a/priv/gettext/activity.pot +++ b/priv/gettext/activity.pot @@ -41,18 +41,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -75,9 +73,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -119,9 +116,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -139,10 +135,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -213,13 +208,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -227,8 +221,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -241,22 +235,47 @@ msgstr "" #, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" -#, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - #, elixir-format #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:52 +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/ar/LC_MESSAGES/activity.po b/priv/gettext/ar/LC_MESSAGES/activity.po index 59de48dcb..3541f1c1d 100644 --- a/priv/gettext/ar/LC_MESSAGES/activity.po +++ b/priv/gettext/ar/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -232,8 +226,8 @@ msgstr[4] "" msgstr[5] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -248,24 +242,49 @@ msgstr[5] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/ar/LC_MESSAGES/default.po b/priv/gettext/ar/LC_MESSAGES/default.po index e27541f25..7da8ae989 100644 --- a/priv/gettext/ar/LC_MESSAGES/default.po +++ b/priv/gettext/ar/LC_MESSAGES/default.po @@ -423,7 +423,7 @@ msgstr[4] "" msgstr[5] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1435,8 +1435,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/ar/LC_MESSAGES/errors.po b/priv/gettext/ar/LC_MESSAGES/errors.po index 02ea37046..316d99fa7 100644 --- a/priv/gettext/ar/LC_MESSAGES/errors.po +++ b/priv/gettext/ar/LC_MESSAGES/errors.po @@ -792,7 +792,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/activity.po b/priv/gettext/be/LC_MESSAGES/activity.po index c3c277e99..51013c016 100644 --- a/priv/gettext/be/LC_MESSAGES/activity.po +++ b/priv/gettext/be/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -229,8 +223,8 @@ msgstr[1] "" msgstr[2] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -242,24 +236,49 @@ msgstr[2] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/default.po b/priv/gettext/be/LC_MESSAGES/default.po index 8dfb26e9b..4c5b87c8c 100644 --- a/priv/gettext/be/LC_MESSAGES/default.po +++ b/priv/gettext/be/LC_MESSAGES/default.po @@ -405,7 +405,7 @@ msgstr[1] "" msgstr[2] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1411,8 +1411,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/errors.po b/priv/gettext/be/LC_MESSAGES/errors.po index 7ae1e0afd..c07247395 100644 --- a/priv/gettext/be/LC_MESSAGES/errors.po +++ b/priv/gettext/be/LC_MESSAGES/errors.po @@ -766,7 +766,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/activity.po b/priv/gettext/ca/LC_MESSAGES/activity.po index 25c4bd243..c60def8eb 100644 --- a/priv/gettext/ca/LC_MESSAGES/activity.po +++ b/priv/gettext/ca/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/default.po b/priv/gettext/ca/LC_MESSAGES/default.po index 408cb5619..b771a7dc1 100644 --- a/priv/gettext/ca/LC_MESSAGES/default.po +++ b/priv/gettext/ca/LC_MESSAGES/default.po @@ -446,7 +446,7 @@ msgstr[0] "Tens una activitat aquesta setmana:" msgstr[1] "Tens %{total} activitats aquesta setmana:" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "L'organitzadora no hi ha posat cap descripció." @@ -1660,8 +1660,3 @@ msgstr "Sembla ser que el servidor de Mobilizon està temporalment inaccessible. #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/errors.po b/priv/gettext/ca/LC_MESSAGES/errors.po index 1bbc59ec2..b52e3f7a8 100644 --- a/priv/gettext/ca/LC_MESSAGES/errors.po +++ b/priv/gettext/ca/LC_MESSAGES/errors.po @@ -767,7 +767,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/activity.po b/priv/gettext/cs/LC_MESSAGES/activity.po index 25f5115e8..45e4ba00e 100644 --- a/priv/gettext/cs/LC_MESSAGES/activity.po +++ b/priv/gettext/cs/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -229,8 +223,8 @@ msgstr[1] "" msgstr[2] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -242,24 +236,49 @@ msgstr[2] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/default.po b/priv/gettext/cs/LC_MESSAGES/default.po index 78f4ae32e..c6cb6ea1f 100644 --- a/priv/gettext/cs/LC_MESSAGES/default.po +++ b/priv/gettext/cs/LC_MESSAGES/default.po @@ -405,7 +405,7 @@ msgstr[1] "" msgstr[2] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1411,8 +1411,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/errors.po b/priv/gettext/cs/LC_MESSAGES/errors.po index aa7bf3d83..d91ce962a 100644 --- a/priv/gettext/cs/LC_MESSAGES/errors.po +++ b/priv/gettext/cs/LC_MESSAGES/errors.po @@ -766,7 +766,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/activity.po b/priv/gettext/de/LC_MESSAGES/activity.po index ed1caefd5..e945cb4e5 100644 --- a/priv/gettext/de/LC_MESSAGES/activity.po +++ b/priv/gettext/de/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index d684bdd38..b4728d7a8 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -452,7 +452,7 @@ msgstr[0] "Du hast diese Woche eine Veranstaltung:" msgstr[1] "Du hast diese Woche %{total} Veranstaltungen:" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Der Eventorganisator hat keine Beschreibung hinzugefügt." @@ -1775,8 +1775,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po index 42f54daab..273a19b2a 100644 --- a/priv/gettext/de/LC_MESSAGES/errors.po +++ b/priv/gettext/de/LC_MESSAGES/errors.po @@ -794,7 +794,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Sie können diese Einladung mit diesem Profil nicht ablehnen." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "Die Datei hat keinen zulässigen MIME-Typ." diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 71c75d69f..e5066feb7 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -386,7 +386,7 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1390,8 +1390,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/activity.po b/priv/gettext/en/LC_MESSAGES/activity.po index bbecb0508..2e4a1d3fd 100644 --- a/priv/gettext/en/LC_MESSAGES/activity.po +++ b/priv/gettext/en/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 0b8675bcb..eef4f401c 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -439,7 +439,7 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1443,8 +1443,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po index 42dd920f4..bb3f35e9f 100644 --- a/priv/gettext/en/LC_MESSAGES/errors.po +++ b/priv/gettext/en/LC_MESSAGES/errors.po @@ -770,7 +770,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot index 3cde34de3..e1fc57ab4 100644 --- a/priv/gettext/errors.pot +++ b/priv/gettext/errors.pot @@ -767,7 +767,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/activity.po b/priv/gettext/es/LC_MESSAGES/activity.po index b1077ffef..153688b80 100644 --- a/priv/gettext/es/LC_MESSAGES/activity.po +++ b/priv/gettext/es/LC_MESSAGES/activity.po @@ -18,257 +18,278 @@ msgstr "" "X-Generator: Weblate 4.6.2\n" "Content-Transfer-Encoding: 8bit\n" +#, elixir-format #: lib/service/activity/renderer/member.ex:38 #: lib/web/templates/email/activity/_member_activity_item.html.eex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12 -#, elixir-format msgid "%{member} accepted the invitation to join the group." msgstr "%{member} aceptó la invitación para unirse al grupo." +#, elixir-format #: lib/service/activity/renderer/member.ex:42 #: lib/web/templates/email/activity/_member_activity_item.html.eex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17 -#, elixir-format msgid "%{member} rejected the invitation to join the group." msgstr "%{member} rechazó la invitación para unirse al grupo." +#, elixir-format #: lib/service/activity/renderer/member.ex:30 #: lib/web/templates/email/activity/_member_activity_item.html.eex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1 -#, elixir-format msgid "%{member} requested to join the group." msgstr "%{member} solicitó unirse al grupo." +#, elixir-format #: lib/service/activity/renderer/member.ex:34 #: lib/web/templates/email/activity/_member_activity_item.html.eex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6 -#, elixir-format msgid "%{member} was invited by %{profile}." msgstr "%{member} fue invitado por %{profile}." +#, elixir-format #: lib/service/activity/renderer/member.ex:50 #: lib/web/templates/email/activity/_member_activity_item.html.eex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27 -#, elixir-format msgid "%{profile} added the member %{member}." msgstr "%{profile} agregó el miembro %{member}." -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "%{profile} archivó la discusión %{discussion}." -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "%{profile} creó la discusión %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:24 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2 -#, elixir-format msgid "%{profile} created the folder %{resource}." msgstr "%{profile} creó la carpeta %{resource}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:4 #: lib/web/templates/email/activity/_group_activity_item.text.eex:1 -#, elixir-format msgid "%{profile} created the group %{group}." msgstr "%{profile} crfeó el grupo %{group}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:33 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8 -#, elixir-format msgid "%{profile} created the resource %{resource}." msgstr "%{profile} creó el recurso %{resource}." -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "%{profile} eliminó la discusión %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:97 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40 -#, elixir-format msgid "%{profile} deleted the folder %{resource}." msgstr "%{profile} borró la carpeta %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:106 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} deleted the resource %{resource}." msgstr "%{profile} eliminado el recurso %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:58 #: lib/web/templates/email/activity/_member_activity_item.html.eex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39 -#, elixir-format msgid "%{profile} excluded member %{member}." msgstr "%{profile }miembro excluido %{member}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:76 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28 -#, elixir-format msgid "%{profile} moved the folder %{resource}." msgstr "%{profile} movió la carpeta %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:85 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34 -#, elixir-format msgid "%{profile} moved the resource %{resource}." msgstr "%{profile} movió el recurso %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:62 #: lib/web/templates/email/activity/_member_activity_item.html.eex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} quit the group." msgstr "%{profile} abandona el grupo." -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "%{profile} renombrado la discusión %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:45 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14 -#, elixir-format msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." msgstr "" "%{profile} ha renombrado la carpeta de %{old_resource_title} a %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:59 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21 -#, elixir-format msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." msgstr "" "%{profile} ha renombrado el recurso de %{old_resource_title} a %{resource}." -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "%{profile} respondió a la discusión %{discussion}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:19 #: lib/web/templates/email/activity/_group_activity_item.text.eex:7 -#, elixir-format msgid "%{profile} updated the group %{group}." msgstr "%{profile} actualizó el grupo %{group}." +#, elixir-format #: lib/service/activity/renderer/member.ex:54 #: lib/web/templates/email/activity/_member_activity_item.html.eex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33 -#, elixir-format msgid "%{profile} updated the member %{member}." msgstr "%{profile} actualizado el miembro %{member}." +#, elixir-format #: lib/service/activity/renderer/event.ex:23 #: lib/web/templates/email/activity/_event_activity_item.html.eex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1 -#, elixir-format msgid "The event %{event} was created by %{profile}." msgstr "El evento %{event} fue creado por %{profile}." +#, elixir-format #: lib/service/activity/renderer/event.ex:43 #: lib/web/templates/email/activity/_event_activity_item.html.eex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13 -#, elixir-format msgid "The event %{event} was deleted by %{profile}." msgstr "El evento% {event} fue eliminado por % {profile}." +#, elixir-format #: lib/service/activity/renderer/event.ex:33 #: lib/web/templates/email/activity/_event_activity_item.html.eex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7 -#, elixir-format msgid "The event %{event} was updated by %{profile}." msgstr "El evento %{event} fue actualizado por %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:23 #: lib/web/templates/email/activity/_post_activity_item.html.eex:4 lib/web/templates/email/activity/_post_activity_item.text.eex:1 -#, elixir-format msgid "The post %{post} was created by %{profile}." msgstr "El cargo %{post} fue creado por %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:43 #: lib/web/templates/email/activity/_post_activity_item.html.eex:34 lib/web/templates/email/activity/_post_activity_item.text.eex:13 -#, elixir-format msgid "The post %{post} was deleted by %{profile}." msgstr "El post %{post} fue eliminado por %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:33 #: lib/web/templates/email/activity/_post_activity_item.html.eex:19 lib/web/templates/email/activity/_post_activity_item.text.eex:7 -#, elixir-format msgid "The post %{post} was updated by %{profile}." msgstr "El post %{post} fue actualizado por %{profile}." +#, elixir-format #: lib/service/activity/renderer/member.ex:46 #: lib/web/templates/email/activity/_member_activity_item.html.eex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22 -#, elixir-format msgid "%{member} joined the group." msgstr "%{member} se unió al grupo." +#, elixir-format #: lib/service/activity/renderer/event.ex:63 #: lib/web/templates/email/activity/_event_activity_item.html.eex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25 -#, elixir-format msgid "%{profile} posted a comment on the event %{event}." msgstr "%{profile} publicó un comentario sobre el evento %{event}." +#, elixir-format #: lib/service/activity/renderer/event.ex:54 #: lib/web/templates/email/activity/_event_activity_item.html.eex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19 -#, elixir-format msgid "%{profile} replied to a comment on the event %{event}." msgstr "%{profile} respondió a un comentario sobre el evento %{event}." -#: lib/web/templates/email/email_direct_activity.html.eex:144 -#: lib/web/templates/email/email_direct_activity.text.eex:23 #, elixir-format +#: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" "¿No quieres recibir notificaciones de actividad? Puede cambiar la frecuencia " "o deshabilitarlos en su configuración." -#: lib/web/templates/email/email_direct_activity.html.eex:124 -#: lib/web/templates/email/email_direct_activity.text.eex:19 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:133 +#: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" msgstr[0] "Ver una actividad más" msgstr[1] "Ver %{count} actividades mas" -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "¡Ha habido una actividad!" msgstr[1] "¡Ha habido algopúnas actividades!" -#: lib/service/activity/renderer/renderer.ex:38 #, elixir-format +#: lib/service/activity/renderer/renderer.ex:38 msgid "Activity on %{instance}" msgstr "Actividad en %{instance}" -#: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 #, elixir-format +#: lib/service/activity/renderer/comment.ex:38 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "%{profile} ha publicado un anuncio en el evento %{event}." -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 #, elixir-format -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "%{profile} te mencionó en un comentario en %{event}." - #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 -#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "%{profile} te mencionó en un comentario en el evento %{event}." -#: lib/service/activity/renderer/comment.ex:52 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "%{profile}te mencioné en la discusión %{discussion}." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" +"¿No quieres recibir notificaciones de actividad? Puede cambiar la frecuencia " +"o deshabilitarlos en su configuración." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "Actividad en %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po index 41a0d481d..549e556a2 100644 --- a/priv/gettext/es/LC_MESSAGES/default.po +++ b/priv/gettext/es/LC_MESSAGES/default.po @@ -14,267 +14,267 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.6.2\n" -#: lib/web/templates/email/password_reset.html.eex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:48 msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." msgstr "" "Si no solicitaste este correo, simplemente ignóralo. Su contraseña no " "cambiará al menos que use el siguiente enlace para crear una nueva." -#: lib/web/templates/email/report.html.eex:74 #, elixir-format +#: lib/web/templates/email/report.html.eex:74 msgid "%{title} by %{creator}" msgstr "%{title} por %{creator}" -#: lib/web/templates/email/registration_confirmation.html.eex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:58 msgid "Activate my account" msgstr "Activar mi cuenta" +#, elixir-format #: lib/web/templates/email/email.html.eex:118 #: lib/web/templates/email/email.text.eex:9 -#, elixir-format msgid "Ask the community on Framacolibri" msgstr "Preguntar a la comunidad en framacolibri" -#: lib/web/templates/email/report.text.eex:15 #, elixir-format +#: lib/web/templates/email/report.text.eex:15 msgid "Comments" msgstr "Comentarios" +#, elixir-format #: lib/web/templates/email/report.html.eex:72 #: lib/web/templates/email/report.text.eex:11 -#, elixir-format msgid "Event" msgstr "Evento" -#: lib/web/email/user.ex:48 #, elixir-format +#: lib/web/email/user.ex:48 msgid "Instructions to reset your password on %{instance}" msgstr "Instrucciones para restablecer su contraseña en %{instance}" -#: lib/web/templates/email/report.text.eex:21 #, elixir-format +#: lib/web/templates/email/report.text.eex:21 msgid "Reason" msgstr "Razón" -#: lib/web/templates/email/password_reset.html.eex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:61 msgid "Reset Password" msgstr "Restablecer la contraseña" -#: lib/web/templates/email/password_reset.html.eex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:41 msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time." msgstr "" "Restablecer tu contraseña es fácil. Simplemente presione el botón y siga las " "instrucciones. Te tendremos en funcionamiento en poco tiempo." -#: lib/web/email/user.ex:28 #, elixir-format +#: lib/web/email/user.ex:28 msgid "Instructions to confirm your Mobilizon account on %{instance}" msgstr "Instrucciones para confirmar su cuenta Mobilizon en %{instance}" -#: lib/web/email/admin.ex:24 #, elixir-format +#: lib/web/email/admin.ex:24 msgid "New report on Mobilizon instance %{instance}" msgstr "Nuevo informe sobre la instancia Mobilizon %{instance}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:51 #: lib/web/templates/email/before_event_notification.text.eex:4 -#, elixir-format msgid "Go to event page" msgstr "Ir a la página del evento" -#: lib/web/templates/email/report.text.eex:1 #, elixir-format +#: lib/web/templates/email/report.text.eex:1 msgid "New report from %{reporter} on %{instance}" msgstr "Nuevo informe de %{reporter} en %{instance}" -#: lib/web/templates/email/event_participation_approved.text.eex:1 #, elixir-format +#: lib/web/templates/email/event_participation_approved.text.eex:1 msgid "Participation approved" msgstr "Participación aprobada" +#, elixir-format #: lib/web/templates/email/password_reset.html.eex:13 #: lib/web/templates/email/password_reset.text.eex:1 -#, elixir-format msgid "Password reset" msgstr "Restablecer la contraseña" -#: lib/web/templates/email/password_reset.text.eex:7 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:7 msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time." msgstr "" "Restablecer tu contraseña es fácil. Simplemente haga clic en el enlace a " "continuación y siga las instrucciones. Estarás operacional en muy poco " "tiempo." -#: lib/web/templates/email/registration_confirmation.text.eex:5 #, elixir-format +#: lib/web/templates/email/registration_confirmation.text.eex:5 msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email." msgstr "" "Has creado una cuenta en %{host} con esta dirección de correo electrónico. " "Estás a un clic de activarlo. Si no eras tú, ignora este correo electrónico." -#: lib/web/email/participation.ex:112 #, elixir-format +#: lib/web/email/participation.ex:112 msgid "Your participation to event %{title} has been approved" msgstr "Su participación en el evento %{title} ha sido aprobada" -#: lib/web/email/participation.ex:70 #, elixir-format +#: lib/web/email/participation.ex:70 msgid "Your participation to event %{title} has been rejected" msgstr "Su participación en el evento %{title} ha sido rechazada" -#: lib/web/email/event.ex:37 #, elixir-format +#: lib/web/email/event.ex:37 msgid "Event %{title} has been updated" msgstr "El evento %{title} ha sido actualizado" -#: lib/web/templates/email/event_updated.text.eex:15 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:15 msgid "New title: %{title}" msgstr "Nuevo título: %{title}" -#: lib/web/templates/email/password_reset.text.eex:5 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:5 msgid "You requested a new password for your account on %{instance}." msgstr "Solicitó una nueva contraseña para su cuenta en %{instancia}." -#: lib/web/templates/email/email.html.eex:86 #, elixir-format +#: lib/web/templates/email/email.html.eex:86 msgid "Warning" msgstr "Advertencia" -#: lib/web/email/participation.ex:135 #, elixir-format +#: lib/web/email/participation.ex:135 msgid "Confirm your participation to event %{title}" msgstr "Confirme su participación en el evento %{title}" -#: lib/web/templates/api/privacy.html.eex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:75 msgctxt "terms" msgid "An internal ID for your current selected identity" msgstr "Un ID interno para su identidad seleccionada actualmente" -#: lib/web/templates/api/privacy.html.eex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:74 msgctxt "terms" msgid "An internal user ID" msgstr "Un ID de usuario interna" -#: lib/web/templates/api/privacy.html.eex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:37 msgctxt "terms" msgid "Any of the information we collect from you may be used in the following ways:" msgstr "" "Cualquier información que recopilemos sobre usted puede usarse de las " "siguientes maneras:" -#: lib/web/templates/api/privacy.html.eex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:9 msgctxt "terms" msgid "Basic account information" msgstr "Información básica de la cuenta" -#: lib/web/templates/api/privacy.html.eex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:25 msgctxt "terms" msgid "Do not share any dangerous information over Mobilizon." msgstr "No comparta ninguna información peligrosa a través de Mobilizon." -#: lib/web/templates/api/privacy.html.eex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:90 msgctxt "terms" msgid "Do we disclose any information to outside parties?" msgstr "¿Divulgamos alguna información a terceros?" -#: lib/web/templates/api/privacy.html.eex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "¿Usamos cookies?" -#: lib/web/templates/api/privacy.html.eex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "¿Cómo protegemos tu información?" -#: lib/web/templates/api/privacy.html.eex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "dirección IP y otros metadatos" -#: lib/web/templates/api/privacy.html.eex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Eventos publicados y comentarios" -#: lib/web/templates/api/privacy.html.eex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:64 msgctxt "terms" msgid "Retain the IP addresses associated with registered users no more than 12 months." msgstr "" "Conserva las direcciones IP asociadas con usuarios registrados no más de 12 " "meses." -#: lib/web/templates/api/privacy.html.eex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Fichas para \"autenticarte\"" -#: lib/web/templates/api/privacy.html.eex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:31 msgctxt "terms" msgid "We also may retain server logs which include the IP address of every request to our server." msgstr "" "También podemos conservar los registros del servidor que incluyen la " "dirección IP de cada solicitud a nuestro servidor." -#: lib/web/templates/api/privacy.html.eex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:70 msgctxt "terms" msgid "We store the following information on your device when you connect:" msgstr "" "Almacenamos la siguiente información en tu dispositivo cuando te conectas:" -#: lib/web/templates/api/privacy.html.eex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:58 msgctxt "terms" msgid "We will make a good faith effort to:" msgstr "Haremos un esfuerzo de buena fe para:" -#: lib/web/templates/api/privacy.html.eex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "¿Para qué utilizamos tu información?" -#: lib/web/templates/api/privacy.html.eex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:57 msgctxt "terms" msgid "What is our data retention policy?" msgstr "¿Cuál es nuestra política de retención de datos?" -#: lib/web/templates/api/privacy.html.eex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:67 msgctxt "terms" msgid "You may irreversibly delete your account at any time." msgstr "Puede eliminar irreversiblemente su cuenta en cualquier momento." -#: lib/web/templates/api/privacy.html.eex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Cambios a nuestra política de privacidad" -#: lib/web/templates/api/privacy.html.eex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:106 msgctxt "terms" msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site." msgstr "" @@ -284,8 +284,8 @@ msgstr "" "https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\"> " "Reglamento general de protección de datos ) no utilice este sitio ." -#: lib/web/templates/api/privacy.html.eex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:109 msgctxt "terms" msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site." msgstr "" @@ -296,30 +296,30 @@ msgstr "" "Ley de protección de la privacidad en línea para niños ) no utilice este " "sitio." -#: lib/web/templates/api/privacy.html.eex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:117 msgctxt "terms" msgid "If we decide to change our privacy policy, we will post those changes on this page." msgstr "" "Si decidimos cambiar nuestra política de privacidad, publicaremos esos " "cambios en esta página." -#: lib/web/templates/api/privacy.html.eex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:112 msgctxt "terms" msgid "Law requirements can be different if this server is in another jurisdiction." msgstr "" "Los requisitos legales pueden ser diferentes si este servidor se encuentra " "en otra jurisdicción." -#: lib/web/templates/api/privacy.html.eex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Uso del sitio por niños" -#: lib/web/templates/api/privacy.html.eex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:47 msgctxt "terms" msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions." msgstr "" @@ -330,8 +330,8 @@ msgstr "" "consultas y / u otras solicitudes o\n" " preguntas." -#: lib/web/templates/api/privacy.html.eex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:45 msgctxt "terms" msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations." msgstr "" @@ -339,8 +339,8 @@ msgstr "" "dirección IP con otras conocidas para determinar la prohibición,\n" " evasión u otras violaciones." -#: lib/web/templates/api/privacy.html.eex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:43 msgctxt "terms" msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in." msgstr "" @@ -349,89 +349,89 @@ msgstr "" " interactuar con el contenido de otras personas y publicar tu propio " "contenido si ha iniciado sesión." -#: lib/web/templates/api/privacy.html.eex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "¿Qué información recopilamos?" -#: lib/web/email/user.ex:176 #, elixir-format +#: lib/web/email/user.ex:176 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon en %{instance}: confirma tu dirección de correo electrónico" -#: lib/web/email/user.ex:152 #, elixir-format +#: lib/web/email/user.ex:152 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon en %{instance}: correo electrónico modificado" -#: lib/web/email/notification.ex:47 #, elixir-format +#: lib/web/email/notification.ex:47 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Un evento programado para hoy" msgstr[1] "%{nb_events} eventos planeados hoy" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:38 #: lib/web/templates/email/on_day_notification.text.eex:4 -#, elixir-format msgid "You have one event today:" msgid_plural "You have %{total} events today:" msgstr[0] "Tienes un evento hoy:" msgstr[1] "Tienes %{total} eventos hoy:" -#: lib/web/templates/email/group_invite.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_invite.text.eex:3 msgid "%{inviter} just invited you to join their group %{group}" msgstr "%{inviter} te acaba de invitar a unirte a su grupo %{group}" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:13 #: lib/web/templates/email/group_invite.text.eex:1 -#, elixir-format msgid "Come along!" msgstr "¡ Únete a nosotros !" -#: lib/web/email/notification.ex:24 #, elixir-format +#: lib/web/email/notification.ex:24 msgid "Don't forget to go to %{title}" msgstr "No olvides ir a %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:38 #: lib/web/templates/email/before_event_notification.text.eex:3 -#, elixir-format msgid "Get ready for %{title}" msgstr "Prepárate para %{title}" -#: lib/web/templates/email/group_invite.html.eex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:59 msgid "See my groups" msgstr "Ver mis grupos" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:45 #: lib/web/templates/email/group_invite.text.eex:5 -#, elixir-format msgid "To accept this invitation, head over to your groups." msgstr "Para aceptar esta invitación, dirígete a tus grupos." -#: lib/web/templates/email/before_event_notification.text.eex:5 #, elixir-format +#: lib/web/templates/email/before_event_notification.text.eex:5 msgid "View the event on: %{link}" msgstr "Ver el evento actualizado en: %{link}" -#: lib/web/email/group.ex:33 #, elixir-format +#: lib/web/email/group.ex:33 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{Inviter} te ha invitado a unirte al grupo %{group}" -#: lib/web/email/notification.ex:71 #, elixir-format +#: lib/web/email/notification.ex:71 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Un evento programado para hoy" msgstr[1] "%{nb_events} eventos planeados hoy" -#: lib/web/email/notification.ex:93 #, elixir-format +#: lib/web/email/notification.ex:93 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Una solicitud para participar en el evento %{title} a procesar" @@ -439,21 +439,21 @@ msgstr[1] "" "%{number_participation_requests} solicitudes para participar en el evento " "%{title} a procesar" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:38 #: lib/web/templates/email/notification_each_week.text.eex:3 -#, elixir-format msgid "You have one event this week:" msgid_plural "You have %{total} events this week:" msgstr[0] "Tienes un evento hoy:" msgstr[1] "Tienes %{total} eventos hoy:" -#: lib/service/metadata/utils.ex:52 #, elixir-format +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "El organizador del evento no agregó ninguna descripción." -#: lib/web/templates/api/privacy.html.eex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:54 msgctxt "terms" msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way algorithm." msgstr "" @@ -463,8 +463,8 @@ msgstr "" "el tráfico entre tus aplicaciones y la API, están protegidas con SSL /TLS, y " "su contraseña se codifica con un fuerte algoritmo unidireccional." -#: lib/web/templates/api/privacy.html.eex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:94 msgctxt "terms" msgid "No. We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety." msgstr "" @@ -477,20 +477,20 @@ msgstr "" "de nuestro sitio o proteger los derechos, nuestros o de otros, propiedades o " "seguridad." -#: lib/web/templates/api/terms.html.eex:23 #, elixir-format +#: lib/web/templates/api/terms.html.eex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Aceptar estos Términos" -#: lib/web/templates/api/terms.html.eex:27 #, elixir-format +#: lib/web/templates/api/terms.html.eex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Cambios a estos Términos de uso" -#: lib/web/templates/api/terms.html.eex:85 #, elixir-format +#: lib/web/templates/api/terms.html.eex:85 msgctxt "terms" msgid "A lot of the content on the Service is from you and others, and we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content." msgstr "" @@ -502,16 +502,16 @@ msgstr "" "responsable y asume todos los riesgos derivados de su uso o su confianza en " "cualquier contenido." -#: lib/web/templates/api/terms.html.eex:60 #, elixir-format +#: lib/web/templates/api/terms.html.eex:60 msgctxt "terms" msgid "Also, you agree that you will not do any of the following in connection with the Service or other users:" msgstr "" "Además, acepta que no hará nada de lo siguiente en relación con el Servicio " "u otros usuarios:" -#: lib/web/templates/api/terms.html.eex:65 #, elixir-format +#: lib/web/templates/api/terms.html.eex:65 msgctxt "terms" msgid "Circumvent or attempt to circumvent any filtering, security measures, rate limits or other features designed to protect the Service, users of the Service, or third parties." msgstr "" @@ -519,23 +519,23 @@ msgstr "" "velocidad u otras características diseñadas para proteger el Servicio, los " "usuarios del Servicio o terceros." -#: lib/web/templates/api/terms.html.eex:64 #, elixir-format +#: lib/web/templates/api/terms.html.eex:64 msgctxt "terms" msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;" msgstr "" "Recopilar información personal sobre otros usuarios, o intimidar, amenazar, " "acosar o acosar a otros usuarios del Servicio;" -#: lib/web/templates/api/terms.html.eex:55 #, elixir-format +#: lib/web/templates/api/terms.html.eex:55 msgctxt "terms" msgid "Content that is illegal or unlawful, that would otherwise create liability;" msgstr "" "Contenido que es ilegal o ilegal, que de otro modo crearía responsabilidad;" -#: lib/web/templates/api/terms.html.eex:56 #, elixir-format +#: lib/web/templates/api/terms.html.eex:56 msgctxt "terms" msgid "Content that may infringe or violate any patent, trademark, trade secret, copyright, right of privacy, right of publicity or other intellectual or other right of any party;" msgstr "" @@ -543,48 +543,48 @@ msgstr "" "secreto comercial, derecho de autor, derecho de privacidad, derecho de " "publicidad u otro derecho intelectual u otro derecho de cualquier parte;" -#: lib/web/templates/api/terms.html.eex:42 #, elixir-format +#: lib/web/templates/api/terms.html.eex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Crear cuentas" -#: lib/web/templates/api/terms.html.eex:89 #, elixir-format +#: lib/web/templates/api/terms.html.eex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Acuerdo completo" -#: lib/web/templates/api/terms.html.eex:92 #, elixir-format +#: lib/web/templates/api/terms.html.eex:92 msgctxt "terms" msgid "Feedback" msgstr "Comentarios" -#: lib/web/templates/api/terms.html.eex:83 #, elixir-format +#: lib/web/templates/api/terms.html.eex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Hipervínculos y contenido de terceros" -#: lib/web/templates/api/terms.html.eex:88 #, elixir-format +#: lib/web/templates/api/terms.html.eex:88 msgctxt "terms" msgid "If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service." msgstr "" "Si incumple alguno de estos Términos, tenemos el derecho de suspender o " "deshabilitar su acceso o uso del Servicio." -#: lib/web/templates/api/terms.html.eex:63 #, elixir-format +#: lib/web/templates/api/terms.html.eex:63 msgctxt "terms" msgid "Impersonate or post on behalf of any person or entity or otherwise misrepresent your affiliation with a person or entity;" msgstr "" "Suplantar o publicar en nombre de cualquier persona o entidad o tergiversar " "su afiliación con una persona o entidad;" -#: lib/web/templates/api/terms.html.eex:48 #, elixir-format +#: lib/web/templates/api/terms.html.eex:48 msgctxt "terms" msgid "Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness." msgstr "" @@ -592,26 +592,26 @@ msgstr "" "poner a disposición contenido. Usted es responsable del contenido que pone a " "disposición del Servicio, incluida su legalidad, confiabilidad y adecuación." -#: lib/web/templates/api/terms.html.eex:39 #, elixir-format +#: lib/web/templates/api/terms.html.eex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Política de privacidad" -#: lib/web/templates/api/terms.html.eex:95 #, elixir-format +#: lib/web/templates/api/terms.html.eex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Preguntas e información de contacto" -#: lib/web/templates/api/terms.html.eex:87 #, elixir-format +#: lib/web/templates/api/terms.html.eex:87 msgctxt "terms" msgid "Termination" msgstr "Terminación" -#: lib/web/templates/api/terms.html.eex:62 #, elixir-format +#: lib/web/templates/api/terms.html.eex:62 msgctxt "terms" msgid "Use the Service in any manner that could interfere with, disrupt, negatively affect or inhibit other users from fully enjoying the Service or that could damage, disable, overburden or impair the functioning of the Service;" msgstr "" @@ -620,14 +620,14 @@ msgstr "" "Servicio o que pueda dañar, deshabilitar, sobrecargar o perjudicar el " "funcionamiento del Servicio;" -#: lib/web/templates/api/terms.html.eex:47 #, elixir-format +#: lib/web/templates/api/terms.html.eex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "Su contenido y conducta" -#: lib/web/templates/api/terms.html.eex:84 #, elixir-format +#: lib/web/templates/api/terms.html.eex:84 msgctxt "terms" msgid "%{instance_name} makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern. The inclusion of any link does not imply endorsement by %{instance_name} of the site. Use of any such linked website is at the user's own risk." msgstr "" @@ -639,8 +639,8 @@ msgstr "" "no implica la aprobación por % {instance_name} del sitio. El uso de " "cualquier sitio web vinculado es bajo el propio riesgo del usuario." -#: lib/web/templates/api/terms.html.eex:68 #, elixir-format +#: lib/web/templates/api/terms.html.eex:68 msgctxt "terms" msgid "Finally, your use of the Service is also subject to acceptance of the instance's own specific rules regarding the code of conduct and moderation rules. Breaking those rules may also result in your account being disabled or suspended." msgstr "" @@ -649,16 +649,16 @@ msgstr "" "código de conducta y las reglas de moderación. Romper esas reglas también " "puede resultar en que su cuenta sea deshabilitada o suspendida." -#: lib/web/templates/api/terms.html.eex:81 #, elixir-format +#: lib/web/templates/api/terms.html.eex:81 msgctxt "terms" msgid "For full details about the Mobilizon software see here." msgstr "" "Para obtener detalles completos sobre el software Mobilizon ver aquí ." -#: lib/web/templates/api/terms.html.eex:18 #, elixir-format +#: lib/web/templates/api/terms.html.eex:18 msgctxt "terms" msgid "Here are the important things you need to know about accessing and using the %{instance_name} (%{instance_url}) website and service (collectively, \"Service\"). These are our terms of service (\"Terms\"). Please read them carefully." msgstr "" @@ -668,8 +668,8 @@ msgstr "" "Estos son nuestros términos de servicio (\"Términos\"). Por favor, léalos " "atentamente." -#: lib/web/templates/api/terms.html.eex:33 #, elixir-format +#: lib/web/templates/api/terms.html.eex:33 msgctxt "terms" msgid "If we make major changes, we will notify our users in a clear and prominent manner. Minor changes may only be highlighted in the footer of our website. It is your responsibility to check the website regularly for changes to these Terms." msgstr "" @@ -678,8 +678,8 @@ msgstr "" "página de nuestro sitio web. Es su responsabilidad revisar el sitio web " "regularmente para ver los cambios a estos Términos." -#: lib/web/templates/api/terms.html.eex:53 #, elixir-format +#: lib/web/templates/api/terms.html.eex:53 msgctxt "terms" msgid "In order to make %{instance_name} a great place for all of us, please do not post, link and otherwise make available on or through the Service any of the following:" msgstr "" @@ -687,8 +687,8 @@ msgstr "" "publique, enlace ni ponga a disposición en el Servicio ni a través de él " "ninguno de los siguientes:" -#: lib/web/templates/api/terms.html.eex:57 #, elixir-format +#: lib/web/templates/api/terms.html.eex:57 msgctxt "terms" msgid "Private information of any third party (e.g., addresses, phone numbers, email addresses, Social Security numbers and credit card numbers); and" msgstr "" @@ -696,8 +696,8 @@ msgstr "" "de teléfono, direcciones de correo electrónico, números de Seguro Social y " "números de tarjetas de crédito); y" -#: lib/web/templates/api/terms.html.eex:52 #, elixir-format +#: lib/web/templates/api/terms.html.eex:52 msgctxt "terms" msgid "Since Mobilizon is a distributed network, it is possible, depending on the visibility rules set to your content, that your content has been distributed to other Mobilizon instances. When you delete your content, we will request those other instances to also delete the content. Our responsibility on the content being deleted from those other instances ends here. If for some reason, some other instance does not delete the content, we cannot be held responsible." msgstr "" @@ -709,8 +709,8 @@ msgstr "" "instancias termina aquí. Si por alguna razón, alguna otra instancia no " "elimina el contenido, no podemos ser responsables." -#: lib/web/templates/api/terms.html.eex:90 #, elixir-format +#: lib/web/templates/api/terms.html.eex:90 msgctxt "terms" msgid "These Terms constitute the entire agreement between you and %{instance_name} regarding the use of the Service, superseding any prior agreements between you and %{instance_name} relating to your use of the Service." msgstr "" @@ -719,8 +719,8 @@ msgstr "" "cualquier acuerdo previo entre usted y %{instance_name} relacionado " "con su uso de el servicio." -#: lib/web/templates/api/terms.html.eex:80 #, elixir-format +#: lib/web/templates/api/terms.html.eex:80 msgctxt "terms" msgid "This Service runs on a Mobilizon instance. This source code is licensed under an AGPLv3 license which means you are allowed to and even encouraged to take the source code, modify it and use it." msgstr "" @@ -730,16 +730,16 @@ msgstr "" "significa que están autorizados e incluso alentados a tomar el código " "fuente, modificarlo y usarlo." -#: lib/web/templates/api/terms.html.eex:58 #, elixir-format +#: lib/web/templates/api/terms.html.eex:58 msgctxt "terms" msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code." msgstr "" "Virus, datos corruptos u otros archivos o códigos dañinos, perjudiciales o " "destructivos." -#: lib/web/templates/api/terms.html.eex:51 #, elixir-format +#: lib/web/templates/api/terms.html.eex:51 msgctxt "terms" msgid "You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time. Web server access logs might also be stored for some time in the system." msgstr "" @@ -749,29 +749,29 @@ msgstr "" "un período de tiempo. Los registros de acceso al servidor web también pueden " "almacenarse durante algún tiempo en el sistema." -#: lib/web/templates/api/terms.html.eex:96 #, elixir-format +#: lib/web/templates/api/terms.html.eex:96 msgctxt "terms" msgid "Questions or comments about the Service may be directed to us at %{contact}" msgstr "" "Las preguntas o comentarios sobre el Servicio pueden dirigirse a% {contact}" -#: lib/web/templates/api/terms.html.eex:79 #, elixir-format +#: lib/web/templates/api/terms.html.eex:79 msgctxt "terms" msgid "Source code" msgstr "Código fuente" -#: lib/web/templates/api/terms.html.eex:93 #, elixir-format +#: lib/web/templates/api/terms.html.eex:93 msgctxt "terms" msgid "We love feedback. Please let us know what you think of the Service, these Terms and, in general, %{instance_name}." msgstr "" "Nos encantan los comentarios. Háganos saber lo que piensa del Servicio, " "estos Términos y, en general, %{instance_name} ." -#: lib/web/templates/api/terms.html.eex:74 #, elixir-format +#: lib/web/templates/api/terms.html.eex:74 msgctxt "terms" msgid "Instance administrators (and community moderators, given the relevant access) are responsible for monitoring and acting on flagged content and other user reports, and have the right and responsibility to remove or edit content that is not aligned to this Instance set of rules, or to suspend, block or ban (temporarily or permanently) any account, community, or instance for breaking these terms, or for other behaviours that they deem inappropriate, threatening, offensive, or harmful." msgstr "" @@ -784,16 +784,16 @@ msgstr "" "incumplir estos términos o por otros comportamientos que consideren " "inapropiados, amenazantes, ofensivos o dañinos." -#: lib/web/templates/api/terms.html.eex:6 #, elixir-format +#: lib/web/templates/api/terms.html.eex:6 msgctxt "terms" msgid "%{instance_name} will not use or transmit or resell your personal data" msgstr "" " %{instance_name} no usará ni transmitirá ni revenderá sus datos " "personales" -#: lib/web/templates/api/terms.html.eex:44 #, elixir-format +#: lib/web/templates/api/terms.html.eex:44 msgctxt "terms" msgid "If you discover or suspect any Service security breaches, please let us know as soon as possible. For security holes in the Mobilizon software itself, please contact its contributors directly." msgstr "" @@ -802,8 +802,8 @@ msgstr "" "de Mobilizon, comuníquese directamente con sus colaboradores ." -#: lib/web/templates/api/terms.html.eex:77 #, elixir-format +#: lib/web/templates/api/terms.html.eex:77 msgctxt "terms" msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules." msgstr "" @@ -811,8 +811,8 @@ msgstr "" "alojada en la instancia esté moderada adecuadamente de acuerdo con las " "reglas definidas." -#: lib/web/templates/api/terms.html.eex:98 #, elixir-format +#: lib/web/templates/api/terms.html.eex:98 msgctxt "terms" msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA." msgstr "" @@ -821,8 +821,8 @@ msgstr "" ">App.net privacy policies, also licensed under CC BY-SA." -#: lib/web/templates/api/privacy.html.eex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:119 msgctxt "terms" msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA." msgstr "" @@ -831,22 +831,22 @@ msgstr "" "políticas de privacidad, también bajo licencia CC BY-SA." -#: lib/web/templates/api/terms.html.eex:3 #, elixir-format +#: lib/web/templates/api/terms.html.eex:3 msgctxt "terms" msgid "Short version" msgstr "Version corta" -#: lib/web/templates/api/terms.html.eex:9 #, elixir-format +#: lib/web/templates/api/terms.html.eex:9 msgctxt "terms" msgid "The service is provided without warranties and these terms may change in the future" msgstr "" "El servicio se brinda sin garantías y estos términos pueden cambiar en el " "futuro" -#: lib/web/templates/api/privacy.html.eex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:118 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020." msgstr "" @@ -854,8 +854,8 @@ msgstr "" "licenses/by-sa/4.0/\"> CC BY-SA . Se actualizó por última vez el 18 de " "junio de 2020." -#: lib/web/templates/api/terms.html.eex:97 #, elixir-format +#: lib/web/templates/api/terms.html.eex:97 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020." msgstr "" @@ -863,85 +863,85 @@ msgstr "" "licenses/by-sa/4.0/\"> CC BY-SA . Se actualizó por última vez el 22 de " "junio de 2020." -#: lib/web/templates/api/terms.html.eex:8 #, elixir-format +#: lib/web/templates/api/terms.html.eex:8 msgctxt "terms" msgid "You must respect other people and %{instance_name}'s rules when using the service" msgstr "" "Debe respetar las reglas de otras personas y %{instance_name} al " "usar el servicio" -#: lib/web/templates/api/terms.html.eex:7 #, elixir-format +#: lib/web/templates/api/terms.html.eex:7 msgctxt "terms" msgid "You must respect the law when using %{instance_name}" msgstr "Debe respetar la ley cuando use %{instance_name} " -#: lib/web/templates/api/terms.html.eex:5 #, elixir-format +#: lib/web/templates/api/terms.html.eex:5 msgctxt "terms" msgid "Your content is yours" msgstr "Tu contenido es tuyo" -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 msgid "Confirm my e-mail address" msgstr "Confirmar mi dirección de correo electrónico" +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1 -#, elixir-format msgid "Confirm your e-mail" msgstr "Confirme su email" -#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "¡Hola! Te acabas de registrar para unirte a este evento: «%{title}». " "Confirme la dirección de correo electrónico que proporcionó:" +#, elixir-format #: lib/web/templates/email/email.html.eex:115 #: lib/web/templates/email/email.text.eex:8 -#, elixir-format msgid "Need help? Is something not working as expected?" msgstr "¿Necesita ayuda? ¿Algo no está funcionando correctamente?" -#: lib/web/templates/email/registration_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:38 msgid "You created an account on %{host} with this email address. You are one click away from activating it." msgstr "" "Creó una cuenta en %{host} con esta dirección de correo electrónico. " "Estás a un clic de activarlo." -#: lib/web/templates/email/report.html.eex:13 #, elixir-format +#: lib/web/templates/email/report.html.eex:13 msgid "New report on %{instance}" msgstr "Nuevo informe sobre %{instance} " -#: lib/web/templates/email/email_changed_old.html.eex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.eex:38 msgid "The email address for your account on %{host} is being changed to:" msgstr "" "La dirección de correo electrónico de su cuenta en %{host} se " "cambiará a:" -#: lib/web/templates/email/password_reset.html.eex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:38 msgid "You requested a new password for your account on %{instance}." msgstr "Solicitó una nueva contraseña para su cuenta en %{instance} ." -#: lib/web/templates/email/email.text.eex:5 #, elixir-format +#: lib/web/templates/email/email.text.eex:5 msgid "Please do not use it for real purposes." msgstr "Por favor no lo use de ninguna manera real." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:133 #: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70 #: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.eex:70 #: lib/web/templates/email/on_day_notification.text.eex:14 -#, elixir-format msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button." msgstr[0] "" @@ -951,9 +951,9 @@ msgstr[1] "" "Si desea cancelar su participación en uno o varios eventos, visite las " "páginas de los eventos a través de los enlaces de arriba y presiona el botón." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:38 #: lib/web/templates/email/pending_participation_notification.text.eex:4 -#, elixir-format msgid "You have one pending attendance request to process:" msgid_plural "You have %{number_participation_requests} attendance requests to process:" msgstr[0] "Tiene una solicitud de participación pendiente de procesar:" @@ -961,66 +961,66 @@ msgstr[1] "" "Tienes %{number_participation_requests} solicitudes de participación " "pendientes de procesar:" -#: lib/web/templates/email/email.text.eex:11 #, elixir-format +#: lib/web/templates/email/email.text.eex:11 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} es un servidor de Mobilizon." -#: lib/web/templates/email/email.html.eex:143 #, elixir-format +#: lib/web/templates/email/email.html.eex:143 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} es una instancia de Mobilizon." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:13 #: lib/web/templates/email/pending_participation_notification.text.eex:1 -#, elixir-format msgid "A request is pending!" msgstr "¡Hay una solicitud pendiente!" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:13 #: lib/web/templates/email/before_event_notification.text.eex:1 -#, elixir-format msgid "An event is upcoming!" msgstr "¡Se acerca un evento!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:13 #: lib/web/templates/email/email_changed_new.text.eex:1 -#, elixir-format msgid "Confirm new email" msgstr "Confirme su email" -#: lib/web/templates/email/event_updated.html.eex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:84 msgid "End" msgstr "Final" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:21 msgid "End %{ends_on}" msgstr "Final %{ends_on}" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "¡Evento actualizado!" -#: lib/web/templates/email/report.html.eex:88 #, elixir-format +#: lib/web/templates/email/report.html.eex:88 msgid "Flagged comments" msgstr "Comentarios marcados" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:45 #: lib/web/templates/email/event_participation_approved.text.eex:7 -#, elixir-format msgid "Good news: one of the event organizers just approved your request. Update your calendar, because you're on the guest list now!" msgstr "" "Buenas noticias: uno de los organizadores del evento acaba de aprobar su " "solicitud. Actualice su calendario, ¡porque ya está en la lista de invitados!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:38 #: lib/web/templates/email/email_changed_new.text.eex:3 -#, elixir-format msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address." msgstr "" "¡Hola! Parece que desea cambiar la dirección de correo electrónico vinculada " @@ -1028,16 +1028,16 @@ msgstr "" "botón de abajo para confirmar el cambio. Luego podrá iniciar sesión en% " "{instance} con esta nueva dirección de correo electrónico." -#: lib/web/templates/email/email_changed_old.text.eex:3 #, elixir-format +#: lib/web/templates/email/email_changed_old.text.eex:3 msgid "Hi there! Just a quick note to confirm that the email address linked to your account on %{host} has been changed from this one to:" msgstr "" "¡Hola! Solo una nota rápida para confirmar que la dirección de correo " "electrónico vinculada a su cuenta en %{host} se ha cambiado de esta a:" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:62 #: lib/web/templates/email/email_changed_old.text.eex:5 -#, elixir-format msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}." msgstr "" "Si no activó este cambio usted mismo, es probable que alguien haya obtenido " @@ -1045,174 +1045,174 @@ msgstr "" "inmediatamente. Si no puede iniciar sesión, comuníquese con el administrador " "en %{host}." -#: lib/web/templates/email/password_reset.text.eex:12 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:12 msgid "If you didn't trigger the change yourself, please ignore this message. Your password won't be changed until you click the link above." msgstr "" "Si no activó el cambio usted mismo, ignore este mensaje. Su contraseña no se " "cambiará hasta que haga clic en el enlace de arriba." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.eex:45 -#, elixir-format msgid "If you didn't trigger this email, you may safely ignore it." msgstr "Si no activó esta alerta, puede ignorarla con seguridad." +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:63 #: lib/web/templates/email/before_event_notification.text.eex:6 -#, elixir-format msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgstr "" "Si necesitas cancelar su participación, sólo accede a la página del evento " "mediante el enlace debajo y presiona el botón." +#, elixir-format #: lib/web/templates/email/email.html.eex:144 #: lib/web/templates/email/email.text.eex:11 -#, elixir-format msgid "Learn more about Mobilizon here!" msgstr "¡Aprenda más sobre Mobilizon aquí!" -#: lib/web/templates/email/event_updated.html.eex:94 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:94 msgid "Location" msgstr "Ubicación" -#: lib/web/templates/email/event_updated.html.eex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:104 msgid "Location address was removed" msgstr "Dirección física fue eliminada" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:51 #: lib/web/templates/email/pending_participation_notification.text.eex:6 -#, elixir-format msgid "Manage pending requests" msgstr "Gestionar solicitudes de participación pendientes" +#, elixir-format #: lib/web/templates/email/registration_confirmation.html.eex:13 #: lib/web/templates/email/registration_confirmation.text.eex:1 -#, elixir-format msgid "Nearly there!" msgstr "¡Ya casi estas!" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:13 #: lib/web/templates/email/email_changed_old.text.eex:1 -#, elixir-format msgid "New email confirmation" msgstr "Nueva confirmación de correo electrónico" -#: lib/web/templates/email/report.html.eex:106 #, elixir-format +#: lib/web/templates/email/report.html.eex:106 msgid "Reasons for report" msgstr "Razones para informar" -#: lib/web/templates/email/report.html.eex:39 #, elixir-format +#: lib/web/templates/email/report.html.eex:39 msgid "Someone on %{instance} reported the following content for you to analyze:" msgstr "Alguien en %{instance} informó el siguiente contenido:" +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:13 #: lib/web/templates/email/event_participation_rejected.text.eex:1 -#, elixir-format msgid "Sorry! You're not going." msgstr "¡Lo siento! No vas." -#: lib/web/templates/email/event_updated.html.eex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:74 msgid "Start" msgstr "Inicio" -#: lib/web/templates/email/event_updated.text.eex:18 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:18 msgid "Start %{begins_on}" msgstr "Inicio %{begins_on}" -#: lib/web/templates/email/event_updated.text.eex:3 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:3 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "Ha habido cambios para %{title}, así que pensamos en avisarle." +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:55 #: lib/web/templates/email/event_updated.text.eex:11 -#, elixir-format msgid "This event has been cancelled by its organizers. Sorry!" msgstr "Este evento ha sido cancelado por sus organizadores. ¡Lo siento!" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:51 #: lib/web/templates/email/event_updated.text.eex:7 -#, elixir-format msgid "This event has been confirmed" msgstr "El evento ha sido confirmado" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:53 #: lib/web/templates/email/event_updated.text.eex:9 -#, elixir-format msgid "This event has yet to be confirmed: organizers will let you know if they do confirm it." msgstr "" "Este evento aún no se ha confirmado: los organizadores te avisarán si lo " "confirman." +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:45 #: lib/web/templates/email/event_participation_rejected.text.eex:7 -#, elixir-format msgid "Unfortunately, the organizers rejected your request." msgstr "" "Lamentablemente, los organizadores rechazaron tu solicitud de participación." -#: lib/web/templates/email/email_changed_new.html.eex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.eex:51 msgid "Verify your email address" msgstr "Verifica tu dirección de correo electrónico" -#: lib/web/templates/email/report.html.eex:126 #, elixir-format +#: lib/web/templates/email/report.html.eex:126 msgid "View report" msgstr "Ver el informe" -#: lib/web/templates/email/report.text.eex:24 #, elixir-format +#: lib/web/templates/email/report.text.eex:24 msgid "View report:" msgstr "Ver el informe:" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:58 #: lib/web/templates/email/event_participation_confirmed.html.eex:58 -#, elixir-format msgid "Visit event page" msgstr "Visita la página del evento" -#: lib/web/templates/email/event_updated.html.eex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:121 msgid "Visit the updated event page" msgstr "Visita la página del evento actualizada" -#: lib/web/templates/email/event_updated.text.eex:23 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:23 msgid "Visit the updated event page: %{link}" msgstr "Ver el evento actualizado en: %{link}" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "What's up this week?" msgstr "¿Qué pasa esta semana?" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:13 #: lib/web/templates/email/on_day_notification.text.eex:1 -#, elixir-format msgid "What's up today?" msgstr "Qué pasa hoy?" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.eex:70 #: lib/web/templates/email/event_participation_confirmed.text.eex:6 -#, elixir-format msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button." msgstr "" "Si desea actualizar o cancelar su asistencia, simplemente acceda a la página " "del evento a través del enlace de arriba y haga clic en el botón Asistir." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:64 #: lib/web/templates/email/pending_participation_notification.text.eex:8 -#, elixir-format msgid "You are receiving this email because you chose to get notifications for pending attendance requests to your events. You can disable or change your notification settings in your user account settings under « Notifications »." msgstr "" "Recibió este correo electrónico porque eligió recibir notificaciones de " @@ -1220,130 +1220,130 @@ msgstr "" "cambiar la configuración de notificaciones en la configuración de su cuenta " "de usuario en «Notificaciones»." -#: lib/web/templates/email/event_participation_rejected.text.eex:5 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.text.eex:5 msgid "You issued a request to attend %{title}." msgstr "Envió una solicitud para asistir a %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.text.eex:5 #: lib/web/templates/email/event_participation_confirmed.text.eex:3 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Solicitaste participar en el evento %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:13 #: lib/web/templates/email/event_participation_confirmed.html.eex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1 -#, elixir-format msgid "You're going!" msgstr "¡Vas!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:64 #: lib/web/templates/email/email_changed_new.text.eex:5 -#, elixir-format msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "Si no activó el cambio usted mismo, ignore este mensaje." -#: lib/web/templates/email/email.html.eex:90 #, elixir-format +#: lib/web/templates/email/email.html.eex:90 msgid "Please do not use it for real purposes." msgstr "Por favor no lo use de ninguna manera real." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:45 #: lib/web/templates/email/group_member_removal.text.eex:5 -#, elixir-format msgid "If you feel this is an error, you may contact the group's administrators so that they can add you back." msgstr "" "Si cree que esto es un error, puede comunicarse con los administradores del " "grupo para que lo puedan integrar de nuevo." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:13 #: lib/web/templates/email/group_member_removal.text.eex:1 -#, elixir-format msgid "So long, and thanks for the fish!" msgstr "¡Hasta luego y gracias por el pescado!" -#: lib/web/email/group.ex:63 #, elixir-format +#: lib/web/email/group.ex:63 msgid "You have been removed from group %{group}" msgstr "Ha sido eliminado del grupo %{group}" -#: lib/web/templates/email/group_member_removal.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_member_removal.text.eex:3 msgid "You have been removed from group %{group}. You will not be able to access this group's private content anymore." msgstr "" "Se le ha eliminado del grupo %{group}. Ya no podrá acceder al contenido " "privado de este grupo." -#: lib/web/templates/email/group_invite.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:38 msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}" msgstr "" "%{inviter} le acaba de invitar a unirse a su grupo% {link_start} " "%{group %{link_end}" -#: lib/web/templates/email/group_member_removal.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.eex:38 msgid "You have been removed from group %{link_start}%{group}%{link_end}. You will not be able to access this group's private content anymore." msgstr "" "Ha sido eliminado del grupo% {link_start} %{group} % {link_end}. Ya " "no podrá acceder al contenido privado de este grupo." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:54 #: lib/web/templates/email/group_suspension.text.eex:7 -#, elixir-format msgid "As this group was located on another instance, it will continue to work for other instances than this one." msgstr "" "Como este grupo estaba ubicado en otra instancia, seguirá funcionando para " "otras instancias además de esta." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:46 #: lib/web/templates/email/group_suspension.text.eex:5 -#, elixir-format msgid "As this group was located on this instance, all of it's data has been irretrievably deleted." msgstr "" "Como este grupo estaba ubicado en esta instancia, todos sus datos se han " "eliminado de forma irremediable." +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:38 #: lib/web/templates/email/group_deletion.text.eex:3 -#, elixir-format msgid "The administrator %{author} deleted group %{group}. All of the group's events, discussions, posts and todos have been deleted." msgstr "" "El administrador %{author} ha eliminado el grupo %{group}. Todos los " "eventos, discusiones, publicaciones y tareas del grupo se han eliminado ." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:13 #: lib/web/templates/email/group_suspension.text.eex:1 -#, elixir-format msgid "The group %{group} has been suspended on %{instance}!" msgstr "¡El grupo %{group} ha sido suspendido en %{instance}!" +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:13 #: lib/web/templates/email/group_deletion.text.eex:1 -#, elixir-format msgid "The group %{group} was deleted on %{instance}!" msgstr "¡El grupo %{group} fue eliminado en %{instance}!" +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:38 #: lib/web/templates/email/group_suspension.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "" "El equipo de moderación de su instancia ha decidido suspender a %{group_name}" " (%{group_address}). Ya no eres miembro de este grupo." -#: lib/web/email/group.ex:136 #, elixir-format +#: lib/web/email/group.ex:136 msgid "The group %{group} has been deleted on %{instance}" msgstr "El grupo %{group} se eliminó en %{instance}" -#: lib/web/email/group.ex:97 #, elixir-format +#: lib/web/email/group.ex:97 msgid "The group %{group} has been suspended on %{instance}" msgstr "El grupo %{group} ha sido suspendido en %{instance}" -#: lib/web/templates/api/terms.html.eex:24 #, elixir-format +#: lib/web/templates/api/terms.html.eex:24 msgctxt "terms" msgid "By accessing or using the Service, this means you agree to be bound by all the terms below. If these terms are in any way unclear, please let us know by contacting %{contact}." msgstr "" @@ -1351,8 +1351,8 @@ msgstr "" "todos los términos a continuación. Si estos términos no son claros de alguna " "manera, háganoslo saber poniéndose en contacto con %{contact}." -#: lib/web/templates/api/terms.html.eex:40 #, elixir-format +#: lib/web/templates/api/terms.html.eex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" @@ -1360,22 +1360,22 @@ msgstr "" "sobre los usuarios del Servicio, consulte nuestra " "política de privacidad ." -#: lib/web/templates/api/terms.html.eex:36 #, elixir-format +#: lib/web/templates/api/terms.html.eex:36 msgctxt "terms" msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms." msgstr "" "Si continúa utilizando el Servicio después de que los Términos revisados " "entren en vigencia, entonces ha aceptado los Términos revisados." -#: lib/web/templates/api/privacy.html.eex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:78 msgctxt "terms" msgid "If you delete this information, you need to login again." msgstr "Si eliminas esta información, deberás iniciar sesión nuevamente." -#: lib/web/templates/api/privacy.html.eex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:80 msgctxt "terms" msgid "If you're not connected, we don't store any information on your device, unless you participate in an event anonymously. In this specific case we store the hash of an unique identifier for the event and participation status in your browser so that we may display participation status. Deleting this information will only stop displaying participation status in your browser." msgstr "" @@ -1386,22 +1386,22 @@ msgstr "" "información solo dejará de mostrar el estado de participación en tu " "navegador." -#: lib/web/templates/api/privacy.html.eex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:87 msgctxt "terms" msgid "Note: This information is stored in your localStorage and not your cookies." msgstr "" "Nota: Estas informaciones se almacenan en tu almacenamiento local y no en " "tus cookies." -#: lib/web/templates/api/terms.html.eex:71 #, elixir-format +#: lib/web/templates/api/terms.html.eex:71 msgctxt "terms" msgid "Our responsibility" msgstr "Nuestra responsabilidad" -#: lib/web/templates/api/privacy.html.eex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:61 msgctxt "terms" msgid "Retain server logs containing the IP address of all requests to this server, insofar as such logs are kept, no more than 90 days." msgstr "" @@ -1409,9 +1409,9 @@ msgstr "" "las solicitudes a este servidor, en la medida en que dichos registros se " "mantengan, no más de 90 días." +#, elixir-format #: lib/web/templates/api/privacy.html.eex:3 #: lib/web/templates/api/terms.html.eex:15 -#, elixir-format msgctxt "terms" msgid "Some terms, technical or otherwise, used in the text below may cover concepts that are difficult to grasp. We have provided a glossary to help you understand them better." msgstr "" @@ -1420,8 +1420,8 @@ msgstr "" "Proporcionamos un glosario para ayudarlo a " "comprenderlos mejor." -#: lib/web/templates/api/terms.html.eex:45 #, elixir-format +#: lib/web/templates/api/terms.html.eex:45 msgctxt "terms" msgid "We are not liable for any loss you may incur as a result of someone else using your email or password, either with or without your knowledge." msgstr "" @@ -1429,8 +1429,8 @@ msgstr "" "resultado de que otra persona use su correo electrónico o contraseña, ya sea " "con o sin su conocimiento." -#: lib/web/templates/api/terms.html.eex:50 #, elixir-format +#: lib/web/templates/api/terms.html.eex:50 msgctxt "terms" msgid "We cannot be held responsible should a programming or administrative error make your content visible to a larger audience than intended. Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service." msgstr "" @@ -1440,8 +1440,8 @@ msgstr "" "todos sus derechos sobre el contenido que publica, vincula y de lo contrario " "pone a disposición en oa través del Servicio." -#: lib/web/templates/api/privacy.html.eex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:10 msgctxt "terms" msgid "We collect information from you when you register on this instance and gather data when you participate in the platform by reading, writing, and interacting with content shared here. If you register on this instance, you will be asked to enter an email address, a password (hashed) and at least an username. Your email address will be verified by an email containing a unique link. Once the link is activated, we know you control that email address. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly. You may however visit this instance without registering." msgstr "" @@ -1459,8 +1459,8 @@ msgstr "" "imagen del encabezado siempre se listan públicamente. Sin " "embargo, también puedes visitar este servidor sin registrarse." -#: lib/web/templates/api/terms.html.eex:30 #, elixir-format +#: lib/web/templates/api/terms.html.eex:30 msgctxt "terms" msgid "We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature." msgstr "" @@ -1468,8 +1468,8 @@ msgstr "" "Por ejemplo, es posible que necesitemos cambiar estos Términos si " "presentamos una nueva función o por alguna otra razón." -#: lib/web/templates/api/terms.html.eex:20 #, elixir-format +#: lib/web/templates/api/terms.html.eex:20 msgctxt "terms" msgid "When we say “we”, “our”, or “us” in this document, we are referring to the owners, operators and administrators of this Mobilizon instance. The Mobilizon software is provided by the team of Mobilizon contributors, supported by Framasoft, a French not-for-profit organization advocating for Free/Libre Software. Unless explicitly stated, this Mobilizon instance is an independent service using Mobilizon's source code. You may find more information about this instance on the \"About this instance\" page." msgstr "" @@ -1484,8 +1484,8 @@ msgstr "" "información sobre esta instancia en la página " "\"Acerca de esta instancia\" ." -#: lib/web/templates/api/terms.html.eex:43 #, elixir-format +#: lib/web/templates/api/terms.html.eex:43 msgctxt "terms" msgid "When you create an account you agree to maintain the security and confidentiality of your password and accept all risks of unauthorized access to your account data and any other information you provide to %{instance_name}." msgstr "" @@ -1494,8 +1494,8 @@ msgstr "" "autorizado a los datos de su cuenta y cualquier otra información que " "proporcione a %{instance_name}." -#: lib/web/templates/api/terms.html.eex:49 #, elixir-format +#: lib/web/templates/api/terms.html.eex:49 msgctxt "terms" msgid "When you post, link or otherwise make available content to the Service, you grant us the right and license to display and distribute your content on or through the Service (including via applications). We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself. The displaying and distribution of your content happens only according to the visibility rules you have set for the content. We will not modify the visibility of the content you have set." msgstr "" @@ -1508,8 +1508,8 @@ msgstr "" "visibilidad que ha establecido para el contenido. No modificaremos la " "visibilidad del contenido que ha establecido." -#: lib/web/templates/api/privacy.html.eex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:19 msgctxt "terms" msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to different instances and copies are stored there. When you delete events or comments, this is likewise delivered to these other instances. All interactions related to event features - such as joining an event - or group features - such as managing resources - are federated as well. Please keep in mind that the operators of the instance and any receiving instances may view such messages and information, and that recipients may screenshot, copy or otherwise re-share them." msgstr "" @@ -1521,8 +1521,8 @@ msgstr "" "servidor y cualquier servidor receptor puede ver dichos mensajes, y los " "destinatarios pueden capturar, copiar o de incluso volver a compartirlos." -#: lib/web/templates/api/privacy.html.eex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:99 msgctxt "terms" msgid "Your content may be downloaded by other instances in the network. Your public events and comments are delivered to the instances following your own instance. Content created through a group is forwarded to all the instances of all the members of the group, insofar as these members reside on a different instance than this one." msgstr "" @@ -1531,208 +1531,203 @@ msgstr "" "mensajes directos se entregan a los servidores de los destinatarios, en la " "medida en que estos destinatarios residen en un servidor diferente a este." -#: lib/web/templates/email/event_participation_confirmed.text.eex:4 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.text.eex:4 msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Ha confirmado su participación. Actualice su calendario, ¡porque ya está en " "la lista de invitados!" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:38 #: lib/web/templates/email/event_participation_confirmed.html.eex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Solicitaste participar en el evento%{title}." -#: lib/web/email/participation.ex:91 #, elixir-format +#: lib/web/email/participation.ex:91 msgid "Your participation to event %{title} has been confirmed" msgstr "Su participación en el evento %{title} ha sido aprobada" -#: lib/web/templates/email/report.html.eex:41 #, elixir-format +#: lib/web/templates/email/report.html.eex:41 msgid "%{reporter} reported the following content." msgstr "%{reporter} informó el siguiente contenido." -#: lib/web/templates/email/report.text.eex:5 #, elixir-format +#: lib/web/templates/email/report.text.eex:5 msgid "Group %{group} was reported" msgstr "Se informó el grupo %{group}" -#: lib/web/templates/email/report.html.eex:51 #, elixir-format +#: lib/web/templates/email/report.html.eex:51 msgid "Group reported" msgstr "Grupo informado" -#: lib/web/templates/email/report.text.eex:7 #, elixir-format +#: lib/web/templates/email/report.text.eex:7 msgid "Profile %{profile} was reported" msgstr "Se informó el perfil %{profile}" -#: lib/web/templates/email/report.html.eex:56 #, elixir-format +#: lib/web/templates/email/report.html.eex:56 msgid "Profile reported" msgstr "Perfil informado" -#: lib/web/templates/email/event_participation_confirmed.html.eex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.eex:45 msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Ahora ha confirmado su participación. Actualice su calendario, ¡porque ya " "está en la lista de invitados!" -#: lib/mobilizon/posts/post.ex:94 #, elixir-format +#: lib/mobilizon/posts/post.ex:94 msgid "A text is required for the post" msgstr "Se requiere un texto para la publicación" -#: lib/mobilizon/posts/post.ex:93 #, elixir-format +#: lib/mobilizon/posts/post.ex:93 msgid "A title is required for the post" msgstr "Se requiere un título para la publicación" -#: lib/web/templates/email/instance_follow.text.eex:3 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:3 msgid "%{name} (%{domain}) just requested to follow your instance." msgstr "%{name} (%{domain}) sólo solicitó seguir su instancia." -#: lib/web/email/follow.ex:54 #, elixir-format +#: lib/web/email/follow.ex:54 msgid "%{name} requests to follow your instance" msgstr "%{name} solicita seguir tu instancia" -#: lib/web/templates/email/instance_follow.html.eex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:38 msgid "%{name} (%{domain}) just requested to follow your instance. If you accept, this instance will receive all of your instance's public events." msgstr "" "%{name} (%{domain}) solo pedí seguir tu instancia. Si acepta, su " "instancia recibirá todos los eventos públicos para su instancia." -#: lib/web/templates/email/instance_follow.text.eex:4 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:4 msgid "If you accept, this instance will receive all of your public events." msgstr "Si acepta, esta instancia recibirá todos sus eventos públicos." -#: lib/web/email/follow.ex:48 #, elixir-format +#: lib/web/email/follow.ex:48 msgid "Instance %{name} (%{domain}) requests to follow your instance" msgstr "La instancia %{name} (%{domain}) solicita seguir tu instancia" -#: lib/web/templates/email/instance_follow.html.eex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:66 msgid "See the federation settings" msgstr "Ver la configuración de la federación" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:52 #: lib/web/templates/email/instance_follow.text.eex:6 -#, elixir-format msgid "To accept this invitation, head over to the instance's admin settings." msgstr "Para aceptar esta invitación, dirígete a tus grupos." +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:13 #: lib/web/templates/email/instance_follow.text.eex:1 -#, elixir-format msgid "Want to connect?" msgstr "¿Quieres conectarte?" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:45 #: lib/web/templates/email/instance_follow.text.eex:5 -#, elixir-format msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too." msgstr "" "Nota: el hecho que %{name} (%{domain} te siga, no implica necesariamente que " "sigas esta instancia, pero puedes solicitar seguirla también." -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "¡Hola! Te acabas de registrar para unirte a este evento: «%{title}». " "Confirme la dirección de correo electrónico que proporcionó:" -#: lib/web/templates/email/event_participation_rejected.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.eex:38 msgid "You issued a request to attend %{title}." msgstr "Envió una solicitud para asistir a %{title}." -#: lib/web/templates/email/event_updated.html.eex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:64 msgid "Event title" msgstr "Título del evento" -#: lib/web/templates/email/event_updated.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:38 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "Ha habido cambios para%{title}, así que pensamos en avisarle." -#: lib/web/templates/error/500_page.html.eex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:7 msgid "This page is not correct" msgstr "Esta página no es correcta" -#: lib/web/templates/error/500_page.html.eex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Lo sentimos, pero algo salió mal por nuestra parte." +#, elixir-format #: lib/web/templates/email/email.html.eex:89 #: lib/web/templates/email/email.text.eex:4 -#, elixir-format msgid "This is a demonstration site to test Mobilizon." msgstr "Este es un sitio de demostración para probar Mobilizon." +#, elixir-format #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 -#, elixir-format msgid "%{name}'s feed" msgstr "Flujo de %{name}" -#: lib/service/export/feed.ex:120 #, elixir-format +#: lib/service/export/feed.ex:120 msgid "%{actor}'s private events feed on %{instance}" msgstr "Flujo de eventos privados de %{actor} a %{instance}" -#: lib/service/export/feed.ex:115 #, elixir-format +#: lib/service/export/feed.ex:115 msgid "%{actor}'s public events feed on %{instance}" msgstr "Flujo público de eventos de %{actor} a %{instance}" -#: lib/service/export/feed.ex:220 #, elixir-format +#: lib/service/export/feed.ex:220 msgid "Feed for %{email} on %{instance}" msgstr "Flujo para %{email} en %{instance}" -#: lib/web/templates/error/500_page.html.eex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:57 msgid "If the issue persists, you may contact the server administrator at %{contact}." msgstr "" "Si el problema persiste, puede comunicarse con el administrador del servidor " "en %{contact}." -#: lib/web/templates/error/500_page.html.eex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:55 msgid "If the issue persists, you may try to contact the server administrator." msgstr "" "Si el problema persiste, puede intentar comunicarse con el administrador del " "servidor." -#: lib/web/templates/error/500_page.html.eex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:68 msgid "Technical details" msgstr "Detalles técnicos" -#: lib/web/templates/error/500_page.html.eex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:52 msgid "The Mobilizon server %{instance} seems to be temporarily down." msgstr "" "El servidor de Mobilizon %{instance} parece estar temporalmente inactivo." -#: lib/service/export/feed.ex:73 #, elixir-format +#: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "Flujo público para %{instance}" - -#: lib/web/email/activity.ex:27 -#, elixir-format -msgid "Activity notification for %{instance}" -msgstr "Notificación de actividad para %{instance}" diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po index 2625a108f..ba468ac58 100644 --- a/priv/gettext/es/LC_MESSAGES/errors.po +++ b/priv/gettext/es/LC_MESSAGES/errors.po @@ -786,7 +786,7 @@ msgid "You can't reject this invitation with this profile." msgstr "No puedes rechazar esta invitación con este perfil." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "El archivo no tiene un tipo MIME permitido." diff --git a/priv/gettext/fi/LC_MESSAGES/activity.po b/priv/gettext/fi/LC_MESSAGES/activity.po index 3432d4a82..f8093a46e 100644 --- a/priv/gettext/fi/LC_MESSAGES/activity.po +++ b/priv/gettext/fi/LC_MESSAGES/activity.po @@ -18,255 +18,276 @@ msgstr "" "X-Generator: Weblate 4.6.2\n" "Content-Transfer-Encoding: 8bit\n" +#, elixir-format #: lib/service/activity/renderer/member.ex:38 #: lib/web/templates/email/activity/_member_activity_item.html.eex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12 -#, elixir-format msgid "%{member} accepted the invitation to join the group." msgstr "%{member} hyväksyi kutsun liittyä ryhmään." +#, elixir-format #: lib/service/activity/renderer/member.ex:42 #: lib/web/templates/email/activity/_member_activity_item.html.eex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17 -#, elixir-format msgid "%{member} rejected the invitation to join the group." msgstr "%{member} hylkäsi kutsun liittyä ryhmään." +#, elixir-format #: lib/service/activity/renderer/member.ex:30 #: lib/web/templates/email/activity/_member_activity_item.html.eex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1 -#, elixir-format msgid "%{member} requested to join the group." msgstr "%{member} haluaa liittyä ryhmään." +#, elixir-format #: lib/service/activity/renderer/member.ex:34 #: lib/web/templates/email/activity/_member_activity_item.html.eex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6 -#, elixir-format msgid "%{member} was invited by %{profile}." msgstr "%{profile} kutsui jäsenen %{member}." +#, elixir-format #: lib/service/activity/renderer/member.ex:50 #: lib/web/templates/email/activity/_member_activity_item.html.eex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27 -#, elixir-format msgid "%{profile} added the member %{member}." msgstr "%{profile} lisäsi jäsenen %{member}." -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "%{profile} arkistoi keskustelun %{discussion}." -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "%{profile} loi keskustelun %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:24 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2 -#, elixir-format msgid "%{profile} created the folder %{resource}." msgstr "%{profile} loi kansion %{resource}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:4 #: lib/web/templates/email/activity/_group_activity_item.text.eex:1 -#, elixir-format msgid "%{profile} created the group %{group}." msgstr "%{profile} loi ryhmän %{group}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:33 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8 -#, elixir-format msgid "%{profile} created the resource %{resource}." msgstr "%{profile} loi resurssin %{resource}." -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "%{profile} poisti keskustelun %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:97 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40 -#, elixir-format msgid "%{profile} deleted the folder %{resource}." msgstr "%{profile} poisti kansion %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:106 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} deleted the resource %{resource}." msgstr "%{profile} poisti resurssin %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:58 #: lib/web/templates/email/activity/_member_activity_item.html.eex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39 -#, elixir-format msgid "%{profile} excluded member %{member}." msgstr "%{profile} hylkäsi jäsenen %{member}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:76 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28 -#, elixir-format msgid "%{profile} moved the folder %{resource}." msgstr "%{profile} siirsi kansion %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:85 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34 -#, elixir-format msgid "%{profile} moved the resource %{resource}." msgstr "%{profile} siirsi resurssin %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:62 #: lib/web/templates/email/activity/_member_activity_item.html.eex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} quit the group." msgstr "%{profile} poistui ryhmästä." -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "%{profile} muutti keskustelun %{discussion} nimer." +#, elixir-format #: lib/service/activity/renderer/resource.ex:45 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14 -#, elixir-format msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." msgstr "%{profile} muutti kansion %{old_resource_title} nimeksi %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:59 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21 -#, elixir-format msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." msgstr "%{profile} muutti resurssin %{old_resource_title} nimeksi %{resource}." -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "%{profile} vastasi keskusteluun %{discussion}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:19 #: lib/web/templates/email/activity/_group_activity_item.text.eex:7 -#, elixir-format msgid "%{profile} updated the group %{group}." msgstr "%{profile} päivitti ryhmää %{group}." +#, elixir-format #: lib/service/activity/renderer/member.ex:54 #: lib/web/templates/email/activity/_member_activity_item.html.eex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33 -#, elixir-format msgid "%{profile} updated the member %{member}." msgstr "%{profile} päivitti jäsentä %{member}." +#, elixir-format #: lib/service/activity/renderer/event.ex:23 #: lib/web/templates/email/activity/_event_activity_item.html.eex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1 -#, elixir-format msgid "The event %{event} was created by %{profile}." msgstr "%{profile} loi tapahtuman %{event}." +#, elixir-format #: lib/service/activity/renderer/event.ex:43 #: lib/web/templates/email/activity/_event_activity_item.html.eex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13 -#, elixir-format msgid "The event %{event} was deleted by %{profile}." msgstr "%{profile} poisti tapahtuman %{event}." +#, elixir-format #: lib/service/activity/renderer/event.ex:33 #: lib/web/templates/email/activity/_event_activity_item.html.eex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7 -#, elixir-format msgid "The event %{event} was updated by %{profile}." msgstr "%{profile} päivitti tapahtumaa %{event}." +#, elixir-format #: lib/service/activity/renderer/group.ex:23 #: lib/web/templates/email/activity/_post_activity_item.html.eex:4 lib/web/templates/email/activity/_post_activity_item.text.eex:1 -#, elixir-format msgid "The post %{post} was created by %{profile}." msgstr "%{profile} loi julkaisun %{post}." +#, elixir-format #: lib/service/activity/renderer/group.ex:43 #: lib/web/templates/email/activity/_post_activity_item.html.eex:34 lib/web/templates/email/activity/_post_activity_item.text.eex:13 -#, elixir-format msgid "The post %{post} was deleted by %{profile}." msgstr "%{profile} poisti julkaisun %{post}." +#, elixir-format #: lib/service/activity/renderer/group.ex:33 #: lib/web/templates/email/activity/_post_activity_item.html.eex:19 lib/web/templates/email/activity/_post_activity_item.text.eex:7 -#, elixir-format msgid "The post %{post} was updated by %{profile}." msgstr "%{profile} päivitti julkaisun %{post}." +#, elixir-format #: lib/service/activity/renderer/member.ex:46 #: lib/web/templates/email/activity/_member_activity_item.html.eex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22 -#, elixir-format msgid "%{member} joined the group." msgstr "%{member} liittyi ryhmään." +#, elixir-format #: lib/service/activity/renderer/event.ex:63 #: lib/web/templates/email/activity/_event_activity_item.html.eex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25 -#, elixir-format msgid "%{profile} posted a comment on the event %{event}." msgstr "%{profile} kommentoi tapahtumaa %{event}." +#, elixir-format #: lib/service/activity/renderer/event.ex:54 #: lib/web/templates/email/activity/_event_activity_item.html.eex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19 -#, elixir-format msgid "%{profile} replied to a comment on the event %{event}." msgstr "%{profile} vastasi tapahtuman %{event} kommenttiin." -#: lib/web/templates/email/email_direct_activity.html.eex:144 -#: lib/web/templates/email/email_direct_activity.text.eex:23 #, elixir-format +#: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" "Jos et halua vastaanottaa toimenpideilmoituksia, voit muuttaa " "ilmoitustiheyttä tai poistaa ilmoitukset käytöstä asetuksista." -#: lib/web/templates/email/email_direct_activity.html.eex:124 -#: lib/web/templates/email/email_direct_activity.text.eex:19 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:133 +#: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" msgstr[0] "Näytä seuraava toimenpide" msgstr[1] "Näytä %{count} seuraavaa toimenpidettä" -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "Toimenpide!" msgstr[1] "Toimenpiteitä!" -#: lib/service/activity/renderer/renderer.ex:38 #, elixir-format +#: lib/service/activity/renderer/renderer.ex:38 msgid "Activity on %{instance}" msgstr "Toimenpide palvelimella %{instance}" -#: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 #, elixir-format +#: lib/service/activity/renderer/comment.ex:38 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "%{profile} on julkaissut ilmoituksen tapahtumassa %{event}." -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 #, elixir-format -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "%{profile} mainitsi sinut tapahtuman %{event} kommentissa." - #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 -#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "%{profile} mainitsi sinut tapahtuman %{event} kommentissa." -#: lib/service/activity/renderer/comment.ex:52 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "%{profile} mainitsi sinut keskustelussa %{discussion}." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" +"Jos et halua vastaanottaa toimenpideilmoituksia, voit muuttaa " +"ilmoitustiheyttä tai poistaa ilmoitukset käytöstä asetuksista." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "Toimenpide palvelimella %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po index 647aab124..c131ea364 100644 --- a/priv/gettext/fi/LC_MESSAGES/default.po +++ b/priv/gettext/fi/LC_MESSAGES/default.po @@ -14,263 +14,263 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.6.2\n" -#: lib/web/templates/email/password_reset.html.eex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:48 msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." msgstr "" "Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta. Salasanasi " "ei vaihdu, ennen kuin käytät alla olevaa linkkiä ja luot uuden salasanan." -#: lib/web/templates/email/report.html.eex:74 #, elixir-format +#: lib/web/templates/email/report.html.eex:74 msgid "%{title} by %{creator}" msgstr "%{title} luojalta %{creator}" -#: lib/web/templates/email/registration_confirmation.html.eex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:58 msgid "Activate my account" msgstr "Aktivoi tilini" +#, elixir-format #: lib/web/templates/email/email.html.eex:118 #: lib/web/templates/email/email.text.eex:9 -#, elixir-format msgid "Ask the community on Framacolibri" msgstr "Kysy yhteisöltä Framacolibrissa" -#: lib/web/templates/email/report.text.eex:15 #, elixir-format +#: lib/web/templates/email/report.text.eex:15 msgid "Comments" msgstr "Kommentit" +#, elixir-format #: lib/web/templates/email/report.html.eex:72 #: lib/web/templates/email/report.text.eex:11 -#, elixir-format msgid "Event" msgstr "Tapahtuma" -#: lib/web/email/user.ex:48 #, elixir-format +#: lib/web/email/user.ex:48 msgid "Instructions to reset your password on %{instance}" msgstr "Ohjeet salasanan palauttamiseen palvelimella %{instance}" -#: lib/web/templates/email/report.text.eex:21 #, elixir-format +#: lib/web/templates/email/report.text.eex:21 msgid "Reason" msgstr "Syy" -#: lib/web/templates/email/password_reset.html.eex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:61 msgid "Reset Password" msgstr "Palauta salasana" -#: lib/web/templates/email/password_reset.html.eex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:41 msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time." msgstr "" "Salasana on helppo palauttaa. Paina alla olevaa painiketta ja noudata " "ohjeita. Pääset tuota pikaa jatkamaan käyttöä." -#: lib/web/email/user.ex:28 #, elixir-format +#: lib/web/email/user.ex:28 msgid "Instructions to confirm your Mobilizon account on %{instance}" msgstr "Ohjeet Mobilizon-tilin vahvistamiseen palvelimella %{instance}" -#: lib/web/email/admin.ex:24 #, elixir-format +#: lib/web/email/admin.ex:24 msgid "New report on Mobilizon instance %{instance}" msgstr "Uusi raportti Mobilizon-palvelimella %{instance}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:51 #: lib/web/templates/email/before_event_notification.text.eex:4 -#, elixir-format msgid "Go to event page" msgstr "Siirry tapahtuman sivulle" -#: lib/web/templates/email/report.text.eex:1 #, elixir-format +#: lib/web/templates/email/report.text.eex:1 msgid "New report from %{reporter} on %{instance}" msgstr "Uusi raportti käyttäjältä %{reporter} palvelimella %{instance}" -#: lib/web/templates/email/event_participation_approved.text.eex:1 #, elixir-format +#: lib/web/templates/email/event_participation_approved.text.eex:1 msgid "Participation approved" msgstr "Osallistuminen hyväksytty" +#, elixir-format #: lib/web/templates/email/password_reset.html.eex:13 #: lib/web/templates/email/password_reset.text.eex:1 -#, elixir-format msgid "Password reset" msgstr "Salasanan palautus" -#: lib/web/templates/email/password_reset.text.eex:7 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:7 msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time." msgstr "" "Salasana on helppo palauttaa. Paina alla olevaa linkkiä ja noudata ohjeita. " "Pääset tuota pikaa jatkamaan käyttöä." -#: lib/web/templates/email/registration_confirmation.text.eex:5 #, elixir-format +#: lib/web/templates/email/registration_confirmation.text.eex:5 msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email." msgstr "" "Loit palvelimelle %{host} tilin tällä sähköpostiosoitteella. Aktivoi se " "yhdellä napsautuksella. Jos et luonut tiliä itse, voit jättää tämän viestin " "huomiotta." -#: lib/web/email/participation.ex:112 #, elixir-format +#: lib/web/email/participation.ex:112 msgid "Your participation to event %{title} has been approved" msgstr "Osallistumisesi tapahtumaan %{title} on hyväksytty" -#: lib/web/email/participation.ex:70 #, elixir-format +#: lib/web/email/participation.ex:70 msgid "Your participation to event %{title} has been rejected" msgstr "Osallistumisesi tapahtumaan %{title) on hylätty" -#: lib/web/email/event.ex:37 #, elixir-format +#: lib/web/email/event.ex:37 msgid "Event %{title} has been updated" msgstr "Tapahtumaa %{title} on päivitetty" -#: lib/web/templates/email/event_updated.text.eex:15 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:15 msgid "New title: %{title}" msgstr "Uusi otsikko: %{title}" -#: lib/web/templates/email/password_reset.text.eex:5 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:5 msgid "You requested a new password for your account on %{instance}." msgstr "Pyysit uutta salasanaa tilillesi palvelimella %{instance}." -#: lib/web/templates/email/email.html.eex:86 #, elixir-format +#: lib/web/templates/email/email.html.eex:86 msgid "Warning" msgstr "Varoitus" -#: lib/web/email/participation.ex:135 #, elixir-format +#: lib/web/email/participation.ex:135 msgid "Confirm your participation to event %{title}" msgstr "Vahvista osallistumisesi tapahtumaan %{title}" -#: lib/web/templates/api/privacy.html.eex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:75 msgctxt "terms" msgid "An internal ID for your current selected identity" msgstr "Valittuna olevan identiteettisi sisäinen tunniste" -#: lib/web/templates/api/privacy.html.eex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:74 msgctxt "terms" msgid "An internal user ID" msgstr "Sisäinen käyttäjätunniste" -#: lib/web/templates/api/privacy.html.eex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:37 msgctxt "terms" msgid "Any of the information we collect from you may be used in the following ways:" msgstr "Kaikkia sinulta kerättäviä tietoja voidaan käyttää seuraavin tavoin:" -#: lib/web/templates/api/privacy.html.eex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:9 msgctxt "terms" msgid "Basic account information" msgstr "Tilin perustiedot" -#: lib/web/templates/api/privacy.html.eex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:25 msgctxt "terms" msgid "Do not share any dangerous information over Mobilizon." msgstr "Älä jaa vaarallisia tietoja Mobilizonin kautta." -#: lib/web/templates/api/privacy.html.eex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:90 msgctxt "terms" msgid "Do we disclose any information to outside parties?" msgstr "Luovutetaanko tietoja ulkopuolisille?" -#: lib/web/templates/api/privacy.html.eex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "Käytetäänkö evästeitä?" -#: lib/web/templates/api/privacy.html.eex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "Kuinka tietojasi suojataan?" -#: lib/web/templates/api/privacy.html.eex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "IP-osoitteet ja muu metadata" -#: lib/web/templates/api/privacy.html.eex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Julkaistut tapahtumat ja kommentit" -#: lib/web/templates/api/privacy.html.eex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:64 msgctxt "terms" msgid "Retain the IP addresses associated with registered users no more than 12 months." msgstr "" "Säilyttämään rekisteröityjen käyttäjien IP-osoitteita enintään 12 kuukautta." -#: lib/web/templates/api/privacy.html.eex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Tunnistautumismerkkisi" -#: lib/web/templates/api/privacy.html.eex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:31 msgctxt "terms" msgid "We also may retain server logs which include the IP address of every request to our server." msgstr "" "Myös palvelinlokeja, jotka sisältävät jokaisen palvelimelle tehdyn pyynnön " "IP-osoitteen, saatetaan säilyttää." -#: lib/web/templates/api/privacy.html.eex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:70 msgctxt "terms" msgid "We store the following information on your device when you connect:" msgstr "Kun muodostat yhteyden, laitteellesi tallennetaan seuraavat tiedot:" -#: lib/web/templates/api/privacy.html.eex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:58 msgctxt "terms" msgid "We will make a good faith effort to:" msgstr "Pyrimme parhaamme mukaan seuraavaan:" -#: lib/web/templates/api/privacy.html.eex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "Mihin käytämme tietojasi?" -#: lib/web/templates/api/privacy.html.eex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:57 msgctxt "terms" msgid "What is our data retention policy?" msgstr "Millainen tietojensäilytyskäytäntö meillä on?" -#: lib/web/templates/api/privacy.html.eex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:67 msgctxt "terms" msgid "You may irreversibly delete your account at any time." msgstr "Voit milloin tahansa poistaa tilisi pysyvästi." -#: lib/web/templates/api/privacy.html.eex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Muutokset tietosuojakäytäntöön" -#: lib/web/templates/api/privacy.html.eex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:106 msgctxt "terms" msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site." msgstr "" @@ -280,8 +280,8 @@ msgstr "" "wiki/Yleinen_tietosuoja-asetus\">yleinen tietosuoja-asetus) mukaisesti " "et voi käyttää tätä sivustoa." -#: lib/web/templates/api/privacy.html.eex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:109 msgctxt "terms" msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site." msgstr "" @@ -291,30 +291,30 @@ msgstr "" "27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection " "Act) mukaisesti et voi käyttää tätä sivustoa." -#: lib/web/templates/api/privacy.html.eex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:117 msgctxt "terms" msgid "If we decide to change our privacy policy, we will post those changes on this page." msgstr "" "Jos päätämme muuttaa tietosuojakäytäntöämme, muutoksesta kerrotaan tällä " "sivulla." -#: lib/web/templates/api/privacy.html.eex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:112 msgctxt "terms" msgid "Law requirements can be different if this server is in another jurisdiction." msgstr "" "Lakisääteiset vaatimukset saattavat poiketa tästä, jos palvelin sijaitsee " "muulla lainkäyttöalueella." -#: lib/web/templates/api/privacy.html.eex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Lapset sivuston käyttäjinä" -#: lib/web/templates/api/privacy.html.eex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:47 msgctxt "terms" msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions." msgstr "" @@ -324,8 +324,8 @@ msgstr "" "kyselyihisi, tai muihin pyyntöihin tai kysymyksiin\n" " liittyen." -#: lib/web/templates/api/privacy.html.eex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:45 msgctxt "terms" msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations." msgstr "" @@ -333,8 +333,8 @@ msgstr "" "muihin tiedossa oleviin osoitteisiin\n" " porttikieltojen kiertämisen tai muiden rikkomusten havaitsemiseksi." -#: lib/web/templates/api/privacy.html.eex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:43 msgctxt "terms" msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in." msgstr "" @@ -343,89 +343,89 @@ msgstr "" " vaikuttaminen ja oman sisällön julkaiseminen saattaa olla mahdollista " "vain sisäänkirjautuneena." -#: lib/web/templates/api/privacy.html.eex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "Mitä tietoja kerätään?" -#: lib/web/email/user.ex:176 #, elixir-format +#: lib/web/email/user.ex:176 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon palvelimella %{instance}: vahvista sähköpostiosoitteesi" -#: lib/web/email/user.ex:152 #, elixir-format +#: lib/web/email/user.ex:152 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon palvelimella %{instance}: sähköpostiosoite vaihdettu" -#: lib/web/email/notification.ex:47 #, elixir-format +#: lib/web/email/notification.ex:47 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Yksi suunniteltu tapahtuma tänään" msgstr[1] "%{nb_events} suunniteltua tapahtumaa tänään" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:38 #: lib/web/templates/email/on_day_notification.text.eex:4 -#, elixir-format msgid "You have one event today:" msgid_plural "You have %{total} events today:" msgstr[0] "Sinulla on tänään yksi tapahtuma:" msgstr[1] "Sinulla on tänään %{total} tapahtumaa:" -#: lib/web/templates/email/group_invite.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_invite.text.eex:3 msgid "%{inviter} just invited you to join their group %{group}" msgstr "%{inviter} kutsui sinut ryhmään %{group}" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:13 #: lib/web/templates/email/group_invite.text.eex:1 -#, elixir-format msgid "Come along!" msgstr "Tule mukaan!" -#: lib/web/email/notification.ex:24 #, elixir-format +#: lib/web/email/notification.ex:24 msgid "Don't forget to go to %{title}" msgstr "Muista %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:38 #: lib/web/templates/email/before_event_notification.text.eex:3 -#, elixir-format msgid "Get ready for %{title}" msgstr "%{title} tulee, oletko valmis?" -#: lib/web/templates/email/group_invite.html.eex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:59 msgid "See my groups" msgstr "Näytä omat ryhmät" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:45 #: lib/web/templates/email/group_invite.text.eex:5 -#, elixir-format msgid "To accept this invitation, head over to your groups." msgstr "Hyväksy kutsu siirtymällä omiin ryhmiisi." -#: lib/web/templates/email/before_event_notification.text.eex:5 #, elixir-format +#: lib/web/templates/email/before_event_notification.text.eex:5 msgid "View the event on: %{link}" msgstr "Katso päivitetty tapahtuma: %{linkki}" -#: lib/web/email/group.ex:33 #, elixir-format +#: lib/web/email/group.ex:33 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} kutsui sinut ryhmään %{group}" -#: lib/web/email/notification.ex:71 #, elixir-format +#: lib/web/email/notification.ex:71 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Yksi suunniteltu tapahtuma tällä viikolla" msgstr[1] "%{nb_events} suunniteltua tapahtumaa tällä viikolla" -#: lib/web/email/notification.ex:93 #, elixir-format +#: lib/web/email/notification.ex:93 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Yksi osallistujapyyntö tapahtumaan %{title} odottaa käsittelyä" @@ -433,21 +433,21 @@ msgstr[1] "" "%{number_participation_requests} osallistujapyyntöä tapahtumaan %{title} " "odottaa käsittelyä" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:38 #: lib/web/templates/email/notification_each_week.text.eex:3 -#, elixir-format msgid "You have one event this week:" msgid_plural "You have %{total} events this week:" msgstr[0] "Sinulla on tällä viikolla yksi tapahtuma:" msgstr[1] "Sinulla on tällä viikolla %{total} tapahtumaa:" -#: lib/service/metadata/utils.ex:52 #, elixir-format +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Tapahtuman järjestäjä ei ole lisännyt kuvausta." -#: lib/web/templates/api/privacy.html.eex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:54 msgctxt "terms" msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way algorithm." msgstr "" @@ -456,8 +456,8 @@ msgstr "" "sovellusten ja sovellusrajapinnan välinen tietoliikenne ovat SSL/TLS-" "suojattuja, ja salasanasi salataan vahvalla yksisuuntaisella algoritmilla." -#: lib/web/templates/api/privacy.html.eex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:94 msgctxt "terms" msgid "No. We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety." msgstr "" @@ -469,20 +469,20 @@ msgstr "" "välttämätöntä lain tai sivustomme noudattamisen tahi meidän tai muiden " "oikeuksien, omaisuuden tai turvallisuuden suojelemisen kannalta." -#: lib/web/templates/api/terms.html.eex:23 #, elixir-format +#: lib/web/templates/api/terms.html.eex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Ehtojen hyväksyminen" -#: lib/web/templates/api/terms.html.eex:27 #, elixir-format +#: lib/web/templates/api/terms.html.eex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Ehtojen muutokset" -#: lib/web/templates/api/terms.html.eex:85 #, elixir-format +#: lib/web/templates/api/terms.html.eex:85 msgctxt "terms" msgid "A lot of the content on the Service is from you and others, and we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content." msgstr "" @@ -493,16 +493,16 @@ msgstr "" "Olet yksin vastuussa sisällön käyttämisestä, siihen luottamisesta ja siihen " "liittyvistä riskeistä." -#: lib/web/templates/api/terms.html.eex:60 #, elixir-format +#: lib/web/templates/api/terms.html.eex:60 msgctxt "terms" msgid "Also, you agree that you will not do any of the following in connection with the Service or other users:" msgstr "" "Lisäksi sitoudut olemaan tekemättä palvelun tai muiden käyttäjien osalta " "mitään seuraavista:" -#: lib/web/templates/api/terms.html.eex:65 #, elixir-format +#: lib/web/templates/api/terms.html.eex:65 msgctxt "terms" msgid "Circumvent or attempt to circumvent any filtering, security measures, rate limits or other features designed to protect the Service, users of the Service, or third parties." msgstr "" @@ -510,22 +510,22 @@ msgstr "" "suodatus- ja turvallisuuskeinojen, käyttömäärärajoitusten tai muiden " "vastaavien ominaisuuksien kiertäminen tai kiertämisen yritys" -#: lib/web/templates/api/terms.html.eex:64 #, elixir-format +#: lib/web/templates/api/terms.html.eex:64 msgctxt "terms" msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;" msgstr "" "palvelun muiden käyttäjien henkilötietojen kerääminen tai heidän " "ahdisteleminen, uhkaaminen, seuraaminen tai häiritseminen muilla tavoin" -#: lib/web/templates/api/terms.html.eex:55 #, elixir-format +#: lib/web/templates/api/terms.html.eex:55 msgctxt "terms" msgid "Content that is illegal or unlawful, that would otherwise create liability;" msgstr "laittoman sisällön oikeudellisiin seuraamuksiin johtava lähettäminen" -#: lib/web/templates/api/terms.html.eex:56 #, elixir-format +#: lib/web/templates/api/terms.html.eex:56 msgctxt "terms" msgid "Content that may infringe or violate any patent, trademark, trade secret, copyright, right of privacy, right of publicity or other intellectual or other right of any party;" msgstr "" @@ -533,48 +533,48 @@ msgstr "" "yksityisyydensuojaa, julkisuusoikeutta tai muuta immateriaali- tai muuta " "oikeutta loukkaavan sisällön lähettäminen" -#: lib/web/templates/api/terms.html.eex:42 #, elixir-format +#: lib/web/templates/api/terms.html.eex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Tilien luominen" -#: lib/web/templates/api/terms.html.eex:89 #, elixir-format +#: lib/web/templates/api/terms.html.eex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Koko sopimusteksti" -#: lib/web/templates/api/terms.html.eex:92 #, elixir-format +#: lib/web/templates/api/terms.html.eex:92 msgctxt "terms" msgid "Feedback" msgstr "Palaute" -#: lib/web/templates/api/terms.html.eex:83 #, elixir-format +#: lib/web/templates/api/terms.html.eex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Linkit ja kolmansien osapuolten sisältö" -#: lib/web/templates/api/terms.html.eex:88 #, elixir-format +#: lib/web/templates/api/terms.html.eex:88 msgctxt "terms" msgid "If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service." msgstr "" "Jos toimit näiden ehtojen vastaisesti, voimme poistaa tai keskeyttää " "käyttöoikeutesi palveluun." -#: lib/web/templates/api/terms.html.eex:63 #, elixir-format +#: lib/web/templates/api/terms.html.eex:63 msgctxt "terms" msgid "Impersonate or post on behalf of any person or entity or otherwise misrepresent your affiliation with a person or entity;" msgstr "" "luvaton toisen henkilön tai tahon nimissä esiintyminen tai julkaiseminen tai " "muunlainen valheellisen yhteyden ilmaiseminen" -#: lib/web/templates/api/terms.html.eex:48 #, elixir-format +#: lib/web/templates/api/terms.html.eex:48 msgctxt "terms" msgid "Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness." msgstr "" @@ -583,26 +583,26 @@ msgstr "" "saataville saattamastasi sisällöstä sekä sen laillisuudesta, " "luotettavuudesta ja sopivaisuudesta." -#: lib/web/templates/api/terms.html.eex:39 #, elixir-format +#: lib/web/templates/api/terms.html.eex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Tietosuojakäytäntö" -#: lib/web/templates/api/terms.html.eex:95 #, elixir-format +#: lib/web/templates/api/terms.html.eex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Kysymykset ja yhteystiedot" -#: lib/web/templates/api/terms.html.eex:87 #, elixir-format +#: lib/web/templates/api/terms.html.eex:87 msgctxt "terms" msgid "Termination" msgstr "Lopettaminen" -#: lib/web/templates/api/terms.html.eex:62 #, elixir-format +#: lib/web/templates/api/terms.html.eex:62 msgctxt "terms" msgid "Use the Service in any manner that could interfere with, disrupt, negatively affect or inhibit other users from fully enjoying the Service or that could damage, disable, overburden or impair the functioning of the Service;" msgstr "" @@ -610,14 +610,14 @@ msgstr "" "käyttäjiä heidän käyttäessään palvelua, tai joka voi vahingoittaa, estää, " "ylikuormittaa tai rajoittaa palvelun toimivuutta" -#: lib/web/templates/api/terms.html.eex:47 #, elixir-format +#: lib/web/templates/api/terms.html.eex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "Oma sisältö ja käytös" -#: lib/web/templates/api/terms.html.eex:84 #, elixir-format +#: lib/web/templates/api/terms.html.eex:84 msgctxt "terms" msgid "%{instance_name} makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern. The inclusion of any link does not imply endorsement by %{instance_name} of the site. Use of any such linked website is at the user's own risk." msgstr "" @@ -629,8 +629,8 @@ msgstr "" "sivuston. Linkitettyjen verkkosivujen käyttö tapahtuu käyttäjän omalla " "vastuulla." -#: lib/web/templates/api/terms.html.eex:68 #, elixir-format +#: lib/web/templates/api/terms.html.eex:68 msgctxt "terms" msgid "Finally, your use of the Service is also subject to acceptance of the instance's own specific rules regarding the code of conduct and moderation rules. Breaking those rules may also result in your account being disabled or suspended." msgstr "" @@ -639,16 +639,16 @@ msgstr "" "hyväksymistä. Sääntöjen rikkomisesta voi seurata tilisi tilapäinen tai " "pysyvä käytöstäpoisto." -#: lib/web/templates/api/terms.html.eex:81 #, elixir-format +#: lib/web/templates/api/terms.html.eex:81 msgctxt "terms" msgid "For full details about the Mobilizon software see here." msgstr "" "Katso täältä tarkempia Mobilizon-" "ohjelmaa koskevia tietoja." -#: lib/web/templates/api/terms.html.eex:18 #, elixir-format +#: lib/web/templates/api/terms.html.eex:18 msgctxt "terms" msgid "Here are the important things you need to know about accessing and using the %{instance_name} (%{instance_url}) website and service (collectively, \"Service\"). These are our terms of service (\"Terms\"). Please read them carefully." msgstr "" @@ -657,8 +657,8 @@ msgstr "" "palvelua (yhteisesti ”palvelu”). Ne ovat käyttöehtomme (”ehdot”). Lue ne " "huolellisesti." -#: lib/web/templates/api/terms.html.eex:33 #, elixir-format +#: lib/web/templates/api/terms.html.eex:33 msgctxt "terms" msgid "If we make major changes, we will notify our users in a clear and prominent manner. Minor changes may only be highlighted in the footer of our website. It is your responsibility to check the website regularly for changes to these Terms." msgstr "" @@ -667,8 +667,8 @@ msgstr "" "huomautuksella verkkosivun alaosassa. Verkkosivun ehdoissa tapahtuvien " "muutosten säännöllinen tarkistaminen on omalla vastuullasi." -#: lib/web/templates/api/terms.html.eex:53 #, elixir-format +#: lib/web/templates/api/terms.html.eex:53 msgctxt "terms" msgid "In order to make %{instance_name} a great place for all of us, please do not post, link and otherwise make available on or through the Service any of the following:" msgstr "" @@ -676,16 +676,16 @@ msgstr "" "julkaise, linkitä tai muulla tavoin saata palvelussa tai sen välityksellä " "saataville mitään seuraavista:" -#: lib/web/templates/api/terms.html.eex:57 #, elixir-format +#: lib/web/templates/api/terms.html.eex:57 msgctxt "terms" msgid "Private information of any third party (e.g., addresses, phone numbers, email addresses, Social Security numbers and credit card numbers); and" msgstr "" "kolmannen osapuolen yksityisiä tietoja (esim. osoitteita, puhelinnumeroita, " "sähköpostiosoitteita, henkilötunnuksia ja maksukorttien numeroita)" -#: lib/web/templates/api/terms.html.eex:52 #, elixir-format +#: lib/web/templates/api/terms.html.eex:52 msgctxt "terms" msgid "Since Mobilizon is a distributed network, it is possible, depending on the visibility rules set to your content, that your content has been distributed to other Mobilizon instances. When you delete your content, we will request those other instances to also delete the content. Our responsibility on the content being deleted from those other instances ends here. If for some reason, some other instance does not delete the content, we cannot be held responsible." msgstr "" @@ -696,8 +696,8 @@ msgstr "" "sisällön poistamisesta päättyy siihen. Jos jokin toinen palvelin ei syystä " "tai toisesta poista sisältöä, emme ole siitä vastuussa." -#: lib/web/templates/api/terms.html.eex:90 #, elixir-format +#: lib/web/templates/api/terms.html.eex:90 msgctxt "terms" msgid "These Terms constitute the entire agreement between you and %{instance_name} regarding the use of the Service, superseding any prior agreements between you and %{instance_name} relating to your use of the Service." msgstr "" @@ -706,8 +706,8 @@ msgstr "" "aiemmat sinun ja palvelimen %{instance_name} väliset palvelun käyttöä " "koskevat sopimukset." -#: lib/web/templates/api/terms.html.eex:80 #, elixir-format +#: lib/web/templates/api/terms.html.eex:80 msgctxt "terms" msgid "This Service runs on a Mobilizon instance. This source code is licensed under an AGPLv3 license which means you are allowed to and even encouraged to take the source code, modify it and use it." msgstr "" @@ -717,16 +717,16 @@ msgstr "" "tarkoittaa, että lähdekoodin lataaminen, muokkaaminen ja käyttö on paitsi " "sallittua myös kannustettavaa." -#: lib/web/templates/api/terms.html.eex:58 #, elixir-format +#: lib/web/templates/api/terms.html.eex:58 msgctxt "terms" msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code." msgstr "" "Virukset, vioittuneet tiedot tai muut haitalliset, häiritsevät tai tuhoa " "aiheuttavat tiedostot tai koodikatkelmat." -#: lib/web/templates/api/terms.html.eex:51 #, elixir-format +#: lib/web/templates/api/terms.html.eex:51 msgctxt "terms" msgid "You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time. Web server access logs might also be stored for some time in the system." msgstr "" @@ -735,30 +735,30 @@ msgstr "" "järjestelmässämme tai varmuuskopioissamme. Niin ikään www-palvelimen " "käyttölokeja säilytetään järjestelmässä jonkin aikaa." -#: lib/web/templates/api/terms.html.eex:96 #, elixir-format +#: lib/web/templates/api/terms.html.eex:96 msgctxt "terms" msgid "Questions or comments about the Service may be directed to us at %{contact}" msgstr "" "Meille voi lähettää palvelua koskevia kysymyksiä ja kommentteja osoitteeseen " "%{contact}" -#: lib/web/templates/api/terms.html.eex:79 #, elixir-format +#: lib/web/templates/api/terms.html.eex:79 msgctxt "terms" msgid "Source code" msgstr "Lähdekoodi" -#: lib/web/templates/api/terms.html.eex:93 #, elixir-format +#: lib/web/templates/api/terms.html.eex:93 msgctxt "terms" msgid "We love feedback. Please let us know what you think of the Service, these Terms and, in general, %{instance_name}." msgstr "" "Pidämme palautteesta. Kerro meille, mitä mieltä olet palvelusta, näistä " "ehdoista ja yleisesti palvelimesta %{instance_name}." -#: lib/web/templates/api/terms.html.eex:74 #, elixir-format +#: lib/web/templates/api/terms.html.eex:74 msgctxt "terms" msgid "Instance administrators (and community moderators, given the relevant access) are responsible for monitoring and acting on flagged content and other user reports, and have the right and responsibility to remove or edit content that is not aligned to this Instance set of rules, or to suspend, block or ban (temporarily or permanently) any account, community, or instance for breaking these terms, or for other behaviours that they deem inappropriate, threatening, offensive, or harmful." msgstr "" @@ -771,15 +771,15 @@ msgstr "" "toimivat muulla tavoin asiattomasti, uhkaavasti, hyökkäävästi tai " "vahingollisesti." -#: lib/web/templates/api/terms.html.eex:6 #, elixir-format +#: lib/web/templates/api/terms.html.eex:6 msgctxt "terms" msgid "%{instance_name} will not use or transmit or resell your personal data" msgstr "" "%{instance_name} ei käytä, lähetä edelleen tai myy henkilötietojasi" -#: lib/web/templates/api/terms.html.eex:44 #, elixir-format +#: lib/web/templates/api/terms.html.eex:44 msgctxt "terms" msgid "If you discover or suspect any Service security breaches, please let us know as soon as possible. For security holes in the Mobilizon software itself, please contact its contributors directly." msgstr "" @@ -788,16 +788,16 @@ msgstr "" "aukkojen osalta ota yhteyttä suoraan ohjelman tekijöihin." -#: lib/web/templates/api/terms.html.eex:77 #, elixir-format +#: lib/web/templates/api/terms.html.eex:77 msgctxt "terms" msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules." msgstr "" "Palvelimen ylläpitäjien tulee varmistaa, että kaikkia palvelimella toimivia " "yhteisöjä moderoidaan sääntöjen mukaisesti." -#: lib/web/templates/api/terms.html.eex:98 #, elixir-format +#: lib/web/templates/api/terms.html.eex:98 msgctxt "terms" msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA." msgstr "" @@ -806,8 +806,8 @@ msgstr "" "a> tietosuojakäytännöistä, lisäksi lisensoitu CC BY-SA -lisenssillä." -#: lib/web/templates/api/privacy.html.eex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:119 msgctxt "terms" msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA." msgstr "" @@ -816,114 +816,114 @@ msgstr "" "tietosuojakäytännöistä, lisäksi lisensoitu CC BY-SA -lisenssillä." -#: lib/web/templates/api/terms.html.eex:3 #, elixir-format +#: lib/web/templates/api/terms.html.eex:3 msgctxt "terms" msgid "Short version" msgstr "Lyhyt versio" -#: lib/web/templates/api/terms.html.eex:9 #, elixir-format +#: lib/web/templates/api/terms.html.eex:9 msgctxt "terms" msgid "The service is provided without warranties and these terms may change in the future" msgstr "" "Palvelu tarjotaan ilman minkäänlaista takuuta, ja nämä ehdot voivat " "myöhemmin muuttua" -#: lib/web/templates/api/privacy.html.eex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:118 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020." msgstr "" "Tämän asiakirjan lisenssinä on CC BY-SA. Se päivitettiin viimeksi 18.6.2020." -#: lib/web/templates/api/terms.html.eex:97 #, elixir-format +#: lib/web/templates/api/terms.html.eex:97 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020." msgstr "" "Tämän asiakirjan lisenssinä on CC BY-SA. Se päivitettiin viimeksi 22.6.2020." -#: lib/web/templates/api/terms.html.eex:8 #, elixir-format +#: lib/web/templates/api/terms.html.eex:8 msgctxt "terms" msgid "You must respect other people and %{instance_name}'s rules when using the service" msgstr "" "Kun käytät palvelua, kunnioita muita ihmisiä ja palvelimen " "%{instance_name} sääntöjä" -#: lib/web/templates/api/terms.html.eex:7 #, elixir-format +#: lib/web/templates/api/terms.html.eex:7 msgctxt "terms" msgid "You must respect the law when using %{instance_name}" msgstr "Noudata lakia käyttäessäsi palvelinta %{instance_name}" -#: lib/web/templates/api/terms.html.eex:5 #, elixir-format +#: lib/web/templates/api/terms.html.eex:5 msgctxt "terms" msgid "Your content is yours" msgstr "Sisältösi kuuluu sinulle" -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 msgid "Confirm my e-mail address" msgstr "Vahvista sähköpostiosoite" +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1 -#, elixir-format msgid "Confirm your e-mail" msgstr "Vahvista sähköpostiosoite" -#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Hei! Rekisteröidyit juuri tapahtumaan ”%{title}”. Vahvista ilmoittamasi " "sähköpostiosoite:" +#, elixir-format #: lib/web/templates/email/email.html.eex:115 #: lib/web/templates/email/email.text.eex:8 -#, elixir-format msgid "Need help? Is something not working as expected?" msgstr "Tarvitsetko apua? Eikö kaikki toimi niin kuin pitäisi?" -#: lib/web/templates/email/registration_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:38 msgid "You created an account on %{host} with this email address. You are one click away from activating it." msgstr "" "Loit palvelimelle %{host} tilin tällä sähköpostiosoitteella. Aktivoi " "se yhdellä napsautuksella." -#: lib/web/templates/email/report.html.eex:13 #, elixir-format +#: lib/web/templates/email/report.html.eex:13 msgid "New report on %{instance}" msgstr "Uusi raportti palvelimella %{instance}" -#: lib/web/templates/email/email_changed_old.html.eex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.eex:38 msgid "The email address for your account on %{host} is being changed to:" msgstr "" "Palvelimella %{host} olevan tilisi sähköpostiosoitteeksi vaihdetaan:" -#: lib/web/templates/email/password_reset.html.eex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:38 msgid "You requested a new password for your account on %{instance}." msgstr "Pyysit uutta salasanaa tilillesi palvelimella %{instance}." -#: lib/web/templates/email/email.text.eex:5 #, elixir-format +#: lib/web/templates/email/email.text.eex:5 msgid "Please do not use it for real purposes." msgstr "Älä käytä todellisiin tarkoituksiin." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:133 #: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70 #: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.eex:70 #: lib/web/templates/email/on_day_notification.text.eex:14 -#, elixir-format msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button." msgstr[0] "" @@ -933,75 +933,75 @@ msgstr[1] "" "Jos haluat perua osallistumisesi, siirry tapahtumien sivuille yllä olevista " "linkeistä ja napsauta niissä osallistumispainiketta." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:38 #: lib/web/templates/email/pending_participation_notification.text.eex:4 -#, elixir-format msgid "You have one pending attendance request to process:" msgid_plural "You have %{number_participation_requests} attendance requests to process:" msgstr[0] "Yksi osallistujapyyntö odottaa käsittelyäsi:" msgstr[1] "" "%{number_participation_requests} osallistujapyyntöä odottaa käsittelyäsi:" -#: lib/web/templates/email/email.text.eex:11 #, elixir-format +#: lib/web/templates/email/email.text.eex:11 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} on Mobilizon-palvelin." -#: lib/web/templates/email/email.html.eex:143 #, elixir-format +#: lib/web/templates/email/email.html.eex:143 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} on Mobilizon-palvelin." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:13 #: lib/web/templates/email/pending_participation_notification.text.eex:1 -#, elixir-format msgid "A request is pending!" msgstr "Pyyntö odottaa!" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:13 #: lib/web/templates/email/before_event_notification.text.eex:1 -#, elixir-format msgid "An event is upcoming!" msgstr "Tapahtuma lähestyy!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:13 #: lib/web/templates/email/email_changed_new.text.eex:1 -#, elixir-format msgid "Confirm new email" msgstr "Vahvista sähköpostiosoite" -#: lib/web/templates/email/event_updated.html.eex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:84 msgid "End" msgstr "Päättyy" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:21 msgid "End %{ends_on}" msgstr "Päättyy %{ends_on}" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "Tapahtuma päivitetty!" -#: lib/web/templates/email/report.html.eex:88 #, elixir-format +#: lib/web/templates/email/report.html.eex:88 msgid "Flagged comments" msgstr "Merkityt kommentit" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:45 #: lib/web/templates/email/event_participation_approved.text.eex:7 -#, elixir-format msgid "Good news: one of the event organizers just approved your request. Update your calendar, because you're on the guest list now!" msgstr "" "Hyviä uutisia: joku tapahtuman järjestäjistä hyväksyi juuri pyyntösi. Olet " "kutsuttujen joukossa, joten merkitse tapahtuma kalenteriisi!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:38 #: lib/web/templates/email/email_changed_new.text.eex:3 -#, elixir-format msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address." msgstr "" "Hei! Haluat ilmeisesti vaihtaa palvelimella %{instance} olevaan " @@ -1009,16 +1009,16 @@ msgstr "" "vaihto napsauttamalla alla olevaa painiketta. Sen jälkeen voit kirjautua " "palvelimelle %{instance} uudella sähköpostiosoitteella." -#: lib/web/templates/email/email_changed_old.text.eex:3 #, elixir-format +#: lib/web/templates/email/email_changed_old.text.eex:3 msgid "Hi there! Just a quick note to confirm that the email address linked to your account on %{host} has been changed from this one to:" msgstr "" "Hei! Vahvistamme vain, että palvelimella %{host} olevaan tiliisi yhdistetty " "sähköpostiosoite on vaihdettu seuraavaan osoitteeseen:" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:62 #: lib/web/templates/email/email_changed_old.text.eex:5 -#, elixir-format msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}." msgstr "" "Jos et tehnyt vaihtoa itse, todennäköisesti joku muu on päässyt käyttämään " @@ -1026,173 +1026,173 @@ msgstr "" "viipymättä. Jos et pääse kirjautumaan sisään, ota yhteyttä palvelimen %{host}" " ylläpitäjään." -#: lib/web/templates/email/password_reset.text.eex:12 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:12 msgid "If you didn't trigger the change yourself, please ignore this message. Your password won't be changed until you click the link above." msgstr "" "Jos et tehnyt vaihtoa itse, voit jättää tämän viestin huomiotta. Salasana ei " "vaihdu, ellet avaa yllä olevaa linkkiä." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.eex:45 -#, elixir-format msgid "If you didn't trigger this email, you may safely ignore it." msgstr "Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta." +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:63 #: lib/web/templates/email/before_event_notification.text.eex:6 -#, elixir-format msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgstr "" "Jos haluat perua osallistumisesi, siirry tapahtuman sivulle yllä olevasta " "linkistä ja napsauta siellä osallistumispainiketta." +#, elixir-format #: lib/web/templates/email/email.html.eex:144 #: lib/web/templates/email/email.text.eex:11 -#, elixir-format msgid "Learn more about Mobilizon here!" msgstr "Lue lisää Mobilizonista." -#: lib/web/templates/email/event_updated.html.eex:94 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:94 msgid "Location" msgstr "Paikka" -#: lib/web/templates/email/event_updated.html.eex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:104 msgid "Location address was removed" msgstr "Käyntiosoite poistettiin" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:51 #: lib/web/templates/email/pending_participation_notification.text.eex:6 -#, elixir-format msgid "Manage pending requests" msgstr "Hallinnoi odottavia osallistujapyyntöjä" +#, elixir-format #: lib/web/templates/email/registration_confirmation.html.eex:13 #: lib/web/templates/email/registration_confirmation.text.eex:1 -#, elixir-format msgid "Nearly there!" msgstr "Melkein valmista!" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:13 #: lib/web/templates/email/email_changed_old.text.eex:1 -#, elixir-format msgid "New email confirmation" msgstr "Uuden sähköpostiosoitteen vahvistaminen" -#: lib/web/templates/email/report.html.eex:106 #, elixir-format +#: lib/web/templates/email/report.html.eex:106 msgid "Reasons for report" msgstr "Raportin syy" -#: lib/web/templates/email/report.html.eex:39 #, elixir-format +#: lib/web/templates/email/report.html.eex:39 msgid "Someone on %{instance} reported the following content for you to analyze:" msgstr "Seuraava sisältö raportoitiin palvelimelta %{instance}:" +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:13 #: lib/web/templates/email/event_participation_rejected.text.eex:1 -#, elixir-format msgid "Sorry! You're not going." msgstr "Valitettavasti et pääse mukaan." -#: lib/web/templates/email/event_updated.html.eex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:74 msgid "Start" msgstr "Alkaa" -#: lib/web/templates/email/event_updated.text.eex:18 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:18 msgid "Start %{begins_on}" msgstr "Alkaa %{begins_on}" -#: lib/web/templates/email/event_updated.text.eex:3 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:3 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "%{title} on joiltain osin muuttunut, ja ajattelimme ilmoittaa asiasta." +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:55 #: lib/web/templates/email/event_updated.text.eex:11 -#, elixir-format msgid "This event has been cancelled by its organizers. Sorry!" msgstr "Valitettavasti tapahtuman järjestäjät peruivat tapahtuman." +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:51 #: lib/web/templates/email/event_updated.text.eex:7 -#, elixir-format msgid "This event has been confirmed" msgstr "Tapahtuma on vahvistettu" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:53 #: lib/web/templates/email/event_updated.text.eex:9 -#, elixir-format msgid "This event has yet to be confirmed: organizers will let you know if they do confirm it." msgstr "" "Tapahtumaa ei ole vielä vahvistettu. Järjestäjät ilmoittavat vahvistamisesta " "myöhemmin." +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:45 #: lib/web/templates/email/event_participation_rejected.text.eex:7 -#, elixir-format msgid "Unfortunately, the organizers rejected your request." msgstr "Ikävä kyllä järjestäjät hylkäsivät osallistumisesi." -#: lib/web/templates/email/email_changed_new.html.eex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.eex:51 msgid "Verify your email address" msgstr "Vahvista sähköpostiosoite" -#: lib/web/templates/email/report.html.eex:126 #, elixir-format +#: lib/web/templates/email/report.html.eex:126 msgid "View report" msgstr "Näytä raportti" -#: lib/web/templates/email/report.text.eex:24 #, elixir-format +#: lib/web/templates/email/report.text.eex:24 msgid "View report:" msgstr "Näytä raportti:" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:58 #: lib/web/templates/email/event_participation_confirmed.html.eex:58 -#, elixir-format msgid "Visit event page" msgstr "Käy tapahtumasivulla" -#: lib/web/templates/email/event_updated.html.eex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:121 msgid "Visit the updated event page" msgstr "Käy päivitetyllä tapahtumasivulla" -#: lib/web/templates/email/event_updated.text.eex:23 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:23 msgid "Visit the updated event page: %{link}" msgstr "Katso päivitetty tapahtuma: %{linkki}" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "What's up this week?" msgstr "Mitä tällä viikolla tapahtuu?" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:13 #: lib/web/templates/email/on_day_notification.text.eex:1 -#, elixir-format msgid "What's up today?" msgstr "Mitä tänään tapahtuu?" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.eex:70 #: lib/web/templates/email/event_participation_confirmed.text.eex:6 -#, elixir-format msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button." msgstr "" "Jos haluat päivittää tai perua osallistumisesi, siirry yllä olevasta " "linkistä tapahtumasivulle ja napsauta osallistumispainiketta." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:64 #: lib/web/templates/email/pending_participation_notification.text.eex:8 -#, elixir-format msgid "You are receiving this email because you chose to get notifications for pending attendance requests to your events. You can disable or change your notification settings in your user account settings under « Notifications »." msgstr "" "Saat tämän sähköpostin, koska olet tilannut ilmoitukset tapahtumiesi " @@ -1200,160 +1200,160 @@ msgstr "" "poistaa ilmoitukset käytöstä käyttäjätilisi asetuksista kohdasta " "”Ilmoitukset”." -#: lib/web/templates/email/event_participation_rejected.text.eex:5 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.text.eex:5 msgid "You issued a request to attend %{title}." msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.text.eex:5 #: lib/web/templates/email/event_participation_confirmed.text.eex:3 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:13 #: lib/web/templates/email/event_participation_confirmed.html.eex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1 -#, elixir-format msgid "You're going!" msgstr "Olet mukana!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:64 #: lib/web/templates/email/email_changed_new.text.eex:5 -#, elixir-format msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "Jos et tehnyt vaihtoa itse, voit jättää tämän viestin huomiotta." -#: lib/web/templates/email/email.html.eex:90 #, elixir-format +#: lib/web/templates/email/email.html.eex:90 msgid "Please do not use it for real purposes." msgstr "Älä käytä todellisiin tarkoituksiin." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:45 #: lib/web/templates/email/group_member_removal.text.eex:5 -#, elixir-format msgid "If you feel this is an error, you may contact the group's administrators so that they can add you back." msgstr "" "Jos tämä on virhe, ota yhteyttä ryhmän ylläpitäjiin ja pyydä lisäämään sinut " "takaisin." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:13 #: lib/web/templates/email/group_member_removal.text.eex:1 -#, elixir-format msgid "So long, and thanks for the fish!" msgstr "Näkemiin ja kiitos kaloista!" -#: lib/web/email/group.ex:63 #, elixir-format +#: lib/web/email/group.ex:63 msgid "You have been removed from group %{group}" msgstr "Sinut on poistettu ryhmästä %{group}" -#: lib/web/templates/email/group_member_removal.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_member_removal.text.eex:3 msgid "You have been removed from group %{group}. You will not be able to access this group's private content anymore." msgstr "" "Sinut on poistettu ryhmästä %{group}. Et voi enää käyttää ryhmän yksityistä " "sisältöä." -#: lib/web/templates/email/group_invite.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:38 msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}" msgstr "" "%{inviter} kutsui sinut ryhmään " "%{link_start}%{group}%{link_end}" -#: lib/web/templates/email/group_member_removal.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.eex:38 msgid "You have been removed from group %{link_start}%{group}%{link_end}. You will not be able to access this group's private content anymore." msgstr "" "Sinut on poistettu ryhmästä %{link_start}%{group}%{link_end}. Et voi " "enää käyttää ryhmän yksityistä sisältöä." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:54 #: lib/web/templates/email/group_suspension.text.eex:7 -#, elixir-format msgid "As this group was located on another instance, it will continue to work for other instances than this one." msgstr "" "Koska tämä ryhmä sijaitsi toisella palvelimella, sen toiminta jatkuu muilla " "kuin tällä palvelimella." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:46 #: lib/web/templates/email/group_suspension.text.eex:5 -#, elixir-format msgid "As this group was located on this instance, all of it's data has been irretrievably deleted." msgstr "" "Koska tämä ryhmä sijaitsi tällä palvelimella, kaikki siihen kuuluvat tiedot " "on poistettu pysyvästi." +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:38 #: lib/web/templates/email/group_deletion.text.eex:3 -#, elixir-format msgid "The administrator %{author} deleted group %{group}. All of the group's events, discussions, posts and todos have been deleted." msgstr "" "Ylläpitäjä %{author} poisti ryhmän %{group}. Kaikki ryhmän tapahtumat, " "keskustelut, julkaisut ja tehtävät on poistettu." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:13 #: lib/web/templates/email/group_suspension.text.eex:1 -#, elixir-format msgid "The group %{group} has been suspended on %{instance}!" msgstr "Ryhmä %{group} on estetty palvelimella %{instance}!" +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:13 #: lib/web/templates/email/group_deletion.text.eex:1 -#, elixir-format msgid "The group %{group} was deleted on %{instance}!" msgstr "Ryhmä %{group} on poistettu palvelimelta %{instance}!" +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:38 #: lib/web/templates/email/group_suspension.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "" "Palvelimesi moderointitiimi on päättänyt estää ryhmän %{group_name} " "(%{group_address}). Et ole enää tämän ryhmän jäsen." -#: lib/web/email/group.ex:136 #, elixir-format +#: lib/web/email/group.ex:136 msgid "The group %{group} has been deleted on %{instance}" msgstr "Ryhmä %{group} on poistettu palvelimelta %{instance}" -#: lib/web/email/group.ex:97 #, elixir-format +#: lib/web/email/group.ex:97 msgid "The group %{group} has been suspended on %{instance}" msgstr "Ryhmä %{group} on estetty palvelimella %{instance}" -#: lib/web/templates/api/terms.html.eex:24 #, elixir-format +#: lib/web/templates/api/terms.html.eex:24 msgctxt "terms" msgid "By accessing or using the Service, this means you agree to be bound by all the terms below. If these terms are in any way unclear, please let us know by contacting %{contact}." msgstr "" "Jos käytät palvelua, sinun katsotaan hyväksyvän kaikki alla olevat ehdot. " "Jos et ymmärrä jotain kohtaa ehdoista, ota yhteyttä: %{contact}." -#: lib/web/templates/api/terms.html.eex:40 #, elixir-format +#: lib/web/templates/api/terms.html.eex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" "Tietosuojakäytännössämme kerrotaan, kuinka keräämme " "ja käytämme palvelun käyttäjien tietoja." -#: lib/web/templates/api/terms.html.eex:36 #, elixir-format +#: lib/web/templates/api/terms.html.eex:36 msgctxt "terms" msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms." msgstr "" "Jos jatkat palvelun käyttöä muutettujen ehtojen astuttua voimaan, osoitat " "hyväksyneesi muutetut ehdot." -#: lib/web/templates/api/privacy.html.eex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:78 msgctxt "terms" msgid "If you delete this information, you need to login again." msgstr "Jos poistat nämä tiedot, joudut kirjautumaan uudelleen." -#: lib/web/templates/api/privacy.html.eex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:80 msgctxt "terms" msgid "If you're not connected, we don't store any information on your device, unless you participate in an event anonymously. In this specific case we store the hash of an unique identifier for the event and participation status in your browser so that we may display participation status. Deleting this information will only stop displaying participation status in your browser." msgstr "" @@ -1363,20 +1363,20 @@ msgstr "" "voidaan näyttää. Näiden tietojen poisto vaikuttaa vain siten, että " "osallistumisen tilaa ei enää näytetä selaimessa." -#: lib/web/templates/api/privacy.html.eex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:87 msgctxt "terms" msgid "Note: This information is stored in your localStorage and not your cookies." msgstr "Huomaa: Nämä tiedot tallennetaan localStorage-tietoina eikä evästeinä." -#: lib/web/templates/api/terms.html.eex:71 #, elixir-format +#: lib/web/templates/api/terms.html.eex:71 msgctxt "terms" msgid "Our responsibility" msgstr "Meidän vastuumme" -#: lib/web/templates/api/privacy.html.eex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:61 msgctxt "terms" msgid "Retain server logs containing the IP address of all requests to this server, insofar as such logs are kept, no more than 90 days." msgstr "" @@ -1384,9 +1384,9 @@ msgstr "" "sisältäviä palvelinlokeja, mikäli sellaisia pidetään, enintään 90 päivän " "ajan." +#, elixir-format #: lib/web/templates/api/privacy.html.eex:3 #: lib/web/templates/api/terms.html.eex:15 -#, elixir-format msgctxt "terms" msgid "Some terms, technical or otherwise, used in the text below may cover concepts that are difficult to grasp. We have provided a glossary to help you understand them better." msgstr "" @@ -1394,16 +1394,16 @@ msgstr "" "ymmärtää. Laatimamme sanasto voi auttaa niiden " "ymmärtämisessä." -#: lib/web/templates/api/terms.html.eex:45 #, elixir-format +#: lib/web/templates/api/terms.html.eex:45 msgctxt "terms" msgid "We are not liable for any loss you may incur as a result of someone else using your email or password, either with or without your knowledge." msgstr "" "Emme ole vastuussa seurauksista, jos joku muu käyttää sähköpostiosoitettasi " "ja salasanaasi joko sinun tietäen tai tietämättäsi." -#: lib/web/templates/api/terms.html.eex:50 #, elixir-format +#: lib/web/templates/api/terms.html.eex:50 msgctxt "terms" msgid "We cannot be held responsible should a programming or administrative error make your content visible to a larger audience than intended. Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service." msgstr "" @@ -1413,8 +1413,8 @@ msgstr "" "julkaisemaasi, linkittämääsi tai muulla tavoin palvelussa tai sen kautta " "saataville saattamaasi sisältöä koskevat oikeudet säilyvät sinulla." -#: lib/web/templates/api/privacy.html.eex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:10 msgctxt "terms" msgid "We collect information from you when you register on this instance and gather data when you participate in the platform by reading, writing, and interacting with content shared here. If you register on this instance, you will be asked to enter an email address, a password (hashed) and at least an username. Your email address will be verified by an email containing a unique link. Once the link is activated, we know you control that email address. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly. You may however visit this instance without registering." msgstr "" @@ -1430,8 +1430,8 @@ msgstr "" "otsikkokuva ovat aina julkista tietoa. Voit myös käyttää " "palvelinta rekisteröitymättä." -#: lib/web/templates/api/terms.html.eex:30 #, elixir-format +#: lib/web/templates/api/terms.html.eex:30 msgctxt "terms" msgid "We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature." msgstr "" @@ -1439,8 +1439,8 @@ msgstr "" "esimerkiksi olla tarpeen muuttaa, jos käyttöön otetaan uusia ominaisuuksia, " "tai muusta syystä." -#: lib/web/templates/api/terms.html.eex:20 #, elixir-format +#: lib/web/templates/api/terms.html.eex:20 msgctxt "terms" msgid "When we say “we”, “our”, or “us” in this document, we are referring to the owners, operators and administrators of this Mobilizon instance. The Mobilizon software is provided by the team of Mobilizon contributors, supported by Framasoft, a French not-for-profit organization advocating for Free/Libre Software. Unless explicitly stated, this Mobilizon instance is an independent service using Mobilizon's source code. You may find more information about this instance on the \"About this instance\" page." msgstr "" @@ -1453,8 +1453,8 @@ msgstr "" "itsenäinen palvelu. Voit lukea lisää tästä palvelimesta ”Tietoja tästä palvelimesta” -sivulta." -#: lib/web/templates/api/terms.html.eex:43 #, elixir-format +#: lib/web/templates/api/terms.html.eex:43 msgctxt "terms" msgid "When you create an account you agree to maintain the security and confidentiality of your password and accept all risks of unauthorized access to your account data and any other information you provide to %{instance_name}." msgstr "" @@ -1463,8 +1463,8 @@ msgstr "" "luovuttamiesi tilitietojen ja muiden tietojen luvattomaan käyttöön liittyvät " "riskit." -#: lib/web/templates/api/terms.html.eex:49 #, elixir-format +#: lib/web/templates/api/terms.html.eex:49 msgctxt "terms" msgid "When you post, link or otherwise make available content to the Service, you grant us the right and license to display and distribute your content on or through the Service (including via applications). We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself. The displaying and distribution of your content happens only according to the visibility rules you have set for the content. We will not modify the visibility of the content you have set." msgstr "" @@ -1476,8 +1476,8 @@ msgstr "" "sisällölle asettamiesi näkyvyysehtojen mukaisesti. Emme muuta sisällölle " "asettamiasi näkyvyysehtoja." -#: lib/web/templates/api/privacy.html.eex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:19 msgctxt "terms" msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to different instances and copies are stored there. When you delete events or comments, this is likewise delivered to these other instances. All interactions related to event features - such as joining an event - or group features - such as managing resources - are federated as well. Please keep in mind that the operators of the instance and any receiving instances may view such messages and information, and that recipients may screenshot, copy or otherwise re-share them." msgstr "" @@ -1490,8 +1490,8 @@ msgstr "" "voivat kopioida viestin tekstinä tai kuvankaappauksena tai muulla tavoin " "levittää niitä edelleen." -#: lib/web/templates/api/privacy.html.eex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:99 msgctxt "terms" msgid "Your content may be downloaded by other instances in the network. Your public events and comments are delivered to the instances following your own instance. Content created through a group is forwarded to all the instances of all the members of the group, insofar as these members reside on a different instance than this one." msgstr "" @@ -1501,210 +1501,205 @@ msgstr "" "jäsenten kaikille palvelimille, mikäli ryhmässä on muita kuin tätä " "palvelinta käyttäviä jäseniä." -#: lib/web/templates/email/event_participation_confirmed.text.eex:4 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.text.eex:4 msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Olet vahvistanut osallistumisesi. Päivitä kalenterisi, sillä olet " "osallistujaluettelossa!" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:38 #: lib/web/templates/email/event_participation_confirmed.html.eex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}." -#: lib/web/email/participation.ex:91 #, elixir-format +#: lib/web/email/participation.ex:91 msgid "Your participation to event %{title} has been confirmed" msgstr "Osallistumisesi tapahtumaan %{title} on hyväksytty" -#: lib/web/templates/email/report.html.eex:41 #, elixir-format +#: lib/web/templates/email/report.html.eex:41 msgid "%{reporter} reported the following content." msgstr "" "%{reporter_name} (%{reporter_username}) raportoi seuraavan sisällön." -#: lib/web/templates/email/report.text.eex:5 #, elixir-format +#: lib/web/templates/email/report.text.eex:5 msgid "Group %{group} was reported" msgstr "Ryhmästä %{group} tehtiin ilmoitus" -#: lib/web/templates/email/report.html.eex:51 #, elixir-format +#: lib/web/templates/email/report.html.eex:51 msgid "Group reported" msgstr "Ryhmästä ilmoitettu" -#: lib/web/templates/email/report.text.eex:7 #, elixir-format +#: lib/web/templates/email/report.text.eex:7 msgid "Profile %{profile} was reported" msgstr "Profiilista %{profile} tehtiin ilmoitus" -#: lib/web/templates/email/report.html.eex:56 #, elixir-format +#: lib/web/templates/email/report.html.eex:56 msgid "Profile reported" msgstr "Profiili ilmoitettu" -#: lib/web/templates/email/event_participation_confirmed.html.eex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.eex:45 msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Olet vahvistanut osallistumisesi. Päivitä kalenterisi, sillä olet " "osallistujaluettelossa!" -#: lib/mobilizon/posts/post.ex:94 #, elixir-format +#: lib/mobilizon/posts/post.ex:94 msgid "A text is required for the post" msgstr "Julkaisuun vaaditaan tekstiä" -#: lib/mobilizon/posts/post.ex:93 #, elixir-format +#: lib/mobilizon/posts/post.ex:93 msgid "A title is required for the post" msgstr "Julkaisulle vaaditaan otsikko" -#: lib/web/templates/email/instance_follow.text.eex:3 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:3 msgid "%{name} (%{domain}) just requested to follow your instance." msgstr "%{name} (%{domain}) pyysi saada seurata palvelintasi." -#: lib/web/email/follow.ex:54 #, elixir-format +#: lib/web/email/follow.ex:54 msgid "%{name} requests to follow your instance" msgstr "%{name} pyytää saada seurata palvelintasi" -#: lib/web/templates/email/instance_follow.html.eex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:38 msgid "%{name} (%{domain}) just requested to follow your instance. If you accept, this instance will receive all of your instance's public events." msgstr "" "%{name} (%{domain}) pyysi saada seurata palvelintasi. Jos hyväksyt " "pyynnön, kyseiselle palvelimelle lähetetään kaikki julkiset tapahtumat tällä " "palvelimella." -#: lib/web/templates/email/instance_follow.text.eex:4 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:4 msgid "If you accept, this instance will receive all of your public events." msgstr "" "Jos hyväksyt, kyseiselle palvelimelle lähetetään kaikki julkiset tapahtumasi." -#: lib/web/email/follow.ex:48 #, elixir-format +#: lib/web/email/follow.ex:48 msgid "Instance %{name} (%{domain}) requests to follow your instance" msgstr "Palvelin %{name} (%{domain}) haluaa seurata palvelintasi" -#: lib/web/templates/email/instance_follow.html.eex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:66 msgid "See the federation settings" msgstr "Katso federaatioasetukset" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:52 #: lib/web/templates/email/instance_follow.text.eex:6 -#, elixir-format msgid "To accept this invitation, head over to the instance's admin settings." msgstr "Hyväksy kutsu siirtymällä omiin ryhmiisi." +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:13 #: lib/web/templates/email/instance_follow.text.eex:1 -#, elixir-format msgid "Want to connect?" msgstr "Haluatko yhdistää?" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:45 #: lib/web/templates/email/instance_follow.text.eex:5 -#, elixir-format msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too." msgstr "" "Huom: vaikka %{name} (%{domain}) seuraa sinua, se ei tarkoita, että sinä " "seuraisit kyseistä palvelinta, mutta voit tietenkin lähettää sinne " "seuraamispyynnön." -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Hei! Rekisteröidyit juuri tapahtumaan ”%{title}”. Vahvista " "ilmoittamasi sähköpostiosoite:" -#: lib/web/templates/email/event_participation_rejected.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.eex:38 msgid "You issued a request to attend %{title}." msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}." -#: lib/web/templates/email/event_updated.html.eex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:64 msgid "Event title" msgstr "Tapahtuman otsikko" -#: lib/web/templates/email/event_updated.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:38 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "" "%{title} on joiltain osin muuttunut, ja ajattelimme ilmoittaa asiasta." -#: lib/web/templates/error/500_page.html.eex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:7 msgid "This page is not correct" msgstr "Sivua ei löydy" -#: lib/web/templates/error/500_page.html.eex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Pahoittelemme, tapahtui virhe palvelimen päässä." +#, elixir-format #: lib/web/templates/email/email.html.eex:89 #: lib/web/templates/email/email.text.eex:4 -#, elixir-format msgid "This is a demonstration site to test Mobilizon." msgstr "Tämä on koekäyttöön tarkoitettu Mobilizonin esittelysivu." +#, elixir-format #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 -#, elixir-format msgid "%{name}'s feed" msgstr "%{name} – syöte" -#: lib/service/export/feed.ex:120 #, elixir-format +#: lib/service/export/feed.ex:120 msgid "%{actor}'s private events feed on %{instance}" msgstr "%{actor} – yksityistapahtumien syöte palvelimella %{instance}" -#: lib/service/export/feed.ex:115 #, elixir-format +#: lib/service/export/feed.ex:115 msgid "%{actor}'s public events feed on %{instance}" msgstr "%{actor} – julkisten tapahtumien syöte palvelimella %{instance}" -#: lib/service/export/feed.ex:220 #, elixir-format +#: lib/service/export/feed.ex:220 msgid "Feed for %{email} on %{instance}" msgstr "%{email}-syöte palvelimella %{instance}" -#: lib/web/templates/error/500_page.html.eex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:57 msgid "If the issue persists, you may contact the server administrator at %{contact}." msgstr "" "Jos ongelma jatkuu, voit ottaa yhteyttä palvelimen ylläpitäjään osoitteeseen " "%{contact}." -#: lib/web/templates/error/500_page.html.eex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:55 msgid "If the issue persists, you may try to contact the server administrator." msgstr "Jos ongelma jatkuu, voit ottaa yhteyttä palvelimen ylläpitäjään." -#: lib/web/templates/error/500_page.html.eex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:68 msgid "Technical details" msgstr "Tekniset tiedot" -#: lib/web/templates/error/500_page.html.eex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:52 msgid "The Mobilizon server %{instance} seems to be temporarily down." msgstr "Mobilizon-palvelin näyttää olevan väliakaisesti alhaalla." -#: lib/service/export/feed.ex:73 #, elixir-format +#: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "Palvelimen %{instance} julkinen syöte" - -#: lib/web/email/activity.ex:27 -#, elixir-format -msgid "Activity notification for %{instance}" -msgstr "Palvelimen %{instance} toimenpideilmoitus" diff --git a/priv/gettext/fi/LC_MESSAGES/errors.po b/priv/gettext/fi/LC_MESSAGES/errors.po index 80211574a..765eebb52 100644 --- a/priv/gettext/fi/LC_MESSAGES/errors.po +++ b/priv/gettext/fi/LC_MESSAGES/errors.po @@ -94,766 +94,766 @@ msgstr "tulee olla vähintään %{number}" msgid "must be equal to %{number}" msgstr "tulee olla tasas %{number}" -#: lib/graphql/resolvers/user.ex:100 #, elixir-format +#: lib/graphql/resolvers/user.ex:100 msgid "Cannot refresh the token" msgstr "Merkkiä ei voi päivittää" -#: lib/graphql/resolvers/group.ex:206 #, elixir-format +#: lib/graphql/resolvers/group.ex:206 msgid "Current profile is not a member of this group" msgstr "Nykyinen profiili ei kuulu tähän ryhmään" -#: lib/graphql/resolvers/group.ex:210 #, elixir-format +#: lib/graphql/resolvers/group.ex:210 msgid "Current profile is not an administrator of the selected group" msgstr "Nykyinen profiili ei ole valitun ryhmän ylläpitäjä" -#: lib/graphql/resolvers/user.ex:523 #, elixir-format +#: lib/graphql/resolvers/user.ex:523 msgid "Error while saving user settings" msgstr "Käyttäjän asetusten tallennuksessa tapahtui virhe" +#, elixir-format #: lib/graphql/error.ex:90 lib/graphql/resolvers/group.ex:203 #: lib/graphql/resolvers/group.ex:234 lib/graphql/resolvers/group.ex:269 lib/graphql/resolvers/member.ex:80 -#, elixir-format msgid "Group not found" msgstr "Ryhmää ei löydy" -#: lib/graphql/resolvers/group.ex:68 #, elixir-format +#: lib/graphql/resolvers/group.ex:68 msgid "Group with ID %{id} not found" msgstr "Tunnuksella %{id} ei löydy ryhmää" -#: lib/graphql/resolvers/user.ex:80 #, elixir-format +#: lib/graphql/resolvers/user.ex:80 msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" "Kirjautuminen epäonnistui - joko sähköpostiosoitteesi tai salasana on väärin." -#: lib/graphql/resolvers/group.ex:266 #, elixir-format +#: lib/graphql/resolvers/group.ex:266 msgid "Member not found" msgstr "Jäsentä ei löydy" +#, elixir-format #: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:91 #: lib/graphql/resolvers/user.ex:428 -#, elixir-format msgid "No profile found for the moderator user" msgstr "Moderaattorikäyttäjän profiilia ei löydy" -#: lib/graphql/resolvers/user.ex:215 #, elixir-format +#: lib/graphql/resolvers/user.ex:215 msgid "No user to validate with this email was found" msgstr "Käyttäjää tämän sähköpostin vahvistamiseksi ei löydy" -#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:240 #, elixir-format +#: lib/graphql/resolvers/person.ex:254 lib/graphql/resolvers/user.ex:240 msgid "No user with this email was found" msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199 #: lib/graphql/resolvers/person.ex:279 lib/graphql/resolvers/person.ex:295 lib/graphql/resolvers/person.ex:323 #: lib/graphql/resolvers/person.ex:340 -#, elixir-format msgid "Profile is not owned by authenticated user" msgstr "Profiili ei ole tunnistautuneen käyttäjän omistuksessa" -#: lib/graphql/resolvers/user.ex:145 #, elixir-format +#: lib/graphql/resolvers/user.ex:145 msgid "Registrations are not open" msgstr "Ei voi rekisteröityä" -#: lib/graphql/resolvers/user.ex:353 #, elixir-format +#: lib/graphql/resolvers/user.ex:353 msgid "The current password is invalid" msgstr "Nykyinen salasana ei kelpaa" -#: lib/graphql/resolvers/user.ex:398 #, elixir-format +#: lib/graphql/resolvers/user.ex:398 msgid "The new email doesn't seem to be valid" msgstr "Uusi sähköpostiosoite ei vaikuta kelvolliselta" -#: lib/graphql/resolvers/user.ex:395 #, elixir-format +#: lib/graphql/resolvers/user.ex:395 msgid "The new email must be different" msgstr "Uuden sähköpostiosoitteen on poikettava vanhasta" -#: lib/graphql/resolvers/user.ex:356 #, elixir-format +#: lib/graphql/resolvers/user.ex:356 msgid "The new password must be different" msgstr "Uuden salasanan on poikettava vanhasta" +#, elixir-format #: lib/graphql/resolvers/user.ex:392 lib/graphql/resolvers/user.ex:450 #: lib/graphql/resolvers/user.ex:453 -#, elixir-format msgid "The password provided is invalid" msgstr "Annettu salasana on epäkelpo" -#: lib/graphql/resolvers/user.ex:360 #, elixir-format +#: lib/graphql/resolvers/user.ex:360 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Valitsemasi salasana on liian lyhyt. Käytä vähintään kuuden merkin mittaista " "salasanaa." -#: lib/graphql/resolvers/user.ex:236 #, elixir-format +#: lib/graphql/resolvers/user.ex:236 msgid "This user can't reset their password" msgstr "Käyttäjä ei voi palauttaa salasanaansa" -#: lib/graphql/resolvers/user.ex:76 #, elixir-format +#: lib/graphql/resolvers/user.ex:76 msgid "This user has been disabled" msgstr "Käyttäjä on poistettu käytöstä" -#: lib/graphql/resolvers/user.ex:199 #, elixir-format +#: lib/graphql/resolvers/user.ex:199 msgid "Unable to validate user" msgstr "Käyttäjää ei voi vahvistaa" -#: lib/graphql/resolvers/user.ex:431 #, elixir-format +#: lib/graphql/resolvers/user.ex:431 msgid "User already disabled" msgstr "Käyttäjä on jo poistettu käytöstä" -#: lib/graphql/resolvers/user.ex:498 #, elixir-format +#: lib/graphql/resolvers/user.ex:498 msgid "User requested is not logged-in" msgstr "Pyydetty käyttäjä ei ole kirjautuneena sisään" -#: lib/graphql/resolvers/group.ex:240 #, elixir-format +#: lib/graphql/resolvers/group.ex:240 msgid "You are already a member of this group" msgstr "Olet jo tämän ryhmän jäsen" -#: lib/graphql/resolvers/group.ex:273 #, elixir-format +#: lib/graphql/resolvers/group.ex:273 msgid "You can't leave this group because you are the only administrator" msgstr "Et voi poistua ryhmästä, koska olet sen ainoa ylläpitäjä" -#: lib/graphql/resolvers/group.ex:237 #, elixir-format +#: lib/graphql/resolvers/group.ex:237 msgid "You cannot join this group" msgstr "Et voi liittyä tähän ryhmään" -#: lib/graphql/resolvers/group.ex:96 #, elixir-format +#: lib/graphql/resolvers/group.ex:96 msgid "You may not list groups unless moderator." msgstr "Voit nähdä ryhmäluettelon vain, jos olet moderaattori." -#: lib/graphql/resolvers/user.ex:403 #, elixir-format +#: lib/graphql/resolvers/user.ex:403 msgid "You need to be logged-in to change your email" msgstr "Sähköpostiosoitteen voi vaihtaa vain sisäänkirjautuneena" -#: lib/graphql/resolvers/user.ex:368 #, elixir-format +#: lib/graphql/resolvers/user.ex:368 msgid "You need to be logged-in to change your password" msgstr "Salasanan voi vaihtaa vain sisäänkirjautuneena" -#: lib/graphql/resolvers/group.ex:215 #, elixir-format +#: lib/graphql/resolvers/group.ex:215 msgid "You need to be logged-in to delete a group" msgstr "Ryhmän voi poistaa vain sisäänkirjautuneena" -#: lib/graphql/resolvers/user.ex:458 #, elixir-format +#: lib/graphql/resolvers/user.ex:458 msgid "You need to be logged-in to delete your account" msgstr "Voit poistaa tilisi vain sisäänkirjautuneena" -#: lib/graphql/resolvers/group.ex:245 #, elixir-format +#: lib/graphql/resolvers/group.ex:245 msgid "You need to be logged-in to join a group" msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena" -#: lib/graphql/resolvers/group.ex:278 #, elixir-format +#: lib/graphql/resolvers/group.ex:278 msgid "You need to be logged-in to leave a group" msgstr "Voit poistua ryhmästä vain sisäänkirjautuneena" -#: lib/graphql/resolvers/group.ex:180 #, elixir-format +#: lib/graphql/resolvers/group.ex:180 msgid "You need to be logged-in to update a group" msgstr "Voit päivittää ryhmää vain sisäänkirjautuneena" -#: lib/graphql/resolvers/user.ex:105 #, elixir-format +#: lib/graphql/resolvers/user.ex:105 msgid "You need to have an existing token to get a refresh token" msgstr "Voit saada uuden merkin vain, jos sinulla on jo merkki" -#: lib/graphql/resolvers/user.ex:218 lib/graphql/resolvers/user.ex:243 #, elixir-format +#: lib/graphql/resolvers/user.ex:218 lib/graphql/resolvers/user.ex:243 msgid "You requested again a confirmation email too soon" msgstr "Pyysit uutta vahvistussähköpostia liian aikaisin" -#: lib/graphql/resolvers/user.ex:148 #, elixir-format +#: lib/graphql/resolvers/user.ex:148 msgid "Your email is not on the allowlist" msgstr "Sähköpostiosoitteesi ei ole sallittujen luettelossa" -#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/actor.ex:97 #, elixir-format +#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/actor.ex:97 msgid "Error while performing background task" msgstr "Virhe taustatehtävää suoritettaessa" -#: lib/graphql/resolvers/actor.ex:30 #, elixir-format +#: lib/graphql/resolvers/actor.ex:30 msgid "No profile found with this ID" msgstr "Tällä tunnisteella ei löytynyt profiilia" -#: lib/graphql/resolvers/actor.ex:57 lib/graphql/resolvers/actor.ex:94 #, elixir-format +#: lib/graphql/resolvers/actor.ex:57 lib/graphql/resolvers/actor.ex:94 msgid "No remote profile found with this ID" msgstr "Tällä tunnisteella ei löytynyt etäprofiilia" -#: lib/graphql/resolvers/actor.ex:72 #, elixir-format +#: lib/graphql/resolvers/actor.ex:72 msgid "Only moderators and administrators can suspend a profile" msgstr "Vain moderaattorit ja ylläpitäjät voivat hyllyttää profiilin" -#: lib/graphql/resolvers/actor.ex:102 #, elixir-format +#: lib/graphql/resolvers/actor.ex:102 msgid "Only moderators and administrators can unsuspend a profile" msgstr "Vain moderaattorit ja ylläpitäjät voivat palauttaa hyllytetyn profiilin" -#: lib/graphql/resolvers/actor.ex:27 #, elixir-format +#: lib/graphql/resolvers/actor.ex:27 msgid "Only remote profiles may be refreshed" msgstr "Vain etäprofiilit voi ladata uudelleen" -#: lib/graphql/resolvers/actor.ex:64 #, elixir-format +#: lib/graphql/resolvers/actor.ex:64 msgid "Profile already suspended" msgstr "Profiili on jo hyllytetty" -#: lib/graphql/resolvers/participant.ex:92 #, elixir-format +#: lib/graphql/resolvers/participant.ex:92 msgid "A valid email is required by your instance" msgstr "Palvelin vaatii kelvollisen sähköpostiosoitteen" -#: lib/graphql/resolvers/participant.ex:86 #, elixir-format +#: lib/graphql/resolvers/participant.ex:86 msgid "Anonymous participation is not enabled" msgstr "Anonyymi osallistuminen ei ole käytössä" -#: lib/graphql/resolvers/person.ex:196 #, elixir-format +#: lib/graphql/resolvers/person.ex:196 msgid "Cannot remove the last administrator of a group" msgstr "Ryhmän viimeistä ylläpitäjää ei voi poistaa" -#: lib/graphql/resolvers/person.ex:193 #, elixir-format +#: lib/graphql/resolvers/person.ex:193 msgid "Cannot remove the last identity of a user" msgstr "Käyttäjän viimeistä identiteettiä ei voi poistaa" -#: lib/graphql/resolvers/comment.ex:108 #, elixir-format +#: lib/graphql/resolvers/comment.ex:108 msgid "Comment is already deleted" msgstr "Kommentti on jo poistettu" -#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62 #, elixir-format +#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62 msgid "Discussion not found" msgstr "Keskustelua ei löydy" -#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 #, elixir-format +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Virhe raporttia tallennettaessa" -#: lib/graphql/resolvers/report.ex:96 #, elixir-format +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Virhe raporttia päivitettäessä" -#: lib/graphql/resolvers/participant.ex:127 #, elixir-format +#: lib/graphql/resolvers/participant.ex:127 msgid "Event id not found" msgstr "Tapahtumatunnistetta ei löydy" +#, elixir-format #: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:284 #: lib/graphql/resolvers/event.ex:328 -#, elixir-format msgid "Event not found" msgstr "Tapahtumaa ei löydy" +#, elixir-format #: lib/graphql/resolvers/participant.ex:83 #: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156 -#, elixir-format msgid "Event with this ID %{id} doesn't exist" msgstr "Tunnisteella %{id} ei ole tapahtumaa" -#: lib/graphql/resolvers/participant.ex:99 #, elixir-format +#: lib/graphql/resolvers/participant.ex:99 msgid "Internal Error" msgstr "Sisäinen virhe" -#: lib/graphql/resolvers/discussion.ex:202 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:202 msgid "No discussion with ID %{id}" msgstr "Tunnisteella %{id} ei ole keskustelua" -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 #, elixir-format +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Käyttäjälle ei löydy profiilia" -#: lib/graphql/resolvers/feed_token.ex:64 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:64 msgid "No such feed token" msgstr "Kyseistä syötemerkkiä ei ole" -#: lib/graphql/resolvers/participant.ex:237 #, elixir-format +#: lib/graphql/resolvers/participant.ex:237 msgid "Participant already has role %{role}" msgstr "Osallistujalla on jo rooli %{role}" +#, elixir-format #: lib/graphql/resolvers/participant.ex:169 #: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230 #: lib/graphql/resolvers/participant.ex:240 -#, elixir-format msgid "Participant not found" msgstr "Osallistujaa ei löydy" -#: lib/graphql/resolvers/person.ex:30 #, elixir-format +#: lib/graphql/resolvers/person.ex:30 msgid "Person with ID %{id} not found" msgstr "Tunnuksella %{id} ei löydy henkilöä" -#: lib/graphql/resolvers/person.ex:52 #, elixir-format +#: lib/graphql/resolvers/person.ex:52 msgid "Person with username %{username} not found" msgstr "Käyttäjänimellä %{username} ei löydy henkilöä" -#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200 #, elixir-format +#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200 msgid "Post ID is not a valid ID" msgstr "Julkaisun tunnus ei ole kelvollinen" -#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203 #, elixir-format +#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203 msgid "Post doesn't exist" msgstr "Julkaisua ei ole" -#: lib/graphql/resolvers/member.ex:83 #, elixir-format +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "Kutsuttua profiilia ei ole" -#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 #, elixir-format +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "Profiili on jo ryhmän jäsen" +#, elixir-format #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 #: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 -#, elixir-format msgid "Profile is not member of group" msgstr "Profiili ei ole ryhmän jäsen" -#: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190 #, elixir-format +#: lib/graphql/resolvers/person.ex:162 lib/graphql/resolvers/person.ex:190 msgid "Profile not found" msgstr "Profiilia ei löydy" -#: lib/graphql/resolvers/report.ex:36 #, elixir-format +#: lib/graphql/resolvers/report.ex:36 msgid "Report not found" msgstr "Raporttia ei löydy" -#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183 #, elixir-format +#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183 msgid "Resource doesn't exist" msgstr "Resurssia ei ole" -#: lib/graphql/resolvers/participant.ex:120 #, elixir-format +#: lib/graphql/resolvers/participant.ex:120 msgid "The event has already reached its maximum capacity" msgstr "Tapahtuma on jo täynnä" -#: lib/graphql/resolvers/participant.ex:260 #, elixir-format +#: lib/graphql/resolvers/participant.ex:260 msgid "This token is invalid" msgstr "Epäkelpo merkki" -#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 #, elixir-format +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "Työkalua ei ole" +#, elixir-format #: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 #: lib/graphql/resolvers/todos.ex:216 -#, elixir-format msgid "Todo list doesn't exist" msgstr "Tehtäväluetteloa ei ole" -#: lib/graphql/resolvers/feed_token.ex:73 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:73 msgid "Token does not exist" msgstr "Merkkiä ei ole" -#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:67 lib/graphql/resolvers/feed_token.ex:70 msgid "Token is not a valid UUID" msgstr "Merkki ei ole kelvollinen UUID" -#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:356 #, elixir-format +#: lib/graphql/error.ex:87 lib/graphql/resolvers/person.ex:356 msgid "User not found" msgstr "Käyttäjää ei löydy" -#: lib/graphql/resolvers/person.ex:257 #, elixir-format +#: lib/graphql/resolvers/person.ex:257 msgid "You already have a profile for this user" msgstr "Sinulla on jo profiili tälle käyttäjälle" -#: lib/graphql/resolvers/participant.ex:130 #, elixir-format +#: lib/graphql/resolvers/participant.ex:130 msgid "You are already a participant of this event" msgstr "Olet jo tapahtuman osallistuja" -#: lib/graphql/resolvers/member.ex:86 #, elixir-format +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "Et ole ryhmän jäsen" -#: lib/graphql/resolvers/member.ex:149 #, elixir-format +#: lib/graphql/resolvers/member.ex:149 msgid "You are not a moderator or admin for this group" msgstr "Et ole ryhmän moderaattori tai ylläpitäjä" -#: lib/graphql/resolvers/comment.ex:54 #, elixir-format +#: lib/graphql/resolvers/comment.ex:54 msgid "You are not allowed to create a comment if not connected" msgstr "Ilman yhteyttä ei voi kommentoida" -#: lib/graphql/resolvers/feed_token.ex:41 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:41 msgid "You are not allowed to create a feed token if not connected" msgstr "Ilman yhteyttä ei voi luoda syötemerkkiä" -#: lib/graphql/resolvers/comment.ex:113 #, elixir-format +#: lib/graphql/resolvers/comment.ex:113 msgid "You are not allowed to delete a comment if not connected" msgstr "Ilman yhteyttä ei voi poistaa kommenttia" -#: lib/graphql/resolvers/feed_token.ex:82 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:82 msgid "You are not allowed to delete a feed token if not connected" msgstr "Ilman yhteyttä ei voi poistaa syötemerkkiä" -#: lib/graphql/resolvers/comment.ex:76 #, elixir-format +#: lib/graphql/resolvers/comment.ex:76 msgid "You are not allowed to update a comment if not connected" msgstr "Ilman yhteyttä ei voi päivittää kommenttia" +#, elixir-format #: lib/graphql/resolvers/participant.ex:163 #: lib/graphql/resolvers/participant.ex:192 -#, elixir-format msgid "You can't leave event because you're the only event creator participant" msgstr "" "Et voi poistua tapahtumasta, koska olet ainoa tapahtuman luonut osallistuja" -#: lib/graphql/resolvers/member.ex:153 #, elixir-format +#: lib/graphql/resolvers/member.ex:153 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Et voi vaihtaa jäsenrooliasi ryhmässä nykyistä alemmaksi, koska olet ainoa " "ylläpitäjä" -#: lib/graphql/resolvers/comment.ex:104 #, elixir-format +#: lib/graphql/resolvers/comment.ex:104 msgid "You cannot delete this comment" msgstr "Et voi poistaa kommenttia" -#: lib/graphql/resolvers/event.ex:324 #, elixir-format +#: lib/graphql/resolvers/event.ex:324 msgid "You cannot delete this event" msgstr "Et voi poistaa tapahtumaa" -#: lib/graphql/resolvers/member.ex:89 #, elixir-format +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "Et voi kutsua tähän ryhmään" -#: lib/graphql/resolvers/feed_token.ex:76 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:76 msgid "You don't have permission to delete this token" msgstr "Sinulla ei ole oikeutta poistaa tätä merkkiä" -#: lib/graphql/resolvers/admin.ex:53 #, elixir-format +#: lib/graphql/resolvers/admin.ex:53 msgid "You need to be logged-in and a moderator to list action logs" msgstr "Toimintalokien katselu vain moderaattorille sisäänkirjautuneena" -#: lib/graphql/resolvers/report.ex:26 #, elixir-format +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "Raporttien katselu vain moderaattorille sisäänkirjautuneena" -#: lib/graphql/resolvers/report.ex:101 #, elixir-format +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "Raportin päivittäminen vain moderaattorille sisäänkirjautuneena" -#: lib/graphql/resolvers/report.ex:41 #, elixir-format +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "Raportin katselu vain moderaattorille sisäänkirjautuneena" -#: lib/graphql/resolvers/admin.ex:237 #, elixir-format +#: lib/graphql/resolvers/admin.ex:237 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "Pääsy ylläpitoasetuksiin vain ylläpitäjälle sisäänkirjautuneena" -#: lib/graphql/resolvers/admin.ex:222 #, elixir-format +#: lib/graphql/resolvers/admin.ex:222 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "Pääsy koontinäytön tilastoihin vain ylläpitäjälle sisäänkirjautuneena" -#: lib/graphql/resolvers/admin.ex:261 #, elixir-format +#: lib/graphql/resolvers/admin.ex:261 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "Ylläpitoasetusten tallennus vain ylläpitäjälle sisäänkirjautuneena" -#: lib/graphql/resolvers/discussion.ex:77 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:77 msgid "You need to be logged-in to access discussions" msgstr "Pääsy keskusteluihin vain sisäänkirjautuneena" -#: lib/graphql/resolvers/resource.ex:94 #, elixir-format +#: lib/graphql/resolvers/resource.ex:94 msgid "You need to be logged-in to access resources" msgstr "Pääsy resursseihin vain sisäänkirjautuneena" -#: lib/graphql/resolvers/event.ex:259 #, elixir-format +#: lib/graphql/resolvers/event.ex:259 msgid "You need to be logged-in to create events" msgstr "Tapahtumien luonti vain sisäänkirjautuneena" -#: lib/graphql/resolvers/post.ex:140 #, elixir-format +#: lib/graphql/resolvers/post.ex:140 msgid "You need to be logged-in to create posts" msgstr "Julkaisujen luonti vain sisäänkirjautuneena" -#: lib/graphql/resolvers/report.ex:74 #, elixir-format +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Raporttien luonti vain sisäänkirjautuneena" -#: lib/graphql/resolvers/resource.ex:133 #, elixir-format +#: lib/graphql/resolvers/resource.ex:133 msgid "You need to be logged-in to create resources" msgstr "Resurssien luonti vain sisäänkirjautuneena" -#: lib/graphql/resolvers/event.ex:333 #, elixir-format +#: lib/graphql/resolvers/event.ex:333 msgid "You need to be logged-in to delete an event" msgstr "Tapahtuman poisto vain sisäänkirjautuneena" -#: lib/graphql/resolvers/post.ex:211 #, elixir-format +#: lib/graphql/resolvers/post.ex:211 msgid "You need to be logged-in to delete posts" msgstr "Julkaisujen poisto vain sisäänkirjautuneena" -#: lib/graphql/resolvers/resource.ex:191 #, elixir-format +#: lib/graphql/resolvers/resource.ex:191 msgid "You need to be logged-in to delete resources" msgstr "Resurssien poisto vain sisäänkirjautuneena" -#: lib/graphql/resolvers/participant.ex:104 #, elixir-format +#: lib/graphql/resolvers/participant.ex:104 msgid "You need to be logged-in to join an event" msgstr "Tapahtumaan liittyminen vain sisäänkirjautuneena" -#: lib/graphql/resolvers/participant.ex:203 #, elixir-format +#: lib/graphql/resolvers/participant.ex:203 msgid "You need to be logged-in to leave an event" msgstr "Tapahtumasta poistuminen vain sisäänkirjautuneena" -#: lib/graphql/resolvers/event.ex:298 #, elixir-format +#: lib/graphql/resolvers/event.ex:298 msgid "You need to be logged-in to update an event" msgstr "Tapahtuman päivittäminen vain sisäänkirjautuneena" -#: lib/graphql/resolvers/post.ex:178 #, elixir-format +#: lib/graphql/resolvers/post.ex:178 msgid "You need to be logged-in to update posts" msgstr "Julkaisujen päivittäminen vain sisäänkirjautuneena" -#: lib/graphql/resolvers/resource.ex:162 #, elixir-format +#: lib/graphql/resolvers/resource.ex:162 msgid "You need to be logged-in to update resources" msgstr "Resurssien päivittäminen vain sisäänkirjautuneena" -#: lib/graphql/resolvers/resource.ex:218 #, elixir-format +#: lib/graphql/resolvers/resource.ex:218 msgid "You need to be logged-in to view a resource preview" msgstr "Resurssin esikatselu vain sisäänkirjautuneena" -#: lib/graphql/resolvers/resource.ex:125 #, elixir-format +#: lib/graphql/resolvers/resource.ex:125 msgid "Parent resource doesn't belong to this group" msgstr "Ylätason resurssi ei kuulu tähän ryhmään" -#: lib/mobilizon/users/user.ex:110 #, elixir-format +#: lib/mobilizon/users/user.ex:110 msgid "The chosen password is too short." msgstr "Valittu salasana on liian lyhyt." -#: lib/mobilizon/users/user.ex:139 #, elixir-format +#: lib/mobilizon/users/user.ex:139 msgid "The registration token is already in use, this looks like an issue on our side." msgstr "Rekisteröintimerkki on jo käytössä. Vaikuttaa palvelinpään virheeltä." -#: lib/mobilizon/users/user.ex:105 #, elixir-format +#: lib/mobilizon/users/user.ex:105 msgid "This email is already used." msgstr "Sähköpostiosoite on jo käytössä." -#: lib/graphql/error.ex:88 #, elixir-format +#: lib/graphql/error.ex:88 msgid "Post not found" msgstr "Julkaisua ei löydy" -#: lib/graphql/error.ex:75 #, elixir-format +#: lib/graphql/error.ex:75 msgid "Invalid arguments passed" msgstr "Virheelliset argumentit välitetty" -#: lib/graphql/error.ex:81 #, elixir-format +#: lib/graphql/error.ex:81 msgid "Invalid credentials" msgstr "Virheelliset kirjautumistiedot" -#: lib/graphql/error.ex:79 #, elixir-format +#: lib/graphql/error.ex:79 msgid "Reset your password to login" msgstr "Palauta salasana, jotta voit kirjautua sisään" -#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 #, elixir-format +#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 msgid "Resource not found" msgstr "Resurssia ei löydy" -#: lib/graphql/error.ex:93 #, elixir-format +#: lib/graphql/error.ex:93 msgid "Something went wrong" msgstr "Jokin meni vikaan" -#: lib/graphql/error.ex:74 #, elixir-format +#: lib/graphql/error.ex:74 msgid "Unknown Resource" msgstr "Tuntematon resurssi" -#: lib/graphql/error.ex:84 #, elixir-format +#: lib/graphql/error.ex:84 msgid "You don't have permission to do this" msgstr "Sinulla ei ole oikeutta tähän" -#: lib/graphql/error.ex:76 #, elixir-format +#: lib/graphql/error.ex:76 msgid "You need to be logged in" msgstr "Kirjaudu ensin sisään" -#: lib/graphql/resolvers/member.ex:114 #, elixir-format +#: lib/graphql/resolvers/member.ex:114 msgid "You can't accept this invitation with this profile." msgstr "Et voi hyväksyä kutsua tällä profiililla." -#: lib/graphql/resolvers/member.ex:132 #, elixir-format +#: lib/graphql/resolvers/member.ex:132 msgid "You can't reject this invitation with this profile." msgstr "Et voi hylätä kutsua tällä profiililla." -#: lib/graphql/resolvers/media.ex:62 #, elixir-format +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "Tiedostolla ei ole sallittua MIME-tyyppiä." -#: lib/graphql/resolvers/group.ex:175 #, elixir-format +#: lib/graphql/resolvers/group.ex:175 msgid "Profile is not administrator for the group" msgstr "Profiili ei ole ryhmän ylläpitäjä" -#: lib/graphql/resolvers/event.ex:287 #, elixir-format +#: lib/graphql/resolvers/event.ex:287 msgid "You can't edit this event." msgstr "Et voi muokata tapahtumaa." -#: lib/graphql/resolvers/event.ex:290 #, elixir-format +#: lib/graphql/resolvers/event.ex:290 msgid "You can't attribute this event to this profile." msgstr "Et voi yhdistää tapahtumaa tähän profiiliin." -#: lib/graphql/resolvers/member.ex:135 #, elixir-format +#: lib/graphql/resolvers/member.ex:135 msgid "This invitation doesn't exist." msgstr "Kutsua ei ole." -#: lib/graphql/resolvers/member.ex:177 #, elixir-format +#: lib/graphql/resolvers/member.ex:177 msgid "This member already has been rejected." msgstr "Jäsen on jo hylätty." -#: lib/graphql/resolvers/member.ex:184 #, elixir-format +#: lib/graphql/resolvers/member.ex:184 msgid "You don't have the right to remove this member." msgstr "Sinulla ei ole oikeutta poistaa jäsentä." -#: lib/mobilizon/actors/actor.ex:351 #, elixir-format +#: lib/mobilizon/actors/actor.ex:351 msgid "This username is already taken." msgstr "Käyttäjänimi on jo käytössä." -#: lib/graphql/resolvers/discussion.ex:74 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:74 msgid "You must provide either an ID or a slug to access a discussion" msgstr "Keskusteluun pääsemiseen vaaditaan tunniste tai polkutunnus" -#: lib/graphql/resolvers/event.ex:248 #, elixir-format +#: lib/graphql/resolvers/event.ex:248 msgid "Organizer profile is not owned by the user" msgstr "Järjestäjän profiili ei ole käyttäjän hallussa" -#: lib/graphql/resolvers/participant.ex:89 #, elixir-format +#: lib/graphql/resolvers/participant.ex:89 msgid "Profile ID provided is not the anonymous profile one" msgstr "Annettu profiilitunniste ei kuulu anonyymille profiilille" +#, elixir-format #: lib/graphql/resolvers/group.ex:136 lib/graphql/resolvers/group.ex:169 #: lib/graphql/resolvers/person.ex:132 lib/graphql/resolvers/person.ex:159 lib/graphql/resolvers/person.ex:251 -#, elixir-format msgid "The provided picture is too heavy" msgstr "Toimitettu kuva on liian suuri" -#: lib/web/views/utils.ex:33 #, elixir-format +#: lib/web/views/utils.ex:33 msgid "Index file not found. You need to recompile the front-end." msgstr "Indeksitiedostoa ei löydy. Kokoa käyttöliittymä uudelleen." -#: lib/graphql/resolvers/resource.ex:122 #, elixir-format +#: lib/graphql/resolvers/resource.ex:122 msgid "Error while creating resource" msgstr "Virhe raporttia tallennettaessa" -#: lib/graphql/resolvers/user.ex:412 #, elixir-format +#: lib/graphql/resolvers/user.ex:412 msgid "Invalid activation token" msgstr "Virheellinen aktivointimerkki" -#: lib/graphql/resolvers/resource.ex:208 #, elixir-format +#: lib/graphql/resolvers/resource.ex:208 msgid "Unable to fetch resource details from this URL." msgstr "Resurssin tietoja ei voida hakea tästä URL-osoitteesta." -#: lib/graphql/resolvers/event.ex:148 lib/graphql/resolvers/participant.ex:234 #, elixir-format +#: lib/graphql/resolvers/event.ex:148 lib/graphql/resolvers/participant.ex:234 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "Annetulla moderaattoriprofiililla ei ole oikeuksia tähän tapahtumaan" diff --git a/priv/gettext/fr/LC_MESSAGES/activity.po b/priv/gettext/fr/LC_MESSAGES/activity.po index 9d342604a..3207d4ff5 100644 --- a/priv/gettext/fr/LC_MESSAGES/activity.po +++ b/priv/gettext/fr/LC_MESSAGES/activity.po @@ -10,266 +10,284 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-06-07 06:28+0000\n" +"PO-Revision-Date: 2021-06-25 09:38+0200\n" "Last-Translator: Thomas Citharel \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.6.2\n" +"X-Generator: Poedit 2.4.3\n" +#, elixir-format #: lib/service/activity/renderer/member.ex:38 #: lib/web/templates/email/activity/_member_activity_item.html.eex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12 -#, elixir-format msgid "%{member} accepted the invitation to join the group." msgstr "%{member} a accepté l'invitation à rejoindre le groupe." +#, elixir-format #: lib/service/activity/renderer/member.ex:42 #: lib/web/templates/email/activity/_member_activity_item.html.eex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17 -#, elixir-format msgid "%{member} rejected the invitation to join the group." msgstr "%{member} a refusé l'invitation à rejoindre le groupe." +#, elixir-format #: lib/service/activity/renderer/member.ex:30 #: lib/web/templates/email/activity/_member_activity_item.html.eex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1 -#, elixir-format msgid "%{member} requested to join the group." msgstr "%{member} a demandé à rejoindre le groupe." +#, elixir-format #: lib/service/activity/renderer/member.ex:34 #: lib/web/templates/email/activity/_member_activity_item.html.eex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6 -#, elixir-format msgid "%{member} was invited by %{profile}." msgstr "%{member} a été invité⋅e par %{profile}." +#, elixir-format #: lib/service/activity/renderer/member.ex:50 #: lib/web/templates/email/activity/_member_activity_item.html.eex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27 -#, elixir-format msgid "%{profile} added the member %{member}." msgstr "%{profile} a ajouté le ou la membre %{membre}." -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "%{profile} a archivé la discussion %{discussion}." -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "%{profile} a créé la discussion %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:24 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2 -#, elixir-format msgid "%{profile} created the folder %{resource}." msgstr "%{profile} a créé le dossier %{resource}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:4 #: lib/web/templates/email/activity/_group_activity_item.text.eex:1 -#, elixir-format msgid "%{profile} created the group %{group}." msgstr "%{profile} a créé le groupe %{group}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:33 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8 -#, elixir-format msgid "%{profile} created the resource %{resource}." msgstr "%{profile} a créé la resource %{resource}." -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "%{profile} a créé la discussion %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:97 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40 -#, elixir-format msgid "%{profile} deleted the folder %{resource}." msgstr "%{profile} a supprimé le dossier %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:106 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} deleted the resource %{resource}." msgstr "%{profile} a supprimé la resource %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:58 #: lib/web/templates/email/activity/_member_activity_item.html.eex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39 -#, elixir-format msgid "%{profile} excluded member %{member}." msgstr "%{profile} a exclu le ou la membre %{membre}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:76 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28 -#, elixir-format msgid "%{profile} moved the folder %{resource}." msgstr "%{profile} a déplacé le dossier %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:85 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34 -#, elixir-format msgid "%{profile} moved the resource %{resource}." msgstr "%{profile} a déplacé la ressource %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:62 #: lib/web/templates/email/activity/_member_activity_item.html.eex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} quit the group." msgstr "%{profile} a quitté le groupe." -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "%{profile} a renommé la discussion %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:45 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14 -#, elixir-format msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:59 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21 -#, elixir-format msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." msgstr "%{profile} a renommé la resource %{old_resource_title} en %{resource}." -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "%{profile} a répondu à la discussion %{discussion}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:19 #: lib/web/templates/email/activity/_group_activity_item.text.eex:7 -#, elixir-format msgid "%{profile} updated the group %{group}." msgstr "%{profile} a mis à jour le groupe %{group}." +#, elixir-format #: lib/service/activity/renderer/member.ex:54 #: lib/web/templates/email/activity/_member_activity_item.html.eex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33 -#, elixir-format msgid "%{profile} updated the member %{member}." msgstr "%{profile} a mis à jour le membre %{member}." +#, elixir-format #: lib/service/activity/renderer/event.ex:23 #: lib/web/templates/email/activity/_event_activity_item.html.eex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1 -#, elixir-format msgid "The event %{event} was created by %{profile}." msgstr "L'événement %{event} a été créé par %{profile}." +#, elixir-format #: lib/service/activity/renderer/event.ex:43 #: lib/web/templates/email/activity/_event_activity_item.html.eex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13 -#, elixir-format msgid "The event %{event} was deleted by %{profile}." msgstr "L'événement %{event} a été supprimé par %{profile}." +#, elixir-format #: lib/service/activity/renderer/event.ex:33 #: lib/web/templates/email/activity/_event_activity_item.html.eex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7 -#, elixir-format msgid "The event %{event} was updated by %{profile}." msgstr "L'événement %{event} a été mis à jour par %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:23 #: lib/web/templates/email/activity/_post_activity_item.html.eex:4 lib/web/templates/email/activity/_post_activity_item.text.eex:1 -#, elixir-format msgid "The post %{post} was created by %{profile}." msgstr "Le billet %{post} a été créé par %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:43 #: lib/web/templates/email/activity/_post_activity_item.html.eex:34 lib/web/templates/email/activity/_post_activity_item.text.eex:13 -#, elixir-format msgid "The post %{post} was deleted by %{profile}." msgstr "Le billet %{post} a été supprimé par %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:33 #: lib/web/templates/email/activity/_post_activity_item.html.eex:19 lib/web/templates/email/activity/_post_activity_item.text.eex:7 -#, elixir-format msgid "The post %{post} was updated by %{profile}." msgstr "Le billet %{post} a été mis à jour par %{profile}." +#, elixir-format #: lib/service/activity/renderer/member.ex:46 #: lib/web/templates/email/activity/_member_activity_item.html.eex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22 -#, elixir-format msgid "%{member} joined the group." msgstr "%{member} a rejoint le groupe." +#, elixir-format #: lib/service/activity/renderer/event.ex:63 #: lib/web/templates/email/activity/_event_activity_item.html.eex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25 -#, elixir-format msgid "%{profile} posted a comment on the event %{event}." msgstr "%{profile} a posté un commentaire sur l'événement %{event}." +#, elixir-format #: lib/service/activity/renderer/event.ex:54 #: lib/web/templates/email/activity/_event_activity_item.html.eex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19 -#, elixir-format msgid "%{profile} replied to a comment on the event %{event}." msgstr "%{profile} a répondu à un commentaire sur l'événement %{event}." -#: lib/web/templates/email/email_direct_activity.html.eex:144 -#: lib/web/templates/email/email_direct_activity.text.eex:23 #, elixir-format +#: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans vos préférences." -#: lib/web/templates/email/email_direct_activity.html.eex:124 -#: lib/web/templates/email/email_direct_activity.text.eex:19 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:133 +#: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" msgstr[0] "Voir une activité de plus" msgstr[1] "Voir %{count} activités de plus" -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "Il y a eu une activité !" msgstr[1] "Il y a eu de l'activité !" -#: lib/service/activity/renderer/renderer.ex:38 #, elixir-format +#: lib/service/activity/renderer/renderer.ex:38 msgid "Activity on %{instance}" msgstr "Activité sur %{instance}" +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 -#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." -msgstr "%{profile} a posté un commentaire sous l'événement %{event}." +msgstr "%{profile} a posté une annonce sous l'événement %{event}." -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 #, elixir-format -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" -"%{profile} vous a mentionné dans un commentaire sous l'événement %{event}." - #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 -#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." -msgstr "" -"%{profile} vous a mentionné dans un commentaire sous l'événement %{event}." +msgstr "%{profile} vous a mentionné dans un commentaire sous l'événement %{event}." -#: lib/service/activity/renderer/comment.ex:52 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "%{profile} vous a mentionné dans la discussion %{discussion}." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" +"Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans %{tag_start}vos " +"préférences%{tag_end}." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "Voici votre récapitulatif hebdomadaire d'activité" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "Notification d'activité sur %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "Récapitulatif quotidien d'activité sur %{instance}" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "Voici votre récapitulatif quotidien d'activité" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "Récapitulatif hebdomadaire d'activité sur %{instance}" diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po index 0dc5883fa..995d2be1f 100644 --- a/priv/gettext/fr/LC_MESSAGES/default.po +++ b/priv/gettext/fr/LC_MESSAGES/default.po @@ -422,7 +422,7 @@ msgstr[0] "Vous avez un événement aujourd'hui :" msgstr[1] "Vous avez %{total} événements aujourd'hui :" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "L'organisateur·ice de l'événement n'a pas ajouté de description." @@ -1428,8 +1428,3 @@ msgstr "Le serveur Mobilizon %{instance} semble être temporairement hors-servic #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "Flux public pour %{instance}" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "Notification d'activité sur %{instance}" diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po index 6e2d2c8d3..5739ef199 100644 --- a/priv/gettext/fr/LC_MESSAGES/errors.po +++ b/priv/gettext/fr/LC_MESSAGES/errors.po @@ -773,7 +773,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Vous ne pouvez pas rejeter cette invitation avec ce profil." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "Le fichier n'a pas un type MIME autorisé." diff --git a/priv/gettext/gl/LC_MESSAGES/activity.po b/priv/gettext/gl/LC_MESSAGES/activity.po index 64ff03b57..e19a8477a 100644 --- a/priv/gettext/gl/LC_MESSAGES/activity.po +++ b/priv/gettext/gl/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/gl/LC_MESSAGES/default.po b/priv/gettext/gl/LC_MESSAGES/default.po index 9258ef818..e7b528b62 100644 --- a/priv/gettext/gl/LC_MESSAGES/default.po +++ b/priv/gettext/gl/LC_MESSAGES/default.po @@ -14,265 +14,265 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.6.2\n" -#: lib/web/templates/email/password_reset.html.eex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:48 msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." msgstr "" "Se non solicitaches isto, ignora este email. O teu constrasinal non cambiará " "ata que accedas á ligazón inferior e cres un novo." -#: lib/web/templates/email/report.html.eex:74 #, elixir-format +#: lib/web/templates/email/report.html.eex:74 msgid "%{title} by %{creator}" msgstr "%{title} por %{creator}" -#: lib/web/templates/email/registration_confirmation.html.eex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:58 msgid "Activate my account" msgstr "Activar a miña conta" +#, elixir-format #: lib/web/templates/email/email.html.eex:118 #: lib/web/templates/email/email.text.eex:9 -#, elixir-format msgid "Ask the community on Framacolibri" msgstr "Pregunta á comunidade en Framacolibri" -#: lib/web/templates/email/report.text.eex:15 #, elixir-format +#: lib/web/templates/email/report.text.eex:15 msgid "Comments" msgstr "Comentarios" +#, elixir-format #: lib/web/templates/email/report.html.eex:72 #: lib/web/templates/email/report.text.eex:11 -#, elixir-format msgid "Event" msgstr "Evento" -#: lib/web/email/user.ex:48 #, elixir-format +#: lib/web/email/user.ex:48 msgid "Instructions to reset your password on %{instance}" msgstr "Instruccións para restablecer o contrasinal en %{instance}" -#: lib/web/templates/email/report.text.eex:21 #, elixir-format +#: lib/web/templates/email/report.text.eex:21 msgid "Reason" msgstr "Razón" -#: lib/web/templates/email/password_reset.html.eex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:61 msgid "Reset Password" msgstr "Restablecer Contrasinal" -#: lib/web/templates/email/password_reset.html.eex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:41 msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time." msgstr "" "Restablecer o contrasinal é doado. Preme no botón inferior e segue as " "instrucción. Volverás a poder conectarte nuns intres." -#: lib/web/email/user.ex:28 #, elixir-format +#: lib/web/email/user.ex:28 msgid "Instructions to confirm your Mobilizon account on %{instance}" msgstr "Instruccións para confirmar a túa conta Mobilizon en %{instance}" -#: lib/web/email/admin.ex:24 #, elixir-format +#: lib/web/email/admin.ex:24 msgid "New report on Mobilizon instance %{instance}" msgstr "Nova denuncia sobre a instancia Mobilizon %{instance}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:51 #: lib/web/templates/email/before_event_notification.text.eex:4 -#, elixir-format msgid "Go to event page" msgstr "Ir á páxina do evento" -#: lib/web/templates/email/report.text.eex:1 #, elixir-format +#: lib/web/templates/email/report.text.eex:1 msgid "New report from %{reporter} on %{instance}" msgstr "Nova denuncia de %{reporter} sobre %{instance}" -#: lib/web/templates/email/event_participation_approved.text.eex:1 #, elixir-format +#: lib/web/templates/email/event_participation_approved.text.eex:1 msgid "Participation approved" msgstr "Participación aprobada" +#, elixir-format #: lib/web/templates/email/password_reset.html.eex:13 #: lib/web/templates/email/password_reset.text.eex:1 -#, elixir-format msgid "Password reset" msgstr "Restablece o contrasinal" -#: lib/web/templates/email/password_reset.text.eex:7 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:7 msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time." msgstr "" "Restablecer o contrasinal é doado. Preme na ligazón inferior e segue as " "instruccións. Moi pronto poderás volver e conectarte." -#: lib/web/templates/email/registration_confirmation.text.eex:5 #, elixir-format +#: lib/web/templates/email/registration_confirmation.text.eex:5 msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email." msgstr "" "Creaches unha conta en %{host} con este enderezo de email. Só precisas " "activalo. Se non foches ti, por favor ignora este email." -#: lib/web/email/participation.ex:112 #, elixir-format +#: lib/web/email/participation.ex:112 msgid "Your participation to event %{title} has been approved" msgstr "Foi aprobada a túa participación no evento %{title}" -#: lib/web/email/participation.ex:70 #, elixir-format +#: lib/web/email/participation.ex:70 msgid "Your participation to event %{title} has been rejected" msgstr "Foi rexeitada a túa participación no evento %{title}" -#: lib/web/email/event.ex:37 #, elixir-format +#: lib/web/email/event.ex:37 msgid "Event %{title} has been updated" msgstr "Actualizouse o evento %{title}" -#: lib/web/templates/email/event_updated.text.eex:15 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:15 msgid "New title: %{title}" msgstr "Novo título: %{title}" -#: lib/web/templates/email/password_reset.text.eex:5 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:5 msgid "You requested a new password for your account on %{instance}." msgstr "" "Solicitaches un novo contrasinal para a túa conta na instancia %{instance]." -#: lib/web/templates/email/email.html.eex:86 #, elixir-format +#: lib/web/templates/email/email.html.eex:86 msgid "Warning" msgstr "Aviso" -#: lib/web/email/participation.ex:135 #, elixir-format +#: lib/web/email/participation.ex:135 msgid "Confirm your participation to event %{title}" msgstr "Confirma a túa participación no evento %{title}" -#: lib/web/templates/api/privacy.html.eex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:75 msgctxt "terms" msgid "An internal ID for your current selected identity" msgstr "ID interno para a túa identidade seleccionada" -#: lib/web/templates/api/privacy.html.eex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:74 msgctxt "terms" msgid "An internal user ID" msgstr "ID de usuaria interno" -#: lib/web/templates/api/privacy.html.eex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:37 msgctxt "terms" msgid "Any of the information we collect from you may be used in the following ways:" msgstr "" "Calquera información que obtemos de ti podería usarse dos seguintes xeitos:" -#: lib/web/templates/api/privacy.html.eex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:9 msgctxt "terms" msgid "Basic account information" msgstr "Información básica da conta" -#: lib/web/templates/api/privacy.html.eex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:25 msgctxt "terms" msgid "Do not share any dangerous information over Mobilizon." msgstr "Non compartas informacións perigosas en Mobilizon." -#: lib/web/templates/api/privacy.html.eex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:90 msgctxt "terms" msgid "Do we disclose any information to outside parties?" msgstr "Enviamos información a terceiras partes alleas?" -#: lib/web/templates/api/privacy.html.eex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "Usamos cookies?" -#: lib/web/templates/api/privacy.html.eex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "Como protexemos a túa información?" -#: lib/web/templates/api/privacy.html.eex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "IPs e outros metadatos" -#: lib/web/templates/api/privacy.html.eex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Eventos publicados e comentarios" -#: lib/web/templates/api/privacy.html.eex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:64 msgctxt "terms" msgid "Retain the IP addresses associated with registered users no more than 12 months." msgstr "" "Retención de enderezos IP asociados con usuarias rexistradas durante non " "máis de 12 meses." -#: lib/web/templates/api/privacy.html.eex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Tokens para autenticarte" -#: lib/web/templates/api/privacy.html.eex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:31 msgctxt "terms" msgid "We also may retain server logs which include the IP address of every request to our server." msgstr "" "Tamén retemos rexistros do servidor que inclúen enderezos IP de cada " "solicitude ó noso servidor." -#: lib/web/templates/api/privacy.html.eex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:70 msgctxt "terms" msgid "We store the following information on your device when you connect:" msgstr "Gardamos información no teu dispositivo cando te conectas:" -#: lib/web/templates/api/privacy.html.eex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:58 msgctxt "terms" msgid "We will make a good faith effort to:" msgstr "Esforzarémonos de boa fe para:" -#: lib/web/templates/api/privacy.html.eex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "Para que usamos a túa información?" -#: lib/web/templates/api/privacy.html.eex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:57 msgctxt "terms" msgid "What is our data retention policy?" msgstr "Cal é a nosa política de retención de datos?" -#: lib/web/templates/api/privacy.html.eex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:67 msgctxt "terms" msgid "You may irreversibly delete your account at any time." msgstr "Podes eliminar de xeito definitivo a túa conta cando queiras." -#: lib/web/templates/api/privacy.html.eex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Cambios na nosa Política de Privacidade" -#: lib/web/templates/api/privacy.html.eex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:106 msgctxt "terms" msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site." msgstr "" @@ -282,8 +282,8 @@ msgstr "" "General_Data_Protection_Regulation\">Regulación Xeral de Protección de " "Datos)) non uses esta web." -#: lib/web/templates/api/privacy.html.eex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:109 msgctxt "terms" msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site." msgstr "" @@ -293,30 +293,30 @@ msgstr "" "27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection " "Act) non utilices esta web." -#: lib/web/templates/api/privacy.html.eex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:117 msgctxt "terms" msgid "If we decide to change our privacy policy, we will post those changes on this page." msgstr "" "Se decidimos cambiar a nosa política de privacidade, publicaremos aquí os " "cambios." -#: lib/web/templates/api/privacy.html.eex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:112 msgctxt "terms" msgid "Law requirements can be different if this server is in another jurisdiction." msgstr "" "Os requerimentos legais poderían ser diferentes se o servidor está noutra " "xurisdición." -#: lib/web/templates/api/privacy.html.eex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Utilización da web por menores" -#: lib/web/templates/api/privacy.html.eex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:47 msgctxt "terms" msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions." msgstr "" @@ -326,8 +326,8 @@ msgstr "" "así como para responder a preguntas, e/ou outras solicitudes\n" "ou cuestións." -#: lib/web/templates/api/privacy.html.eex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:45 msgctxt "terms" msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations." msgstr "" @@ -335,8 +335,8 @@ msgstr "" "con outro coñecidos para evitar o salto\n" "de bloqueos ou outros infrinximentos." -#: lib/web/templates/api/privacy.html.eex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:43 msgctxt "terms" msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in." msgstr "" @@ -345,89 +345,89 @@ msgstr "" "estar conectada para así poder interactuar co contido doutras usuarias e " "publicar o teu contido." -#: lib/web/templates/api/privacy.html.eex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "Que información recollemos?" -#: lib/web/email/user.ex:176 #, elixir-format +#: lib/web/email/user.ex:176 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon en %{instance}: confirma o enderezo de email" -#: lib/web/email/user.ex:152 #, elixir-format +#: lib/web/email/user.ex:152 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon en %{instance}: email cambiado" -#: lib/web/email/notification.ex:47 #, elixir-format +#: lib/web/email/notification.ex:47 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Un evento previsto para hoxe" msgstr[1] "%{nb_events} eventos previstos hoxe" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:38 #: lib/web/templates/email/on_day_notification.text.eex:4 -#, elixir-format msgid "You have one event today:" msgid_plural "You have %{total} events today:" msgstr[0] "Hoxe tes un evento:" msgstr[1] "Tes %{total} eventos hoxe:" -#: lib/web/templates/email/group_invite.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_invite.text.eex:3 msgid "%{inviter} just invited you to join their group %{group}" msgstr "%{inviter} convidoute a unirte ó seu grupo %{group}" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:13 #: lib/web/templates/email/group_invite.text.eex:1 -#, elixir-format msgid "Come along!" msgstr "Imos!" -#: lib/web/email/notification.ex:24 #, elixir-format +#: lib/web/email/notification.ex:24 msgid "Don't forget to go to %{title}" msgstr "Non esquezas ir a %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:38 #: lib/web/templates/email/before_event_notification.text.eex:3 -#, elixir-format msgid "Get ready for %{title}" msgstr "Prepárate para %{title}" -#: lib/web/templates/email/group_invite.html.eex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:59 msgid "See my groups" msgstr "Ver os meus grupos" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:45 #: lib/web/templates/email/group_invite.text.eex:5 -#, elixir-format msgid "To accept this invitation, head over to your groups." msgstr "Para aceptar o convite, vaite ós teus grupos." -#: lib/web/templates/email/before_event_notification.text.eex:5 #, elixir-format +#: lib/web/templates/email/before_event_notification.text.eex:5 msgid "View the event on: %{link}" msgstr "Ver o evento en: %{link}" -#: lib/web/email/group.ex:33 #, elixir-format +#: lib/web/email/group.ex:33 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} convidoute a unirte ó grupo %{group}" -#: lib/web/email/notification.ex:71 #, elixir-format +#: lib/web/email/notification.ex:71 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Un evento previsto nesta semana" msgstr[1] "%{nb_events} eventos previstos nesta semana" -#: lib/web/email/notification.ex:93 #, elixir-format +#: lib/web/email/notification.ex:93 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Hai unha solicitude de participación para o evento %{title} que atender" @@ -435,21 +435,21 @@ msgstr[1] "" "Hai %{number_participation_requests} solicitudes de participación no evento " "%{title} que atender" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:38 #: lib/web/templates/email/notification_each_week.text.eex:3 -#, elixir-format msgid "You have one event this week:" msgid_plural "You have %{total} events this week:" msgstr[0] "Tes un evento esta semana:" msgstr[1] "Tes %{total} eventos esta semana:" -#: lib/service/metadata/utils.ex:52 #, elixir-format +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "A organización do evento non proporcionou unha descrición." -#: lib/web/templates/api/privacy.html.eex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:54 msgctxt "terms" msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way algorithm." msgstr "" @@ -459,8 +459,8 @@ msgstr "" "e a API, están protexidas con SSL/TLS, e o contrasinal protexido cun " "algoritmo forte." -#: lib/web/templates/api/privacy.html.eex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:94 msgctxt "terms" msgid "No. We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety." msgstr "" @@ -472,20 +472,20 @@ msgstr "" "facelo é apropiado para cumprir coa lei, facer cumprir as políticas desta " "web, ou protexer os dereitos ou a seguridade doutras persoas ou os nosos." -#: lib/web/templates/api/terms.html.eex:23 #, elixir-format +#: lib/web/templates/api/terms.html.eex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Aceptando estos Termos" -#: lib/web/templates/api/terms.html.eex:27 #, elixir-format +#: lib/web/templates/api/terms.html.eex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Cambios nos Termos" -#: lib/web/templates/api/terms.html.eex:85 #, elixir-format +#: lib/web/templates/api/terms.html.eex:85 msgctxt "terms" msgid "A lot of the content on the Service is from you and others, and we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content." msgstr "" @@ -496,16 +496,16 @@ msgstr "" "presente no Servizo. É responsabilidade túa asumir o risco procedente de " "utilizar ou confiar en calquera contido." -#: lib/web/templates/api/terms.html.eex:60 #, elixir-format +#: lib/web/templates/api/terms.html.eex:60 msgctxt "terms" msgid "Also, you agree that you will not do any of the following in connection with the Service or other users:" msgstr "" "Tamén, aceptas que non vas facer nada do seguinte en conexión co Servizo ou " "outras usuarias:" -#: lib/web/templates/api/terms.html.eex:65 #, elixir-format +#: lib/web/templates/api/terms.html.eex:65 msgctxt "terms" msgid "Circumvent or attempt to circumvent any filtering, security measures, rate limits or other features designed to protect the Service, users of the Service, or third parties." msgstr "" @@ -513,22 +513,22 @@ msgstr "" "uso ou outras características deseñadas para protexer o Servizo, usuarias do " "Servizo, ou terceiras partes." -#: lib/web/templates/api/terms.html.eex:64 #, elixir-format +#: lib/web/templates/api/terms.html.eex:64 msgctxt "terms" msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;" msgstr "" "Recoller información personal acerca doutras usuarias, ou intimidar, " "ameazar, presionar ou molestar doutros xeitos ás usuarias do Servizo;" -#: lib/web/templates/api/terms.html.eex:55 #, elixir-format +#: lib/web/templates/api/terms.html.eex:55 msgctxt "terms" msgid "Content that is illegal or unlawful, that would otherwise create liability;" msgstr "Contido que é ilegal ou alegal, que podería ser comprometido;" -#: lib/web/templates/api/terms.html.eex:56 #, elixir-format +#: lib/web/templates/api/terms.html.eex:56 msgctxt "terms" msgid "Content that may infringe or violate any patent, trademark, trade secret, copyright, right of privacy, right of publicity or other intellectual or other right of any party;" msgstr "" @@ -536,48 +536,48 @@ msgstr "" "comerciais, copyright, dereitos de privacidade, dereitos de publicidade ou " "outros dereitos intelectuais de calquera tipo;" -#: lib/web/templates/api/terms.html.eex:42 #, elixir-format +#: lib/web/templates/api/terms.html.eex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Creando Contas" -#: lib/web/templates/api/terms.html.eex:89 #, elixir-format +#: lib/web/templates/api/terms.html.eex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Acordo completo" -#: lib/web/templates/api/terms.html.eex:92 #, elixir-format +#: lib/web/templates/api/terms.html.eex:92 msgctxt "terms" msgid "Feedback" msgstr "Opinión" -#: lib/web/templates/api/terms.html.eex:83 #, elixir-format +#: lib/web/templates/api/terms.html.eex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Ligazóns e Contido de Terceiras Partes" -#: lib/web/templates/api/terms.html.eex:88 #, elixir-format +#: lib/web/templates/api/terms.html.eex:88 msgctxt "terms" msgid "If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service." msgstr "" "Se vulneras algún destos Termos, temos dereito a suspender ou desactivar o " "acceso á conta ou a usar o Servizo." -#: lib/web/templates/api/terms.html.eex:63 #, elixir-format +#: lib/web/templates/api/terms.html.eex:63 msgctxt "terms" msgid "Impersonate or post on behalf of any person or entity or otherwise misrepresent your affiliation with a person or entity;" msgstr "" "Suplantar ou publicar en nome doutra persoa ou entidade oy confundir doutro " "xeito sobre a túa relación con esa persoa ou entidade;" -#: lib/web/templates/api/terms.html.eex:48 #, elixir-format +#: lib/web/templates/api/terms.html.eex:48 msgctxt "terms" msgid "Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness." msgstr "" @@ -585,26 +585,26 @@ msgstr "" "accesible os contidos. Es responsable do contido que publicas no Servizo, " "tanto da súa legalidade, fiabilidade e corrección." -#: lib/web/templates/api/terms.html.eex:39 #, elixir-format +#: lib/web/templates/api/terms.html.eex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Política de Privacidade" -#: lib/web/templates/api/terms.html.eex:95 #, elixir-format +#: lib/web/templates/api/terms.html.eex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Preguntas e Información de Contacto" -#: lib/web/templates/api/terms.html.eex:87 #, elixir-format +#: lib/web/templates/api/terms.html.eex:87 msgctxt "terms" msgid "Termination" msgstr "Finalización" -#: lib/web/templates/api/terms.html.eex:62 #, elixir-format +#: lib/web/templates/api/terms.html.eex:62 msgctxt "terms" msgid "Use the Service in any manner that could interfere with, disrupt, negatively affect or inhibit other users from fully enjoying the Service or that could damage, disable, overburden or impair the functioning of the Service;" msgstr "" @@ -612,14 +612,14 @@ msgstr "" "negativo ou facer que outras non desfruten do Servizo ou puidese danar, " "desactivar, sobrecargar ou impedir o funcionamento do Servizo;" -#: lib/web/templates/api/terms.html.eex:47 #, elixir-format +#: lib/web/templates/api/terms.html.eex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "O teu Contido e Conduta" -#: lib/web/templates/api/terms.html.eex:84 #, elixir-format +#: lib/web/templates/api/terms.html.eex:84 msgctxt "terms" msgid "%{instance_name} makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern. The inclusion of any link does not imply endorsement by %{instance_name} of the site. Use of any such linked website is at the user's own risk." msgstr "" @@ -630,8 +630,8 @@ msgstr "" "implica o apoio de %{instance_name} a esa web. O uso de tales sitios " "web farase baixo responsabilidade propia da usuaria." -#: lib/web/templates/api/terms.html.eex:68 #, elixir-format +#: lib/web/templates/api/terms.html.eex:68 msgctxt "terms" msgid "Finally, your use of the Service is also subject to acceptance of the instance's own specific rules regarding the code of conduct and moderation rules. Breaking those rules may also result in your account being disabled or suspended." msgstr "" @@ -640,16 +640,16 @@ msgstr "" "regras de moderación. Romper esas regras podería resultar na cancelación ou " "suspensión da túa conta." -#: lib/web/templates/api/terms.html.eex:81 #, elixir-format +#: lib/web/templates/api/terms.html.eex:81 msgctxt "terms" msgid "For full details about the Mobilizon software see here." msgstr "" "Para coñecer máis sobre o software Mobilizon visita esta web." -#: lib/web/templates/api/terms.html.eex:18 #, elixir-format +#: lib/web/templates/api/terms.html.eex:18 msgctxt "terms" msgid "Here are the important things you need to know about accessing and using the %{instance_name} (%{instance_url}) website and service (collectively, \"Service\"). These are our terms of service (\"Terms\"). Please read them carefully." msgstr "" @@ -658,8 +658,8 @@ msgstr "" ">%{instance_url}) e o servizo (colectivamente, o \"Servizo\"). Estos son " "os nosos termos do servizo (\"Termos\"). Le con atención." -#: lib/web/templates/api/terms.html.eex:33 #, elixir-format +#: lib/web/templates/api/terms.html.eex:33 msgctxt "terms" msgid "If we make major changes, we will notify our users in a clear and prominent manner. Minor changes may only be highlighted in the footer of our website. It is your responsibility to check the website regularly for changes to these Terms." msgstr "" @@ -667,8 +667,8 @@ msgstr "" "evidente. Os cambios menores poderían aparecer simplemente no pé do sitio " "web. É responsabilidade túa estar atenta a estos cambios nos Termos." -#: lib/web/templates/api/terms.html.eex:53 #, elixir-format +#: lib/web/templates/api/terms.html.eex:53 msgctxt "terms" msgid "In order to make %{instance_name} a great place for all of us, please do not post, link and otherwise make available on or through the Service any of the following:" msgstr "" @@ -676,16 +676,16 @@ msgstr "" "publiques, ligues ou poñas a disposición a través do Servizo calquera do " "seguinte:" -#: lib/web/templates/api/terms.html.eex:57 #, elixir-format +#: lib/web/templates/api/terms.html.eex:57 msgctxt "terms" msgid "Private information of any third party (e.g., addresses, phone numbers, email addresses, Social Security numbers and credit card numbers); and" msgstr "" "Información privada sobre terceiras partes (ex., enderzos, números de " "teléfono, email, número da Seguridade Social, cartón de crédito), e" -#: lib/web/templates/api/terms.html.eex:52 #, elixir-format +#: lib/web/templates/api/terms.html.eex:52 msgctxt "terms" msgid "Since Mobilizon is a distributed network, it is possible, depending on the visibility rules set to your content, that your content has been distributed to other Mobilizon instances. When you delete your content, we will request those other instances to also delete the content. Our responsibility on the content being deleted from those other instances ends here. If for some reason, some other instance does not delete the content, we cannot be held responsible." msgstr "" @@ -696,8 +696,8 @@ msgstr "" "do contido nesas outras instancias remata aquí. Se por algunha razón esas " "outras instancias non eliminan o contido non seremos responsables." -#: lib/web/templates/api/terms.html.eex:90 #, elixir-format +#: lib/web/templates/api/terms.html.eex:90 msgctxt "terms" msgid "These Terms constitute the entire agreement between you and %{instance_name} regarding the use of the Service, superseding any prior agreements between you and %{instance_name} relating to your use of the Service." msgstr "" @@ -705,8 +705,8 @@ msgstr "" "respecto do uso do Servizo, deixando sen efecto calquera acordo anterior " "entre ti e %{instance_name} respecto da utilización do Servizo." -#: lib/web/templates/api/terms.html.eex:80 #, elixir-format +#: lib/web/templates/api/terms.html.eex:80 msgctxt "terms" msgid "This Service runs on a Mobilizon instance. This source code is licensed under an AGPLv3 license which means you are allowed to and even encouraged to take the source code, modify it and use it." msgstr "" @@ -715,14 +715,14 @@ msgstr "" "license-v3-(agpl-3.0)\">AGPLv3 que che permite e anima a coñecer, " "modificar e usar o código." -#: lib/web/templates/api/terms.html.eex:58 #, elixir-format +#: lib/web/templates/api/terms.html.eex:58 msgctxt "terms" msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code." msgstr "Viruses, datos corruptos e ficheiros ou código malicioso ou destrutivo." -#: lib/web/templates/api/terms.html.eex:51 #, elixir-format +#: lib/web/templates/api/terms.html.eex:51 msgctxt "terms" msgid "You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time. Web server access logs might also be stored for some time in the system." msgstr "" @@ -732,30 +732,30 @@ msgstr "" "tempo. Os rexistros de acceso ó servidor tamén poderían permanecer algún " "tempo no sistema." -#: lib/web/templates/api/terms.html.eex:96 #, elixir-format +#: lib/web/templates/api/terms.html.eex:96 msgctxt "terms" msgid "Questions or comments about the Service may be directed to us at %{contact}" msgstr "" "Preguntas e comentarios sobre o Servizo poderían sernos enviados hacia " "%{contact}" -#: lib/web/templates/api/terms.html.eex:79 #, elixir-format +#: lib/web/templates/api/terms.html.eex:79 msgctxt "terms" msgid "Source code" msgstr "Código fonte" -#: lib/web/templates/api/terms.html.eex:93 #, elixir-format +#: lib/web/templates/api/terms.html.eex:93 msgctxt "terms" msgid "We love feedback. Please let us know what you think of the Service, these Terms and, in general, %{instance_name}." msgstr "" "Apreciamos a túa opinión. Dinos o que pensas sobre o Servizo, estos Termos " "e, en xeral, sobre %{instance_name}." -#: lib/web/templates/api/terms.html.eex:74 #, elixir-format +#: lib/web/templates/api/terms.html.eex:74 msgctxt "terms" msgid "Instance administrators (and community moderators, given the relevant access) are responsible for monitoring and acting on flagged content and other user reports, and have the right and responsibility to remove or edit content that is not aligned to this Instance set of rules, or to suspend, block or ban (temporarily or permanently) any account, community, or instance for breaking these terms, or for other behaviours that they deem inappropriate, threatening, offensive, or harmful." msgstr "" @@ -767,16 +767,16 @@ msgstr "" "comunidade, ou instancia por non acatar os termos ou por outros " "comportamentos que estimen inapropiados, ameazantes, ofensivos ou daninos." -#: lib/web/templates/api/terms.html.eex:6 #, elixir-format +#: lib/web/templates/api/terms.html.eex:6 msgctxt "terms" msgid "%{instance_name} will not use or transmit or resell your personal data" msgstr "" "%{instance_name} non utilizará, transmitirá ou comerciará cos teus " "datos personais" -#: lib/web/templates/api/terms.html.eex:44 #, elixir-format +#: lib/web/templates/api/terms.html.eex:44 msgctxt "terms" msgid "If you discover or suspect any Service security breaches, please let us know as soon as possible. For security holes in the Mobilizon software itself, please contact its contributors directly." msgstr "" @@ -785,16 +785,16 @@ msgstr "" "contacta directamente coas súas programadoras." -#: lib/web/templates/api/terms.html.eex:77 #, elixir-format +#: lib/web/templates/api/terms.html.eex:77 msgctxt "terms" msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules." msgstr "" "A administración da instancia debe asegurar que toda comunidade hospedada na " "instancia está moderada de xeito correcto acorde coas regras definidas." -#: lib/web/templates/api/terms.html.eex:98 #, elixir-format +#: lib/web/templates/api/terms.html.eex:98 msgctxt "terms" msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA." msgstr "" @@ -803,8 +803,8 @@ msgstr "" "appdotnet/terms-of-service\">App.net, tamén con licenza CC BY-SA." -#: lib/web/templates/api/privacy.html.eex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:119 msgctxt "terms" msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA." msgstr "" @@ -813,113 +813,113 @@ msgstr "" ">Discourse, tamén con licenza CC BY-SA." -#: lib/web/templates/api/terms.html.eex:3 #, elixir-format +#: lib/web/templates/api/terms.html.eex:3 msgctxt "terms" msgid "Short version" msgstr "Versión curta" -#: lib/web/templates/api/terms.html.eex:9 #, elixir-format +#: lib/web/templates/api/terms.html.eex:9 msgctxt "terms" msgid "The service is provided without warranties and these terms may change in the future" msgstr "" "O servizo proporciónase sen garantía e estos termos poderían mudar no futuro" -#: lib/web/templates/api/privacy.html.eex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:118 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020." msgstr "" "Este documento publícase baixo licenza CC BY-SA. Actualizado o 18 de Xuño de 2020." -#: lib/web/templates/api/terms.html.eex:97 #, elixir-format +#: lib/web/templates/api/terms.html.eex:97 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020." msgstr "" "Este documento publícase baixo licenza CC BY-SA. Actualizado o 22 de Xuño de 2020." -#: lib/web/templates/api/terms.html.eex:8 #, elixir-format +#: lib/web/templates/api/terms.html.eex:8 msgctxt "terms" msgid "You must respect other people and %{instance_name}'s rules when using the service" msgstr "" "Debes respectar a outras persoas e ás regras de %{instance_name} ó " "utilizar o servizo" -#: lib/web/templates/api/terms.html.eex:7 #, elixir-format +#: lib/web/templates/api/terms.html.eex:7 msgctxt "terms" msgid "You must respect the law when using %{instance_name}" msgstr "Debes respectar a lei ó utilizar %{instance_name}" -#: lib/web/templates/api/terms.html.eex:5 #, elixir-format +#: lib/web/templates/api/terms.html.eex:5 msgctxt "terms" msgid "Your content is yours" msgstr "O teu contido é teu" -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 msgid "Confirm my e-mail address" msgstr "Confirma o enderezo de email" +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1 -#, elixir-format msgid "Confirm your e-mail" msgstr "Confirma o teu email" -#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Vaites! Rexistrácheste para participar neste evento: « %{title} ». Por favor " "confirma o email proporcionado:" +#, elixir-format #: lib/web/templates/email/email.html.eex:115 #: lib/web/templates/email/email.text.eex:8 -#, elixir-format msgid "Need help? Is something not working as expected?" msgstr "Precisas axuda? Algo non funciona como agardabas?" -#: lib/web/templates/email/registration_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:38 msgid "You created an account on %{host} with this email address. You are one click away from activating it." msgstr "" "Creaches unha conta en %{host} con este enderezo de email. Estás a un " "click de activalo." -#: lib/web/templates/email/report.html.eex:13 #, elixir-format +#: lib/web/templates/email/report.html.eex:13 msgid "New report on %{instance}" msgstr "Nova denuncia sobre %{instance}" -#: lib/web/templates/email/email_changed_old.html.eex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.eex:38 msgid "The email address for your account on %{host} is being changed to:" msgstr "O enderezo de email da túa conta en %{host} vaise cambiar a:" -#: lib/web/templates/email/password_reset.html.eex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:38 msgid "You requested a new password for your account on %{instance}." msgstr "" "Solicitaches un novo contrasinal para a túa conta en %{instance}." -#: lib/web/templates/email/email.text.eex:5 #, elixir-format +#: lib/web/templates/email/email.text.eex:5 msgid "Please do not use it for real purposes." msgstr "Por favor, non o utilices nun entorno de produción." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:133 #: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70 #: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.eex:70 #: lib/web/templates/email/on_day_notification.text.eex:14 -#, elixir-format msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button." msgstr[0] "" @@ -929,9 +929,9 @@ msgstr[1] "" "Desexas cancelar a túa participación nun ou en varios eventos, visita as " "páxinas a través das ligazóns superiores e preme no botón « Attending »." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:38 #: lib/web/templates/email/pending_participation_notification.text.eex:4 -#, elixir-format msgid "You have one pending attendance request to process:" msgid_plural "You have %{number_participation_requests} attendance requests to process:" msgstr[0] "Tes unha solicitude de participación pendente de atender:" @@ -939,66 +939,66 @@ msgstr[1] "" "Tes %{number_participation_requests} solicitudes de participación pendentes " "de atender:" -#: lib/web/templates/email/email.text.eex:11 #, elixir-format +#: lib/web/templates/email/email.text.eex:11 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} funciona grazas a Mobilizon." -#: lib/web/templates/email/email.html.eex:143 #, elixir-format +#: lib/web/templates/email/email.html.eex:143 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} funciona grazas a Mobilizon." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:13 #: lib/web/templates/email/pending_participation_notification.text.eex:1 -#, elixir-format msgid "A request is pending!" msgstr "Hai unha solicitude pendente!" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:13 #: lib/web/templates/email/before_event_notification.text.eex:1 -#, elixir-format msgid "An event is upcoming!" msgstr "Un evento está próximo!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:13 #: lib/web/templates/email/email_changed_new.text.eex:1 -#, elixir-format msgid "Confirm new email" msgstr "Confirma o novo email" -#: lib/web/templates/email/event_updated.html.eex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:84 msgid "End" msgstr "Fin" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:21 msgid "End %{ends_on}" msgstr "Remata o %{ends_on}" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "Actualización do evento!" -#: lib/web/templates/email/report.html.eex:88 #, elixir-format +#: lib/web/templates/email/report.html.eex:88 msgid "Flagged comments" msgstr "Comentarios marcados" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:45 #: lib/web/templates/email/event_participation_approved.text.eex:7 -#, elixir-format msgid "Good news: one of the event organizers just approved your request. Update your calendar, because you're on the guest list now!" msgstr "" "Boa nova: a organización aprobou a túa solicitude. Actualiza o calendario, " "xa que agora estás na lista de convidadas!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:38 #: lib/web/templates/email/email_changed_new.text.eex:3 -#, elixir-format msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address." msgstr "" "Ola! Semella que queres cambiar o enderezo de email asociado á túa conta en " @@ -1006,16 +1006,16 @@ msgstr "" "o cambio. Despois poderás conectarte a %{instance} utilizando este novo " "enderezo de email." -#: lib/web/templates/email/email_changed_old.text.eex:3 #, elixir-format +#: lib/web/templates/email/email_changed_old.text.eex:3 msgid "Hi there! Just a quick note to confirm that the email address linked to your account on %{host} has been changed from this one to:" msgstr "" "Ola! Aquí un aviso para confirmar que o enderezo de email asociado á túa " "conta en %{host} cambiouse a:" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:62 #: lib/web/templates/email/email_changed_old.text.eex:5 -#, elixir-format msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}." msgstr "" "Se non fixeches este cambio ti mesma, é probable que alguén obtivese acceso " @@ -1023,305 +1023,305 @@ msgstr "" "inmediatamente. Se non podes conectar, contacta coa administración de " "%{host}." -#: lib/web/templates/email/password_reset.text.eex:12 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:12 msgid "If you didn't trigger the change yourself, please ignore this message. Your password won't be changed until you click the link above." msgstr "" "Se non solicitaches ti mesma o cambio, ignora esta mensaxe. O contrasinal " "non cambiará ata que premas na ligazón superior." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.eex:45 -#, elixir-format msgid "If you didn't trigger this email, you may safely ignore it." msgstr "Se non solicitaches este email, podes ignoralo con seguridade." +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:63 #: lib/web/templates/email/before_event_notification.text.eex:6 -#, elixir-format msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgstr "" "Se queres cancelar a túa participación, visita a páxina do evento a través " "da ligazón superior e preme no botón « Participar »." +#, elixir-format #: lib/web/templates/email/email.html.eex:144 #: lib/web/templates/email/email.text.eex:11 -#, elixir-format msgid "Learn more about Mobilizon here!" msgstr "Coñece máis acerca de Mobilizon!" -#: lib/web/templates/email/event_updated.html.eex:94 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:94 msgid "Location" msgstr "Localización" -#: lib/web/templates/email/event_updated.html.eex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:104 msgid "Location address was removed" msgstr "Eliminouse o enderezo da localización" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:51 #: lib/web/templates/email/pending_participation_notification.text.eex:6 -#, elixir-format msgid "Manage pending requests" msgstr "Xestionar solicitudes pendentes" +#, elixir-format #: lib/web/templates/email/registration_confirmation.html.eex:13 #: lib/web/templates/email/registration_confirmation.text.eex:1 -#, elixir-format msgid "Nearly there!" msgstr "Case rematamos!" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:13 #: lib/web/templates/email/email_changed_old.text.eex:1 -#, elixir-format msgid "New email confirmation" msgstr "Novo email de confirmación" -#: lib/web/templates/email/report.html.eex:106 #, elixir-format +#: lib/web/templates/email/report.html.eex:106 msgid "Reasons for report" msgstr "Razóns para denunciar" -#: lib/web/templates/email/report.html.eex:39 #, elixir-format +#: lib/web/templates/email/report.html.eex:39 msgid "Someone on %{instance} reported the following content for you to analyze:" msgstr "" "Alguén na %{instancia} denunciou o seguinte contido para que o " "analices:" +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:13 #: lib/web/templates/email/event_participation_rejected.text.eex:1 -#, elixir-format msgid "Sorry! You're not going." msgstr "Lamentámos que non participes." -#: lib/web/templates/email/event_updated.html.eex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:74 msgid "Start" msgstr "Inicio" -#: lib/web/templates/email/event_updated.text.eex:18 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:18 msgid "Start %{begins_on}" msgstr "Comeza en %{begins_on}" -#: lib/web/templates/email/event_updated.text.eex:3 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:3 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "Houbo cambios no título para %{title} e cremos que é do teu interese." +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:55 #: lib/web/templates/email/event_updated.text.eex:11 -#, elixir-format msgid "This event has been cancelled by its organizers. Sorry!" msgstr "Evento cancelado pola organización. Lamentámolo!" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:51 #: lib/web/templates/email/event_updated.text.eex:7 -#, elixir-format msgid "This event has been confirmed" msgstr "Este evento foi confirmado" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:53 #: lib/web/templates/email/event_updated.text.eex:9 -#, elixir-format msgid "This event has yet to be confirmed: organizers will let you know if they do confirm it." msgstr "" "Este evento aínda ten que ser confirmado: a organización farache saber se o " "confirman." +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:45 #: lib/web/templates/email/event_participation_rejected.text.eex:7 -#, elixir-format msgid "Unfortunately, the organizers rejected your request." msgstr "É unha mágoa, pero a organización rexeitou a túa solicitude." -#: lib/web/templates/email/email_changed_new.html.eex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.eex:51 msgid "Verify your email address" msgstr "Verifica o teu enderezo de email" -#: lib/web/templates/email/report.html.eex:126 #, elixir-format +#: lib/web/templates/email/report.html.eex:126 msgid "View report" msgstr "Ver denuncia" -#: lib/web/templates/email/report.text.eex:24 #, elixir-format +#: lib/web/templates/email/report.text.eex:24 msgid "View report:" msgstr "Ver denuncia:" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:58 #: lib/web/templates/email/event_participation_confirmed.html.eex:58 -#, elixir-format msgid "Visit event page" msgstr "Visitar páxina do evento" -#: lib/web/templates/email/event_updated.html.eex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:121 msgid "Visit the updated event page" msgstr "Visita a páxina do evento actualizada" -#: lib/web/templates/email/event_updated.text.eex:23 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:23 msgid "Visit the updated event page: %{link}" msgstr "Visita a páxina do evento actualizada: %{link}" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "What's up this week?" msgstr "Que acontece nesta semana?" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:13 #: lib/web/templates/email/on_day_notification.text.eex:1 -#, elixir-format msgid "What's up today?" msgstr "Que temos para hoxe?" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.eex:70 #: lib/web/templates/email/event_participation_confirmed.text.eex:6 -#, elixir-format msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button." msgstr "" "Desexas actualizar ou cancelar a túa participación, simplemente accede á " "páxina do evento na ligazón superior e preme no botón Participar." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:64 #: lib/web/templates/email/pending_participation_notification.text.eex:8 -#, elixir-format msgid "You are receiving this email because you chose to get notifications for pending attendance requests to your events. You can disable or change your notification settings in your user account settings under « Notifications »." msgstr "" "Recibes este email porque escolleches ser notificada sobre as solicitudes " "pendentes nos teus eventos. Podes desactivar ou cambiar os axustes das " "notificación nos axustes da conta baixo « Notificacións »." -#: lib/web/templates/email/event_participation_rejected.text.eex:5 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.text.eex:5 msgid "You issued a request to attend %{title}." msgstr "Solicitaches participar en %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.text.eex:5 #: lib/web/templates/email/event_participation_confirmed.text.eex:3 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Recentemente solicitaches participar en %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:13 #: lib/web/templates/email/event_participation_confirmed.html.eex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1 -#, elixir-format msgid "You're going!" msgstr "Vas ir!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:64 #: lib/web/templates/email/email_changed_new.text.eex:5 -#, elixir-format msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "Se non propiciaches ti o cambio, por favor ignora esta mensaxe." -#: lib/web/templates/email/email.html.eex:90 #, elixir-format +#: lib/web/templates/email/email.html.eex:90 msgid "Please do not use it for real purposes." msgstr "Por favor, non o uses para eventos reais." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:45 #: lib/web/templates/email/group_member_removal.text.eex:5 -#, elixir-format msgid "If you feel this is an error, you may contact the group's administrators so that they can add you back." msgstr "" "Se cres que é un erro, podes contactar co grupo de administradoras para que " "poidan volver a engadirte." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:13 #: lib/web/templates/email/group_member_removal.text.eex:1 -#, elixir-format msgid "So long, and thanks for the fish!" msgstr "Ata aquí, e grazas pola atención!" -#: lib/web/email/group.ex:63 #, elixir-format +#: lib/web/email/group.ex:63 msgid "You have been removed from group %{group}" msgstr "Foches eliminada do grupo %{group}" -#: lib/web/templates/email/group_member_removal.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_member_removal.text.eex:3 msgid "You have been removed from group %{group}. You will not be able to access this group's private content anymore." msgstr "" "Foches eliminada do grupo %{group}. Agora non poderás acceder ós contidos " "privados do grupo." -#: lib/web/templates/email/group_invite.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:38 msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}" msgstr "" "%{inviter} convidoute a unirte ó seu grupo " "%{link_start}%{group}%{link_end}" -#: lib/web/templates/email/group_member_removal.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.eex:38 msgid "You have been removed from group %{link_start}%{group}%{link_end}. You will not be able to access this group's private content anymore." msgstr "" "Foches eliminada do grupo %{link_start}%{group}%{link_end}. Agora non " "poderás acceder ós contidos privados deste grupo." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:54 #: lib/web/templates/email/group_suspension.text.eex:7 -#, elixir-format msgid "As this group was located on another instance, it will continue to work for other instances than this one." msgstr "" "Este grupo estaba localizado noutra instancia, seguirá funcionando para " "outras instancias pero non nesta." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:46 #: lib/web/templates/email/group_suspension.text.eex:5 -#, elixir-format msgid "As this group was located on this instance, all of it's data has been irretrievably deleted." msgstr "" "Como este grupo estaba noutra instancia, todos os seus datos serán " "irreversiblemente eliminados." +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:38 #: lib/web/templates/email/group_deletion.text.eex:3 -#, elixir-format msgid "The administrator %{author} deleted group %{group}. All of the group's events, discussions, posts and todos have been deleted." msgstr "" "A administradora %{author} eliminou o grupo %{group}. Todos os eventos do " "grupo, debates, publicacións e tarefas foron elminados." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:13 #: lib/web/templates/email/group_suspension.text.eex:1 -#, elixir-format msgid "The group %{group} has been suspended on %{instance}!" msgstr "O grupo %{group} foi suspendido en %{instance}!" +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:13 #: lib/web/templates/email/group_deletion.text.eex:1 -#, elixir-format msgid "The group %{group} was deleted on %{instance}!" msgstr "O grupo %{group} foi eliminado de %{instance}!" +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:38 #: lib/web/templates/email/group_suspension.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "" "Os moderadores da túa instancia decidiron suspender %{group_name} " "(%{group_address}). Xa non pertences a este grupo." -#: lib/web/email/group.ex:136 #, elixir-format +#: lib/web/email/group.ex:136 msgid "The group %{group} has been deleted on %{instance}" msgstr "O grupo %{group} foi eliminado de %{instance}" -#: lib/web/email/group.ex:97 #, elixir-format +#: lib/web/email/group.ex:97 msgid "The group %{group} has been suspended on %{instance}" msgstr "O grupo %{group} foi suspendido en %{instance}" -#: lib/web/templates/api/terms.html.eex:24 #, elixir-format +#: lib/web/templates/api/terms.html.eex:24 msgctxt "terms" msgid "By accessing or using the Service, this means you agree to be bound by all the terms below. If these terms are in any way unclear, please let us know by contacting %{contact}." msgstr "" @@ -1329,8 +1329,8 @@ msgstr "" "Se estos termos dalgún xeito non están claros, por favor fainolo saber " "contactando con %{contact}." -#: lib/web/templates/api/terms.html.eex:40 #, elixir-format +#: lib/web/templates/api/terms.html.eex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" @@ -1338,22 +1338,22 @@ msgstr "" "usuarias do Servizo, mira a nosa política de " "privacidade." -#: lib/web/templates/api/terms.html.eex:36 #, elixir-format +#: lib/web/templates/api/terms.html.eex:36 msgctxt "terms" msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms." msgstr "" "Se continúas a usar o Servizo tras estar vixentes os Termos revisados, " "aceptas os Termos revisados." -#: lib/web/templates/api/privacy.html.eex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:78 msgctxt "terms" msgid "If you delete this information, you need to login again." msgstr "Se eliminas esta información deberás conectarte de volta." -#: lib/web/templates/api/privacy.html.eex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:80 msgctxt "terms" msgid "If you're not connected, we don't store any information on your device, unless you participate in an event anonymously. In this specific case we store the hash of an unique identifier for the event and participation status in your browser so that we may display participation status. Deleting this information will only stop displaying participation status in your browser." msgstr "" @@ -1364,29 +1364,29 @@ msgstr "" "Eliminando esta información só fará que deixes de ver o estado da " "participación no teu navegador." -#: lib/web/templates/api/privacy.html.eex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:87 msgctxt "terms" msgid "Note: This information is stored in your localStorage and not your cookies." msgstr "Nota: esta información gárdase no localStorage e non nas cookies." -#: lib/web/templates/api/terms.html.eex:71 #, elixir-format +#: lib/web/templates/api/terms.html.eex:71 msgctxt "terms" msgid "Our responsibility" msgstr "A nosa responsabilidade" -#: lib/web/templates/api/privacy.html.eex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:61 msgctxt "terms" msgid "Retain server logs containing the IP address of all requests to this server, insofar as such logs are kept, no more than 90 days." msgstr "" "Gardar rexistros do servidor que conteñen enderezos IP de todas as peticións " "ó servidor, de tal xeito que non será durante máis de 90 días." +#, elixir-format #: lib/web/templates/api/privacy.html.eex:3 #: lib/web/templates/api/terms.html.eex:15 -#, elixir-format msgctxt "terms" msgid "Some terms, technical or otherwise, used in the text below may cover concepts that are difficult to grasp. We have provided a glossary to help you understand them better." msgstr "" @@ -1394,16 +1394,16 @@ msgstr "" "poderían referir conceptos difíciles de comprender. Aquí tes un glosario para axudarche a comprendelos mellor." -#: lib/web/templates/api/terms.html.eex:45 #, elixir-format +#: lib/web/templates/api/terms.html.eex:45 msgctxt "terms" msgid "We are not liable for any loss you may incur as a result of someone else using your email or password, either with or without your knowledge." msgstr "" "Non somos responsables de calquera perda que puideses sufrir se alguén " "utiliza o teu email ou contrasinal, con ou sen o teu consentimento." -#: lib/web/templates/api/terms.html.eex:50 #, elixir-format +#: lib/web/templates/api/terms.html.eex:50 msgctxt "terms" msgid "We cannot be held responsible should a programming or administrative error make your content visible to a larger audience than intended. Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service." msgstr "" @@ -1413,8 +1413,8 @@ msgstr "" "dereitos do contido que publicas, ligas ou doutro xeito pos a disposición a " "través do Servizo." -#: lib/web/templates/api/privacy.html.eex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:10 msgctxt "terms" msgid "We collect information from you when you register on this instance and gather data when you participate in the platform by reading, writing, and interacting with content shared here. If you register on this instance, you will be asked to enter an email address, a password (hashed) and at least an username. Your email address will be verified by an email containing a unique link. Once the link is activated, we know you control that email address. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly. You may however visit this instance without registering." msgstr "" @@ -1430,16 +1430,16 @@ msgstr "" "público. Porén, sempre podes visitar a instancia sen precisar " "rexistrarte." -#: lib/web/templates/api/terms.html.eex:30 #, elixir-format +#: lib/web/templates/api/terms.html.eex:30 msgctxt "terms" msgid "We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature." msgstr "" "Reservamos o dereito a modificar estos Termos en calquera momento. Por " "exemplo, poderiamos cambiar os Termos se introducimos novas funcións." -#: lib/web/templates/api/terms.html.eex:20 #, elixir-format +#: lib/web/templates/api/terms.html.eex:20 msgctxt "terms" msgid "When we say “we”, “our”, or “us” in this document, we are referring to the owners, operators and administrators of this Mobilizon instance. The Mobilizon software is provided by the team of Mobilizon contributors, supported by Framasoft, a French not-for-profit organization advocating for Free/Libre Software. Unless explicitly stated, this Mobilizon instance is an independent service using Mobilizon's source code. You may find more information about this instance on the \"About this instance\" page." msgstr "" @@ -1453,8 +1453,8 @@ msgstr "" "información sobre esta instancia na páxina Acerca desta instancia." -#: lib/web/templates/api/terms.html.eex:43 #, elixir-format +#: lib/web/templates/api/terms.html.eex:43 msgctxt "terms" msgid "When you create an account you agree to maintain the security and confidentiality of your password and accept all risks of unauthorized access to your account data and any other information you provide to %{instance_name}." msgstr "" @@ -1462,8 +1462,8 @@ msgstr "" "contrasinal e aceptas os riscos dun acceso non autorizado á túa conta e a " "calquera outra información que proporciones a %{instance_name}." -#: lib/web/templates/api/terms.html.eex:49 #, elixir-format +#: lib/web/templates/api/terms.html.eex:49 msgctxt "terms" msgid "When you post, link or otherwise make available content to the Service, you grant us the right and license to display and distribute your content on or through the Service (including via applications). We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself. The displaying and distribution of your content happens only according to the visibility rules you have set for the content. We will not modify the visibility of the content you have set." msgstr "" @@ -1475,8 +1475,8 @@ msgstr "" "de acordo ás regras de visibilidade que establezas para o contido. Non " "modificaremos a visibilidade que ti estableceches para o contido." -#: lib/web/templates/api/privacy.html.eex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:19 msgctxt "terms" msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to different instances and copies are stored there. When you delete events or comments, this is likewise delivered to these other instances. All interactions related to event features - such as joining an event - or group features - such as managing resources - are federated as well. Please keep in mind that the operators of the instance and any receiving instances may view such messages and information, and that recipients may screenshot, copy or otherwise re-share them." msgstr "" @@ -1489,8 +1489,8 @@ msgstr "" "ver esas mensaxes e información, e as correspondentes poden facer capturas " "de pantalla, copiar e volver a compartir de múltiples xeitos esa información." -#: lib/web/templates/api/privacy.html.eex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:99 msgctxt "terms" msgid "Your content may be downloaded by other instances in the network. Your public events and comments are delivered to the instances following your own instance. Content created through a group is forwarded to all the instances of all the members of the group, insofar as these members reside on a different instance than this one." msgstr "" @@ -1500,207 +1500,202 @@ msgstr "" "membros do grupo, sempre que esos membros do grupo residan en diferentes " "instancias desta." -#: lib/web/templates/email/event_participation_confirmed.text.eex:4 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.text.eex:4 msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Confirmaches a participación. Actualiza o calendario, xa que agora estás na " "lista de convidadas!" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:38 #: lib/web/templates/email/event_participation_confirmed.html.eex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Recentemente solicitaches participar en %{title}." -#: lib/web/email/participation.ex:91 #, elixir-format +#: lib/web/email/participation.ex:91 msgid "Your participation to event %{title} has been confirmed" msgstr "Confirmouse a túa participación no evento %{title}" -#: lib/web/templates/email/report.html.eex:41 #, elixir-format +#: lib/web/templates/email/report.html.eex:41 msgid "%{reporter} reported the following content." msgstr "%{reporter} denunciou o seguinte contido." -#: lib/web/templates/email/report.text.eex:5 #, elixir-format +#: lib/web/templates/email/report.text.eex:5 msgid "Group %{group} was reported" msgstr "O grupo %{group} foi denunciado" -#: lib/web/templates/email/report.html.eex:51 #, elixir-format +#: lib/web/templates/email/report.html.eex:51 msgid "Group reported" msgstr "Grupo denunciado" -#: lib/web/templates/email/report.text.eex:7 #, elixir-format +#: lib/web/templates/email/report.text.eex:7 msgid "Profile %{profile} was reported" msgstr "O perfil %{profile} foi denunciado" -#: lib/web/templates/email/report.html.eex:56 #, elixir-format +#: lib/web/templates/email/report.html.eex:56 msgid "Profile reported" msgstr "Perfil denunciado" -#: lib/web/templates/email/event_participation_confirmed.html.eex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.eex:45 msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Confirmaches a túa participación. Actualiza o calendario, agora estás na " "lista de convidadas!" -#: lib/mobilizon/posts/post.ex:94 #, elixir-format +#: lib/mobilizon/posts/post.ex:94 msgid "A text is required for the post" msgstr "Requírese un texto para a publicación" -#: lib/mobilizon/posts/post.ex:93 #, elixir-format +#: lib/mobilizon/posts/post.ex:93 msgid "A title is required for the post" msgstr "Requírese un título para a publicación" -#: lib/web/templates/email/instance_follow.text.eex:3 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:3 msgid "%{name} (%{domain}) just requested to follow your instance." msgstr "%{name} (%{domain}) solicitou seguir a túa instancia." -#: lib/web/email/follow.ex:54 #, elixir-format +#: lib/web/email/follow.ex:54 msgid "%{name} requests to follow your instance" msgstr "%{name} solicita seguir a túa instancia" -#: lib/web/templates/email/instance_follow.html.eex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:38 msgid "%{name} (%{domain}) just requested to follow your instance. If you accept, this instance will receive all of your instance's public events." msgstr "" "%{name} (%{domain}) solicitou pedir a túa instancia. Se aceptas, esta " "instancia recibirá todos os eventos públicos da túa instancia." -#: lib/web/templates/email/instance_follow.text.eex:4 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:4 msgid "If you accept, this instance will receive all of your public events." msgstr "Se aceptas, esta instancia recibirá todos os teus eventos públicos." -#: lib/web/email/follow.ex:48 #, elixir-format +#: lib/web/email/follow.ex:48 msgid "Instance %{name} (%{domain}) requests to follow your instance" msgstr "A instancia %{name} (%{domain}) solicita seguir a túa instancia" -#: lib/web/templates/email/instance_follow.html.eex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:66 msgid "See the federation settings" msgstr "Ver axustes de federación" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:52 #: lib/web/templates/email/instance_follow.text.eex:6 -#, elixir-format msgid "To accept this invitation, head over to the instance's admin settings." msgstr "" "Para aceptar o convite, vaite ós axustes de administración da instancia." +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:13 #: lib/web/templates/email/instance_follow.text.eex:1 -#, elixir-format msgid "Want to connect?" msgstr "Desexas conectarte?" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:45 #: lib/web/templates/email/instance_follow.text.eex:5 -#, elixir-format msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too." msgstr "" "Nota: que %{name} (%{domain}) te siga non implica que sigas a esta " "instancia, pero podes tamén solicitar seguilos a eles." -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Ola! Rexistrácheste para unirte a este evento: « %{title} ». Confirma " "o enderezo de email proporcionado:" -#: lib/web/templates/email/event_participation_rejected.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.eex:38 msgid "You issued a request to attend %{title}." msgstr "Fixeches unha solicitude para participar en %{title}." -#: lib/web/templates/email/event_updated.html.eex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:64 msgid "Event title" msgstr "Título do evento" -#: lib/web/templates/email/event_updated.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:38 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "Houbo cambios en %{title} e cremos que debes sabelo." -#: lib/web/templates/error/500_page.html.eex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:7 msgid "This page is not correct" msgstr "Esta páxina non é correcta" -#: lib/web/templates/error/500_page.html.eex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Lamentámolo, pero algo está a fallar pola nosa parte." +#, elixir-format #: lib/web/templates/email/email.html.eex:89 #: lib/web/templates/email/email.text.eex:4 -#, elixir-format msgid "This is a demonstration site to test Mobilizon." msgstr "Este é un sitio web de exemplo para probar Mobilizon." +#, elixir-format #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 -#, elixir-format msgid "%{name}'s feed" msgstr "fonte de %{name}" -#: lib/service/export/feed.ex:120 #, elixir-format +#: lib/service/export/feed.ex:120 msgid "%{actor}'s private events feed on %{instance}" msgstr "fonte dos eventos privados de %{actor} en %{instance}" -#: lib/service/export/feed.ex:115 #, elixir-format +#: lib/service/export/feed.ex:115 msgid "%{actor}'s public events feed on %{instance}" msgstr "fonte dos eventos públicos de %{actor} en %{instance}" -#: lib/service/export/feed.ex:220 #, elixir-format +#: lib/service/export/feed.ex:220 msgid "Feed for %{email} on %{instance}" msgstr "Fonte para %{email} en %{instance}" -#: lib/web/templates/error/500_page.html.eex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:57 msgid "If the issue persists, you may contact the server administrator at %{contact}." msgstr "" "Se o problema persiste, contacta coa administración do servidor en " "%{contact}." -#: lib/web/templates/error/500_page.html.eex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:55 msgid "If the issue persists, you may try to contact the server administrator." msgstr "Se o problema persiste, contacta coa administración do servidor." -#: lib/web/templates/error/500_page.html.eex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:68 msgid "Technical details" msgstr "Detalles técnicos" -#: lib/web/templates/error/500_page.html.eex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:52 msgid "The Mobilizon server %{instance} seems to be temporarily down." msgstr "" "O servidor Mobilizon %{instance} semella estar temporalmente fóra de servizo." -#: lib/service/export/feed.ex:73 #, elixir-format +#: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "Fonte pública de %{instance}" - -#: lib/web/email/activity.ex:27 -#, elixir-format -msgid "Activity notification for %{instance}" -msgstr "Notificación de actividade para %{instancia}" diff --git a/priv/gettext/gl/LC_MESSAGES/errors.po b/priv/gettext/gl/LC_MESSAGES/errors.po index ffbe563ab..ba0b79118 100644 --- a/priv/gettext/gl/LC_MESSAGES/errors.po +++ b/priv/gettext/gl/LC_MESSAGES/errors.po @@ -782,7 +782,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Non podes rexeitar este convite con este perfil." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "O ficheiro non ten un tipo MIME permitido." diff --git a/priv/gettext/hu/LC_MESSAGES/activity.po b/priv/gettext/hu/LC_MESSAGES/activity.po index fe7154fec..ec26dc419 100644 --- a/priv/gettext/hu/LC_MESSAGES/activity.po +++ b/priv/gettext/hu/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/hu/LC_MESSAGES/default.po b/priv/gettext/hu/LC_MESSAGES/default.po index f615be09f..e0997fe45 100644 --- a/priv/gettext/hu/LC_MESSAGES/default.po +++ b/priv/gettext/hu/LC_MESSAGES/default.po @@ -450,7 +450,7 @@ msgstr[0] "Egy eseménye van a héten:" msgstr[1] "%{total} eseménye van a héten:" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Az eseményszervező nem adott meg leírást." @@ -1456,8 +1456,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/hu/LC_MESSAGES/errors.po b/priv/gettext/hu/LC_MESSAGES/errors.po index 0e6de57d6..e815cb031 100644 --- a/priv/gettext/hu/LC_MESSAGES/errors.po +++ b/priv/gettext/hu/LC_MESSAGES/errors.po @@ -805,7 +805,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Nem tudja visszautasítani ezt a meghívást ezzel a profillal." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "A fájl nem rendelkezik engedélyezett MIME-típussal." diff --git a/priv/gettext/it/LC_MESSAGES/activity.po b/priv/gettext/it/LC_MESSAGES/activity.po index d378b4c3a..e57244add 100644 --- a/priv/gettext/it/LC_MESSAGES/activity.po +++ b/priv/gettext/it/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po index a55eeba04..eba9fdf4b 100644 --- a/priv/gettext/it/LC_MESSAGES/default.po +++ b/priv/gettext/it/LC_MESSAGES/default.po @@ -445,7 +445,7 @@ msgstr[0] "Hai un evento questa settimana:" msgstr[1] "Hai %{total} eventi questa settimana:" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "L'organizzatore dell'evento non ha aggiunto alcuna descrizione." @@ -1744,8 +1744,3 @@ msgstr "Il server Mobilizon sembra essere temporaneamente inattivo." #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "Feed pubblico per %{instance}" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po index 7dd4c8a42..4ec6e8dd5 100644 --- a/priv/gettext/it/LC_MESSAGES/errors.po +++ b/priv/gettext/it/LC_MESSAGES/errors.po @@ -780,7 +780,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Non puoi rifiutare l'invito con questo profilo." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "Il file non ha un tipo MIME consentito." diff --git a/priv/gettext/ja/LC_MESSAGES/activity.po b/priv/gettext/ja/LC_MESSAGES/activity.po index 8d5b55b78..8230957ac 100644 --- a/priv/gettext/ja/LC_MESSAGES/activity.po +++ b/priv/gettext/ja/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,21 +209,20 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" msgstr[0] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -238,24 +232,49 @@ msgstr[0] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po index d6a974268..1718b6588 100644 --- a/priv/gettext/ja/LC_MESSAGES/default.po +++ b/priv/gettext/ja/LC_MESSAGES/default.po @@ -397,7 +397,7 @@ msgid_plural "You have %{total} events this week:" msgstr[0] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1399,8 +1399,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/errors.po b/priv/gettext/ja/LC_MESSAGES/errors.po index 170182f2c..08ee9d5f1 100644 --- a/priv/gettext/ja/LC_MESSAGES/errors.po +++ b/priv/gettext/ja/LC_MESSAGES/errors.po @@ -754,7 +754,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/activity.po b/priv/gettext/nl/LC_MESSAGES/activity.po index 4319392c8..a5f82a2bc 100644 --- a/priv/gettext/nl/LC_MESSAGES/activity.po +++ b/priv/gettext/nl/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po index 3e80232f8..f515c770a 100644 --- a/priv/gettext/nl/LC_MESSAGES/default.po +++ b/priv/gettext/nl/LC_MESSAGES/default.po @@ -411,7 +411,7 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1424,8 +1424,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/errors.po b/priv/gettext/nl/LC_MESSAGES/errors.po index a13bc6d99..a99ddf87f 100644 --- a/priv/gettext/nl/LC_MESSAGES/errors.po +++ b/priv/gettext/nl/LC_MESSAGES/errors.po @@ -760,7 +760,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/activity.po b/priv/gettext/nn/LC_MESSAGES/activity.po index 753b56907..17848ed89 100644 --- a/priv/gettext/nn/LC_MESSAGES/activity.po +++ b/priv/gettext/nn/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/default.po b/priv/gettext/nn/LC_MESSAGES/default.po index a99e3368f..5320d1524 100644 --- a/priv/gettext/nn/LC_MESSAGES/default.po +++ b/priv/gettext/nn/LC_MESSAGES/default.po @@ -439,7 +439,7 @@ msgstr[0] "Du har ei hending denne veka:" msgstr[1] "Du har %{total} hendingar denne veka:" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Tilskiparen skreiv inga skildring." @@ -1700,8 +1700,3 @@ msgstr "Mobilizon-tenaren ser ut til å vera nede i augeblinken." #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/errors.po b/priv/gettext/nn/LC_MESSAGES/errors.po index 359c21323..33d959953 100644 --- a/priv/gettext/nn/LC_MESSAGES/errors.po +++ b/priv/gettext/nn/LC_MESSAGES/errors.po @@ -797,7 +797,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Du kan ikkje avslå invitasjonen med denne profilen." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "Fila har ingen tillaten MIME-type." diff --git a/priv/gettext/oc/LC_MESSAGES/activity.po b/priv/gettext/oc/LC_MESSAGES/activity.po index d22ecd212..790da5aa2 100644 --- a/priv/gettext/oc/LC_MESSAGES/activity.po +++ b/priv/gettext/oc/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/oc/LC_MESSAGES/default.po b/priv/gettext/oc/LC_MESSAGES/default.po index f4586201e..e541eb927 100644 --- a/priv/gettext/oc/LC_MESSAGES/default.po +++ b/priv/gettext/oc/LC_MESSAGES/default.po @@ -436,7 +436,7 @@ msgstr[0] "Avètz un eveniment aquesta setmana :" msgstr[1] "Avètz %{total} eveniments aquesta setmana :" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "L'organizator de l'eveniment a pas ajustat cap de descripcion." @@ -1509,8 +1509,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/oc/LC_MESSAGES/errors.po b/priv/gettext/oc/LC_MESSAGES/errors.po index a1d37534c..b7ef26b69 100644 --- a/priv/gettext/oc/LC_MESSAGES/errors.po +++ b/priv/gettext/oc/LC_MESSAGES/errors.po @@ -772,7 +772,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/pl/LC_MESSAGES/activity.po b/priv/gettext/pl/LC_MESSAGES/activity.po index 058f96f2c..1ae95de96 100644 --- a/priv/gettext/pl/LC_MESSAGES/activity.po +++ b/priv/gettext/pl/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -229,8 +223,8 @@ msgstr[1] "" msgstr[2] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -242,24 +236,49 @@ msgstr[2] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/pl/LC_MESSAGES/default.po b/priv/gettext/pl/LC_MESSAGES/default.po index 47528c548..8c2c2c90b 100644 --- a/priv/gettext/pl/LC_MESSAGES/default.po +++ b/priv/gettext/pl/LC_MESSAGES/default.po @@ -443,7 +443,7 @@ msgstr[1] "Masz w tym tygodniu %{total} wydarzenia:" msgstr[2] "Masz w tym tygodniu %{total} wydarzeń:" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Organizator wydarzenia nie dodał żadnego opisu." @@ -1525,8 +1525,3 @@ msgstr "Serwer Mobilizon wydaje się tymczasowo nie działać." #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/pl/LC_MESSAGES/errors.po b/priv/gettext/pl/LC_MESSAGES/errors.po index 54d6830e7..04dc9ffd9 100644 --- a/priv/gettext/pl/LC_MESSAGES/errors.po +++ b/priv/gettext/pl/LC_MESSAGES/errors.po @@ -789,7 +789,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Nie możesz odrzucić tego zaproszenia z tego profilu." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "Plik nie ma dozwolonego typu MIME." diff --git a/priv/gettext/pt/LC_MESSAGES/activity.po b/priv/gettext/pt/LC_MESSAGES/activity.po index 5bac3502d..45e721f6b 100644 --- a/priv/gettext/pt/LC_MESSAGES/activity.po +++ b/priv/gettext/pt/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/pt/LC_MESSAGES/default.po b/priv/gettext/pt/LC_MESSAGES/default.po index e1c79e08f..5c6befce6 100644 --- a/priv/gettext/pt/LC_MESSAGES/default.po +++ b/priv/gettext/pt/LC_MESSAGES/default.po @@ -400,7 +400,7 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1404,8 +1404,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/pt/LC_MESSAGES/errors.po b/priv/gettext/pt/LC_MESSAGES/errors.po index 0ad4164ab..7cb071d18 100644 --- a/priv/gettext/pt/LC_MESSAGES/errors.po +++ b/priv/gettext/pt/LC_MESSAGES/errors.po @@ -760,7 +760,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/activity.po b/priv/gettext/pt_BR/LC_MESSAGES/activity.po index 6590e3739..073edb521 100644 --- a/priv/gettext/pt_BR/LC_MESSAGES/activity.po +++ b/priv/gettext/pt_BR/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/default.po b/priv/gettext/pt_BR/LC_MESSAGES/default.po index e880bd3a4..358ce36a2 100644 --- a/priv/gettext/pt_BR/LC_MESSAGES/default.po +++ b/priv/gettext/pt_BR/LC_MESSAGES/default.po @@ -446,7 +446,7 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1516,8 +1516,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/errors.po b/priv/gettext/pt_BR/LC_MESSAGES/errors.po index 8cb11f0ad..c1b5b46e6 100644 --- a/priv/gettext/pt_BR/LC_MESSAGES/errors.po +++ b/priv/gettext/pt_BR/LC_MESSAGES/errors.po @@ -760,7 +760,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/priv/gettext/ru/LC_MESSAGES/activity.po b/priv/gettext/ru/LC_MESSAGES/activity.po index 445e3c520..b7657a061 100644 --- a/priv/gettext/ru/LC_MESSAGES/activity.po +++ b/priv/gettext/ru/LC_MESSAGES/activity.po @@ -19,257 +19,278 @@ msgstr "" "X-Generator: Weblate 4.6.2\n" "Content-Transfer-Encoding: 8bit\n" +#, elixir-format #: lib/service/activity/renderer/member.ex:38 #: lib/web/templates/email/activity/_member_activity_item.html.eex:19 lib/web/templates/email/activity/_member_activity_item.text.eex:12 -#, elixir-format msgid "%{member} accepted the invitation to join the group." msgstr "%{member} принял приглашение присоединиться к группе." +#, elixir-format #: lib/service/activity/renderer/member.ex:42 #: lib/web/templates/email/activity/_member_activity_item.html.eex:26 lib/web/templates/email/activity/_member_activity_item.text.eex:17 -#, elixir-format msgid "%{member} rejected the invitation to join the group." msgstr "%{member} отклонил приглашение присоединиться к группе." +#, elixir-format #: lib/service/activity/renderer/member.ex:30 #: lib/web/templates/email/activity/_member_activity_item.html.eex:4 lib/web/templates/email/activity/_member_activity_item.text.eex:1 -#, elixir-format msgid "%{member} requested to join the group." msgstr "%{member} попросил присоединиться к группе." +#, elixir-format #: lib/service/activity/renderer/member.ex:34 #: lib/web/templates/email/activity/_member_activity_item.html.eex:11 lib/web/templates/email/activity/_member_activity_item.text.eex:6 -#, elixir-format msgid "%{member} was invited by %{profile}." msgstr "%{member} был приглашён %{profile}." +#, elixir-format #: lib/service/activity/renderer/member.ex:50 #: lib/web/templates/email/activity/_member_activity_item.html.eex:40 lib/web/templates/email/activity/_member_activity_item.text.eex:27 -#, elixir-format msgid "%{profile} added the member %{member}." msgstr "%{profile} добавил участника %{member}." -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "%{profile} заархивировал обсуждение %{discussion}." -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "%{profile} создал обсуждение %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:24 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 lib/web/templates/email/activity/_resource_activity_item.text.eex:2 -#, elixir-format msgid "%{profile} created the folder %{resource}." msgstr "%{profile} создал папку %{resource}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:4 #: lib/web/templates/email/activity/_group_activity_item.text.eex:1 -#, elixir-format msgid "%{profile} created the group %{group}." msgstr "%{profile} создал группу %{group}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:33 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 lib/web/templates/email/activity/_resource_activity_item.text.eex:8 -#, elixir-format msgid "%{profile} created the resource %{resource}." msgstr "%{profile} создал ресурс %{resource}." -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "%{profile} удалил обсуждение %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:97 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 lib/web/templates/email/activity/_resource_activity_item.text.eex:40 -#, elixir-format msgid "%{profile} deleted the folder %{resource}." msgstr "%{profile} удалил папку %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:106 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 lib/web/templates/email/activity/_resource_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} deleted the resource %{resource}." msgstr "%{profile} удалил ресурс %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:58 #: lib/web/templates/email/activity/_member_activity_item.html.eex:56 lib/web/templates/email/activity/_member_activity_item.text.eex:39 -#, elixir-format msgid "%{profile} excluded member %{member}." msgstr "%{profile} исключил участника %{member}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:76 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 lib/web/templates/email/activity/_resource_activity_item.text.eex:28 -#, elixir-format msgid "%{profile} moved the folder %{resource}." msgstr "%{profile} переместил папку %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:85 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 lib/web/templates/email/activity/_resource_activity_item.text.eex:34 -#, elixir-format msgid "%{profile} moved the resource %{resource}." msgstr "%{profile} переместил ресурс %{resource}." +#, elixir-format #: lib/service/activity/renderer/member.ex:62 #: lib/web/templates/email/activity/_member_activity_item.html.eex:64 lib/web/templates/email/activity/_member_activity_item.text.eex:45 -#, elixir-format msgid "%{profile} quit the group." msgstr "%{profile} вышел из группы." -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 -#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "%{profile} переименовал обсуждение %{discussion}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:45 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 lib/web/templates/email/activity/_resource_activity_item.text.eex:14 -#, elixir-format msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." msgstr "%{profile} переименовал папку из %{old_resource_title} в %{resource}." +#, elixir-format #: lib/service/activity/renderer/resource.ex:59 #: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 lib/web/templates/email/activity/_resource_activity_item.text.eex:21 -#, elixir-format msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." msgstr "%{profile} переименовал ресурс из %{old_resource_title} в %{resource}." -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "%{profile} ответил на обсуждение %{discussion}." +#, elixir-format #: lib/web/templates/email/activity/_group_activity_item.html.eex:19 #: lib/web/templates/email/activity/_group_activity_item.text.eex:7 -#, elixir-format msgid "%{profile} updated the group %{group}." msgstr "%{profile} обновил группу %{group}." +#, elixir-format #: lib/service/activity/renderer/member.ex:54 #: lib/web/templates/email/activity/_member_activity_item.html.eex:48 lib/web/templates/email/activity/_member_activity_item.text.eex:33 -#, elixir-format msgid "%{profile} updated the member %{member}." msgstr "%{profile} обновил участника %{member}." +#, elixir-format #: lib/service/activity/renderer/event.ex:23 #: lib/web/templates/email/activity/_event_activity_item.html.eex:4 lib/web/templates/email/activity/_event_activity_item.text.eex:1 -#, elixir-format msgid "The event %{event} was created by %{profile}." msgstr "Мероприятие %{event} было создано %{profile}." +#, elixir-format #: lib/service/activity/renderer/event.ex:43 #: lib/web/templates/email/activity/_event_activity_item.html.eex:34 lib/web/templates/email/activity/_event_activity_item.text.eex:13 -#, elixir-format msgid "The event %{event} was deleted by %{profile}." msgstr "Мероприятие %{event} было удалено %{profile}." +#, elixir-format #: lib/service/activity/renderer/event.ex:33 #: lib/web/templates/email/activity/_event_activity_item.html.eex:19 lib/web/templates/email/activity/_event_activity_item.text.eex:7 -#, elixir-format msgid "The event %{event} was updated by %{profile}." msgstr "Мероприятие %{event} было обновлено %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:23 #: lib/web/templates/email/activity/_post_activity_item.html.eex:4 lib/web/templates/email/activity/_post_activity_item.text.eex:1 -#, elixir-format msgid "The post %{post} was created by %{profile}." msgstr "Публикация %{post} была создана %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:43 #: lib/web/templates/email/activity/_post_activity_item.html.eex:34 lib/web/templates/email/activity/_post_activity_item.text.eex:13 -#, elixir-format msgid "The post %{post} was deleted by %{profile}." msgstr "Публикация %{post} была удалена %{profile}." +#, elixir-format #: lib/service/activity/renderer/group.ex:33 #: lib/web/templates/email/activity/_post_activity_item.html.eex:19 lib/web/templates/email/activity/_post_activity_item.text.eex:7 -#, elixir-format msgid "The post %{post} was updated by %{profile}." msgstr "Публикация %{post} была обновлена %{profile}." +#, elixir-format #: lib/service/activity/renderer/member.ex:46 #: lib/web/templates/email/activity/_member_activity_item.html.eex:33 lib/web/templates/email/activity/_member_activity_item.text.eex:22 -#, elixir-format msgid "%{member} joined the group." msgstr "%{member} присоединился к группе." +#, elixir-format #: lib/service/activity/renderer/event.ex:63 #: lib/web/templates/email/activity/_event_activity_item.html.eex:58 lib/web/templates/email/activity/_event_activity_item.text.eex:25 -#, elixir-format msgid "%{profile} posted a comment on the event %{event}." msgstr "%{profile} оставил комментарий к мероприятию %{event}." +#, elixir-format #: lib/service/activity/renderer/event.ex:54 #: lib/web/templates/email/activity/_event_activity_item.html.eex:43 lib/web/templates/email/activity/_event_activity_item.text.eex:19 -#, elixir-format msgid "%{profile} replied to a comment on the event %{event}." msgstr "%{profile} ответил на комментарий к мероприятию %{event}." -#: lib/web/templates/email/email_direct_activity.html.eex:144 -#: lib/web/templates/email/email_direct_activity.text.eex:23 #, elixir-format +#: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" "Не хотите получать уведомления о событиях? Вы можете изменить частоту " "уведомлений или отключить их в своих настройках." -#: lib/web/templates/email/email_direct_activity.html.eex:124 -#: lib/web/templates/email/email_direct_activity.text.eex:19 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:133 +#: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" msgstr[0] "Посмотреть еще одно событие" msgstr[1] "Посмотреть еще %{count} события" msgstr[2] "Посмотреть еще %{count} событий" -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 #, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "Было событие!" msgstr[1] "Были события!" msgstr[2] "Были события!" -#: lib/service/activity/renderer/renderer.ex:38 #, elixir-format +#: lib/service/activity/renderer/renderer.ex:38 msgid "Activity on %{instance}" msgstr "События на %{instance}" -#: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 #, elixir-format +#: lib/service/activity/renderer/comment.ex:38 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "%{profile} разместил объявление под мероприятием %{event}." -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 #, elixir-format -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "%{profile} упомянул вас в комментарии под %{event}." - #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 -#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "%{profile} упомянул вас в комментарии под мероприятием %{event}." -#: lib/service/activity/renderer/comment.ex:52 #, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "%{profile} упомянул вас в обсуждении %{discussion}." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" +"Не хотите получать уведомления о событиях? Вы можете изменить частоту " +"уведомлений или отключить их в своих настройках." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "События на %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/ru/LC_MESSAGES/default.po b/priv/gettext/ru/LC_MESSAGES/default.po index c19073589..6eb09594e 100644 --- a/priv/gettext/ru/LC_MESSAGES/default.po +++ b/priv/gettext/ru/LC_MESSAGES/default.po @@ -15,267 +15,267 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.6.2\n" -#: lib/web/templates/email/password_reset.html.eex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:48 msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." msgstr "" "Если вы не оставляли такой запрос, проигнорируйте данное письмо. Пароль не " "изменится, если не перейти по приведённой ссылке и не указать новый." -#: lib/web/templates/email/report.html.eex:74 #, elixir-format +#: lib/web/templates/email/report.html.eex:74 msgid "%{title} by %{creator}" msgstr "%{title} от %{creator}" -#: lib/web/templates/email/registration_confirmation.html.eex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:58 msgid "Activate my account" msgstr "Активировать мою учётную запись" +#, elixir-format #: lib/web/templates/email/email.html.eex:118 #: lib/web/templates/email/email.text.eex:9 -#, elixir-format msgid "Ask the community on Framacolibri" msgstr "Обратиться к сообществу на Framacolibri" -#: lib/web/templates/email/report.text.eex:15 #, elixir-format +#: lib/web/templates/email/report.text.eex:15 msgid "Comments" msgstr "Комментарии" +#, elixir-format #: lib/web/templates/email/report.html.eex:72 #: lib/web/templates/email/report.text.eex:11 -#, elixir-format msgid "Event" msgstr "Мероприятие" -#: lib/web/email/user.ex:48 #, elixir-format +#: lib/web/email/user.ex:48 msgid "Instructions to reset your password on %{instance}" msgstr "Инструкции по сбросу пароля на %{instance}" -#: lib/web/templates/email/report.text.eex:21 #, elixir-format +#: lib/web/templates/email/report.text.eex:21 msgid "Reason" msgstr "Причина" -#: lib/web/templates/email/password_reset.html.eex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:61 msgid "Reset Password" msgstr "Сбросить пароль" -#: lib/web/templates/email/password_reset.html.eex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:41 msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time." msgstr "" "Сбросить пароль легко. Просто нажмите на кнопку ниже и следуйте инструкциям. " "Это быстро." -#: lib/web/email/user.ex:28 #, elixir-format +#: lib/web/email/user.ex:28 msgid "Instructions to confirm your Mobilizon account on %{instance}" msgstr "Инструкции по подтверждению учётной записи Mobilizon на %{instance}" -#: lib/web/email/admin.ex:24 #, elixir-format +#: lib/web/email/admin.ex:24 msgid "New report on Mobilizon instance %{instance}" msgstr "Новый отчёт на Mobilizon узле %{instance}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:51 #: lib/web/templates/email/before_event_notification.text.eex:4 -#, elixir-format msgid "Go to event page" msgstr "Перейти на страницу мероприятия" -#: lib/web/templates/email/report.text.eex:1 #, elixir-format +#: lib/web/templates/email/report.text.eex:1 msgid "New report from %{reporter} on %{instance}" msgstr "Новый отчёт от %{reporter} на %{instance}" -#: lib/web/templates/email/event_participation_approved.text.eex:1 #, elixir-format +#: lib/web/templates/email/event_participation_approved.text.eex:1 msgid "Participation approved" msgstr "Участие одобрено" +#, elixir-format #: lib/web/templates/email/password_reset.html.eex:13 #: lib/web/templates/email/password_reset.text.eex:1 -#, elixir-format msgid "Password reset" msgstr "Сброс пароля" -#: lib/web/templates/email/password_reset.text.eex:7 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:7 msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time." msgstr "" "Сбросить пароль легко. Просто нажмите на ссылку ниже и следуйте инструкциям. " "Это быстро." -#: lib/web/templates/email/registration_confirmation.text.eex:5 #, elixir-format +#: lib/web/templates/email/registration_confirmation.text.eex:5 msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email." msgstr "" "Вы создали аккаунт на% {host}, используя этот адрес электронной почты. Вы в " "одном клике от его активации. Если это сделали не вы, просто проигнорируйте " "это письмо." -#: lib/web/email/participation.ex:112 #, elixir-format +#: lib/web/email/participation.ex:112 msgid "Your participation to event %{title} has been approved" msgstr "Ваше участие в мероприятии %{title} было одобрено" -#: lib/web/email/participation.ex:70 #, elixir-format +#: lib/web/email/participation.ex:70 msgid "Your participation to event %{title} has been rejected" msgstr "Ваш запрос на участие в %{title} был отклонен" -#: lib/web/email/event.ex:37 #, elixir-format +#: lib/web/email/event.ex:37 msgid "Event %{title} has been updated" msgstr "Мероприятие %{title} было обновлено" -#: lib/web/templates/email/event_updated.text.eex:15 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:15 msgid "New title: %{title}" msgstr "Новый заголовок: %{title}" -#: lib/web/templates/email/password_reset.text.eex:5 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:5 msgid "You requested a new password for your account on %{instance}." msgstr "Вы запросили новый пароль для своей учетной записи на %{instance}." -#: lib/web/templates/email/email.html.eex:86 #, elixir-format +#: lib/web/templates/email/email.html.eex:86 msgid "Warning" msgstr "Предупреждение" -#: lib/web/email/participation.ex:135 #, elixir-format +#: lib/web/email/participation.ex:135 msgid "Confirm your participation to event %{title}" msgstr "Подтвердите свое участие в мероприятии %{title}" -#: lib/web/templates/api/privacy.html.eex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:75 msgctxt "terms" msgid "An internal ID for your current selected identity" msgstr "Внутренний ID для выбранного идентификатора" -#: lib/web/templates/api/privacy.html.eex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:74 msgctxt "terms" msgid "An internal user ID" msgstr "Внутренний пользовательский ID" -#: lib/web/templates/api/privacy.html.eex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:37 msgctxt "terms" msgid "Any of the information we collect from you may be used in the following ways:" msgstr "" "Любая информация, которую мы собираем, может быть использована следующим " "образом:" -#: lib/web/templates/api/privacy.html.eex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:9 msgctxt "terms" msgid "Basic account information" msgstr "Основная информация об аккаунте" -#: lib/web/templates/api/privacy.html.eex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:25 msgctxt "terms" msgid "Do not share any dangerous information over Mobilizon." msgstr "Не передавайте через Mobilizon какую-либо небезопасную информацию." -#: lib/web/templates/api/privacy.html.eex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:90 msgctxt "terms" msgid "Do we disclose any information to outside parties?" msgstr "Передаем ли мы какую-либо информацию третьим лицам?" -#: lib/web/templates/api/privacy.html.eex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "Мы используем файлы cookie?" -#: lib/web/templates/api/privacy.html.eex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "Как мы защищаем вашу информацию?" -#: lib/web/templates/api/privacy.html.eex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "IP-адреса и другие метаданные" -#: lib/web/templates/api/privacy.html.eex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Опубликованные мероприятия и комментарии" -#: lib/web/templates/api/privacy.html.eex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:64 msgctxt "terms" msgid "Retain the IP addresses associated with registered users no more than 12 months." msgstr "" "Не храните IP-адреса, присвоенные зарегистрированным пользователям более 12 " "месяцев." -#: lib/web/templates/api/privacy.html.eex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Токены для аутентификации вас" -#: lib/web/templates/api/privacy.html.eex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:31 msgctxt "terms" msgid "We also may retain server logs which include the IP address of every request to our server." msgstr "" "Мы также можем хранить логи сервера, которые включают IP-адрес каждого " "запроса к нашему серверу." -#: lib/web/templates/api/privacy.html.eex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:70 msgctxt "terms" msgid "We store the following information on your device when you connect:" msgstr "" "Мы храним следующую информацию об устройстве, с которого вы подключаетесь:" -#: lib/web/templates/api/privacy.html.eex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:58 msgctxt "terms" msgid "We will make a good faith effort to:" msgstr "Мы приложим все усилия, чтобы:" -#: lib/web/templates/api/privacy.html.eex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "Для чего мы используем ваши данные?" -#: lib/web/templates/api/privacy.html.eex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:57 msgctxt "terms" msgid "What is our data retention policy?" msgstr "Какова наша политика хранения данных?" -#: lib/web/templates/api/privacy.html.eex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:67 msgctxt "terms" msgid "You may irreversibly delete your account at any time." msgstr "Вы можете в любой момент безвозвратно удалить свою учетную запись." -#: lib/web/templates/api/privacy.html.eex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Изменения в нашей Политике конфиденциальности" -#: lib/web/templates/api/privacy.html.eex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:106 msgctxt "terms" msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site." msgstr "" @@ -285,8 +285,8 @@ msgstr "" "Общий_регламент_по_защите_данных\">Общие правила защиты данных) не " "используйте этот сайт." -#: lib/web/templates/api/privacy.html.eex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:109 msgctxt "terms" msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site." msgstr "" @@ -296,30 +296,30 @@ msgstr "" "99s_Online_Privacy_Protection_Act\">Закон о защите конфиденциальности детей " "в Интернете) не используйте этот сайт." -#: lib/web/templates/api/privacy.html.eex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:117 msgctxt "terms" msgid "If we decide to change our privacy policy, we will post those changes on this page." msgstr "" "Если мы решим изменить нашу политику конфиденциальности, то опубликуем " "изменения на этой странице." -#: lib/web/templates/api/privacy.html.eex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:112 msgctxt "terms" msgid "Law requirements can be different if this server is in another jurisdiction." msgstr "" "Требования закона могут отличаться, если этот сервер находится в другой " "юрисдикции." -#: lib/web/templates/api/privacy.html.eex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Использование сайта детьми" -#: lib/web/templates/api/privacy.html.eex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:47 msgctxt "terms" msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions." msgstr "" @@ -329,8 +329,8 @@ msgstr "" "также для ответа на запросы, просьбы или\n" " вопросы." -#: lib/web/templates/api/privacy.html.eex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:45 msgctxt "terms" msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations." msgstr "" @@ -338,8 +338,8 @@ msgstr "" "адреса с другими известными, чтобы обнаружить обход бана\n" " или другие нарушения." -#: lib/web/templates/api/privacy.html.eex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:43 msgctxt "terms" msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in." msgstr "" @@ -348,92 +348,92 @@ msgstr "" " взаимодействовать с контентом других людей и размещать собственный " "контент, если вы вошли в систему." -#: lib/web/templates/api/privacy.html.eex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "Какую информацию мы собираем?" -#: lib/web/email/user.ex:176 #, elixir-format +#: lib/web/email/user.ex:176 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon на %{instance}: подтвердите свой адрес электронной почты" -#: lib/web/email/user.ex:152 #, elixir-format +#: lib/web/email/user.ex:152 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon на %{instance}: адрес электронной почты изменен" -#: lib/web/email/notification.ex:47 #, elixir-format +#: lib/web/email/notification.ex:47 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Сегодня запланировано одно мероприятие" msgstr[1] "Сегодня запланировано %{nb_events} мероприятия" msgstr[2] "Сегодня запланировано %{nb_events} мероприятий" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:38 #: lib/web/templates/email/on_day_notification.text.eex:4 -#, elixir-format msgid "You have one event today:" msgid_plural "You have %{total} events today:" msgstr[0] "У вас сегодня одно мероприятие:" msgstr[1] "У вас сегодня %{total} мероприятия:" msgstr[2] "У вас сегодня %{total} мероприятий:" -#: lib/web/templates/email/group_invite.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_invite.text.eex:3 msgid "%{inviter} just invited you to join their group %{group}" msgstr "%{inviter} только что пригласил вас присоединиться к их группе %{group}" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:13 #: lib/web/templates/email/group_invite.text.eex:1 -#, elixir-format msgid "Come along!" msgstr "Присоединяйтесь к нам!" -#: lib/web/email/notification.ex:24 #, elixir-format +#: lib/web/email/notification.ex:24 msgid "Don't forget to go to %{title}" msgstr "Не забудь об участии в %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:38 #: lib/web/templates/email/before_event_notification.text.eex:3 -#, elixir-format msgid "Get ready for %{title}" msgstr "Будь готов к %{title}" -#: lib/web/templates/email/group_invite.html.eex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:59 msgid "See my groups" msgstr "Посмотреть мои группы" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:45 #: lib/web/templates/email/group_invite.text.eex:5 -#, elixir-format msgid "To accept this invitation, head over to your groups." msgstr "Чтобы принять это приглашение, зайдите в свои группы." -#: lib/web/templates/email/before_event_notification.text.eex:5 #, elixir-format +#: lib/web/templates/email/before_event_notification.text.eex:5 msgid "View the event on: %{link}" msgstr "Посмотреть мероприятие на: %{link}" -#: lib/web/email/group.ex:33 #, elixir-format +#: lib/web/email/group.ex:33 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{Inviter} пригласил вас присоединиться к группе %{group}" -#: lib/web/email/notification.ex:71 #, elixir-format +#: lib/web/email/notification.ex:71 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "На этой неделе запланировано одно мероприятие" msgstr[1] "На этой неделе запланировано %{nb_events} мероприятия" msgstr[2] "На этой неделе запланировано %{nb_events} мероприятий" -#: lib/web/email/notification.ex:93 #, elixir-format +#: lib/web/email/notification.ex:93 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Одна заявка на участие в мероприятии %{title} ожидает одобрения" @@ -444,22 +444,22 @@ msgstr[2] "" "%{number_participation_requests} заявок на участие в мероприятии %{title} " "ожидают одобрения" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:38 #: lib/web/templates/email/notification_each_week.text.eex:3 -#, elixir-format msgid "You have one event this week:" msgid_plural "You have %{total} events this week:" msgstr[0] "У вас одно мероприятие на этой неделе:" msgstr[1] "На этой неделе у вас запланировано %{total} мероприятия:" msgstr[2] "На этой неделе у вас запланировано %{total} мероприятий:" -#: lib/service/metadata/utils.ex:52 #, elixir-format +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Организатор мероприятия не добавил описания." -#: lib/web/templates/api/privacy.html.eex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:54 msgctxt "terms" msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way algorithm." msgstr "" @@ -469,8 +469,8 @@ msgstr "" "между вашими приложениями и API защищены с помощью SSL/TLS, а ваш пароль " "хешируется с использованием надежного одностороннего алгоритма." -#: lib/web/templates/api/privacy.html.eex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:94 msgctxt "terms" msgid "No. We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety." msgstr "" @@ -482,20 +482,20 @@ msgstr "" "необходимо для соблюдения закона, обеспечения соблюдения политики нашего " "сайта или защиты наших или других прав, собственности или безопасности." -#: lib/web/templates/api/terms.html.eex:23 #, elixir-format +#: lib/web/templates/api/terms.html.eex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Принятие настоящих Условий" -#: lib/web/templates/api/terms.html.eex:27 #, elixir-format +#: lib/web/templates/api/terms.html.eex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Изменения в настоящих Условиях" -#: lib/web/templates/api/terms.html.eex:85 #, elixir-format +#: lib/web/templates/api/terms.html.eex:85 msgctxt "terms" msgid "A lot of the content on the Service is from you and others, and we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content." msgstr "" @@ -508,16 +508,16 @@ msgstr "" "возникающие в связи с использованием вами любого контента или вашего доверия " "к нему." -#: lib/web/templates/api/terms.html.eex:60 #, elixir-format +#: lib/web/templates/api/terms.html.eex:60 msgctxt "terms" msgid "Also, you agree that you will not do any of the following in connection with the Service or other users:" msgstr "" "Кроме того, вы соглашаетесь с тем, что не будете делать ничего из следующего " "в отношении Сервиса или других пользователей:" -#: lib/web/templates/api/terms.html.eex:65 #, elixir-format +#: lib/web/templates/api/terms.html.eex:65 msgctxt "terms" msgid "Circumvent or attempt to circumvent any filtering, security measures, rate limits or other features designed to protect the Service, users of the Service, or third parties." msgstr "" @@ -525,8 +525,8 @@ msgstr "" "ограничения скорости или другие функции, предназначенные для защиты Сервиса, " "пользователей Сервиса или третьих лиц." -#: lib/web/templates/api/terms.html.eex:64 #, elixir-format +#: lib/web/templates/api/terms.html.eex:64 msgctxt "terms" msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;" msgstr "" @@ -534,16 +534,16 @@ msgstr "" "угрожать, преследовать или иным образом беспокоить других пользователей " "Сервиса;" -#: lib/web/templates/api/terms.html.eex:55 #, elixir-format +#: lib/web/templates/api/terms.html.eex:55 msgctxt "terms" msgid "Content that is illegal or unlawful, that would otherwise create liability;" msgstr "" "Контент, который является незаконным или повлечет за собой уголовную " "ответственность;" -#: lib/web/templates/api/terms.html.eex:56 #, elixir-format +#: lib/web/templates/api/terms.html.eex:56 msgctxt "terms" msgid "Content that may infringe or violate any patent, trademark, trade secret, copyright, right of privacy, right of publicity or other intellectual or other right of any party;" msgstr "" @@ -551,40 +551,40 @@ msgstr "" "коммерческую тайну, авторское право, конфиденциальность, право на гласность " "или другие интеллектуальные и прочие права любой стороны;" -#: lib/web/templates/api/terms.html.eex:42 #, elixir-format +#: lib/web/templates/api/terms.html.eex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Создание учётных записей" -#: lib/web/templates/api/terms.html.eex:89 #, elixir-format +#: lib/web/templates/api/terms.html.eex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Полное согласие" -#: lib/web/templates/api/terms.html.eex:92 #, elixir-format +#: lib/web/templates/api/terms.html.eex:92 msgctxt "terms" msgid "Feedback" msgstr "Обратная связь" -#: lib/web/templates/api/terms.html.eex:83 #, elixir-format +#: lib/web/templates/api/terms.html.eex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Гиперссылки и сторонний контент" -#: lib/web/templates/api/terms.html.eex:88 #, elixir-format +#: lib/web/templates/api/terms.html.eex:88 msgctxt "terms" msgid "If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service." msgstr "" "Если вы нарушите какое-либо из этих Условий, мы имеем право временно " "приостановить или полностью заблокировать вам доступ к Сервису." -#: lib/web/templates/api/terms.html.eex:63 #, elixir-format +#: lib/web/templates/api/terms.html.eex:63 msgctxt "terms" msgid "Impersonate or post on behalf of any person or entity or otherwise misrepresent your affiliation with a person or entity;" msgstr "" @@ -592,8 +592,8 @@ msgstr "" "физического или юридического лица или иным образом искажать свою " "принадлежность к физическому или юридическому лицу;" -#: lib/web/templates/api/terms.html.eex:48 #, elixir-format +#: lib/web/templates/api/terms.html.eex:48 msgctxt "terms" msgid "Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness." msgstr "" @@ -602,26 +602,26 @@ msgstr "" "контент, который вы предоставляете Сервису, включая его законность, " "правдивость и адекватность." -#: lib/web/templates/api/terms.html.eex:39 #, elixir-format +#: lib/web/templates/api/terms.html.eex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Политика конфиденциальности" -#: lib/web/templates/api/terms.html.eex:95 #, elixir-format +#: lib/web/templates/api/terms.html.eex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Вопросы и контактная информация" -#: lib/web/templates/api/terms.html.eex:87 #, elixir-format +#: lib/web/templates/api/terms.html.eex:87 msgctxt "terms" msgid "Termination" msgstr "Завершение" -#: lib/web/templates/api/terms.html.eex:62 #, elixir-format +#: lib/web/templates/api/terms.html.eex:62 msgctxt "terms" msgid "Use the Service in any manner that could interfere with, disrupt, negatively affect or inhibit other users from fully enjoying the Service or that could damage, disable, overburden or impair the functioning of the Service;" msgstr "" @@ -630,14 +630,14 @@ msgstr "" "Сервисом или который может повредить, вывести из строя, перегрузить или " "нарушить работу Сервиса;" -#: lib/web/templates/api/terms.html.eex:47 #, elixir-format +#: lib/web/templates/api/terms.html.eex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "Ваш контент и ваши действия" -#: lib/web/templates/api/terms.html.eex:84 #, elixir-format +#: lib/web/templates/api/terms.html.eex:84 msgctxt "terms" msgid "%{instance_name} makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern. The inclusion of any link does not imply endorsement by %{instance_name} of the site. Use of any such linked website is at the user's own risk." msgstr "" @@ -649,8 +649,8 @@ msgstr "" "сайта. Ответственность за использование таких ссылок лежит на каждом " "пользователе." -#: lib/web/templates/api/terms.html.eex:68 #, elixir-format +#: lib/web/templates/api/terms.html.eex:68 msgctxt "terms" msgid "Finally, your use of the Service is also subject to acceptance of the instance's own specific rules regarding the code of conduct and moderation rules. Breaking those rules may also result in your account being disabled or suspended." msgstr "" @@ -659,16 +659,16 @@ msgstr "" "модерации. Нарушение этих правил также может привести к приостановке или " "блокировки вашей учетной записи." -#: lib/web/templates/api/terms.html.eex:81 #, elixir-format +#: lib/web/templates/api/terms.html.eex:81 msgctxt "terms" msgid "For full details about the Mobilizon software see here." msgstr "" "Для получения полной информации о Mobilizon смотреть тут." -#: lib/web/templates/api/terms.html.eex:18 #, elixir-format +#: lib/web/templates/api/terms.html.eex:18 msgctxt "terms" msgid "Here are the important things you need to know about accessing and using the %{instance_name} (%{instance_url}) website and service (collectively, \"Service\"). These are our terms of service (\"Terms\"). Please read them carefully." msgstr "" @@ -677,8 +677,8 @@ msgstr "" ">%{instance_url}) веб-сайта и сервиса (вместе именуемые \"Сервис\"). Это " "наши условия обслуживания (\"Условия\"). Пожалуйста, прочтите их внимательно." -#: lib/web/templates/api/terms.html.eex:33 #, elixir-format +#: lib/web/templates/api/terms.html.eex:33 msgctxt "terms" msgid "If we make major changes, we will notify our users in a clear and prominent manner. Minor changes may only be highlighted in the footer of our website. It is your responsibility to check the website regularly for changes to these Terms." msgstr "" @@ -687,8 +687,8 @@ msgstr "" "подвале нашего веб-сайта. Вы обязаны регулярно проверять веб-сайт на предмет " "изменений в настоящих Условиях." -#: lib/web/templates/api/terms.html.eex:53 #, elixir-format +#: lib/web/templates/api/terms.html.eex:53 msgctxt "terms" msgid "In order to make %{instance_name} a great place for all of us, please do not post, link and otherwise make available on or through the Service any of the following:" msgstr "" @@ -696,16 +696,16 @@ msgstr "" "не публикуйте, не размещайте ссылки и не делайте доступными иным образом в " "нашем Сервисе любое из следующего:" -#: lib/web/templates/api/terms.html.eex:57 #, elixir-format +#: lib/web/templates/api/terms.html.eex:57 msgctxt "terms" msgid "Private information of any third party (e.g., addresses, phone numbers, email addresses, Social Security numbers and credit card numbers); and" msgstr "" "Личная информация третьих лиц (например, адреса, номера телефонов, адреса " "электронной почты, номера социального страхования и номера кредитных карт); и" -#: lib/web/templates/api/terms.html.eex:52 #, elixir-format +#: lib/web/templates/api/terms.html.eex:52 msgctxt "terms" msgid "Since Mobilizon is a distributed network, it is possible, depending on the visibility rules set to your content, that your content has been distributed to other Mobilizon instances. When you delete your content, we will request those other instances to also delete the content. Our responsibility on the content being deleted from those other instances ends here. If for some reason, some other instance does not delete the content, we cannot be held responsible." msgstr "" @@ -716,8 +716,8 @@ msgstr "" "контента на других узлах на этом заканчивается. Если по какой-то причине " "какой-либо другой узел не удаляет его, то мы не несем ответственности за это." -#: lib/web/templates/api/terms.html.eex:90 #, elixir-format +#: lib/web/templates/api/terms.html.eex:90 msgctxt "terms" msgid "These Terms constitute the entire agreement between you and %{instance_name} regarding the use of the Service, superseding any prior agreements between you and %{instance_name} relating to your use of the Service." msgstr "" @@ -726,8 +726,8 @@ msgstr "" "предыдущие соглашения между вами и %{instance_name}, касающиеся " "использования Сервиса." -#: lib/web/templates/api/terms.html.eex:80 #, elixir-format +#: lib/web/templates/api/terms.html.eex:80 msgctxt "terms" msgid "This Service runs on a Mobilizon instance. This source code is licensed under an AGPLv3 license which means you are allowed to and even encouraged to take the source code, modify it and use it." msgstr "" @@ -736,14 +736,14 @@ msgstr "" "license-v3-(agpl-3.0)\">AGPLv3, следовательно, вам разрешено и даже " "рекомендуется брать, изменять и использовать его." -#: lib/web/templates/api/terms.html.eex:58 #, elixir-format +#: lib/web/templates/api/terms.html.eex:58 msgctxt "terms" msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code." msgstr "Вирусы, трояны или другие вредоносные файлы или их исходный код." -#: lib/web/templates/api/terms.html.eex:51 #, elixir-format +#: lib/web/templates/api/terms.html.eex:51 msgctxt "terms" msgid "You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time. Web server access logs might also be stored for some time in the system." msgstr "" @@ -752,29 +752,29 @@ msgstr "" "нашей системе или резервной копии в течение некоторого времени. Логи веб-" "сервера также могут некоторое время храниться в системе." -#: lib/web/templates/api/terms.html.eex:96 #, elixir-format +#: lib/web/templates/api/terms.html.eex:96 msgctxt "terms" msgid "Questions or comments about the Service may be directed to us at %{contact}" msgstr "" "Вопросы и отзывы о нашем Сервисе можно направлять нам по адресу %{contact}" -#: lib/web/templates/api/terms.html.eex:79 #, elixir-format +#: lib/web/templates/api/terms.html.eex:79 msgctxt "terms" msgid "Source code" msgstr "Исходный код" -#: lib/web/templates/api/terms.html.eex:93 #, elixir-format +#: lib/web/templates/api/terms.html.eex:93 msgctxt "terms" msgid "We love feedback. Please let us know what you think of the Service, these Terms and, in general, %{instance_name}." msgstr "" "Нам нравятся отзывы! Не стесняйтесь говорить, что вы думаете о Сервисе, " "настоящих Условиях и в целом о %{instance_name}." -#: lib/web/templates/api/terms.html.eex:74 #, elixir-format +#: lib/web/templates/api/terms.html.eex:74 msgctxt "terms" msgid "Instance administrators (and community moderators, given the relevant access) are responsible for monitoring and acting on flagged content and other user reports, and have the right and responsibility to remove or edit content that is not aligned to this Instance set of rules, or to suspend, block or ban (temporarily or permanently) any account, community, or instance for breaking these terms, or for other behaviours that they deem inappropriate, threatening, offensive, or harmful." msgstr "" @@ -786,16 +786,16 @@ msgstr "" "запись, сообщество или узел за нарушение этих условий или другое поведение, " "которое они считают неуместным, угрожающим, оскорбительным или вредным." -#: lib/web/templates/api/terms.html.eex:6 #, elixir-format +#: lib/web/templates/api/terms.html.eex:6 msgctxt "terms" msgid "%{instance_name} will not use or transmit or resell your personal data" msgstr "" "%{instance_name} не будет использовать, передавать или продавать ваши " "личные данные" -#: lib/web/templates/api/terms.html.eex:44 #, elixir-format +#: lib/web/templates/api/terms.html.eex:44 msgctxt "terms" msgid "If you discover or suspect any Service security breaches, please let us know as soon as possible. For security holes in the Mobilizon software itself, please contact its contributors directly." msgstr "" @@ -804,16 +804,16 @@ msgstr "" "уязвимостей в самом программном обеспечении Mobilizon обращайтесь напрямую " "к её разработчикам." -#: lib/web/templates/api/terms.html.eex:77 #, elixir-format +#: lib/web/templates/api/terms.html.eex:77 msgctxt "terms" msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules." msgstr "" "Администраторы узла должны убедиться, что каждое сообщество, размещенное на " "узле, адекватно модерируется в соответствии с определенными правилами." -#: lib/web/templates/api/terms.html.eex:98 #, elixir-format +#: lib/web/templates/api/terms.html.eex:98 msgctxt "terms" msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA." msgstr "" @@ -822,8 +822,8 @@ msgstr "" "service\">App.net, которые находятся под лицензией CC BY-SA." -#: lib/web/templates/api/privacy.html.eex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:119 msgctxt "terms" msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA." msgstr "" @@ -832,115 +832,115 @@ msgstr "" "discourse\">Discourse, которые находятся под лицензией CC BY-SA." -#: lib/web/templates/api/terms.html.eex:3 #, elixir-format +#: lib/web/templates/api/terms.html.eex:3 msgctxt "terms" msgid "Short version" msgstr "Сокращённая версия" -#: lib/web/templates/api/terms.html.eex:9 #, elixir-format +#: lib/web/templates/api/terms.html.eex:9 msgctxt "terms" msgid "The service is provided without warranties and these terms may change in the future" msgstr "" "Услуги предоставляется без гарантий, и эти условия могут измениться в будущем" -#: lib/web/templates/api/privacy.html.eex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:118 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020." msgstr "" "Этот документ находится под лицензией CC BY-SA. Последний раз обновлялся 18 июня 2020." -#: lib/web/templates/api/terms.html.eex:97 #, elixir-format +#: lib/web/templates/api/terms.html.eex:97 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020." msgstr "" "Этот документ находится под лицензиейCC BY-SA. Последний раз обновлялся 22 июня 2020." -#: lib/web/templates/api/terms.html.eex:8 #, elixir-format +#: lib/web/templates/api/terms.html.eex:8 msgctxt "terms" msgid "You must respect other people and %{instance_name}'s rules when using the service" msgstr "" "Вы должны уважать других людей и правила %{instance_name} используя " "этот сервис" -#: lib/web/templates/api/terms.html.eex:7 #, elixir-format +#: lib/web/templates/api/terms.html.eex:7 msgctxt "terms" msgid "You must respect the law when using %{instance_name}" msgstr "Вы должны соблюдать законы при использовании %{instance_name}" -#: lib/web/templates/api/terms.html.eex:5 #, elixir-format +#: lib/web/templates/api/terms.html.eex:5 msgctxt "terms" msgid "Your content is yours" msgstr "Ваши данные принадлежат вам" -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 msgid "Confirm my e-mail address" msgstr "Подтвердите мой адрес электронной почты" +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1 -#, elixir-format msgid "Confirm your e-mail" msgstr "Подтвердите ваш адрес электронной почты" -#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:3 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Привет! Вы только что зарегистрировались, чтобы присоединиться к мероприятию:" " « % {title} ». Пожалуйста, подтвердите адрес электронной почты, который вы " "указали:" +#, elixir-format #: lib/web/templates/email/email.html.eex:115 #: lib/web/templates/email/email.text.eex:8 -#, elixir-format msgid "Need help? Is something not working as expected?" msgstr "Нужна помощь? Что-то не работает?" -#: lib/web/templates/email/registration_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:38 msgid "You created an account on %{host} with this email address. You are one click away from activating it." msgstr "" "Вы создали на %{host} учётную запись с данным адресом электронной " "почты. Вы в одном клике от его активации." -#: lib/web/templates/email/report.html.eex:13 #, elixir-format +#: lib/web/templates/email/report.html.eex:13 msgid "New report on %{instance}" msgstr "Новый отчёт на %{instance}" -#: lib/web/templates/email/email_changed_old.html.eex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.eex:38 msgid "The email address for your account on %{host} is being changed to:" msgstr "" "Адрес электронной почты вашего аккаунта на %{host} будет изменен на:" -#: lib/web/templates/email/password_reset.html.eex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:38 msgid "You requested a new password for your account on %{instance}." msgstr "" "Вы запросили новый пароль для своей учетной записи на %{instance}." -#: lib/web/templates/email/email.text.eex:5 #, elixir-format +#: lib/web/templates/email/email.text.eex:5 msgid "Please do not use it for real purposes." msgstr "Пожалуйста, используйте это только для тестовых целей." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:133 #: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70 #: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.eex:70 #: lib/web/templates/email/on_day_notification.text.eex:14 -#, elixir-format msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button." msgstr[0] "" @@ -955,9 +955,9 @@ msgstr[2] "" "просто перейдите на страницы мероприятий по указанным выше ссылкам и нажмите " "кнопку « Я участвую »." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:38 #: lib/web/templates/email/pending_participation_notification.text.eex:4 -#, elixir-format msgid "You have one pending attendance request to process:" msgid_plural "You have %{number_participation_requests} attendance requests to process:" msgstr[0] "У вас есть ожидающий рассмотрения запрос на участие:" @@ -968,66 +968,66 @@ msgstr[2] "" "У вас есть %{number_participation_requests} ожидающих рассмотрения запросов " "на участие:" -#: lib/web/templates/email/email.text.eex:11 #, elixir-format +#: lib/web/templates/email/email.text.eex:11 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} работает на платформе Mobilizon." -#: lib/web/templates/email/email.html.eex:143 #, elixir-format +#: lib/web/templates/email/email.html.eex:143 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} работает на платформе Mobilizon." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:13 #: lib/web/templates/email/pending_participation_notification.text.eex:1 -#, elixir-format msgid "A request is pending!" msgstr "Заявка находится на рассмотрении!" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:13 #: lib/web/templates/email/before_event_notification.text.eex:1 -#, elixir-format msgid "An event is upcoming!" msgstr "Скоро начало мероприятия!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:13 #: lib/web/templates/email/email_changed_new.text.eex:1 -#, elixir-format msgid "Confirm new email" msgstr "Подтвердите новый адрес электронной почты" -#: lib/web/templates/email/event_updated.html.eex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:84 msgid "End" msgstr "Конец" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:21 msgid "End %{ends_on}" msgstr "Конец %{ends_on}" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "Мероприятие обновлено!" -#: lib/web/templates/email/report.html.eex:88 #, elixir-format +#: lib/web/templates/email/report.html.eex:88 msgid "Flagged comments" msgstr "Помеченные комментарии" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:45 #: lib/web/templates/email/event_participation_approved.text.eex:7 -#, elixir-format msgid "Good news: one of the event organizers just approved your request. Update your calendar, because you're on the guest list now!" msgstr "" "Хорошие новости: один из организаторов мероприятия только что одобрил вашу " "заявку. Обновите свой календарь, потому что теперь вы в списке гостей!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:38 #: lib/web/templates/email/email_changed_new.text.eex:3 -#, elixir-format msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address." msgstr "" "Привет! Похоже, вы хотели изменить адрес электронной почты, связанный с " @@ -1035,16 +1035,16 @@ msgstr "" "это, нажмите кнопку ниже, чтобы подтвердить изменение. После этого вы " "сможете войти в %{instance} с новым адресом электронной почты." -#: lib/web/templates/email/email_changed_old.text.eex:3 #, elixir-format +#: lib/web/templates/email/email_changed_old.text.eex:3 msgid "Hi there! Just a quick note to confirm that the email address linked to your account on %{host} has been changed from this one to:" msgstr "" "Привет! Мы просто хотели сообщить вам, что адрес электронной почты, который " "ранее был связан с вашей учетной записью на %{host}, был изменен с этого на:" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:62 #: lib/web/templates/email/email_changed_old.text.eex:5 -#, elixir-format msgid "If you did not trigger this change yourself, it is likely that someone has gained access to your %{host} account. Please log in and change your password immediately. If you cannot login, contact the admin on %{host}." msgstr "" "Если вы не активировали это изменение самостоятельно, вероятно, кто-то " @@ -1052,174 +1052,174 @@ msgstr "" "немедленно измените свой пароль. Если вам не удается войти в систему, " "обратитесь к администратору %{host}." -#: lib/web/templates/email/password_reset.text.eex:12 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:12 msgid "If you didn't trigger the change yourself, please ignore this message. Your password won't be changed until you click the link above." msgstr "" "Если вы не активировали это изменение самостоятельно, проигнорируйте это " "сообщение. Ваш пароль не будет изменен, пока вы не нажмете ссылку выше." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.eex:45 -#, elixir-format msgid "If you didn't trigger this email, you may safely ignore it." msgstr "" "Если вы не оставляли этот запрос, пожалуйста, проигнорируйте данное письмо." +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:63 #: lib/web/templates/email/before_event_notification.text.eex:6 -#, elixir-format msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgstr "" "Если вы хотите отменить свое участие, просто перейдите на страницу " "мероприятия по ссылке выше и нажмите кнопку « Я участвую »." +#, elixir-format #: lib/web/templates/email/email.html.eex:144 #: lib/web/templates/email/email.text.eex:11 -#, elixir-format msgid "Learn more about Mobilizon here!" msgstr "Узнайте больше о Mobilizon!" -#: lib/web/templates/email/event_updated.html.eex:94 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:94 msgid "Location" msgstr "Местонахождение" -#: lib/web/templates/email/event_updated.html.eex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:104 msgid "Location address was removed" msgstr "Адрес местоположения был удален" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:51 #: lib/web/templates/email/pending_participation_notification.text.eex:6 -#, elixir-format msgid "Manage pending requests" msgstr "Управление запросами в ожидании" +#, elixir-format #: lib/web/templates/email/registration_confirmation.html.eex:13 #: lib/web/templates/email/registration_confirmation.text.eex:1 -#, elixir-format msgid "Nearly there!" msgstr "Почти готово!" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:13 #: lib/web/templates/email/email_changed_old.text.eex:1 -#, elixir-format msgid "New email confirmation" msgstr "Подтверждение нового адреса электронной почты" -#: lib/web/templates/email/report.html.eex:106 #, elixir-format +#: lib/web/templates/email/report.html.eex:106 msgid "Reasons for report" msgstr "Причина жалобы" -#: lib/web/templates/email/report.html.eex:39 #, elixir-format +#: lib/web/templates/email/report.html.eex:39 msgid "Someone on %{instance} reported the following content for you to analyze:" msgstr "Кто-то на %{instance} сообщил вам о следующем содержимом:" +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:13 #: lib/web/templates/email/event_participation_rejected.text.eex:1 -#, elixir-format msgid "Sorry! You're not going." msgstr "Очень жаль! Вы не будете участвовать." -#: lib/web/templates/email/event_updated.html.eex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:74 msgid "Start" msgstr "Начало" -#: lib/web/templates/email/event_updated.text.eex:18 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:18 msgid "Start %{begins_on}" msgstr "Начало %{begins_on}" -#: lib/web/templates/email/event_updated.text.eex:3 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:3 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "В %{title} произошли изменения, поэтому мы решили сообщить вам об этом." +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:55 #: lib/web/templates/email/event_updated.text.eex:11 -#, elixir-format msgid "This event has been cancelled by its organizers. Sorry!" msgstr "Мероприятие отменено организаторами. Очень жаль!" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:51 #: lib/web/templates/email/event_updated.text.eex:7 -#, elixir-format msgid "This event has been confirmed" msgstr "Мероприятие подтверждено" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:53 #: lib/web/templates/email/event_updated.text.eex:9 -#, elixir-format msgid "This event has yet to be confirmed: organizers will let you know if they do confirm it." msgstr "" "Это мероприятие еще не подтверждено: организаторы сообщат вам, если " "подтвердят его." +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:45 #: lib/web/templates/email/event_participation_rejected.text.eex:7 -#, elixir-format msgid "Unfortunately, the organizers rejected your request." msgstr "К сожалению, организаторы отклонили ваше участие." -#: lib/web/templates/email/email_changed_new.html.eex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.eex:51 msgid "Verify your email address" msgstr "Проверьте свой адрес электронной почты" -#: lib/web/templates/email/report.html.eex:126 #, elixir-format +#: lib/web/templates/email/report.html.eex:126 msgid "View report" msgstr "Смотреть отчёт" -#: lib/web/templates/email/report.text.eex:24 #, elixir-format +#: lib/web/templates/email/report.text.eex:24 msgid "View report:" msgstr "Смотреть отчёт:" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:58 #: lib/web/templates/email/event_participation_confirmed.html.eex:58 -#, elixir-format msgid "Visit event page" msgstr "Посетите страницу мероприятия" -#: lib/web/templates/email/event_updated.html.eex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:121 msgid "Visit the updated event page" msgstr "Посетите обновленную страницу мероприятия" -#: lib/web/templates/email/event_updated.text.eex:23 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:23 msgid "Visit the updated event page: %{link}" msgstr "Посетите обновленную страницу мероприятия: %{link}" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "What's up this week?" msgstr "Что будет на этой неделе?" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:13 #: lib/web/templates/email/on_day_notification.text.eex:1 -#, elixir-format msgid "What's up today?" msgstr "Что будет сегодня?" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.eex:70 #: lib/web/templates/email/event_participation_confirmed.text.eex:6 -#, elixir-format msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button." msgstr "" "Если вы хотите обновить или отменить свое участие, просто перейдите на " "страницу мероприятия по ссылке выше и нажмите кнопку « Я участвую »." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:64 #: lib/web/templates/email/pending_participation_notification.text.eex:8 -#, elixir-format msgid "You are receiving this email because you chose to get notifications for pending attendance requests to your events. You can disable or change your notification settings in your user account settings under « Notifications »." msgstr "" "Вы получили это письмо, потому что выбрали получение уведомлений об " @@ -1227,133 +1227,133 @@ msgstr "" "изменить настройки уведомлений в настройках своей учетной записи в разделе « " "Уведомления »." -#: lib/web/templates/email/event_participation_rejected.text.eex:5 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.text.eex:5 msgid "You issued a request to attend %{title}." msgstr "Вы подали заявку на участие в %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.text.eex:5 #: lib/web/templates/email/event_participation_confirmed.text.eex:3 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Вы недавно подали заявку на присоединение к %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:13 #: lib/web/templates/email/event_participation_confirmed.html.eex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1 -#, elixir-format msgid "You're going!" msgstr "Вы примете участие!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:64 #: lib/web/templates/email/email_changed_new.text.eex:5 -#, elixir-format msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" "Если вы не активировали изменение самостоятельно, проигнорируйте это " "сообщение." -#: lib/web/templates/email/email.html.eex:90 #, elixir-format +#: lib/web/templates/email/email.html.eex:90 msgid "Please do not use it for real purposes." msgstr "Пожалуйста, используйте это только для тестовых целей." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:45 #: lib/web/templates/email/group_member_removal.text.eex:5 -#, elixir-format msgid "If you feel this is an error, you may contact the group's administrators so that they can add you back." msgstr "" "Если вы считаете, что это ошибка, вы можете связаться с администраторами " "группы, чтобы они добавили вас обратно." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:13 #: lib/web/templates/email/group_member_removal.text.eex:1 -#, elixir-format msgid "So long, and thanks for the fish!" msgstr "Всего хорошего, и спасибо за рыбу!" -#: lib/web/email/group.ex:63 #, elixir-format +#: lib/web/email/group.ex:63 msgid "You have been removed from group %{group}" msgstr "Вас исключили из группы %{group}" -#: lib/web/templates/email/group_member_removal.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_member_removal.text.eex:3 msgid "You have been removed from group %{group}. You will not be able to access this group's private content anymore." msgstr "" "Вас исключили из группы %{group}. Вы больше не сможете получить доступ к " "приватному контенту этой группы." -#: lib/web/templates/email/group_invite.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:38 msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}" msgstr "" "%{inviter} только что пригласил вас присоединиться к их группе " "%{link_start}%{group}%{link_end}" -#: lib/web/templates/email/group_member_removal.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.eex:38 msgid "You have been removed from group %{link_start}%{group}%{link_end}. You will not be able to access this group's private content anymore." msgstr "" "Вас исключили из группы %{link_start}%{group}%{link_end}. Вы больше " "не сможете получить доступ к приватному контенту этой группы." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:54 #: lib/web/templates/email/group_suspension.text.eex:7 -#, elixir-format msgid "As this group was located on another instance, it will continue to work for other instances than this one." msgstr "" "Поскольку эта группа находилась на другом узле, она все равно будет работать " "на других узлах, кроме этого." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:46 #: lib/web/templates/email/group_suspension.text.eex:5 -#, elixir-format msgid "As this group was located on this instance, all of it's data has been irretrievably deleted." msgstr "" "Поскольку эта группа находилась на этом узле, все её содержимое было " "безвозвратно удалено." +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:38 #: lib/web/templates/email/group_deletion.text.eex:3 -#, elixir-format msgid "The administrator %{author} deleted group %{group}. All of the group's events, discussions, posts and todos have been deleted." msgstr "" "Администратор %{author} удалил группу %{group}. Все мероприятия, обсуждения, " "сообщения и записи связанные с ней были удалены." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:13 #: lib/web/templates/email/group_suspension.text.eex:1 -#, elixir-format msgid "The group %{group} has been suspended on %{instance}!" msgstr "Группа %{group} заблокирована на %{instance}!" +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:13 #: lib/web/templates/email/group_deletion.text.eex:1 -#, elixir-format msgid "The group %{group} was deleted on %{instance}!" msgstr "Группа %{group} удалена на %{instance}!" +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:38 #: lib/web/templates/email/group_suspension.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "" "Команда модераторов вашего узла приняла решение приостановить работу " "%{group_name} (%{group_address}). Вы больше не являетесь участником этой " "группы." -#: lib/web/email/group.ex:136 #, elixir-format +#: lib/web/email/group.ex:136 msgid "The group %{group} has been deleted on %{instance}" msgstr "Группа %{group} удалена на %{instance}" -#: lib/web/email/group.ex:97 #, elixir-format +#: lib/web/email/group.ex:97 msgid "The group %{group} has been suspended on %{instance}" msgstr "Группа %{group} заблокирована на %{instance}" -#: lib/web/templates/api/terms.html.eex:24 #, elixir-format +#: lib/web/templates/api/terms.html.eex:24 msgctxt "terms" msgid "By accessing or using the Service, this means you agree to be bound by all the terms below. If these terms are in any way unclear, please let us know by contacting %{contact}." msgstr "" @@ -1361,8 +1361,8 @@ msgstr "" "ниже условиями. Если некоторые из этих условий вам неясны, сообщите нам об " "этом, связавшись с %{contact}." -#: lib/web/templates/api/terms.html.eex:40 #, elixir-format +#: lib/web/templates/api/terms.html.eex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" @@ -1370,22 +1370,22 @@ msgstr "" "пользователях Сервиса, ознакомьтесь с нашей политикой " "конфиденциальности." -#: lib/web/templates/api/terms.html.eex:36 #, elixir-format +#: lib/web/templates/api/terms.html.eex:36 msgctxt "terms" msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms." msgstr "" "Если вы продолжите использовать Сервис после вступления в силу измененных " "Условий, значит вы соглашаетесь с ними." -#: lib/web/templates/api/privacy.html.eex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:78 msgctxt "terms" msgid "If you delete this information, you need to login again." msgstr "Если вы удалите эту информацию, вам придётся снова войти в систему." -#: lib/web/templates/api/privacy.html.eex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:80 msgctxt "terms" msgid "If you're not connected, we don't store any information on your device, unless you participate in an event anonymously. In this specific case we store the hash of an unique identifier for the event and participation status in your browser so that we may display participation status. Deleting this information will only stop displaying participation status in your browser." msgstr "" @@ -1395,31 +1395,31 @@ msgstr "" "идентификатора мероприятия и статус участия. Удаление этой информации " "приведет только к прекращению отображения статуса участия в браузере." -#: lib/web/templates/api/privacy.html.eex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:87 msgctxt "terms" msgid "Note: This information is stored in your localStorage and not your cookies." msgstr "" "Примечание: Эта информация хранится в вашем локальном хранилище, а не в " "куках." -#: lib/web/templates/api/terms.html.eex:71 #, elixir-format +#: lib/web/templates/api/terms.html.eex:71 msgctxt "terms" msgid "Our responsibility" msgstr "Наша ответственность" -#: lib/web/templates/api/privacy.html.eex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:61 msgctxt "terms" msgid "Retain server logs containing the IP address of all requests to this server, insofar as such logs are kept, no more than 90 days." msgstr "" "Хранить логи сервера, содержащие IP-адреса всех запросов к этому серверу, " "если таковые имеются, не более 90 дней." +#, elixir-format #: lib/web/templates/api/privacy.html.eex:3 #: lib/web/templates/api/terms.html.eex:15 -#, elixir-format msgctxt "terms" msgid "Some terms, technical or otherwise, used in the text below may cover concepts that are difficult to grasp. We have provided a glossary to help you understand them better." msgstr "" @@ -1427,8 +1427,8 @@ msgstr "" "тексте, могут охватывать трудные для понимания концепции. Мы подготовили глоссарий, чтобы помочь вам лучше их освоить." -#: lib/web/templates/api/terms.html.eex:45 #, elixir-format +#: lib/web/templates/api/terms.html.eex:45 msgctxt "terms" msgid "We are not liable for any loss you may incur as a result of someone else using your email or password, either with or without your knowledge." msgstr "" @@ -1436,8 +1436,8 @@ msgstr "" "результате использования кем-либо вашего адреса электронной почты или " "пароля, с вашего ведома или без него." -#: lib/web/templates/api/terms.html.eex:50 #, elixir-format +#: lib/web/templates/api/terms.html.eex:50 msgctxt "terms" msgid "We cannot be held responsible should a programming or administrative error make your content visible to a larger audience than intended. Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service." msgstr "" @@ -1447,8 +1447,8 @@ msgstr "" "права на контент, который вы публикуете, ссылаетесь или иным образом делаете " "доступным на Сервисе или через него." -#: lib/web/templates/api/privacy.html.eex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:10 msgctxt "terms" msgid "We collect information from you when you register on this instance and gather data when you participate in the platform by reading, writing, and interacting with content shared here. If you register on this instance, you will be asked to enter an email address, a password (hashed) and at least an username. Your email address will be verified by an email containing a unique link. Once the link is activated, we know you control that email address. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly. You may however visit this instance without registering." msgstr "" @@ -1465,16 +1465,16 @@ msgstr "" "отображаемое имя, биография, аватарка и логотип всегда общедоступны. " "Однако вы можете пользоваться этим узел без регистрации." -#: lib/web/templates/api/terms.html.eex:30 #, elixir-format +#: lib/web/templates/api/terms.html.eex:30 msgctxt "terms" msgid "We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature." msgstr "" "Мы оставляем за собой право изменять эти Условия в любое время. Например, " "нам может потребоваться сделать это при добавлении новой функции." -#: lib/web/templates/api/terms.html.eex:20 #, elixir-format +#: lib/web/templates/api/terms.html.eex:20 msgctxt "terms" msgid "When we say “we”, “our”, or “us” in this document, we are referring to the owners, operators and administrators of this Mobilizon instance. The Mobilizon software is provided by the team of Mobilizon contributors, supported by Framasoft, a French not-for-profit organization advocating for Free/Libre Software. Unless explicitly stated, this Mobilizon instance is an independent service using Mobilizon's source code. You may find more information about this instance on the \"About this instance\" page." msgstr "" @@ -1487,8 +1487,8 @@ msgstr "" "использующей исходный код Mobilizon. Дополнительную информацию об этом узле " "можно найти на странице «Об этом узле»." -#: lib/web/templates/api/terms.html.eex:43 #, elixir-format +#: lib/web/templates/api/terms.html.eex:43 msgctxt "terms" msgid "When you create an account you agree to maintain the security and confidentiality of your password and accept all risks of unauthorized access to your account data and any other information you provide to %{instance_name}." msgstr "" @@ -1497,8 +1497,8 @@ msgstr "" "доступа к данным вашей учетной записи и любой другой информации, которую вы " "предоставляете %{instance_name}." -#: lib/web/templates/api/terms.html.eex:49 #, elixir-format +#: lib/web/templates/api/terms.html.eex:49 msgctxt "terms" msgid "When you post, link or otherwise make available content to the Service, you grant us the right and license to display and distribute your content on or through the Service (including via applications). We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself. The displaying and distribution of your content happens only according to the visibility rules you have set for the content. We will not modify the visibility of the content you have set." msgstr "" @@ -1511,8 +1511,8 @@ msgstr "" "в соответствии с правилами видимости, которые вы установили для него. Мы не " "будем изменять видимость установленного вами контента." -#: lib/web/templates/api/privacy.html.eex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:19 msgctxt "terms" msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to different instances and copies are stored there. When you delete events or comments, this is likewise delivered to these other instances. All interactions related to event features - such as joining an event - or group features - such as managing resources - are federated as well. Please keep in mind that the operators of the instance and any receiving instances may view such messages and information, and that recipients may screenshot, copy or otherwise re-share them." msgstr "" @@ -1526,8 +1526,8 @@ msgstr "" "что получатели могут делать снимки экрана, копировать или иным образом " "повторно делиться ими." -#: lib/web/templates/api/privacy.html.eex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:99 msgctxt "terms" msgid "Your content may be downloaded by other instances in the network. Your public events and comments are delivered to the instances following your own instance. Content created through a group is forwarded to all the instances of all the members of the group, insofar as these members reside on a different instance than this one." msgstr "" @@ -1536,213 +1536,208 @@ msgstr "" "Групповой контент, отправляется на узлы всех участников группы, если эти " "участники находятся на отличном от этого узле." -#: lib/web/templates/email/event_participation_confirmed.text.eex:4 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.text.eex:4 msgid "You have confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Вы подтвердили свое участие. Обновите свой календарь, потому что теперь вы в " "списке гостей!" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:38 #: lib/web/templates/email/event_participation_confirmed.html.eex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Вы недавно запросили участие в мероприятии %{title}." -#: lib/web/email/participation.ex:91 #, elixir-format +#: lib/web/email/participation.ex:91 msgid "Your participation to event %{title} has been confirmed" msgstr "Ваше участие в мероприятии %{title} одобрено" -#: lib/web/templates/email/report.html.eex:41 #, elixir-format +#: lib/web/templates/email/report.html.eex:41 msgid "%{reporter} reported the following content." msgstr "%{reporter} сообщил о следующем содержимом." -#: lib/web/templates/email/report.text.eex:5 #, elixir-format +#: lib/web/templates/email/report.text.eex:5 msgid "Group %{group} was reported" msgstr "Группа %{group} сообщила" -#: lib/web/templates/email/report.html.eex:51 #, elixir-format +#: lib/web/templates/email/report.html.eex:51 msgid "Group reported" msgstr "Группа сообщила" -#: lib/web/templates/email/report.text.eex:7 #, elixir-format +#: lib/web/templates/email/report.text.eex:7 msgid "Profile %{profile} was reported" msgstr "Профиль %{profile} сообщил" -#: lib/web/templates/email/report.html.eex:56 #, elixir-format +#: lib/web/templates/email/report.html.eex:56 msgid "Profile reported" msgstr "Профиль сообщил" -#: lib/web/templates/email/event_participation_confirmed.html.eex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.eex:45 msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Вы подтвердили свое участие. Обновите свой календарь, потому что теперь вы в " "списке гостей!" -#: lib/mobilizon/posts/post.ex:94 #, elixir-format +#: lib/mobilizon/posts/post.ex:94 msgid "A text is required for the post" msgstr "Для публикации требуется текст" -#: lib/mobilizon/posts/post.ex:93 #, elixir-format +#: lib/mobilizon/posts/post.ex:93 msgid "A title is required for the post" msgstr "Для публикации требуется заголовок" -#: lib/web/templates/email/instance_follow.text.eex:3 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:3 msgid "%{name} (%{domain}) just requested to follow your instance." msgstr "%{name} (%{domain}) только что попросил подписаться на ваш узел." -#: lib/web/email/follow.ex:54 #, elixir-format +#: lib/web/email/follow.ex:54 msgid "%{name} requests to follow your instance" msgstr "%{name} просит подписаться на ваш узел" -#: lib/web/templates/email/instance_follow.html.eex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:38 msgid "%{name} (%{domain}) just requested to follow your instance. If you accept, this instance will receive all of your instance's public events." msgstr "" "%{name} (%{domain}) только что просил подписаться на ваш узел. Если " "вы согласитесь, то этот узел будет получать все публичные события вашего " "узла." -#: lib/web/templates/email/instance_follow.text.eex:4 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:4 msgid "If you accept, this instance will receive all of your public events." msgstr "" "Если вы согласитесь, то этот узел будет получать все публичные события " "вашего узла." -#: lib/web/email/follow.ex:48 #, elixir-format +#: lib/web/email/follow.ex:48 msgid "Instance %{name} (%{domain}) requests to follow your instance" msgstr "Узел %{name} (%{domain}) просит подписаться на ваш узел" -#: lib/web/templates/email/instance_follow.html.eex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:66 msgid "See the federation settings" msgstr "Смотри настройки федерализации" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:52 #: lib/web/templates/email/instance_follow.text.eex:6 -#, elixir-format msgid "To accept this invitation, head over to the instance's admin settings." msgstr "Чтобы принять это приглашение, перейдите в админку узла." +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:13 #: lib/web/templates/email/instance_follow.text.eex:1 -#, elixir-format msgid "Want to connect?" msgstr "Вы хотите подключиться?" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:45 #: lib/web/templates/email/instance_follow.text.eex:5 -#, elixir-format msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too." msgstr "" "Примечание: Подписка %{name} (%{domain}) на вас не обязательно означает, что " "вы подписаны на этот узел, но вы также можете запросить подписку на него." -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Привет! Вы только что зарегистрировались для участия в этом мероприятии: « " "%{title} ». Пожалуйста, подтвердите адрес электронной почты, который " "вы указали:" -#: lib/web/templates/email/event_participation_rejected.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.eex:38 msgid "You issued a request to attend %{title}." msgstr "Вы отправили запрос на участие в %{title}." -#: lib/web/templates/email/event_updated.html.eex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:64 msgid "Event title" msgstr "Название мероприятия" -#: lib/web/templates/email/event_updated.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:38 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "" "В %{title} были внесены изменения, поэтому мы решили сообщить вам об " "этом." -#: lib/web/templates/error/500_page.html.eex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:7 msgid "This page is not correct" msgstr "Эта страница недействительна" -#: lib/web/templates/error/500_page.html.eex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Сожалеем, но с нашей стороны что-то пошло не так." +#, elixir-format #: lib/web/templates/email/email.html.eex:89 #: lib/web/templates/email/email.text.eex:4 -#, elixir-format msgid "This is a demonstration site to test Mobilizon." msgstr "Это демонстрационная площадка для тестирования Mobilizon." +#, elixir-format #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 -#, elixir-format msgid "%{name}'s feed" msgstr "Лента %{name}" -#: lib/service/export/feed.ex:120 #, elixir-format +#: lib/service/export/feed.ex:120 msgid "%{actor}'s private events feed on %{instance}" msgstr "Лента приватных мероприятий от %{actor} на %{instance}" -#: lib/service/export/feed.ex:115 #, elixir-format +#: lib/service/export/feed.ex:115 msgid "%{actor}'s public events feed on %{instance}" msgstr "Лента публичных мероприятий от %{actor} на %{instance}" -#: lib/service/export/feed.ex:220 #, elixir-format +#: lib/service/export/feed.ex:220 msgid "Feed for %{email} on %{instance}" msgstr "Лента для %{email} на %{instance}" -#: lib/web/templates/error/500_page.html.eex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:57 msgid "If the issue persists, you may contact the server administrator at %{contact}." msgstr "" "Если проблема не исчезнет, вы можете связаться с администратором сервера по " "адресу %{contact}." -#: lib/web/templates/error/500_page.html.eex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:55 msgid "If the issue persists, you may try to contact the server administrator." msgstr "" "Если проблема не исчезнет, вы можете попытаться связаться с администратором " "сервера." -#: lib/web/templates/error/500_page.html.eex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:68 msgid "Technical details" msgstr "Технические подробности" -#: lib/web/templates/error/500_page.html.eex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:52 msgid "The Mobilizon server %{instance} seems to be temporarily down." msgstr "Сервер Mobilizon %{instance} временно недоступен." -#: lib/service/export/feed.ex:73 #, elixir-format +#: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "Публичная лента для %{instance}" - -#: lib/web/email/activity.ex:27 -#, elixir-format -msgid "Activity notification for %{instance}" -msgstr "Уведомление об активности для %{instance}" diff --git a/priv/gettext/ru/LC_MESSAGES/errors.po b/priv/gettext/ru/LC_MESSAGES/errors.po index 13ddaea6f..f11f32979 100644 --- a/priv/gettext/ru/LC_MESSAGES/errors.po +++ b/priv/gettext/ru/LC_MESSAGES/errors.po @@ -809,7 +809,7 @@ msgid "You can't reject this invitation with this profile." msgstr "Вы не можете отклонить это приглашение из этого профиля." #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "Файл не имеет разрешенного MIME-типа." diff --git a/priv/gettext/sv/LC_MESSAGES/activity.po b/priv/gettext/sv/LC_MESSAGES/activity.po index a2db59b86..d77ed49f4 100644 --- a/priv/gettext/sv/LC_MESSAGES/activity.po +++ b/priv/gettext/sv/LC_MESSAGES/activity.po @@ -42,18 +42,16 @@ msgid "%{profile} added the member %{member}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:72 -#: lib/service/activity/renderer/discussion.ex:53 lib/service/activity/renderer/post.ex:53 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 +#: lib/service/activity/renderer/discussion.ex:65 +#: lib/service/activity/renderer/post.ex:53 lib/web/templates/email/activity/_comment_activity_item.text.eex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 lib/web/templates/email/activity/_discussion_activity_item.text.eex:19 msgid "%{profile} archived the discussion %{discussion}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:23 -#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1 lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 +#: lib/service/activity/renderer/discussion.ex:25 +#: lib/service/activity/renderer/post.ex:23 lib/web/templates/email/activity/_comment_activity_item.text.eex:1 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 lib/web/templates/email/activity/_discussion_activity_item.text.eex:1 msgid "%{profile} created the discussion %{discussion}." msgstr "" @@ -76,9 +74,8 @@ msgid "%{profile} created the resource %{resource}." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:82 -#: lib/service/activity/renderer/discussion.ex:63 lib/service/activity/renderer/post.ex:63 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 +#: lib/service/activity/renderer/discussion.ex:75 +#: lib/service/activity/renderer/post.ex:63 lib/web/templates/email/activity/_comment_activity_item.text.eex:25 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 lib/web/templates/email/activity/_discussion_activity_item.text.eex:25 msgid "%{profile} deleted the discussion %{discussion}." msgstr "" @@ -120,9 +117,8 @@ msgid "%{profile} quit the group." msgstr "" #, elixir-format -#: lib/service/activity/renderer/comment.ex:62 -#: lib/service/activity/renderer/discussion.ex:43 lib/service/activity/renderer/post.ex:43 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 +#: lib/service/activity/renderer/discussion.ex:55 +#: lib/service/activity/renderer/post.ex:43 lib/web/templates/email/activity/_comment_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 msgid "%{profile} renamed the discussion %{discussion}." msgstr "" @@ -140,10 +136,9 @@ msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} msgstr "" #, elixir-format -#: lib/service/activity/renderer/discussion.ex:33 -#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.html.eex:19 -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7 lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 -#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 +#: lib/service/activity/renderer/discussion.ex:35 +#: lib/service/activity/renderer/post.ex:33 lib/web/templates/email/activity/_comment_activity_item.text.eex:7 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 msgid "%{profile} replied to the discussion %{discussion}." msgstr "" @@ -214,13 +209,12 @@ msgid "%{profile} replied to a comment on the event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:144 #: lib/web/templates/email/email_direct_activity.text.eex:23 msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgstr "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:124 +#: lib/web/templates/email/email_direct_activity.html.eex:133 #: lib/web/templates/email/email_direct_activity.text.eex:19 msgid "View one more activity" msgid_plural "View %{count} more activities" @@ -228,8 +222,8 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/templates/email/email_direct_activity.html.eex:38 -#: lib/web/templates/email/email_direct_activity.text.eex:4 +#: lib/web/templates/email/email_direct_activity.html.eex:44 +#: lib/web/templates/email/email_direct_activity.html.eex:46 lib/web/templates/email/email_direct_activity.text.eex:4 msgid "There has been an activity!" msgid_plural "There has been some activity!" msgstr[0] "" @@ -240,24 +234,49 @@ msgstr[1] "" msgid "Activity on %{instance}" msgstr "" -#, elixir-format, fuzzy +#, elixir-format #: lib/service/activity/renderer/comment.ex:38 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:88 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 lib/web/templates/email/activity/_comment_activity_item.text.eex:37 msgid "%{profile} has posted an announcement under event %{event}." msgstr "" #, elixir-format -#: lib/web/templates/email/activity/_comment_activity_item.text.eex:31 -msgid "%{profile} mentionned you in a comment under %{event}." -msgstr "" - -#, elixir-format, fuzzy #: lib/service/activity/renderer/comment.ex:24 -#: lib/web/templates/email/activity/_comment_activity_item.html.eex:73 +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 lib/web/templates/email/activity/_comment_activity_item.text.eex:31 msgid "%{profile} mentionned you in a comment under event %{event}." msgstr "" -#, elixir-format, fuzzy -#: lib/service/activity/renderer/comment.ex:52 +#, elixir-format +#: lib/service/activity/renderer/discussion.ex:45 msgid "%{profile} mentionned you in the discussion %{discussion}." msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:153 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:42 +msgid "Here's your weekly activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:101 lib/web/email/activity.ex:122 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:108 +msgid "Daily activity recap for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:40 +msgid "Here's your daily activity recap" +msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:115 +msgid "Weekly activity recap for %{instance}" +msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po index e2f642eac..4ed5bffaf 100644 --- a/priv/gettext/sv/LC_MESSAGES/default.po +++ b/priv/gettext/sv/LC_MESSAGES/default.po @@ -416,7 +416,7 @@ msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/service/metadata/utils.ex:52 +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "" @@ -1432,8 +1432,3 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" - -#, elixir-format -#: lib/web/email/activity.ex:27 -msgid "Activity notification for %{instance}" -msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/errors.po b/priv/gettext/sv/LC_MESSAGES/errors.po index e2a2b0886..5555733f0 100644 --- a/priv/gettext/sv/LC_MESSAGES/errors.po +++ b/priv/gettext/sv/LC_MESSAGES/errors.po @@ -767,7 +767,7 @@ msgid "You can't reject this invitation with this profile." msgstr "" #, elixir-format -#: lib/graphql/resolvers/media.ex:62 +#: lib/graphql/resolvers/media.ex:72 msgid "File doesn't have an allowed MIME type." msgstr "" diff --git a/test/service/date_time/date_time.exs b/test/service/date_time/date_time.exs deleted file mode 100644 index f807cbda5..000000000 --- a/test/service/date_time/date_time.exs +++ /dev/null @@ -1,71 +0,0 @@ -defmodule Mobilizon.Service.DateTimeTest do - @moduledoc """ - Test representing datetimes in defined locale - """ - use Mobilizon.DataCase - alias Mobilizon.Service.DateTime, as: DateTimeRenderer - - @datetime "2021-06-22T15:25:29.531539Z" - - describe "render a datetime to string" do - test "standard datetime" do - {:ok, datetime, _} = DateTime.from_iso8601(@datetime) - assert DateTimeRenderer.datetime_to_string(datetime) == "Jun 22, 2021, 3:25:29 PM" - assert DateTimeRenderer.datetime_to_string(datetime, "fr") == "22 juin 2021, 15:25:29" - - assert DateTimeRenderer.datetime_to_string(datetime, "fr", :long) == - "22 juin 2021 à 15:25:29 UTC" - end - - test "non existing or loaded locale fallbacks to english" do - {:ok, datetime, _} = DateTime.from_iso8601(@datetime) - - assert DateTimeRenderer.datetime_to_string(datetime, "es") == "Jun 22, 2021, 3:25:29 PM" - end - end - - describe "render a time to string" do - test "standard time" do - {:ok, datetime, _} = DateTime.from_iso8601(@datetime) - assert DateTimeRenderer.datetime_to_time_string(datetime) == "3:25 PM" - assert DateTimeRenderer.datetime_to_time_string(datetime, "fr") == "15:25" - end - - test "non existing or loaded locale fallbacks to english" do - {:ok, datetime, _} = DateTime.from_iso8601(@datetime) - - assert DateTimeRenderer.datetime_to_time_string(datetime, "pl") == "3:25 PM" - end - end - - describe "convert a datetime with a timezone" do - test "with an existing tz" do - {:ok, datetime, _} = DateTime.from_iso8601(@datetime) - converted_datetime = DateTimeRenderer.datetime_tz_convert(datetime, "Europe/Paris") - - assert %DateTime{time_zone: "Europe/Paris", utc_offset: 3600} = converted_datetime - assert converted_datetime |> DateTime.to_unix() == datetime |> DateTime.to_unix() - end - - test "with an non existing tz" do - {:ok, datetime, _} = DateTime.from_iso8601(@datetime) - converted_datetime = DateTimeRenderer.datetime_tz_convert(datetime, "Planet/Mars") - - assert converted_datetime == datetime - end - end - - describe "gets relative time to a datetime" do - test "standard time" do - then = DateTime.add(DateTime.utc_now(), 3600 * -5) - assert DateTimeRenderer.datetime_relative(then) == "5 hours ago" - assert DateTimeRenderer.datetime_relative(then, "fr") == "il y a 5 heures" - end - - test "non existing or loaded locale fallbacks to english" do - then = DateTime.add(DateTime.utc_now(), 3600 * -4) - - assert DateTimeRenderer.datetime_relative(then, "pl") == "4 hours ago" - end - end -end diff --git a/test/service/date_time/date_time_test.exs b/test/service/date_time/date_time_test.exs new file mode 100644 index 000000000..1471386a2 --- /dev/null +++ b/test/service/date_time/date_time_test.exs @@ -0,0 +1,220 @@ +defmodule Mobilizon.Service.DateTimeTest do + @moduledoc """ + Test representing datetimes in defined locale + """ + use Mobilizon.DataCase + alias Mobilizon.Service.DateTime, as: DateTimeTools + + @datetime "2021-06-22T15:25:29.531539Z" + + describe "render a datetime to string" do + test "standard datetime" do + {:ok, datetime, _} = DateTime.from_iso8601(@datetime) + assert DateTimeTools.datetime_to_string(datetime) == "Jun 22, 2021, 3:25:29 PM" + assert DateTimeTools.datetime_to_string(datetime, "fr") == "22 juin 2021, 15:25:29" + + assert DateTimeTools.datetime_to_string(datetime, "fr", :long) == + "22 juin 2021 à 15:25:29 UTC" + end + + test "non existing or loaded locale fallbacks to english" do + {:ok, datetime, _} = DateTime.from_iso8601(@datetime) + + assert DateTimeTools.datetime_to_string(datetime, "es") == "Jun 22, 2021, 3:25:29 PM" + end + end + + describe "render a time to string" do + test "standard time" do + {:ok, datetime, _} = DateTime.from_iso8601(@datetime) + assert DateTimeTools.datetime_to_time_string(datetime) == "3:25 PM" + assert DateTimeTools.datetime_to_time_string(datetime, "fr") == "15:25" + end + + test "non existing or loaded locale fallbacks to english" do + {:ok, datetime, _} = DateTime.from_iso8601(@datetime) + + assert DateTimeTools.datetime_to_time_string(datetime, "pl") == "3:25 PM" + end + end + + describe "convert a datetime with a timezone" do + test "with an existing tz" do + {:ok, datetime, _} = DateTime.from_iso8601(@datetime) + converted_datetime = DateTimeTools.datetime_tz_convert(datetime, "Europe/Paris") + + assert %DateTime{time_zone: "Europe/Paris", utc_offset: 3600} = converted_datetime + assert converted_datetime |> DateTime.to_unix() == datetime |> DateTime.to_unix() + end + + test "with an non existing tz" do + {:ok, datetime, _} = DateTime.from_iso8601(@datetime) + converted_datetime = DateTimeTools.datetime_tz_convert(datetime, "Planet/Mars") + + assert converted_datetime == datetime + end + end + + describe "gets relative time to a datetime" do + test "standard time" do + then = DateTime.add(DateTime.utc_now(), 3600 * -5) + assert DateTimeTools.datetime_relative(then) == "5 hours ago" + assert DateTimeTools.datetime_relative(then, "fr") == "il y a 5 heures" + end + + test "non existing or loaded locale fallbacks to english" do + then = DateTime.add(DateTime.utc_now(), 3600 * -4) + + assert DateTimeTools.datetime_relative(then, "pl") == "4 hours ago" + end + end + + describe "gets the first day of a week" do + # English starts week on sunday, french on monday + test "in the past" do + assert DateTimeTools.calculate_first_day_of_week(~D[2021-06-25]) == ~D[2021-06-20] + end + + test "same day" do + assert DateTimeTools.calculate_first_day_of_week(~D[2021-06-20]) == ~D[2021-06-20] + end + + test "locale" do + assert DateTimeTools.calculate_first_day_of_week(~D[2021-06-20], "fr") == ~D[2021-06-14] + end + end + + describe "calculate next day notification" do + test "same day" do + assert DateTimeTools.calculate_next_day_notification(~D[2021-06-20], + compare_to: ~U[2021-06-20 10:04:18Z] + ) == ~U[2021-06-20 18:00:00Z] + end + + test "tomorrow" do + assert DateTimeTools.calculate_next_day_notification(~D[2021-06-20], + compare_to: ~U[2021-06-20 18:04:18Z] + ) == ~U[2021-06-21 18:00:00Z] + end + end + + describe "calculate next week notification" do + test "same week" do + assert DateTimeTools.calculate_next_week_notification(~U[2021-06-23 15:00:00Z], + compare_to: ~U[2021-06-22 10:04:18Z] + ) == nil + end + + test "next week" do + assert DateTimeTools.calculate_next_week_notification(~U[2021-06-22 15:00:00Z], + compare_to: ~U[2021-06-14 10:04:18Z] + ) == ~U[2021-06-20 08:00:00Z] + end + + test "next week with custom time" do + assert DateTimeTools.calculate_next_week_notification(~U[2021-06-22 15:00:00Z], + compare_to: ~U[2021-06-14 10:04:18Z], + notification_time: ~T[18:00:00] + ) == ~U[2021-06-20 18:00:00Z] + end + + test "next week with custom locale" do + assert DateTimeTools.calculate_next_week_notification(~U[2021-06-22 15:00:00Z], + compare_to: ~U[2021-06-14 10:04:18Z], + locale: "fr" + ) == ~U[2021-06-21 08:00:00Z] + end + + test "same day but before time" do + assert DateTimeTools.calculate_next_week_notification(~U[2021-06-21 10:00:00Z], + compare_to: ~U[2021-06-21 07:00:00Z], + locale: "fr" + ) == ~U[2021-06-21 08:00:00Z] + end + + test "same day but after time" do + assert DateTimeTools.calculate_next_week_notification(~U[2021-06-21 15:00:00Z], + compare_to: ~U[2021-06-21 10:04:18Z], + locale: "fr" + ) == nil + end + end + + describe "calculate next day of the week" do + test "same week can not send a notification for next week" do + assert DateTimeTools.next_first_day_of_week(~U[2021-06-22 15:00:00Z], + compare_to: ~U[2021-06-21 10:04:18Z] + ) == nil + end + + test "next week can send a notification for next week" do + assert DateTimeTools.next_first_day_of_week(~U[2021-06-22 15:00:00Z], + compare_to: ~U[2021-06-15 10:04:18Z] + ) == ~U[2021-06-20 08:00:00Z] + end + end + + describe "check if we're between hours" do + test "basic" do + refute DateTimeTools.is_between_hours( + compare_to_datetime: ~U[2021-06-22 15:00:00Z], + compare_to_day: ~D[2021-06-22] + ) + + assert DateTimeTools.is_between_hours( + compare_to_datetime: ~U[2021-06-22 08:00:00Z], + compare_to_day: ~D[2021-06-22] + ) + + assert DateTimeTools.is_between_hours( + compare_to_datetime: ~U[2021-06-22 08:01:00Z], + compare_to_day: ~D[2021-06-22] + ) + end + + test "with special timezone" do + refute DateTimeTools.is_between_hours( + compare_to_datetime: ~U[2021-06-22 08:01:00Z], + compare_to_day: ~D[2021-06-22], + timezone: "Asia/Brunei" + ) + + assert DateTimeTools.is_between_hours( + compare_to_datetime: ~U[2021-06-22 00:01:00Z], + compare_to_day: ~D[2021-06-22], + timezone: "Asia/Brunei" + ) + end + end + + describe "check if we're between hours on right day" do + test "basic" do + assert DateTimeTools.is_between_hours_on_first_day( + compare_to_datetime: ~U[2021-06-20 08:00:00Z], + compare_to_day: ~D[2021-06-20] + ) + + assert DateTimeTools.is_between_hours_on_first_day( + compare_to_datetime: ~U[2021-06-21 08:00:00Z], + compare_to_day: ~D[2021-06-21], + locale: "fr" + ) + end + + test "with special timezone" do + refute DateTimeTools.is_between_hours_on_first_day( + compare_to_datetime: ~U[2021-06-21 08:00:00Z], + compare_to_day: ~D[2021-06-21], + locale: "fr", + timezone: "Asia/Srednekolymsk" + ) + + assert DateTimeTools.is_between_hours_on_first_day( + compare_to_datetime: ~U[2021-06-20 21:00:00Z], + compare_to_day: ~D[2021-06-21], + locale: "fr", + timezone: "Asia/Srednekolymsk" + ) + end + end +end diff --git a/test/service/notifier/email_test.exs b/test/service/notifier/email_test.exs index 049b178fd..cd4040a1d 100644 --- a/test/service/notifier/email_test.exs +++ b/test/service/notifier/email_test.exs @@ -46,7 +46,63 @@ defmodule Mobilizon.Service.Notifier.EmailTest do test "when the user allows it" do %Activity{} = activity = insert(:mobilizon_activity, inserted_at: DateTime.utc_now()) %User{} = user = insert(:user) - %Setting{} = user_settings = insert(:settings, user_id: user.id) + + %Setting{} = + user_settings = insert(:settings, user_id: user.id, group_notifications: :direct) + + %ActivitySetting{} = + activity_setting = insert(:mobilizon_activity_setting, user_id: user.id, user: user) + + user = %User{user | settings: user_settings, activity_settings: [activity_setting]} + + assert {:ok, :sent} == Email.send(user, activity) + + assert_delivered_email( + EmailActivity.direct_activity( + user.email, + [activity] + ) + ) + end + + test "if it's been an hour since the last notification" do + %Activity{} = activity = insert(:mobilizon_activity, inserted_at: DateTime.utc_now()) + %User{} = user = insert(:user) + + %Setting{} = + user_settings = + insert(:settings, + user_id: user.id, + group_notifications: :one_hour, + last_notification_sent: DateTime.add(DateTime.utc_now(), -3_659) + ) + + %ActivitySetting{} = + activity_setting = insert(:mobilizon_activity_setting, user_id: user.id, user: user) + + user = %User{user | settings: user_settings, activity_settings: [activity_setting]} + + assert {:ok, :sent} == Email.send(user, activity) + + assert_delivered_email( + EmailActivity.direct_activity( + user.email, + [activity] + ) + ) + end + + test "if there's no delay since the last notification" do + %Activity{} = activity = insert(:mobilizon_activity, inserted_at: DateTime.utc_now()) + %User{} = user = insert(:user) + + %Setting{} = + user_settings = + insert(:settings, + user_id: user.id, + group_notifications: :one_hour, + last_notification_sent: nil + ) %ActivitySetting{} = activity_setting = insert(:mobilizon_activity_setting, user_id: user.id, user: user)
-

+

+

<%= gettext "Need help? Is something not working as expected?" %>

-

+

<%= gettext "Ask the community on Framacolibri" %>

- <%= gettext("%{instance} is powered by Mobilizon.", instance: @instance[:name]) |> raw %> + <%= gettext("%{instance} is powered by Mobilizon.", instance: @instance[:name]) |> raw %>
<%= gettext "Learn more about Mobilizon here!" %>

- <%= dngettext("activity", "There has been an activity!", "There has been some activity!", @total_number_activities) %> + <%= case @recap do %> + <% :one_day -> %> + <% dgettext("activity", "Here's your daily activity recap") %> + <% :one_week -> %> + <% dgettext("activity", "Here's your weekly activity recap") %> + <% :one_hour -> %> + <%= dngettext("activity", "There has been an activity!", "There has been some activity!", @total_number_activities) %> + <% false -> %> + <%= dngettext("activity", "There has been an activity!", "There has been some activity!", @total_number_activities) %> + <% end %>

- <%= dgettext "activity", "Don't want to receive activity notifications? You may change frequency or disable them in your settings." %> + <%= dgettext("activity", "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}.", %{tag_start: "", tag_end: ""}) |> raw %>