From 5c7067b22b013c3b4cb888f4ea6bda19b36bff5a Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:36:32 +0100 Subject: [PATCH 01/13] Send notification emails to followers and members when a group publishes a new event Signed-off-by: Thomas Citharel --- js/src/views/Settings/Notifications.vue | 2 +- lib/federation/activity_pub/actions/invite.ex | 4 +- lib/federation/activity_pub/actions/remove.ex | 4 +- lib/federation/activity_pub/types/events.ex | 3 + lib/mobilizon/actors/actors.ex | 17 + lib/service/notifier/email.ex | 2 +- lib/web/email/group.ex | 82 ++- lib/web/email/member.ex | 78 +++ .../email/date/event_tz_date_range.text.eex | 1 + ...vent_group_follower_notification.html.heex | 47 ++ ...event_group_follower_notification.text.eex | 3 + .../email/notification_each_week.html.heex | 4 +- .../email/on_day_notification.html.heex | 4 +- .../participation/card/_metadata.html.heex | 73 +- .../participation/card/_metadata.text.eex | 4 + .../email/participation/card/_title.html.heex | 18 +- .../email/participation/card/_title.text.eex | 3 + .../email/participation/event_card.html.heex | 4 +- .../email/participation/event_card.text.eex | 7 + priv/gettext/ar/LC_MESSAGES/default.po | 112 ++- priv/gettext/ar/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/be/LC_MESSAGES/default.po | 112 ++- priv/gettext/be/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/ca/LC_MESSAGES/default.po | 112 ++- priv/gettext/ca/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/cs/LC_MESSAGES/default.po | 112 ++- priv/gettext/cs/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/de/LC_MESSAGES/default.po | 112 ++- priv/gettext/de/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/default.pot | 112 ++- priv/gettext/en/LC_MESSAGES/default.po | 112 ++- priv/gettext/en/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/errors.pot | 130 ++-- priv/gettext/es/LC_MESSAGES/default.po | 644 ++++++++++-------- priv/gettext/es/LC_MESSAGES/errors.po | 392 ++++++----- priv/gettext/fi/LC_MESSAGES/default.po | 112 ++- priv/gettext/fi/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/fr/LC_MESSAGES/default.po | 102 ++- priv/gettext/fr/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/gl/LC_MESSAGES/default.po | 112 ++- priv/gettext/gl/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/hu/LC_MESSAGES/default.po | 112 ++- priv/gettext/hu/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/id/LC_MESSAGES/default.po | 112 ++- priv/gettext/id/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/it/LC_MESSAGES/default.po | 112 ++- priv/gettext/it/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/ja/LC_MESSAGES/default.po | 112 ++- priv/gettext/ja/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/nl/LC_MESSAGES/default.po | 112 ++- priv/gettext/nl/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/nn/LC_MESSAGES/default.po | 624 +++++++++-------- priv/gettext/nn/LC_MESSAGES/errors.po | 392 ++++++----- priv/gettext/oc/LC_MESSAGES/default.po | 112 ++- priv/gettext/oc/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/pl/LC_MESSAGES/default.po | 112 ++- priv/gettext/pl/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/pt/LC_MESSAGES/default.po | 112 ++- priv/gettext/pt/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/pt_BR/LC_MESSAGES/default.po | 112 ++- priv/gettext/pt_BR/LC_MESSAGES/errors.po | 130 ++-- priv/gettext/ru/LC_MESSAGES/default.po | 624 +++++++++-------- priv/gettext/ru/LC_MESSAGES/errors.po | 392 ++++++----- priv/gettext/sv/LC_MESSAGES/default.po | 112 ++- priv/gettext/sv/LC_MESSAGES/errors.po | 130 ++-- 65 files changed, 5491 insertions(+), 2767 deletions(-) create mode 100644 lib/web/email/member.ex create mode 100644 lib/web/templates/email/date/event_tz_date_range.text.eex create mode 100644 lib/web/templates/email/event_group_follower_notification.html.heex create mode 100644 lib/web/templates/email/event_group_follower_notification.text.eex create mode 100644 lib/web/templates/email/participation/card/_metadata.text.eex create mode 100644 lib/web/templates/email/participation/card/_title.text.eex create mode 100644 lib/web/templates/email/participation/event_card.text.eex diff --git a/js/src/views/Settings/Notifications.vue b/js/src/views/Settings/Notifications.vue index 937919823..efd052f90 100644 --- a/js/src/views/Settings/Notifications.vue +++ b/js/src/views/Settings/Notifications.vue @@ -402,7 +402,7 @@ export default class Notifications extends Vue { push: { enabled: false, disabled: false }, }, event_created: { - email: { enabled: false, disabled: false }, + email: { enabled: true, disabled: false }, push: { enabled: false, disabled: false }, }, event_updated: { diff --git a/lib/federation/activity_pub/actions/invite.ex b/lib/federation/activity_pub/actions/invite.ex index 18b065f9c..635fda5fe 100644 --- a/lib/federation/activity_pub/actions/invite.ex +++ b/lib/federation/activity_pub/actions/invite.ex @@ -4,7 +4,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Invite do """ alias Mobilizon.Actors alias Mobilizon.Actors.{Actor, Member} - alias Mobilizon.Web.Email.Group + alias Mobilizon.Web.Email.Member, as: EmailMember require Logger import Mobilizon.Federation.ActivityPub.Utils, @@ -56,7 +56,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Invite do maybe_federate(activity) maybe_relay_if_group_activity(activity) - Group.send_invite_to_user(member) + EmailMember.send_invite_to_user(member) {:ok, activity, member} end else diff --git a/lib/federation/activity_pub/actions/remove.ex b/lib/federation/activity_pub/actions/remove.ex index 9663f5f91..939da9d04 100644 --- a/lib/federation/activity_pub/actions/remove.ex +++ b/lib/federation/activity_pub/actions/remove.ex @@ -5,7 +5,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Remove do alias Mobilizon.Actors alias Mobilizon.Actors.{Actor, Member} alias Mobilizon.Federation.ActivityPub.Activity - alias Mobilizon.Web.Email.Group + alias Mobilizon.Web.Email.Member, as: EmailMember require Logger import Mobilizon.Federation.ActivityPub.Utils, @@ -34,7 +34,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Remove do subject: "member_removed" ) - Group.send_notification_to_removed_member(member) + EmailMember.send_notification_to_removed_member(member) remove_data = %{ "to" => [group_members_url], diff --git a/lib/federation/activity_pub/types/events.ex b/lib/federation/activity_pub/types/events.ex index a23139fe3..33bd03668 100644 --- a/lib/federation/activity_pub/types/events.ex +++ b/lib/federation/activity_pub/types/events.ex @@ -16,6 +16,7 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Events do alias Mobilizon.Service.Notifications.Scheduler alias Mobilizon.Share alias Mobilizon.Tombstone + alias Mobilizon.Web.Email.Group import Mobilizon.Federation.ActivityPub.Utils, only: [make_create_data: 2, make_update_data: 2] require Logger @@ -30,6 +31,8 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Events do case EventsManager.create_event(args) do {:ok, %Event{} = event} -> EventActivity.insert_activity(event, subject: "event_created") + # TODO make this async + Group.notify_of_new_event(event) event_as_data = Convertible.model_to_as(event) audience = Audience.get_audience(event) create_data = make_create_data(event_as_data, Map.merge(audience, additional)) diff --git a/lib/mobilizon/actors/actors.ex b/lib/mobilizon/actors/actors.ex index ea88f996e..512a44d02 100644 --- a/lib/mobilizon/actors/actors.ex +++ b/lib/mobilizon/actors/actors.ex @@ -1626,4 +1626,21 @@ defmodule Mobilizon.Actors do @spec preload_followers(Actor.t(), boolean) :: Actor.t() defp preload_followers(actor, true), do: Repo.preload(actor, [:followers]) defp preload_followers(actor, false), do: actor + + @spec list_actors_to_notify_from_group_event(Actor.t()) :: Follower.t() + def list_actors_to_notify_from_group_event(%Actor{id: actor_id}) do + Actor + |> join(:left, [a], f in Follower, on: a.id == f.actor_id) + |> join(:left, [a], m in Member, on: a.id == m.actor_id) + |> where( + [a, f], + is_nil(a.domain) and f.target_actor_id == ^actor_id and f.approved == true and + f.notify == true + ) + |> or_where( + [a, _f, m], + is_nil(a.domain) and m.parent_id == ^actor_id and m.role in ^@member_roles + ) + |> Repo.all() + end end diff --git a/lib/service/notifier/email.ex b/lib/service/notifier/email.ex index 58388dd9d..8ea2f4dc5 100644 --- a/lib/service/notifier/email.ex +++ b/lib/service/notifier/email.ex @@ -134,7 +134,7 @@ defmodule Mobilizon.Service.Notifier.Email do "participation_event_comment" => true, "event_new_pending_participation" => true, "event_new_participation" => false, - "event_created" => false, + "event_created" => true, "event_updated" => false, "discussion_updated" => false, "post_published" => false, diff --git a/lib/web/email/group.ex b/lib/web/email/group.ex index faad3e2ad..f3481c912 100644 --- a/lib/web/email/group.ex +++ b/lib/web/email/group.ex @@ -1,6 +1,6 @@ defmodule Mobilizon.Web.Email.Group do @moduledoc """ - Handles emails sent about participation. + Handles emails sent about group changes. """ use Bamboo.Phoenix, view: Mobilizon.Web.EmailView @@ -9,68 +9,62 @@ defmodule Mobilizon.Web.Email.Group do alias Mobilizon.{Actors, Config, Users} alias Mobilizon.Actors.{Actor, Member} - alias Mobilizon.Users.User + alias Mobilizon.Events.Event + alias Mobilizon.Users.{Setting, User} alias Mobilizon.Web.Email - @doc """ - Send emails to local user - """ - @spec send_invite_to_user(Member.t()) :: :ok - def send_invite_to_user(%Member{actor: %Actor{user_id: nil}}), do: :ok + @spec notify_of_new_event(Event.t()) :: :ok + def notify_of_new_event(%Event{attributed_to: %Actor{} = group} = event) do + # TODO: When we have events restricted to members, don't send emails to followers + group + |> Actors.list_actors_to_notify_from_group_event() + |> Enum.each(¬ify_follower(event, group, &1)) + end - def send_invite_to_user( - %Member{actor: %Actor{user_id: user_id}, parent: %Actor{} = group, role: :invited} = - member - ) do - with %User{email: email} = user <- Users.get_user!(user_id) do - locale = Map.get(user, :locale, "en") + def notify_of_new_event(%Event{}), do: :ok + + defp notify_follower(%Event{} = _event, %Actor{}, %Actor{user_id: nil}), do: :ok + + defp notify_follower(%Event{} = event, %Actor{type: :Group} = group, %Actor{ + id: profile_id, + user_id: user_id + }) do + %User{ + email: email, + locale: locale, + settings: %Setting{timezone: timezone}, + activity_settings: activity_settings + } = Users.get_user_with_activity_settings!(user_id) + + if profile_id != event.organizer_actor_id && + accepts_new_events_notifications(activity_settings) do Gettext.put_locale(locale) - %Actor{name: invited_by_name} = inviter = Actors.get_actor(member.invited_by_id) subject = gettext( - "You have been invited by %{inviter} to join group %{group}", - inviter: invited_by_name, - group: group.name + "📅 Just scheduled by %{group}: %{event}", + group: Actor.display_name(group), + event: event.title ) Email.base_email(to: email, subject: subject) |> assign(:locale, locale) - |> assign(:inviter, inviter) |> assign(:group, group) + |> assign(:event, event) + |> assign(:timezone, timezone) |> assign(:subject, subject) - |> render(:group_invite) + |> render(:event_group_follower_notification) |> Email.Mailer.send_email_later() :ok end end - # Only send notification to local members - def send_notification_to_removed_member(%Member{actor: %Actor{user_id: nil}}), do: :ok - - def send_notification_to_removed_member(%Member{ - actor: %Actor{user_id: user_id}, - parent: %Actor{} = group, - role: :rejected - }) do - with %User{email: email, locale: locale} <- Users.get_user!(user_id) do - Gettext.put_locale(locale) - - subject = - gettext( - "You have been removed from group %{group}", - group: group.name - ) - - Email.base_email(to: email, subject: subject) - |> assign(:locale, locale) - |> assign(:group, group) - |> assign(:subject, subject) - |> render(:group_member_removal) - |> Email.Mailer.send_email_later() - - :ok + @spec accepts_new_events_notifications(list()) :: boolean() + defp accepts_new_events_notifications(activity_settings) do + case Enum.find(activity_settings, &(&1.key == "event_created" && &1.method == "email")) do + nil -> false + %{enabled: enabled} -> enabled end end diff --git a/lib/web/email/member.ex b/lib/web/email/member.ex new file mode 100644 index 000000000..e14d100f9 --- /dev/null +++ b/lib/web/email/member.ex @@ -0,0 +1,78 @@ +defmodule Mobilizon.Web.Email.Member do + @moduledoc """ + Handles emails sent about group members. + """ + use Bamboo.Phoenix, view: Mobilizon.Web.EmailView + + import Bamboo.Phoenix + import Mobilizon.Web.Gettext + + alias Mobilizon.{Actors, Users} + alias Mobilizon.Actors.{Actor, Member} + alias Mobilizon.Users.User + alias Mobilizon.Web.Email + + @doc """ + Send emails to local user + """ + @spec send_invite_to_user(Member.t()) :: :ok + def send_invite_to_user(%Member{actor: %Actor{user_id: nil}}), do: :ok + + def send_invite_to_user( + %Member{actor: %Actor{user_id: user_id}, parent: %Actor{} = group, role: :invited} = + member + ) do + with %User{email: email} = user <- Users.get_user!(user_id) do + locale = Map.get(user, :locale, "en") + Gettext.put_locale(locale) + %Actor{name: invited_by_name} = inviter = Actors.get_actor(member.invited_by_id) + + subject = + gettext( + "You have been invited by %{inviter} to join group %{group}", + inviter: invited_by_name, + group: group.name + ) + + Email.base_email(to: email, subject: subject) + |> assign(:locale, locale) + |> assign(:inviter, inviter) + |> assign(:group, group) + |> assign(:subject, subject) + |> render(:group_invite) + |> Email.Mailer.send_email_later() + + :ok + end + end + + # Only send notification to local members + def send_notification_to_removed_member(%Member{actor: %Actor{user_id: nil}}), do: :ok + + def send_notification_to_removed_member(%Member{ + actor: %Actor{user_id: user_id}, + parent: %Actor{} = group, + role: :rejected + }) do + with %User{email: email, locale: locale} <- Users.get_user!(user_id) do + Gettext.put_locale(locale) + + subject = + gettext( + "You have been removed from group %{group}", + group: group.name + ) + + Email.base_email(to: email, subject: subject) + |> assign(:locale, locale) + |> assign(:group, group) + |> assign(:subject, subject) + |> render(:group_member_removal) + |> Email.Mailer.send_email_later() + + :ok + end + end + + # TODO : def send_confirmation_to_inviter() +end diff --git a/lib/web/templates/email/date/event_tz_date_range.text.eex b/lib/web/templates/email/date/event_tz_date_range.text.eex new file mode 100644 index 000000000..a930cae70 --- /dev/null +++ b/lib/web/templates/email/date/event_tz_date_range.text.eex @@ -0,0 +1 @@ +<%= cond do %><%= @end_date == nil -> %><%= render("date/event_tz_date.text", date: @start_date, event: @event, timezone: @timezone, locale: @locale) %><% is_same_day?(@start_date, @end_date) -> %><%= gettext "On %{date} from %{start_time} to %{end_time}", date: datetime_to_date_string(@start_date, @locale), start_time: datetime_to_time_string(@start_date, @locale), end_time: datetime_to_time_string(@end_date, @locale) %><%= if @event.options.timezone != @timezone do %> <%= gettext "🌐 %{timezone} %{offset}", timezone: @event.options.timezone, offset: Cldr.DateTime.Formatter.zone_gmt(@start_date) %><% end %><% true -> %><%= gettext "From the %{start} to the %{end}", start: datetime_to_string(@start_date, @locale, :short), end: datetime_to_string(@end_date, @locale, :short) %><%= if @event.options.timezone != @timezone do %> <%= gettext "🌐 %{timezone} %{offset}", timezone: @event.options.timezone, offset: Cldr.DateTime.Formatter.zone_gmt(@start_date) %><% end %><% end %> diff --git a/lib/web/templates/email/event_group_follower_notification.html.heex b/lib/web/templates/email/event_group_follower_notification.html.heex new file mode 100644 index 000000000..5c941e28e --- /dev/null +++ b/lib/web/templates/email/event_group_follower_notification.html.heex @@ -0,0 +1,47 @@ + + + + + + + + +
+

+ <%= gettext "%{group} scheduled a new event", group: Mobilizon.Actors.Actor.display_name(@group) %> +

+
+ + + + + + + + + + + + +
+ <%= render("participation/event_card.html", event: @event, timezone: @timezone, locale: @locale, action: "event") %> +
+ + + diff --git a/lib/web/templates/email/event_group_follower_notification.text.eex b/lib/web/templates/email/event_group_follower_notification.text.eex new file mode 100644 index 000000000..18160e16d --- /dev/null +++ b/lib/web/templates/email/event_group_follower_notification.text.eex @@ -0,0 +1,3 @@ +<%= gettext "%{group} scheduled a new event:", group: Mobilizon.Actors.Actor.display_name(@group) %> + +<%= render("participation/event_card.text", event: @event, timezone: @timezone, locale: @locale, action: "event") %> diff --git a/lib/web/templates/email/notification_each_week.html.heex b/lib/web/templates/email/notification_each_week.html.heex index d21b3e082..7b4a78b63 100644 --- a/lib/web/templates/email/notification_each_week.html.heex +++ b/lib/web/templates/email/notification_each_week.html.heex @@ -45,12 +45,12 @@ <% else %> - <%= render("participation/event_card.html", event: @participation.event, timezone: @timezone, locale: @locale) %> + <%= render("participation/event_card.html", event: @participation.event, timezone: @timezone, locale: @locale, action: "participation") %> <% end %> diff --git a/lib/web/templates/email/on_day_notification.html.heex b/lib/web/templates/email/on_day_notification.html.heex index 70bf7daee..e3afee8e0 100644 --- a/lib/web/templates/email/on_day_notification.html.heex +++ b/lib/web/templates/email/on_day_notification.html.heex @@ -45,12 +45,12 @@ <% else %> - <%= render("participation/event_card.html", event: @participation.event, timezone: @timezone, locale: @locale) %> + <%= render("participation/event_card.html", event: @participation.event, timezone: @timezone, locale: @locale, action: "participation") %> <% end %> diff --git a/lib/web/templates/email/participation/card/_metadata.html.heex b/lib/web/templates/email/participation/card/_metadata.html.heex index a031d468b..8f22c6d20 100644 --- a/lib/web/templates/email/participation/card/_metadata.html.heex +++ b/lib/web/templates/email/participation/card/_metadata.html.heex @@ -16,7 +16,7 @@ - + @@ -29,7 +29,7 @@ <%= if @event.physical_address do %> - + @@ -42,7 +42,7 @@ <% end %> <%= if @event.options.is_online do %> - + @@ -55,27 +55,52 @@ -
- - - - - - -
- - - - - - -
- - <%= gettext("Manage your participation") %> - -
-
-
+ <%= case @action do %> + <% "participation" -> %> +
+ + + + + + +
+ + + + + + +
+ + <%= gettext("Manage your participation") %> + +
+
+
+ <% "event" -> %> +
+ + + + + + +
+ + + + + + +
+ + <%= gettext("Participate") %> + +
+
+
+ <% end %> diff --git a/lib/web/templates/email/participation/card/_metadata.text.eex b/lib/web/templates/email/participation/card/_metadata.text.eex new file mode 100644 index 000000000..1795cd404 --- /dev/null +++ b/lib/web/templates/email/participation/card/_metadata.text.eex @@ -0,0 +1,4 @@ +<%= gettext("Date:") %> <%= render("date/event_tz_date_range.text", event: @event, start_date: datetime_tz_convert(@event.begins_on, @event.options.timezone), end_date: datetime_tz_convert(@event.ends_on, @event.options.timezone), timezone: @timezone, locale: @locale) %> +<%= gettext("Address:") %> <%= if @event.physical_address do %><%= render_address(@event.physical_address) %><% end %><%= if @event.options.is_online do %><%= gettext "Online event" %><% end %> + +<%= case @action do %><% "participation" -> %><%= gettext("Manage your participation:") %> <%= Routes.page_url(Mobilizon.Web.Endpoint, :event, @event.uuid) %><% "event" -> %><%= gettext("Participate:") %> <%= Routes.page_url(Mobilizon.Web.Endpoint, :event, @event.uuid) %><% end %> \ No newline at end of file diff --git a/lib/web/templates/email/participation/card/_title.html.heex b/lib/web/templates/email/participation/card/_title.html.heex index a1d3cbc7f..9b4de7ed5 100644 --- a/lib/web/templates/email/participation/card/_title.html.heex +++ b/lib/web/templates/email/participation/card/_title.html.heex @@ -2,25 +2,25 @@ + + <%= @event.title %> +
<%= cond do %> <% @event.attributed_to != nil and @event.attributed_to.avatar != nil && @event.attributed_to.avatar.url != nil -> %> - + <% @event.organizer_actor.avatar != nil and @event.organizer_actor.avatar.url != nil -> %> - + <% true -> %> <% end %> -
- - <%= @event.title %> - -

+

+

<%= if @event.attributed_to do %> - + raw} style="color: rgb(254,56,89); font-family: Helvetica,Arial,sans-serif; font-weight: normal; text-align: left; line-height: 1.3; text-decoration: none; vertical-align: baseline; margin: 0; padding: 0; border: 0;" target="_blank"> <%= @event.attributed_to.name || @event.attributed_to.preferred_username %> <% else %> - + <%= @event.organizer_actor.name || @event.organizer_actor.preferred_username %> <% end %> diff --git a/lib/web/templates/email/participation/card/_title.text.eex b/lib/web/templates/email/participation/card/_title.text.eex new file mode 100644 index 000000000..9e9d81c38 --- /dev/null +++ b/lib/web/templates/email/participation/card/_title.text.eex @@ -0,0 +1,3 @@ +<%= gettext("Title: %{title}", title: @event.title) %> + +<%= if @event.attributed_to do %><%= gettext("Organizer: %{organizer}", organizer: @event.attributed_to.name || @event.attributed_to.preferred_username) %> <%= Routes.page_url(Mobilizon.Web.Endpoint, :actor, Mobilizon.Actors.Actor.preferred_username_and_domain(@event.attributed_to)) %><% else %><%= gettext("Organizer: %{organizer}", organizer: @event.organizer_actor.name || @event.organizer_actor.preferred_username) %><% end %> \ No newline at end of file diff --git a/lib/web/templates/email/participation/event_card.html.heex b/lib/web/templates/email/participation/event_card.html.heex index f29110548..789ee9067 100644 --- a/lib/web/templates/email/participation/event_card.html.heex +++ b/lib/web/templates/email/participation/event_card.html.heex @@ -4,9 +4,9 @@ <% end %> <%= render("participation/card/_title.html", event: @event) %> -<%= render("participation/card/_metadata.html", event: @event, timezone: @timezone, locale: @locale) %> +<%= render("participation/card/_metadata.html", event: @event, timezone: @timezone, locale: @locale, action: @action) %> <%= if @event.description do %> -

+

<%= gettext("Details") %>

diff --git a/lib/web/templates/email/participation/event_card.text.eex b/lib/web/templates/email/participation/event_card.text.eex new file mode 100644 index 000000000..98d4c6f71 --- /dev/null +++ b/lib/web/templates/email/participation/event_card.text.eex @@ -0,0 +1,7 @@ +<%= render("participation/card/_title.text", event: @event) %> + +<%= render("participation/card/_metadata.text", event: @event, timezone: @timezone, locale: @locale, action: @action) %> + +<%= if @event.description do %><%= gettext("Details:") %> +<%= process_description(@event.description) %> +<%= if String.length(@event.description) > 200 do %><%= gettext("Read more : %{url}", url: Routes.page_url(Mobilizon.Web.Endpoint, :event, @event.uuid)) |> raw %><% end %><% end %> \ No newline at end of file diff --git a/priv/gettext/ar/LC_MESSAGES/default.po b/priv/gettext/ar/LC_MESSAGES/default.po index 7c77acc49..3995e95f7 100644 --- a/priv/gettext/ar/LC_MESSAGES/default.po +++ b/priv/gettext/ar/LC_MESSAGES/default.po @@ -31,7 +31,7 @@ msgid "Activate my account" msgstr "تنشيط حسابي" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "أطلب مِن المجتمَع على Framacolibri" @@ -48,7 +48,7 @@ msgid "Event" msgstr "الفعالية" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "" @@ -135,7 +135,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "تنبيه" @@ -313,17 +313,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -357,7 +357,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -384,12 +384,12 @@ msgid "View the event on: %{link}" msgstr "" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" @@ -400,7 +400,7 @@ msgstr[4] "" msgstr[5] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -744,7 +744,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "" @@ -807,7 +807,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} هو خادم موبيليزون Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} هو خادم موبيليزون Mobilizon." @@ -886,7 +886,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "تعلّم المزيد عن Mobilizon." @@ -1044,7 +1044,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1061,7 +1061,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1104,7 +1104,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1352,14 +1352,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1440,7 +1440,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1522,6 +1522,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1548,16 +1549,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1568,5 +1571,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "تم قبول المشاركة" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "تم قبول المشاركة" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/ar/LC_MESSAGES/errors.po b/priv/gettext/ar/LC_MESSAGES/errors.po index 2258826a9..24fdf006d 100644 --- a/priv/gettext/ar/LC_MESSAGES/errors.po +++ b/priv/gettext/ar/LC_MESSAGES/errors.po @@ -135,13 +135,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -179,6 +180,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -188,33 +190,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -234,12 +236,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -264,12 +266,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -279,7 +281,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -375,7 +377,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -395,8 +397,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -413,7 +415,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -525,7 +527,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -591,7 +593,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -626,22 +628,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -651,7 +653,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -671,7 +673,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -696,7 +698,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -801,12 +803,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -826,17 +828,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -862,7 +864,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -872,18 +874,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -898,12 +900,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -923,12 +925,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -948,7 +950,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -978,16 +980,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/default.po b/priv/gettext/be/LC_MESSAGES/default.po index cf67bfab6..d0c04365b 100644 --- a/priv/gettext/be/LC_MESSAGES/default.po +++ b/priv/gettext/be/LC_MESSAGES/default.po @@ -28,7 +28,7 @@ msgid "Activate my account" msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "" @@ -45,7 +45,7 @@ msgid "Event" msgstr "" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "" @@ -132,7 +132,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "" @@ -310,17 +310,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -348,7 +348,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -375,12 +375,12 @@ msgid "View the event on: %{link}" msgstr "" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" @@ -388,7 +388,7 @@ msgstr[1] "" msgstr[2] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -726,7 +726,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "" @@ -783,7 +783,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "" @@ -862,7 +862,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "" @@ -1020,7 +1020,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1037,7 +1037,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1328,14 +1328,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1498,6 +1498,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1524,16 +1525,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1544,5 +1547,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/errors.po b/priv/gettext/be/LC_MESSAGES/errors.po index 3b9e48df0..ef52f857e 100644 --- a/priv/gettext/be/LC_MESSAGES/errors.po +++ b/priv/gettext/be/LC_MESSAGES/errors.po @@ -109,13 +109,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -153,6 +154,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -162,33 +164,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -208,12 +210,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -238,12 +240,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -253,7 +255,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -349,7 +351,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -369,8 +371,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -387,7 +389,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -499,7 +501,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -565,7 +567,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -600,22 +602,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -625,7 +627,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -645,7 +647,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -670,7 +672,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -775,12 +777,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -800,17 +802,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -836,7 +838,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -846,18 +848,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -872,12 +874,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -897,12 +899,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -922,7 +924,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -952,16 +954,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/default.po b/priv/gettext/ca/LC_MESSAGES/default.po index d4ef26d99..99d764bbe 100644 --- a/priv/gettext/ca/LC_MESSAGES/default.po +++ b/priv/gettext/ca/LC_MESSAGES/default.po @@ -32,7 +32,7 @@ msgid "Activate my account" msgstr "Activa el meu compte" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Pregunta a la comunitat a Framacolibri" @@ -49,7 +49,7 @@ msgid "Event" msgstr "Activitat" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instruccions per canviar la contrasenya a %{instance}" @@ -142,7 +142,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Algú ha soŀlicitat a %{instance} una contrasenya nova." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Alerta" @@ -354,17 +354,17 @@ msgid "What information do we collect?" msgstr "Quina informació recollim?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon a %{instance}: confirma la teva adreça de correu" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon a %{instance}: s'ha canviat l'adreça de correu" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Una activitat planificada per avui" @@ -390,7 +390,7 @@ msgid "Come along!" msgstr "Vine!" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "No t'oblidis d'anar a %{title}" @@ -417,19 +417,19 @@ msgid "View the event on: %{link}" msgstr "Vés a l'activitat actualitzada a %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} t'ha convidat al grup %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Una activitat planificada per aquesta setmana" msgstr[1] "%{nb_events} planificades per aquesta setmana" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Hi ha una soŀlicitud de participar a %{title} pendent de resoldre" @@ -892,7 +892,7 @@ msgstr "" "confirma l'adreça de correu que has introduït:" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Necessites ajuda? Alguna cosa no funciona?" @@ -954,7 +954,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} és un servidor de Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} és un servidor de Mobilizon." @@ -1050,7 +1050,7 @@ msgstr "" "l'enllaç de dalt i clica al botó de participació." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Per aprendre més de Mobilizon." @@ -1216,7 +1216,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "Si no has fet tu aquest canvi, pots ignorar aquest missatge." #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "No ho facis servir més que proves, sisplau." @@ -1235,7 +1235,7 @@ msgid "So long, and thanks for the fish!" msgstr "Salut i canya al forçut!" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "T'han tret del grup %{group}" @@ -1289,7 +1289,7 @@ msgstr "" "%{group_name} (%{group_address}). Ja no formes part del grup." #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "El grup %{group} ha estat suspès a %{instance}" @@ -1580,14 +1580,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "Ho sentim, s'ha produït un error al nostre costat." #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Aquesta és una web de proves per provar la beta de Mobilizon." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "El flux de %{name}" @@ -1672,7 +1672,7 @@ msgstr "T'han aprovat la participació a %{title}" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1754,6 +1754,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1780,16 +1781,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1800,5 +1803,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "S'ha aprovat la participació" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "S'ha aprovat la participació" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/errors.po b/priv/gettext/ca/LC_MESSAGES/errors.po index 2125d1738..432ec660d 100644 --- a/priv/gettext/ca/LC_MESSAGES/errors.po +++ b/priv/gettext/ca/LC_MESSAGES/errors.po @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "El perfil actual no administra el grup seleccionat" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "No s'han pogut desar les preferències" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "No s'ha trobat el grup" @@ -154,6 +155,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -163,33 +165,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -209,12 +211,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -239,12 +241,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -254,7 +256,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -350,7 +352,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -370,8 +372,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -388,7 +390,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -500,7 +502,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -566,7 +568,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -601,22 +603,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -626,7 +628,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -646,7 +648,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -671,7 +673,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -776,12 +778,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -801,17 +803,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -837,7 +839,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -847,18 +849,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -873,12 +875,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -898,12 +900,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -923,7 +925,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -953,16 +955,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/default.po b/priv/gettext/cs/LC_MESSAGES/default.po index 316265205..14ebddb57 100644 --- a/priv/gettext/cs/LC_MESSAGES/default.po +++ b/priv/gettext/cs/LC_MESSAGES/default.po @@ -28,7 +28,7 @@ msgid "Activate my account" msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "" @@ -45,7 +45,7 @@ msgid "Event" msgstr "" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "" @@ -132,7 +132,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "" @@ -310,17 +310,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -348,7 +348,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -375,12 +375,12 @@ msgid "View the event on: %{link}" msgstr "" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" @@ -388,7 +388,7 @@ msgstr[1] "" msgstr[2] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -726,7 +726,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "" @@ -783,7 +783,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "" @@ -862,7 +862,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "" @@ -1020,7 +1020,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1037,7 +1037,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1080,7 +1080,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1328,14 +1328,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1416,7 +1416,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1498,6 +1498,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1524,16 +1525,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1544,5 +1547,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/errors.po b/priv/gettext/cs/LC_MESSAGES/errors.po index d36470700..782dd3c4e 100644 --- a/priv/gettext/cs/LC_MESSAGES/errors.po +++ b/priv/gettext/cs/LC_MESSAGES/errors.po @@ -109,13 +109,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -153,6 +154,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -162,33 +164,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -208,12 +210,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -238,12 +240,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -253,7 +255,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -349,7 +351,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -369,8 +371,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -387,7 +389,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -499,7 +501,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -565,7 +567,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -600,22 +602,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -625,7 +627,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -645,7 +647,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -670,7 +672,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -775,12 +777,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -800,17 +802,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -836,7 +838,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -846,18 +848,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -872,12 +874,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -897,12 +899,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -922,7 +924,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -952,16 +954,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index ce143ba34..52c726f26 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -33,7 +33,7 @@ msgid "Activate my account" msgstr "Mein Konto aktivieren" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Richte deine Fragen an die Gemeinschaft auf Framacolibri" @@ -50,7 +50,7 @@ msgid "Event" msgstr "Veranstaltung" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Anweisungen um dein Passwort auf %{instance} zurückzusetzen" @@ -145,7 +145,7 @@ msgstr "" "Du hast ein neues Passwort für deinen Account auf %{instance} angefragt." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Warnung" @@ -360,17 +360,17 @@ msgid "What information do we collect?" msgstr "Welche Informationen sammeln wir ?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon auf %{instance}: Bestätige deine E-Mail Adresse" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon auf %{instance}: E-Mail geändert" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Ein Event wurde heute geplannt" @@ -396,7 +396,7 @@ msgid "Come along!" msgstr "Komm rein!" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Vergesse nicht zu %{title} gehen" @@ -423,19 +423,19 @@ msgid "View the event on: %{link}" msgstr "Zeige die aktualisierte Veranstaltung unter: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "Du wurdest von %{inviter} eingeladen, der Gruppe %{group} beizutreten" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Ein Event ist für diese Woche geplant" msgstr[1] "%{nb_events} Events sind für diese Woche geplant" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Eine Teilnahmeanfrage für die Veranstaltung %{title} zu bearbeiten" @@ -922,7 +922,7 @@ msgstr "" "angegebene E-Mail Adresse:" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Brauchst Du Hilfe? Funktioniert etwas nicht richtig?" @@ -986,7 +986,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} ist ein Mobilizon-Server." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} ist ein Mobilizon-Server." @@ -1083,7 +1083,7 @@ msgstr "" "auf die Veranstaltungs-Seite und klicke auf den Teilnahme-Button." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Lerne mehr über Mobilizon!" @@ -1258,7 +1258,7 @@ msgstr "" "diese Meldung." #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Bitte verwenden Sie es nicht für reale Zwecke." @@ -1277,7 +1277,7 @@ msgid "So long, and thanks for the fish!" msgstr "Macht's gut und danke für den Fisch!" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Sie wurden aus der Gruppe %{group} entfernt" @@ -1333,7 +1333,7 @@ msgstr "" "dieser Gruppe." #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Die Gruppe %{group} wurde auf %{instance} ausgesetzt" @@ -1684,14 +1684,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "Es tut uns leid, aber auf unserer Seite ist etwas schief gelaufen." #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Dies ist eine Demo-Seite, um die Beta-Version von Mobilizon zu testen." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "Feed von %{name}" @@ -1784,7 +1784,7 @@ msgstr "Deine Teilnahme an der Veranstaltung %{title}wurde akzeptiert" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1866,6 +1866,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1892,16 +1893,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1912,5 +1915,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Teilnahme bestätigt" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Teilnahme bestätigt" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po index b13f0d565..c913e4f71 100644 --- a/priv/gettext/de/LC_MESSAGES/errors.po +++ b/priv/gettext/de/LC_MESSAGES/errors.po @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "Aktuelles Profil ist kein Administrator der ausgewählten Gruppe" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Fehler beim Speichern von Benutzereinstellungen" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Gruppe nicht gefunden" @@ -157,6 +158,7 @@ msgstr "Es wurde kein Benutzer mit dieser E-Mail gefunden" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "Profil ist nicht im Besitz des authentifizierten Benutzers" @@ -166,33 +168,33 @@ msgid "Registrations are not open" msgstr "Registrierungen sind nicht geöffnet" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "Das aktuelle Passwort ist ungültig" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "Die neue E-Mail scheint nicht gültig zu sein" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "Die neue E-Mail muss anders lauten" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Das neue Passwort muss anders lauten" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "Das angegebene Passwort ist ungültig" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Das von Ihnen gewählte Passwort ist zu kurz. Bitte stellen Sie sicher, dass " @@ -214,12 +216,12 @@ msgid "Unable to validate user" msgstr "Benutzer kann nicht validiert werden" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "Benutzer bereits deaktiviert" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "Angeforderter Benutzer ist nicht eingeloggt" @@ -246,12 +248,12 @@ msgid "You may not list groups unless moderator." msgstr "Sie dürfen keine Gruppen auflisten, es sei denn, Sie sind Moderator." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Sie müssen eingeloggt sein, um Ihre E-Mail zu ändern" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Sie müssen eingeloggt sein, um Ihr Passwort zu ändern" @@ -261,7 +263,7 @@ msgid "You need to be logged-in to delete a group" msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu löschen" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Sie müssen eingeloggt sein, um Ihr Konto zu löschen" @@ -358,7 +360,7 @@ msgid "Comment is already deleted" msgstr "Kommentar ist bereits gelöscht" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Diskussion nicht gefunden" @@ -378,8 +380,8 @@ msgid "Event id not found" msgstr "Veranstaltungs-ID nicht gefunden" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Veranstaltung nicht gefunden" @@ -396,7 +398,7 @@ msgid "Internal Error" msgstr "Interner Fehler" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Keine Diskussion mit ID %{id}" @@ -510,7 +512,7 @@ msgid "Token is not a valid UUID" msgstr "Token ist keine gültige UUID" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "User nicht gefunden" @@ -581,7 +583,7 @@ msgid "You cannot delete this comment" msgstr "Sie können diesen Kommentar nicht löschen" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Sie können diese Veranstaltung nicht löschen" @@ -620,28 +622,28 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "Sie müssen eingeloggt und ein Moderator sein, um einen Bericht zu sehen" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Sie müssen angemeldet und ein Administrator sein, um auf die Admin-" "Einstellungen zugreifen zu können" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Sie müssen angemeldet und ein Administrator sein, um auf die Dashboard-" "Statistiken zugreifen zu können" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Sie müssen eingeloggt und ein Administrator sein, um Admin-Einstellungen zu " "speichern" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Sie müssen eingeloggt sein, um auf Diskussionen zugreifen zu können" @@ -651,7 +653,7 @@ msgid "You need to be logged-in to access resources" msgstr "Sie müssen eingeloggt sein, um auf Ressourcen zugreifen zu können" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Sie müssen eingeloggt sein, um Ereignisse zu erstellen" @@ -671,7 +673,7 @@ msgid "You need to be logged-in to create resources" msgstr "Sie müssen eingeloggt sein, um Ressourcen zu erstellen" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Sie müssen eingeloggt sein, um ein Ereignis zu löschen" @@ -696,7 +698,7 @@ msgid "You need to be logged-in to leave an event" msgstr "Sie müssen eingeloggt sein, um eine Veranstaltung zu verlassen" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Sie müssen eingeloggt sein, um ein Ereignis zu aktualisieren" @@ -803,12 +805,12 @@ msgid "Profile is not administrator for the group" msgstr "Profil ist nicht Administrator für die Gruppe" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Sie können dieses Ereignis nicht bearbeiten." #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Sie können dieses Ereignis nicht diesem Profil zuordnen." @@ -828,19 +830,19 @@ msgid "You don't have the right to remove this member." msgstr "Sie haben nicht das Recht, dieses Mitglied zu entfernen." #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Dieser Benutzername ist bereits vergeben." #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" "Sie müssen entweder eine ID oder einen Slug angeben, um auf eine Diskussion " "zuzugreifen" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "Organizer-Profil ist nicht im Besitz des Benutzers" @@ -866,7 +868,7 @@ msgid "Error while creating resource" msgstr "Fehler beim Speichern des Reports" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -876,18 +878,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "Dieses Moderatorenprofil hat keine Berechtigung für diese Veranstaltung" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -902,12 +904,12 @@ msgid "Comment not found" msgstr "Veranstaltung nicht gefunden" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Fehler beim Speichern des Reports" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Fehler beim Aktualisieren des Reports" @@ -927,12 +929,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Benutzer kann nicht validiert werden" @@ -952,7 +954,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -982,16 +984,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Person mit Benutzernamen %{username} nicht gefunden" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Sie müssen eingeloggt sein, um einer Gruppe beizutreten" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Sie müssen eingeloggt sein, um einer Gruppe beizutreten" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Sie müssen eingeloggt sein, um eine Gruppe zu aktualisieren" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index dd3bfefec..8226cf94a 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -14,7 +14,7 @@ msgid "Activate my account" msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "" @@ -31,7 +31,7 @@ msgid "Event" msgstr "" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "" @@ -118,7 +118,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "" @@ -296,17 +296,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -332,7 +332,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -359,19 +359,19 @@ msgid "View the event on: %{link}" msgstr "" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -707,7 +707,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "" @@ -762,7 +762,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "" @@ -841,7 +841,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "" @@ -999,7 +999,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1016,7 +1016,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1059,7 +1059,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1307,14 +1307,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1395,7 +1395,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1477,6 +1477,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1503,16 +1504,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1523,5 +1526,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index a0365ece8..e2a30c196 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -37,7 +37,7 @@ msgid "Activate my account" msgstr "Activate my account" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Ask the community on Framacolibri" @@ -54,7 +54,7 @@ msgid "Event" msgstr "Event" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instructions to reset your password on %{instance}" @@ -141,7 +141,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "You requested a new password for your account on %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Warning" @@ -349,17 +349,17 @@ msgid "What information do we collect?" msgstr "What information do we collect?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -385,7 +385,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -412,19 +412,19 @@ msgid "View the event on: %{link}" msgstr "View the updated event on: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -760,7 +760,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Need some help? Something not working properly?" @@ -815,7 +815,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} is a Mobilizon server." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} is a Mobilizon server." @@ -894,7 +894,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "If you need to cancel your participation, just access the event page through link above and click on the participation button." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Learn more about Mobilizon." @@ -1052,7 +1052,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Please do not use it in any real way" @@ -1069,7 +1069,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1112,7 +1112,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1360,14 +1360,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "This is a demonstration site to test the beta version of Mobilizon." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1448,7 +1448,7 @@ msgstr "Your participation to event %{title} has been approved" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1530,6 +1530,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1556,16 +1557,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1576,5 +1579,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Participant" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Participant" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po index d4eba484d..9ba23629e 100644 --- a/priv/gettext/en/LC_MESSAGES/errors.po +++ b/priv/gettext/en/LC_MESSAGES/errors.po @@ -113,13 +113,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -157,6 +158,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -166,33 +168,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -212,12 +214,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -242,12 +244,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -257,7 +259,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -353,7 +355,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -373,8 +375,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -391,7 +393,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -503,7 +505,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -569,7 +571,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -604,22 +606,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -629,7 +631,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -649,7 +651,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -674,7 +676,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -779,12 +781,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -804,17 +806,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -840,7 +842,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -850,18 +852,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -876,12 +878,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -901,12 +903,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -926,7 +928,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -956,16 +958,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot index f58a08d6c..5f97e3f8e 100644 --- a/priv/gettext/errors.pot +++ b/priv/gettext/errors.pot @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -154,6 +155,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -163,33 +165,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -209,12 +211,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -239,12 +241,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -254,7 +256,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -350,7 +352,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -370,8 +372,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -388,7 +390,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -500,7 +502,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -566,7 +568,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -601,22 +603,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -626,7 +628,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -646,7 +648,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -671,7 +673,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -776,12 +778,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -801,17 +803,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -837,7 +839,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -847,18 +849,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -873,12 +875,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -898,12 +900,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -923,7 +925,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -953,16 +955,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po index b1ae196e2..0d2301af6 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.8.1\n" -#: lib/web/templates/email/password_reset.html.heex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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.heex:74 #, elixir-format +#: lib/web/templates/email/report.html.heex:74 msgid "%{title} by %{creator}" msgstr "%{title} por %{creator}" -#: lib/web/templates/email/registration_confirmation.html.heex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.heex:58 msgid "Activate my account" msgstr "Activar mi cuenta" -#: lib/web/templates/email/email.html.heex:118 -#: lib/web/templates/email/email.text.eex:9 #, elixir-format +#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.text.eex:9 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.heex: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:49 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.heex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex:61 msgid "Reset Password" msgstr "Restablecer la contraseña" -#: lib/web/templates/email/password_reset.html.heex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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.heex: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.heex: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:108 #, elixir-format +#: lib/web/email/participation.ex:111 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:68 #, elixir-format +#: lib/web/email/participation.ex:68 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:36 #, elixir-format +#: lib/web/email/event.ex:45 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.heex:86 #, elixir-format +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Advertencia" -#: lib/web/email/participation.ex:131 #, 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.heex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:74 msgctxt "terms" msgid "An internal user ID" msgstr "Un ID de usuario interna" -#: lib/web/templates/api/privacy.html.heex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:9 msgctxt "terms" msgid "Basic account information" msgstr "Información básica de la cuenta" -#: lib/web/templates/api/privacy.html.heex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "¿Usamos cookies?" -#: lib/web/templates/api/privacy.html.heex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "¿Cómo protegemos tu información?" -#: lib/web/templates/api/privacy.html.heex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "dirección IP y otros metadatos" -#: lib/web/templates/api/privacy.html.heex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Eventos publicados y comentarios" -#: lib/web/templates/api/privacy.html.heex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Fichas para \"autenticarte\"" -#: lib/web/templates/api/privacy.html.heex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "¿Para qué utilizamos tu información?" -#: lib/web/templates/api/privacy.html.heex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Cambios a nuestra política de privacidad" -#: lib/web/templates/api/privacy.html.heex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Uso del sitio por niños" -#: lib/web/templates/api/privacy.html.heex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "¿Qué información recopilamos?" -#: lib/web/email/user.ex:175 #, elixir-format +#: lib/web/email/user.ex:178 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:155 #, elixir-format +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon en %{instance}: correo electrónico modificado" -#: lib/web/email/notification.ex:49 #, elixir-format +#: lib/web/email/notification.ex:51 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" -#: lib/web/templates/email/on_day_notification.html.heex:38 -#: lib/web/templates/email/on_day_notification.text.eex:4 #, elixir-format +#: lib/web/templates/email/on_day_notification.html.heex:38 +#: lib/web/templates/email/on_day_notification.text.eex:3 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.heex: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:25 msgid "Don't forget to go to %{title}" msgstr "No olvides ir a %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.heex: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.heex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.heex:59 msgid "See my groups" msgstr "Ver mis grupos" +#, elixir-format #: lib/web/templates/email/group_invite.html.heex: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:31 #, elixir-format +#: lib/web/email/member.ex:31 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:75 #, elixir-format +#: lib/web/email/notification.ex:78 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:98 #, elixir-format +#: lib/web/email/notification.ex:102 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.heex: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:53 #, 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.heex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:23 #, elixir-format +#: lib/web/templates/api/terms.html.heex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Aceptar estos Términos" -#: lib/web/templates/api/terms.html.heex:27 #, elixir-format +#: lib/web/templates/api/terms.html.heex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Cambios a estos Términos de uso" -#: lib/web/templates/api/terms.html.heex:85 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:60 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:65 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:64 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:55 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:56 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:42 #, elixir-format +#: lib/web/templates/api/terms.html.heex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Crear cuentas" -#: lib/web/templates/api/terms.html.heex:89 #, elixir-format +#: lib/web/templates/api/terms.html.heex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Acuerdo completo" -#: lib/web/templates/api/terms.html.heex:92 #, elixir-format +#: lib/web/templates/api/terms.html.heex:92 msgctxt "terms" msgid "Feedback" msgstr "Comentarios" -#: lib/web/templates/api/terms.html.heex:83 #, elixir-format +#: lib/web/templates/api/terms.html.heex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Hipervínculos y contenido de terceros" -#: lib/web/templates/api/terms.html.heex:88 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:63 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:48 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:39 #, elixir-format +#: lib/web/templates/api/terms.html.heex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Política de privacidad" -#: lib/web/templates/api/terms.html.heex:95 #, elixir-format +#: lib/web/templates/api/terms.html.heex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Preguntas e información de contacto" -#: lib/web/templates/api/terms.html.heex:87 #, elixir-format +#: lib/web/templates/api/terms.html.heex:87 msgctxt "terms" msgid "Termination" msgstr "Terminación" -#: lib/web/templates/api/terms.html.heex:62 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:47 #, elixir-format +#: lib/web/templates/api/terms.html.heex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "Su contenido y conducta" -#: lib/web/templates/api/terms.html.heex:84 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:68 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:81 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:18 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:33 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:53 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:57 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:52 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:90 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:80 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:58 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:51 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:96 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:79 #, elixir-format +#: lib/web/templates/api/terms.html.heex:79 msgctxt "terms" msgid "Source code" msgstr "Código fuente" -#: lib/web/templates/api/terms.html.heex:93 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:74 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:6 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:44 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:77 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:98 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:3 #, elixir-format +#: lib/web/templates/api/terms.html.heex:3 msgctxt "terms" msgid "Short version" msgstr "Version corta" -#: lib/web/templates/api/terms.html.heex:9 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:97 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:8 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:7 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:5 #, elixir-format +#: lib/web/templates/api/terms.html.heex:5 msgctxt "terms" msgid "Your content is yours" msgstr "Tu contenido es tuyo" -#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.heex: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.heex: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ó:" -#: lib/web/templates/email/email.html.heex:115 -#: lib/web/templates/email/email.text.eex:8 #, elixir-format +#: lib/web/templates/email/email.html.heex:117 +#: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "¿Necesita ayuda? ¿Algo no está funcionando correctamente?" -#: lib/web/templates/email/registration_confirmation.html.heex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.heex: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.heex:13 #, elixir-format +#: lib/web/templates/email/report.html.heex:13 msgid "New report on %{instance}" msgstr "Nuevo informe sobre %{instance} " -#: lib/web/templates/email/email_changed_old.html.heex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.heex: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.heex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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." -#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63 -#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:147 -#: lib/web/templates/email/event_updated.text.eex:29 lib/web/templates/email/notification_each_week.html.heex:70 -#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:70 -#: lib/web/templates/email/on_day_notification.text.eex:14 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63 +#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133 +#: lib/web/templates/email/event_updated.text.eex:22 lib/web/templates/email/notification_each_week.html.heex:60 +#: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60 +#: lib/web/templates/email/on_day_notification.text.eex:11 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.heex: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,61 @@ 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.heex:143 #, elixir-format +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} es una instancia de Mobilizon." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex: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.heex: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.heex: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.heex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:84 msgid "End" msgstr "Final" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format -msgid "End %{ends_on}" -msgstr "Final %{ends_on}" - #: lib/web/templates/email/event_updated.html.heex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "¡Evento actualizado!" -#: lib/web/templates/email/report.html.heex:88 #, elixir-format +#: lib/web/templates/email/report.html.heex:88 msgid "Flagged comments" msgstr "Comentarios marcados" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.heex: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.heex: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 +1023,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.heex: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,175 +1040,164 @@ 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.heex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex: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.heex: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." -#: lib/web/templates/email/email.html.heex:144 -#: lib/web/templates/email/email.text.eex:11 #, elixir-format +#: lib/web/templates/email/email.html.heex:153 +#: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "¡Aprenda más sobre Mobilizon aquí!" +#, elixir-format #: lib/web/templates/email/event_updated.html.heex:94 #: lib/web/templates/export/event_participants.html.heex:129 -#, elixir-format msgid "Location" msgstr "Ubicación" -#: lib/web/templates/email/event_updated.html.heex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:104 msgid "Location address was removed" msgstr "Dirección física fue eliminada" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex: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.heex: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.heex: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.heex:106 #, elixir-format +#: lib/web/templates/email/report.html.heex:106 msgid "Reasons for report" msgstr "Razones para informar" -#: lib/web/templates/email/report.html.heex:39 #, elixir-format +#: lib/web/templates/email/report.html.heex: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.heex: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.heex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:74 msgid "Start" msgstr "Inicio" -#: lib/web/templates/email/event_updated.text.eex:18 #, elixir-format -msgid "Start %{begins_on}" -msgstr "Inicio %{begins_on}" - #: lib/web/templates/email/event_updated.text.eex:3 -#, elixir-format 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.heex: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.heex: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.heex: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.heex: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.heex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.heex:51 msgid "Verify your email address" msgstr "Verifica tu dirección de correo electrónico" -#: lib/web/templates/email/report.html.heex:126 #, elixir-format +#: lib/web/templates/email/report.html.heex: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/email_anonymous_activity.html.heex:67 #: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58 -#, elixir-format msgid "Visit event page" msgstr "Visita la página del evento" -#: lib/web/templates/email/event_updated.html.heex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex: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:21 msgid "Visit the updated event page: %{link}" msgstr "Ver el evento actualizado en: %{link}" -#: lib/web/templates/email/notification_each_week.html.heex:13 -#: lib/web/templates/email/notification_each_week.text.eex:1 #, elixir-format -msgid "What's up this week?" -msgstr "¿Qué pasa esta semana?" - #: lib/web/templates/email/on_day_notification.html.heex: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.heex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex: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.heex: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 " @@ -1221,110 +1205,110 @@ 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.heex:13 #: lib/web/templates/email/event_participation_confirmed.html.heex: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.heex: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.heex:90 #, elixir-format +#: lib/web/templates/email/email.html.heex:92 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.heex: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.heex: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:61 #, elixir-format +#: lib/web/email/member.ex:61 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.heex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.heex: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.heex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.heex: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.heex: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.heex: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_suspension.html.heex: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}!" -#: lib/web/templates/email/group_suspension.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_suspension.text.eex:3 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:95 #, elixir-format +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "El grupo %{group} ha sido suspendido en %{instance}" -#: lib/web/templates/api/terms.html.heex:24 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1332,8 +1316,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.heex:40 #, elixir-format +#: lib/web/templates/api/terms.html.heex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" @@ -1341,22 +1325,22 @@ msgstr "" "sobre los usuarios del Servicio, consulte nuestra " "política de privacidad ." -#: lib/web/templates/api/terms.html.heex:36 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1367,22 +1351,22 @@ msgstr "" "información solo dejará de mostrar el estado de participación en tu " "navegador." -#: lib/web/templates/api/privacy.html.heex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:71 #, elixir-format +#: lib/web/templates/api/terms.html.heex:71 msgctxt "terms" msgid "Our responsibility" msgstr "Nuestra responsabilidad" -#: lib/web/templates/api/privacy.html.heex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1390,9 +1374,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.heex:3 #: lib/web/templates/api/terms.html.heex: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 "" @@ -1401,8 +1385,8 @@ msgstr "" "Proporcionamos un glosario para ayudarlo a " "comprenderlos mejor." -#: lib/web/templates/api/terms.html.heex:45 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1410,8 +1394,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.heex:50 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1421,8 +1405,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.heex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1440,8 +1424,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.heex:30 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1449,8 +1433,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.heex:20 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1465,8 +1449,8 @@ msgstr "" "información sobre esta instancia en la página " "\"Acerca de esta instancia\" ." -#: lib/web/templates/api/terms.html.heex:43 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1475,8 +1459,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.heex:49 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1489,8 +1473,8 @@ msgstr "" "visibilidad que ha establecido para el contenido. No modificaremos la " "visibilidad del contenido que ha establecido." -#: lib/web/templates/api/privacy.html.heex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1502,8 +1486,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.heex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1512,380 +1496,450 @@ 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.heex:38 #: lib/web/templates/email/event_participation_confirmed.html.heex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Solicitaste participar en el evento%{title}." -#: lib/web/email/participation.ex:88 #, elixir-format +#: lib/web/email/participation.ex:90 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.heex:41 #, elixir-format +#: lib/web/templates/email/report.html.heex: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.heex:51 #, elixir-format +#: lib/web/templates/email/report.html.heex: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.heex:56 #, elixir-format +#: lib/web/templates/email/report.html.heex:56 msgid "Profile reported" msgstr "Perfil informado" -#: lib/web/templates/email/event_participation_confirmed.html.heex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.heex: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:99 #, elixir-format +#: lib/mobilizon/posts/post.ex:99 msgid "A text is required for the post" msgstr "Se requiere un texto para la publicación" -#: lib/mobilizon/posts/post.ex:98 #, elixir-format +#: lib/mobilizon/posts/post.ex:98 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.heex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.heex: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.heex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.heex:66 msgid "See the federation settings" msgstr "Ver la configuración de la federación" +#, elixir-format #: lib/web/templates/email/instance_follow.html.heex: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.heex: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.heex: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.heex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.heex: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.heex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.heex:38 msgid "You issued a request to attend %{title}." msgstr "Envió una solicitud para asistir a %{title}." -#: lib/web/templates/email/event_updated.html.heex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:64 msgid "Event title" msgstr "Título del evento" -#: lib/web/templates/email/event_updated.html.heex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex: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.heex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:7 msgid "This page is not correct" msgstr "Esta página no es correcta" -#: lib/web/templates/error/500_page.html.heex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Lo sentimos, pero algo salió mal por nuestra parte." -#: lib/web/templates/email/email.html.heex:89 -#: lib/web/templates/email/email.text.eex:4 #, elixir-format +#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Este es un sitio de demostración para probar Mobilizon." -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 #, elixir-format +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "Flujo de %{name}" -#: lib/service/export/feed.ex:115 #, elixir-format +#: lib/service/export/feed.ex:115 msgid "%{actor}'s private events feed on %{instance}" msgstr "Flujo de eventos privados de %{actor} a %{instance}" -#: lib/service/export/feed.ex:110 #, elixir-format +#: lib/service/export/feed.ex:110 msgid "%{actor}'s public events feed on %{instance}" msgstr "Flujo público de eventos de %{actor} a %{instance}" -#: lib/service/export/feed.ex:219 #, elixir-format +#: lib/service/export/feed.ex:219 msgid "Feed for %{email} on %{instance}" msgstr "Flujo para %{email} en %{instance}" -#: lib/web/templates/error/500_page.html.heex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.heex: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.heex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.heex: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.heex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:68 msgid "Technical details" msgstr "Detalles técnicos" -#: lib/web/templates/error/500_page.html.heex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.heex: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:67 #, elixir-format +#: lib/service/export/feed.ex:67 msgid "Public feed for %{instance}" msgstr "Flujo público para %{instance}" -#: lib/graphql/resolvers/user.ex:298 #, elixir-format +#: lib/graphql/resolvers/user.ex:298 msgid "The password you have choosen is too short. Please make sure your password contains at least 6 charaters." msgstr "" "La contraseña que ha elegido es demasiado corta. Asegúrese de que su " "contraseña contenga al menos 6 caracteres." -#: lib/graphql/resolvers/user.ex:304 #, elixir-format +#: lib/graphql/resolvers/user.ex:304 msgid "The token you provided is invalid. Make sure that the URL is exactly the one provided inside the email you got." msgstr "" "El token que proporcionaste no es válido. Asegúrese de que la URL sea " "exactamente la que se proporciona dentro del correo electrónico que recibió." -#: lib/web/email/actor.ex:44 #, elixir-format +#: lib/web/email/actor.ex:44 msgid "Your participation to %{event} has been cancelled!" msgstr "Su participación en el evento %{title} ¡ha sido cancelada!" +#, elixir-format #: lib/web/templates/email/actor_suspension_participants.html.heex:38 #: lib/web/templates/email/actor_suspension_participants.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{actor_name} (%{actor_address}). All of their events have been removed and your participation to event %{event} cancelled." msgstr "" "El equipo de moderación de tu instancia ha decidido suspender a%{actor_name} " "(%{actor_address}). Se eliminaron todos sus eventos y se canceló su " "participación en el evento % {event}." -#: lib/web/templates/email/group_suspension.html.heex:38 #, elixir-format +#: lib/web/templates/email/group_suspension.html.heex:38 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." +#, elixir-format #: lib/web/templates/email/actor_suspension_participants.html.heex:13 #: lib/web/templates/email/actor_suspension_participants.text.eex:1 -#, elixir-format msgid "Your participation to %{event} on %{instance} has been cancelled!" msgstr "¡Tu participación en %{event} en %{instance} ha sido cancelada!" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. -#: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 #, elixir-format +#: lib/service/export/participants/csv.ex:73 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "%{event}_participants" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant message" msgstr "Mensaje del participante" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant name" msgstr "Participación aprobada" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant status" msgstr "Estado de participante" -#: lib/service/export/participants/common.ex:52 #, elixir-format +#: lib/service/export/participants/common.ex:52 msgid "Administrator" msgstr "Administrador" -#: lib/service/export/participants/common.ex:55 #, elixir-format +#: lib/service/export/participants/common.ex:55 msgid "Creator" msgstr "Creador" -#: lib/service/export/participants/common.ex:49 #, elixir-format +#: lib/service/export/participants/common.ex:49 msgid "Moderator" msgstr "Moderador" -#: lib/service/export/participants/common.ex:37 #, elixir-format +#: lib/service/export/participants/common.ex:37 msgid "Not approved" msgstr "Sin aprovar" -#: lib/service/export/participants/common.ex:40 #, elixir-format +#: lib/service/export/participants/common.ex:40 msgid "Not confirmed" msgstr "Sin confirmar" -#: lib/service/export/participants/common.ex:46 #, elixir-format +#: lib/service/export/participants/common.ex:46 msgid "Participant" msgstr "Participante" -#: lib/service/export/participants/common.ex:43 #, elixir-format +#: lib/service/export/participants/common.ex:43 msgid "Rejected" msgstr "Rechazado" -#: lib/web/templates/export/event_participants.html.heex:122 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:122 msgid "Begins on" msgstr "Comienza en" -#: lib/web/templates/export/event_participants.html.heex:125 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:125 msgid "Ends on" msgstr "Final" -#: lib/web/templates/export/event_participants.html.heex:132 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:132 msgid "Number of participants" msgstr "Número de participantes" -#: lib/web/templates/export/event_participants.html.heex:120 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:120 msgid "Participants for %{event}" msgstr "Participación aprobada" -#: lib/service/export/participants/common.ex:88 #, elixir-format +#: lib/service/export/participants/common.ex:88 msgid "Anonymous participant" msgstr "Participante anónimo" +#, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 -#, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "🌐 %{timezone} %{offset}" -#: lib/web/templates/email/date/event_tz_date.text.eex:1 #, elixir-format +#: lib/web/templates/email/date/event_tz_date.text.eex:1 msgid "%{date_time} (%{timezone} %{offset})" msgstr "%{date_time} (%{timezone} %{offset})" -#: lib/web/templates/email/date/event_tz_date.text.eex:1 #, elixir-format +#: lib/web/templates/email/date/event_tz_date.text.eex:1 msgid "%{date_time} (in your timezone %{timezone} %{offset})" msgstr "%{date_time} (en tu zona horaria% {timezone} %{offset})" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.heex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "On the agenda this week" msgstr "Un evento programado para hoy" -#: lib/web/templates/email/participation/event_card.html.heex:11 #, elixir-format +#: lib/web/templates/email/participation/event_card.html.heex:11 msgid "Details" msgstr "Detalles" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 #, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "Desde el %{start} hasta el %{end}" -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 #, elixir-format +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "Gestiona tu participación" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 #, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "El %{date} del % {start_time} al %{end_time}" -#: lib/web/templates/email/participation/event_card.html.heex:19 #, elixir-format +#: lib/web/templates/email/participation/event_card.html.heex:19 msgid "Read more" msgstr "Lee mas" -#: lib/web/templates/email/participation/card/_metadata.html.heex:50 #, elixir-format +#: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "Evento en línea" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "Detalles" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "Gestiona tu participación" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Participante" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Participante" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "Lee mas" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po index c8a8db256..7504f81f9 100644 --- a/priv/gettext/es/LC_MESSAGES/errors.po +++ b/priv/gettext/es/LC_MESSAGES/errors.po @@ -94,902 +94,944 @@ msgstr "debe ser mayor o igual que% {number}" msgid "must be equal to %{number}" msgstr "debe ser igual a% {number}" -#: lib/graphql/resolvers/user.ex:107 #, elixir-format +#: lib/graphql/resolvers/user.ex:107 msgid "Cannot refresh the token" msgstr "No se puede actualizar el token" -#: lib/graphql/resolvers/group.ex:245 #, elixir-format +#: lib/graphql/resolvers/group.ex:245 msgid "Current profile is not a member of this group" msgstr "El perfil actual no es miembro de este grupo" -#: lib/graphql/resolvers/group.ex:249 #, elixir-format +#: lib/graphql/resolvers/group.ex:249 msgid "Current profile is not an administrator of the selected group" msgstr "El perfil actual no es un administrador del grupo seleccionado" -#: lib/graphql/resolvers/user.ex:592 #, elixir-format +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Error al guardar los parámetros del usuario" -#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 #, elixir-format +#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Grupo no encontrado" -#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82 #, elixir-format +#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82 msgid "Group with ID %{id} not found" msgstr "No se encontró el grupo con ID% {id}" -#: lib/graphql/resolvers/user.ex:85 #, elixir-format +#: lib/graphql/resolvers/user.ex:85 msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" "Imposible autenticarse, su correo electrónico o contraseña no son válidos." -#: lib/graphql/resolvers/group.ex:308 #, elixir-format +#: lib/graphql/resolvers/group.ex:308 msgid "Member not found" msgstr "Miembro no encontrado" -#: lib/graphql/resolvers/actor.ex:94 #, elixir-format +#: lib/graphql/resolvers/actor.ex:94 msgid "No profile found for the moderator user" msgstr "No se encontró el perfil del usuario moderador" -#: lib/graphql/resolvers/user.ex:253 #, elixir-format +#: lib/graphql/resolvers/user.ex:253 msgid "No user to validate with this email was found" msgstr "No se encontró ningún usuario para validar con este correo electrónico" -#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278 #, elixir-format +#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278 msgid "No user with this email was found" msgstr "No se encontró ningún usuario con este correo electrónico" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 -#, elixir-format +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "El perfil no es propiedad del usuario autenticado" -#: lib/graphql/resolvers/user.ex:156 #, elixir-format +#: lib/graphql/resolvers/user.ex:156 msgid "Registrations are not open" msgstr "Las inscripciones no están abiertas" -#: lib/graphql/resolvers/user.ex:407 #, elixir-format +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "La contraseña actual no es válida" -#: lib/graphql/resolvers/user.ex:450 #, elixir-format +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "El nuevo correo electrónico no parece ser válido" -#: lib/graphql/resolvers/user.ex:453 #, elixir-format +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "El nuevo correo electrónico debe ser diferente" -#: lib/graphql/resolvers/user.ex:410 #, elixir-format +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "La nueva contraseña debe ser diferente" -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 #, elixir-format +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "La contraseña proporcionada no es válida" -#: lib/graphql/resolvers/user.ex:414 #, elixir-format +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "La contraseña que ha elegido es demasiado corta. Asegúrese de que su " "contraseña contenga al menos 6 caracteres." -#: lib/graphql/resolvers/user.ex:274 #, elixir-format +#: lib/graphql/resolvers/user.ex:274 msgid "This user can't reset their password" msgstr "Este usuario no puede restablecer su contraseña" -#: lib/graphql/resolvers/user.ex:81 #, elixir-format +#: lib/graphql/resolvers/user.ex:81 msgid "This user has been disabled" msgstr "Este usuario ha sido inhabilitado" -#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237 #, elixir-format +#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237 msgid "Unable to validate user" msgstr "No se puede validar al usuario" -#: lib/graphql/resolvers/user.ex:500 #, elixir-format +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "El usuario ya está inhabilitado" -#: lib/graphql/resolvers/user.ex:567 #, elixir-format +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "El usuario solicitado no ha iniciado sesión" -#: lib/graphql/resolvers/group.ex:280 #, elixir-format +#: lib/graphql/resolvers/group.ex:280 msgid "You are already a member of this group" msgstr "Ya eres miembro de este grupo" -#: lib/graphql/resolvers/group.ex:315 #, elixir-format +#: lib/graphql/resolvers/group.ex:315 msgid "You can't leave this group because you are the only administrator" msgstr "No puedes dejar este grupo porque eres el único administrador" -#: lib/graphql/resolvers/group.ex:277 #, elixir-format +#: lib/graphql/resolvers/group.ex:277 msgid "You cannot join this group" msgstr "No puedes unirte a este grupo" -#: lib/graphql/resolvers/group.ex:112 #, elixir-format +#: lib/graphql/resolvers/group.ex:112 msgid "You may not list groups unless moderator." msgstr "No puedes enumerar grupos a menos que seas moderador." -#: lib/graphql/resolvers/user.ex:465 #, elixir-format +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Debes iniciar sesión para cambiar tu correo electrónico" -#: lib/graphql/resolvers/user.ex:422 #, elixir-format +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Debes iniciar sesión para cambiar tu contraseña" -#: lib/graphql/resolvers/group.ex:254 #, elixir-format +#: lib/graphql/resolvers/group.ex:254 msgid "You need to be logged-in to delete a group" msgstr "Debes iniciar sesión para eliminar un grupo" -#: lib/graphql/resolvers/user.ex:527 #, elixir-format +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Debes iniciar sesión para eliminar su cuenta" -#: lib/graphql/resolvers/group.ex:285 #, elixir-format +#: lib/graphql/resolvers/group.ex:285 msgid "You need to be logged-in to join a group" msgstr "Debes iniciar sesión para eliminar su cuenta" -#: lib/graphql/resolvers/group.ex:320 #, elixir-format +#: lib/graphql/resolvers/group.ex:320 msgid "You need to be logged-in to leave a group" msgstr "Debes iniciar sesión para dejar un grupo" -#: lib/graphql/resolvers/group.ex:218 #, elixir-format +#: lib/graphql/resolvers/group.ex:218 msgid "You need to be logged-in to update a group" msgstr "Debes iniciar sesión para actualizar un grupo" -#: lib/graphql/resolvers/user.ex:112 #, elixir-format +#: lib/graphql/resolvers/user.ex:112 msgid "You need to have an existing token to get a refresh token" msgstr "Debes tener un token existente para obtener un token de actualización" -#: lib/graphql/resolvers/user.ex:256 lib/graphql/resolvers/user.ex:281 #, elixir-format +#: lib/graphql/resolvers/user.ex:256 lib/graphql/resolvers/user.ex:281 msgid "You requested again a confirmation email too soon" msgstr "" "Solicitó de nuevo un correo electrónico de confirmación demasiado pronto" -#: lib/graphql/resolvers/user.ex:159 #, elixir-format +#: lib/graphql/resolvers/user.ex:159 msgid "Your email is not on the allowlist" msgstr "Tu correo electrónico no está en la lista de permitidos" -#: lib/graphql/resolvers/actor.ex:100 #, elixir-format +#: lib/graphql/resolvers/actor.ex:100 msgid "Error while performing background task" msgstr "Error al realizar la tarea en segundo plano" -#: lib/graphql/resolvers/actor.ex:32 #, elixir-format +#: lib/graphql/resolvers/actor.ex:32 msgid "No profile found with this ID" msgstr "No se encontró ningún perfil con este ID" -#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97 #, elixir-format +#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97 msgid "No remote profile found with this ID" msgstr "No se encontró ningún perfil remoto con este ID" -#: lib/graphql/resolvers/actor.ex:72 #, elixir-format +#: lib/graphql/resolvers/actor.ex:72 msgid "Only moderators and administrators can suspend a profile" msgstr "Solo los moderadores y administradores pueden suspender un perfil" -#: lib/graphql/resolvers/actor.ex:105 #, elixir-format +#: lib/graphql/resolvers/actor.ex:105 msgid "Only moderators and administrators can unsuspend a profile" msgstr "" "Solo los moderadores y administradores pueden anular la suspensión de un " "perfil" -#: lib/graphql/resolvers/actor.ex:29 #, elixir-format +#: lib/graphql/resolvers/actor.ex:29 msgid "Only remote profiles may be refreshed" msgstr "Solo se pueden actualizar los perfiles remotos" -#: lib/graphql/resolvers/actor.ex:64 #, elixir-format +#: lib/graphql/resolvers/actor.ex:64 msgid "Profile already suspended" msgstr "Perfil ya suspendido" -#: lib/graphql/resolvers/participant.ex:96 #, elixir-format +#: lib/graphql/resolvers/participant.ex:96 msgid "A valid email is required by your instance" msgstr "Su instancia requiere un correo electrónico válido" +#, elixir-format #: lib/graphql/resolvers/participant.ex:90 #: lib/graphql/resolvers/participant.ex:143 -#, elixir-format msgid "Anonymous participation is not enabled" msgstr "La participación anónima no está habilitada" -#: lib/graphql/resolvers/person.ex:210 #, elixir-format +#: lib/graphql/resolvers/person.ex:210 msgid "Cannot remove the last administrator of a group" msgstr "No se puede eliminar al último administrador de un grupo" -#: lib/graphql/resolvers/person.ex:207 #, elixir-format +#: lib/graphql/resolvers/person.ex:207 msgid "Cannot remove the last identity of a user" msgstr "No se puede eliminar la última identidad de un usuario" -#: lib/graphql/resolvers/comment.ex:126 #, elixir-format +#: lib/graphql/resolvers/comment.ex:126 msgid "Comment is already deleted" msgstr "El comentario ya está eliminado" -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 #, elixir-format +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Discusión no encontrada" -#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82 #, elixir-format +#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82 msgid "Error while saving report" msgstr "Error al guardar el informe" -#: lib/graphql/resolvers/report.ex:102 #, elixir-format +#: lib/graphql/resolvers/report.ex:102 msgid "Error while updating report" msgstr "Error al actualizar el informe" -#: lib/graphql/resolvers/participant.ex:131 #, elixir-format +#: lib/graphql/resolvers/participant.ex:131 msgid "Event id not found" msgstr "ID de evento no encontrado" -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 #, elixir-format +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Evento no encontrado" +#, elixir-format #: lib/graphql/resolvers/participant.ex:87 #: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155 #: lib/graphql/resolvers/participant.ex:336 -#, elixir-format msgid "Event with this ID %{id} doesn't exist" msgstr "El evento con este ID%{id} no existe" -#: lib/graphql/resolvers/participant.ex:103 #, elixir-format +#: lib/graphql/resolvers/participant.ex:103 msgid "Internal Error" msgstr "Error interno" -#: lib/graphql/resolvers/discussion.ex:225 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Sin discusión con ID%{id}" +#, elixir-format #: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107 #: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237 -#, elixir-format msgid "No profile found for user" msgstr "No se encontró perfil para el usuario" -#: lib/graphql/resolvers/feed_token.ex:64 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:64 msgid "No such feed token" msgstr "No existe tal token de alimentación" -#: lib/graphql/resolvers/participant.ex:259 #, elixir-format +#: lib/graphql/resolvers/participant.ex:259 msgid "Participant already has role %{role}" msgstr "El participante ya tiene el rol%{role}" +#, elixir-format #: lib/graphql/resolvers/participant.ex:187 #: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263 -#, elixir-format msgid "Participant not found" msgstr "Participante no encontrado" -#: lib/graphql/resolvers/person.ex:32 #, elixir-format +#: lib/graphql/resolvers/person.ex:32 msgid "Person with ID %{id} not found" msgstr "Persona con ID%{id} no encontrada" -#: lib/graphql/resolvers/person.ex:56 #, elixir-format +#: lib/graphql/resolvers/person.ex:56 msgid "Person with username %{username} not found" msgstr "Persona con nombre de usuario %{username} no encontrada" -#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203 #, elixir-format +#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203 msgid "Post ID is not a valid ID" msgstr "La ID de publicación no es válida" -#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206 #, elixir-format +#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206 msgid "Post doesn't exist" msgstr "La publicación no existe" -#: lib/graphql/resolvers/member.ex:82 #, elixir-format +#: lib/graphql/resolvers/member.ex:82 msgid "Profile invited doesn't exist" msgstr "El perfil invitado no existe" -#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95 #, elixir-format +#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95 msgid "Profile is already a member of this group" msgstr "Perfil ya es miembro de este grupo" +#, elixir-format #: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175 #: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132 #: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58 #: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182 #: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246 -#, elixir-format msgid "Profile is not member of group" msgstr "El perfil no es miembro del grupo" -#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233 #, elixir-format +#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233 msgid "Profile not found" msgstr "Perfil no encontrado" -#: lib/graphql/resolvers/report.ex:40 #, elixir-format +#: lib/graphql/resolvers/report.ex:40 msgid "Report not found" msgstr "Informe no encontrado" -#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196 #, elixir-format +#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196 msgid "Resource doesn't exist" msgstr "El recurso no existe" -#: lib/graphql/resolvers/participant.ex:124 #, elixir-format +#: lib/graphql/resolvers/participant.ex:124 msgid "The event has already reached its maximum capacity" msgstr "El evento ya alcanzó su capacidad máxima" -#: lib/graphql/resolvers/participant.ex:282 #, elixir-format +#: lib/graphql/resolvers/participant.ex:282 msgid "This token is invalid" msgstr "Este token no es válido" -#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243 #, elixir-format +#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243 msgid "Todo doesn't exist" msgstr "Todo no existe" +#, elixir-format #: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211 #: lib/graphql/resolvers/todos.ex:240 -#, elixir-format msgid "Todo list doesn't exist" msgstr "La lista de tareas pendientes no existe" -#: lib/graphql/resolvers/feed_token.ex:73 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:73 msgid "Token does not exist" msgstr "El token no existe" -#: lib/graphql/resolvers/feed_token.ex: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 "El token no es un UUID válido" -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 #, elixir-format +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Usuario no encontrado" -#: lib/graphql/resolvers/person.ex:310 #, elixir-format +#: lib/graphql/resolvers/person.ex:310 msgid "You already have a profile for this user" msgstr "Ya tienes un perfil para este usuario" -#: lib/graphql/resolvers/participant.ex:134 #, elixir-format +#: lib/graphql/resolvers/participant.ex:134 msgid "You are already a participant of this event" msgstr "Ya eres participante de este evento" -#: lib/graphql/resolvers/member.ex:85 #, elixir-format +#: lib/graphql/resolvers/member.ex:85 msgid "You are not a member of this group" msgstr "no eres un miembro de este grupo" -#: lib/graphql/resolvers/member.ex:155 #, elixir-format +#: lib/graphql/resolvers/member.ex:155 msgid "You are not a moderator or admin for this group" msgstr "No eres moderador ni administrador de este grupo" -#: lib/graphql/resolvers/comment.ex:59 #, elixir-format +#: lib/graphql/resolvers/comment.ex:59 msgid "You are not allowed to create a comment if not connected" msgstr "No está permitido crear un comentario si no está conectado" -#: lib/graphql/resolvers/feed_token.ex:41 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:41 msgid "You are not allowed to create a feed token if not connected" msgstr "No puede crear un token de feed si no está conectado" -#: lib/graphql/resolvers/comment.ex:134 #, elixir-format +#: lib/graphql/resolvers/comment.ex:134 msgid "You are not allowed to delete a comment if not connected" msgstr "No puede eliminar un comentario si no está conectado" -#: lib/graphql/resolvers/feed_token.ex:82 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:82 msgid "You are not allowed to delete a feed token if not connected" msgstr "No puede eliminar un token de feed si no está conectado" -#: lib/graphql/resolvers/comment.ex:93 #, elixir-format +#: lib/graphql/resolvers/comment.ex:93 msgid "You are not allowed to update a comment if not connected" msgstr "No se le permite actualizar un comentario si no está conectado" +#, elixir-format #: lib/graphql/resolvers/participant.ex:181 #: lib/graphql/resolvers/participant.ex:214 -#, elixir-format msgid "You can't leave event because you're the only event creator participant" msgstr "" "No puedes abandonar el evento porque eres el único participante creador del " "evento" -#: lib/graphql/resolvers/member.ex:159 #, elixir-format +#: lib/graphql/resolvers/member.ex:159 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "No puede establecerse en un rol de miembro inferior para este grupo porque " "es el único administrador" -#: lib/graphql/resolvers/comment.ex:122 #, elixir-format +#: lib/graphql/resolvers/comment.ex:122 msgid "You cannot delete this comment" msgstr "No puedes borrar este comentario" -#: lib/graphql/resolvers/event.ex:403 #, elixir-format +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "No puedes borrar este evento" -#: lib/graphql/resolvers/member.ex:88 #, elixir-format +#: lib/graphql/resolvers/member.ex:88 msgid "You cannot invite to this group" msgstr "No puedes invitar a este grupo" -#: 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 "No tienes permiso para eliminar este token" -#: lib/graphql/resolvers/admin.ex:54 #, elixir-format +#: lib/graphql/resolvers/admin.ex:54 msgid "You need to be logged-in and a moderator to list action logs" msgstr "" "Debe iniciar sesión y un moderador para enumerar los registros de acción" -#: lib/graphql/resolvers/report.ex:28 #, elixir-format +#: lib/graphql/resolvers/report.ex:28 msgid "You need to be logged-in and a moderator to list reports" msgstr "Debe iniciar sesión y un moderador para enumerar los informes" -#: lib/graphql/resolvers/report.ex:107 #, elixir-format +#: lib/graphql/resolvers/report.ex:107 msgid "You need to be logged-in and a moderator to update a report" msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe" -#: lib/graphql/resolvers/report.ex:45 #, elixir-format +#: lib/graphql/resolvers/report.ex:45 msgid "You need to be logged-in and a moderator to view a report" msgstr "Debe iniciar sesión y ser un moderador para actualizar un informe" -#: lib/graphql/resolvers/admin.ex:246 #, elixir-format +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Debe iniciar sesión y ser administrador para acceder a la configuración de " "administrador" -#: lib/graphql/resolvers/admin.ex:230 #, elixir-format +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Debe iniciar sesión y ser administrador para acceder a las estadísticas del " "panel" -#: lib/graphql/resolvers/admin.ex:272 #, elixir-format +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Debe iniciar sesión y ser administrador para acceder a las estadísticas del " "panel" -#: lib/graphql/resolvers/discussion.ex:90 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Debe iniciar sesión para acceder a las discusiones" -#: lib/graphql/resolvers/resource.ex:96 #, elixir-format +#: lib/graphql/resolvers/resource.ex:96 msgid "You need to be logged-in to access resources" msgstr "Debes iniciar sesión para acceder a los recursos" -#: lib/graphql/resolvers/event.ex:313 #, elixir-format +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Debes iniciar sesión para crear eventos" -#: lib/graphql/resolvers/post.ex:141 #, elixir-format +#: lib/graphql/resolvers/post.ex:141 msgid "You need to be logged-in to create posts" msgstr "Debes iniciar sesión para crear publicaciones" -#: lib/graphql/resolvers/report.ex:79 #, elixir-format +#: lib/graphql/resolvers/report.ex:79 msgid "You need to be logged-in to create reports" msgstr "Debe iniciar sesión para crear informes" -#: lib/graphql/resolvers/resource.ex:137 #, elixir-format +#: lib/graphql/resolvers/resource.ex:137 msgid "You need to be logged-in to create resources" msgstr "Debe iniciar sesión para crear recursos" -#: lib/graphql/resolvers/event.ex:412 #, elixir-format +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Debe iniciar sesión para eliminar un evento" -#: lib/graphql/resolvers/post.ex:214 #, elixir-format +#: lib/graphql/resolvers/post.ex:214 msgid "You need to be logged-in to delete posts" msgstr "Debes iniciar sesión para eliminar publicaciones" -#: lib/graphql/resolvers/resource.ex:204 #, elixir-format +#: lib/graphql/resolvers/resource.ex:204 msgid "You need to be logged-in to delete resources" msgstr "Debes iniciar sesión para eliminar recursos" -#: lib/graphql/resolvers/participant.ex:108 #, elixir-format +#: lib/graphql/resolvers/participant.ex:108 msgid "You need to be logged-in to join an event" msgstr "Debes iniciar sesión para eliminar recursos" -#: lib/graphql/resolvers/participant.ex:225 #, elixir-format +#: lib/graphql/resolvers/participant.ex:225 msgid "You need to be logged-in to leave an event" msgstr "Debes iniciar sesión para salir de un evento" -#: lib/graphql/resolvers/event.ex:369 #, elixir-format +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Debe iniciar sesión para actualizar un evento" -#: lib/graphql/resolvers/post.ex:180 #, elixir-format +#: lib/graphql/resolvers/post.ex:180 msgid "You need to be logged-in to update posts" msgstr "Debes iniciar sesión para actualizar las publicaciones" -#: lib/graphql/resolvers/resource.ex:174 #, elixir-format +#: lib/graphql/resolvers/resource.ex:174 msgid "You need to be logged-in to update resources" msgstr "Debes iniciar sesión para actualizar los recursos" -#: lib/graphql/resolvers/resource.ex:233 #, elixir-format +#: lib/graphql/resolvers/resource.ex:233 msgid "You need to be logged-in to view a resource preview" msgstr "Debe iniciar sesión para ver una vista previa del recurso" -#: lib/graphql/resolvers/resource.ex:129 #, elixir-format +#: lib/graphql/resolvers/resource.ex:129 msgid "Parent resource doesn't belong to this group" msgstr "El recurso principal no pertenece a este grupo" -#: lib/mobilizon/users/user.ex:114 #, elixir-format +#: lib/mobilizon/users/user.ex:114 msgid "The chosen password is too short." msgstr "La contraseña elegida es demasiado corta." -#: lib/mobilizon/users/user.ex:142 #, elixir-format +#: lib/mobilizon/users/user.ex:142 msgid "The registration token is already in use, this looks like an issue on our side." msgstr "" "El token de registro ya está en uso, esto parece un problema de nuestra " "parte." -#: lib/mobilizon/users/user.ex:108 #, elixir-format +#: lib/mobilizon/users/user.ex:108 msgid "This email is already used." msgstr "Este correo electrónico ya está en uso." -#: lib/graphql/error.ex:97 #, elixir-format +#: lib/graphql/error.ex:97 msgid "Post not found" msgstr "Informe no encontrado" -#: lib/graphql/error.ex:84 #, elixir-format +#: lib/graphql/error.ex:84 msgid "Invalid arguments passed" msgstr "Se pasaron argumentos no válidos" -#: lib/graphql/error.ex:90 #, elixir-format +#: lib/graphql/error.ex:90 msgid "Invalid credentials" msgstr "Credenciales no válidas" -#: lib/graphql/error.ex:88 #, elixir-format +#: lib/graphql/error.ex:88 msgid "Reset your password to login" msgstr "Restablezca su contraseña para iniciar sesión" -#: lib/graphql/error.ex:95 lib/graphql/error.ex:100 #, elixir-format +#: lib/graphql/error.ex:95 lib/graphql/error.ex:100 msgid "Resource not found" msgstr "Recurso no encontrado" -#: lib/graphql/error.ex:102 #, elixir-format +#: lib/graphql/error.ex:102 msgid "Something went wrong" msgstr "Algo salió mal" -#: lib/graphql/error.ex:83 #, elixir-format +#: lib/graphql/error.ex:83 msgid "Unknown Resource" msgstr "Recurso desconocido" -#: lib/graphql/error.ex:93 #, elixir-format +#: lib/graphql/error.ex:93 msgid "You don't have permission to do this" msgstr "No tienes permiso para hacer esto" -#: lib/graphql/error.ex:85 #, elixir-format +#: lib/graphql/error.ex:85 msgid "You need to be logged in" msgstr "Debes iniciar sesión" -#: lib/graphql/resolvers/member.ex:116 #, elixir-format +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "No puedes aceptar esta invitación con este perfil." -#: lib/graphql/resolvers/member.ex:137 #, elixir-format +#: lib/graphql/resolvers/member.ex:137 msgid "You can't reject this invitation with this profile." msgstr "No puedes rechazar esta invitación con este perfil." -#: lib/graphql/resolvers/media.ex:71 #, elixir-format +#: lib/graphql/resolvers/media.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "El archivo no tiene un tipo MIME permitido." -#: lib/graphql/resolvers/group.ex:213 #, elixir-format +#: lib/graphql/resolvers/group.ex:213 msgid "Profile is not administrator for the group" msgstr "El perfil no es miembro del grupo" -#: lib/graphql/resolvers/event.ex:358 #, elixir-format +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "No puedes borrar este evento." -#: lib/graphql/resolvers/event.ex:361 #, elixir-format +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "No puedes rechazar esta invitación con este perfil." -#: lib/graphql/resolvers/member.ex:140 #, elixir-format +#: lib/graphql/resolvers/member.ex:140 msgid "This invitation doesn't exist." msgstr "Esta invitación no existe." -#: lib/graphql/resolvers/member.ex:185 #, elixir-format +#: lib/graphql/resolvers/member.ex:185 msgid "This member already has been rejected." msgstr "Este miembro ya ha sido rechazado." -#: lib/graphql/resolvers/member.ex:192 #, elixir-format +#: lib/graphql/resolvers/member.ex:192 msgid "You don't have the right to remove this member." msgstr "No tiene derecho a eliminar este miembro." -#: lib/mobilizon/actors/actor.ex:349 #, elixir-format +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Este nombre de usuario ya está en uso." -#: lib/graphql/resolvers/discussion.ex:87 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" "Debe proporcionar una identificación o un slug para acceder a una discusión" -#: lib/graphql/resolvers/event.ex:308 #, elixir-format +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "El perfil del organizador no es propiedad del usuario" -#: lib/graphql/resolvers/participant.ex:93 #, elixir-format +#: lib/graphql/resolvers/participant.ex:93 msgid "Profile ID provided is not the anonymous profile one" msgstr "El ID de perfil proporcionado no es el del perfil anónimo" +#, elixir-format #: lib/graphql/resolvers/group.ex:159 lib/graphql/resolvers/group.ex:201 #: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304 -#, elixir-format msgid "The provided picture is too heavy" msgstr "La imagen proporcionada es demasiado pesada" -#: lib/web/views/utils.ex:34 #, elixir-format +#: lib/web/views/utils.ex:34 msgid "Index file not found. You need to recompile the front-end." msgstr "No se encontró el archivo de índice. Necesita recompilar el front-end." -#: lib/graphql/resolvers/resource.ex:126 #, elixir-format +#: lib/graphql/resolvers/resource.ex:126 msgid "Error while creating resource" msgstr "Error al crear el recurso" -#: lib/graphql/resolvers/user.ex:483 #, elixir-format +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "Token de activación no válido" -#: lib/graphql/resolvers/resource.ex:223 #, elixir-format +#: lib/graphql/resolvers/resource.ex:223 msgid "Unable to fetch resource details from this URL." msgstr "No se pueden recuperar los detalles del recurso de esta URL." -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 -#: lib/graphql/resolvers/participant.ex:328 #, elixir-format +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "El perfil de moderador proporcionado no tiene permiso para este evento" -#: lib/graphql/resolvers/event.ex:294 #, elixir-format +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" "El perfil del organizador no tiene permiso para crear un evento en nombre de " "este grupo" -#: lib/graphql/resolvers/event.ex:349 #, elixir-format +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" "Este perfil no tiene permiso para actualizar un evento en nombre de este " "grupo" -#: lib/graphql/resolvers/user.ex:163 #, elixir-format +#: lib/graphql/resolvers/user.ex:163 msgid "Your e-mail has been denied registration or uses a disallowed e-mail provider" msgstr "" "A su correo electrónico se le ha denegado el registro o utiliza un proveedor " "de correo electrónico no autorizado" -#: lib/graphql/resolvers/comment.ex:129 #, elixir-format +#: lib/graphql/resolvers/comment.ex:129 msgid "Comment not found" msgstr "Evento no encontrado" -#: lib/graphql/resolvers/discussion.ex:129 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Error al crear el recurso" -#: lib/graphql/resolvers/user.ex:606 #, elixir-format +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Error al actualizar el informe" -#: lib/graphql/resolvers/person.ex:307 #, elixir-format +#: lib/graphql/resolvers/person.ex:307 msgid "Error while uploading pictures" msgstr "Error al actualizar el informe" -#: lib/graphql/resolvers/participant.ex:190 #, elixir-format +#: lib/graphql/resolvers/participant.ex:190 msgid "Failed to leave the event" msgstr "No se pudo salir del evento" -#: lib/graphql/resolvers/group.ex:209 #, elixir-format +#: lib/graphql/resolvers/group.ex:209 msgid "Failed to update the group" msgstr "No se pudo actualizar el grupo" -#: lib/graphql/resolvers/user.ex:447 #, elixir-format +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "No se pudo actualizar el correo electrónico del usuario" -#: lib/graphql/resolvers/user.ex:479 #, elixir-format +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "No se puede validar al usuario" -#: lib/graphql/resolvers/participant.ex:146 #, elixir-format +#: lib/graphql/resolvers/participant.ex:146 msgid "The anonymous actor ID is invalid" msgstr "El ID de actor anónimo no es válido" -#: lib/graphql/resolvers/resource.ex:162 #, elixir-format +#: lib/graphql/resolvers/resource.ex:162 msgid "Unknown error while updating resource" msgstr "Error desconocido al actualizar el recurso" -#: lib/graphql/resolvers/comment.ex:84 #, elixir-format +#: lib/graphql/resolvers/comment.ex:84 msgid "You are not the comment creator" msgstr "No eres el creador de comentarios" -#: lib/graphql/resolvers/user.ex:404 #, elixir-format +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "No puede cambiar su contraseña." -#: lib/graphql/resolvers/participant.ex:321 #, elixir-format +#: lib/graphql/resolvers/participant.ex:321 msgid "Format not supported" msgstr "Formato incompatible" -#: lib/graphql/resolvers/participant.ex:305 #, elixir-format +#: lib/graphql/resolvers/participant.ex:305 msgid "A dependency needed to export to %{format} is not installed" msgstr "Una dependencia necesaria para exportar a %{formato} no está instalada" -#: lib/graphql/resolvers/participant.ex:313 #, elixir-format +#: lib/graphql/resolvers/participant.ex:313 msgid "An error occured while saving export" msgstr "Ocurrió un error al guardar la exportación" -#: lib/web/controllers/export_controller.ex:30 #, elixir-format +#: lib/web/controllers/export_controller.ex:30 msgid "Export to format %{format} is not enabled on this instance" msgstr "" "La exportación al formato %{format} no está habilitada en esta instancia" -#: lib/graphql/resolvers/group.ex:165 #, elixir-format +#: lib/graphql/resolvers/group.ex:165 msgid "Only admins can create groups" msgstr "Solo los administradores pueden crear grupos" -#: lib/graphql/resolvers/event.ex:301 #, elixir-format +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "Solo los grupos pueden crear eventos" -#: lib/graphql/resolvers/event.ex:287 #, elixir-format +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "Error desconocido al crear el evevento" -#: lib/graphql/resolvers/user.ex:460 #, elixir-format +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "El usuario no puede cambiar el correo electrónico" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Persona con nombre de usuario %{username} no encontrada" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Debes iniciar sesión para eliminar su cuenta" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Debes iniciar sesión para eliminar su cuenta" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Debes iniciar sesión para actualizar un grupo" diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po index 7e1bd78ce..2bcd39d69 100644 --- a/priv/gettext/fi/LC_MESSAGES/default.po +++ b/priv/gettext/fi/LC_MESSAGES/default.po @@ -32,7 +32,7 @@ msgid "Activate my account" msgstr "Aktivoi tilini" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Kysy yhteisöltä Framacolibrissa" @@ -49,7 +49,7 @@ msgid "Event" msgstr "Tapahtuma" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Ohjeet salasanan palauttamiseen palvelimella %{instance}" @@ -143,7 +143,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Pyysit uutta salasanaa tilillesi palvelimella %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Varoitus" @@ -350,17 +350,17 @@ msgid "What information do we collect?" msgstr "Mitä tietoja kerätään?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon palvelimella %{instance}: vahvista sähköpostiosoitteesi" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon palvelimella %{instance}: sähköpostiosoite vaihdettu" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Yksi suunniteltu tapahtuma tänään" @@ -386,7 +386,7 @@ msgid "Come along!" msgstr "Tule mukaan!" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Muista %{title}" @@ -413,19 +413,19 @@ msgid "View the event on: %{link}" msgstr "Katso päivitetty tapahtuma: %{linkki}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} kutsui sinut ryhmään %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 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" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 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ä" @@ -885,7 +885,7 @@ msgstr "" "sähköpostiosoite:" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Tarvitsetko apua? Eikö kaikki toimi niin kuin pitäisi?" @@ -948,7 +948,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} on Mobilizon-palvelin." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} on Mobilizon-palvelin." @@ -1043,7 +1043,7 @@ msgstr "" "linkistä ja napsauta siellä osallistumispainiketta." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Lue lisää Mobilizonista." @@ -1209,7 +1209,7 @@ 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." #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Älä käytä todellisiin tarkoituksiin." @@ -1228,7 +1228,7 @@ msgid "So long, and thanks for the fish!" msgstr "Näkemiin ja kiitos kaloista!" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Sinut on poistettu ryhmästä %{group}" @@ -1283,7 +1283,7 @@ msgstr "" "(%{group_address}). Et ole enää tämän ryhmän jäsen." #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Ryhmä %{group} on estetty palvelimella %{instance}" @@ -1616,14 +1616,14 @@ 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.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 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:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "%{name} – syöte" @@ -1710,7 +1710,7 @@ msgstr "Osallistumisesi tapahtumaan %{title} on hyväksytty" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1792,6 +1792,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1818,16 +1819,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1838,5 +1841,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Osallistuminen hyväksytty" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Osallistuminen hyväksytty" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/errors.po b/priv/gettext/fi/LC_MESSAGES/errors.po index 6d7bb0cb2..9a6d2b602 100644 --- a/priv/gettext/fi/LC_MESSAGES/errors.po +++ b/priv/gettext/fi/LC_MESSAGES/errors.po @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "Nykyinen profiili ei ole valitun ryhmän ylläpitäjä" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Käyttäjän asetusten tallennuksessa tapahtui virhe" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Ryhmää ei löydy" @@ -155,6 +156,7 @@ msgstr "Käyttäjää, jolla on tämä sähköpostiosoite ei löydy" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "Profiili ei ole tunnistautuneen käyttäjän omistuksessa" @@ -164,33 +166,33 @@ msgid "Registrations are not open" msgstr "Ei voi rekisteröityä" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "Nykyinen salasana ei kelpaa" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "Uusi sähköpostiosoite ei vaikuta kelvolliselta" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "Uuden sähköpostiosoitteen on poikettava vanhasta" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Uuden salasanan on poikettava vanhasta" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "Annettu salasana on epäkelpo" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Valitsemasi salasana on liian lyhyt. Käytä vähintään kuuden merkin mittaista " @@ -212,12 +214,12 @@ msgid "Unable to validate user" msgstr "Käyttäjää ei voi vahvistaa" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "Käyttäjä on jo poistettu käytöstä" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "Pyydetty käyttäjä ei ole kirjautuneena sisään" @@ -242,12 +244,12 @@ msgid "You may not list groups unless moderator." msgstr "Voit nähdä ryhmäluettelon vain, jos olet moderaattori." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Sähköpostiosoitteen voi vaihtaa vain sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Salasanan voi vaihtaa vain sisäänkirjautuneena" @@ -257,7 +259,7 @@ msgid "You need to be logged-in to delete a group" msgstr "Ryhmän voi poistaa vain sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Voit poistaa tilisi vain sisäänkirjautuneena" @@ -353,7 +355,7 @@ msgid "Comment is already deleted" msgstr "Kommentti on jo poistettu" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Keskustelua ei löydy" @@ -373,8 +375,8 @@ msgid "Event id not found" msgstr "Tapahtumatunnistetta ei löydy" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Tapahtumaa ei löydy" @@ -391,7 +393,7 @@ msgid "Internal Error" msgstr "Sisäinen virhe" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Tunnisteella %{id} ei ole keskustelua" @@ -503,7 +505,7 @@ msgid "Token is not a valid UUID" msgstr "Merkki ei ole kelvollinen UUID" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Käyttäjää ei löydy" @@ -572,7 +574,7 @@ msgid "You cannot delete this comment" msgstr "Et voi poistaa kommenttia" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Et voi poistaa tapahtumaa" @@ -607,22 +609,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "Raportin katselu vain moderaattorille sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "Pääsy ylläpitoasetuksiin vain ylläpitäjälle sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "Pääsy koontinäytön tilastoihin vain ylläpitäjälle sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "Ylläpitoasetusten tallennus vain ylläpitäjälle sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Pääsy keskusteluihin vain sisäänkirjautuneena" @@ -632,7 +634,7 @@ msgid "You need to be logged-in to access resources" msgstr "Pääsy resursseihin vain sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Tapahtumien luonti vain sisäänkirjautuneena" @@ -652,7 +654,7 @@ msgid "You need to be logged-in to create resources" msgstr "Resurssien luonti vain sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Tapahtuman poisto vain sisäänkirjautuneena" @@ -677,7 +679,7 @@ msgid "You need to be logged-in to leave an event" msgstr "Tapahtumasta poistuminen vain sisäänkirjautuneena" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Tapahtuman päivittäminen vain sisäänkirjautuneena" @@ -782,12 +784,12 @@ msgid "Profile is not administrator for the group" msgstr "Profiili ei ole ryhmän ylläpitäjä" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Et voi muokata tapahtumaa." #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Et voi yhdistää tapahtumaa tähän profiiliin." @@ -807,17 +809,17 @@ msgid "You don't have the right to remove this member." msgstr "Sinulla ei ole oikeutta poistaa jäsentä." #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Käyttäjänimi on jo käytössä." #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "Keskusteluun pääsemiseen vaaditaan tunniste tai polkutunnus" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "Järjestäjän profiili ei ole käyttäjän hallussa" @@ -843,7 +845,7 @@ msgid "Error while creating resource" msgstr "Virhe raporttia tallennettaessa" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "Virheellinen aktivointimerkki" @@ -853,18 +855,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "Resurssin tietoja ei voida hakea tästä URL-osoitteesta." #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "Annetulla moderaattoriprofiililla ei ole oikeuksia tähän tapahtumaan" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -879,12 +881,12 @@ msgid "Comment not found" msgstr "Tapahtumaa ei löydy" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Virhe raporttia tallennettaessa" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Virhe raporttia päivitettäessä" @@ -904,12 +906,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Käyttäjää ei voi vahvistaa" @@ -929,7 +931,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -959,16 +961,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Käyttäjänimellä %{username} ei löydy henkilöä" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Voit liittyä ryhmään vain sisäänkirjautuneena" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Voit päivittää ryhmää vain sisäänkirjautuneena" diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po index 882302d90..a689f59b3 100644 --- a/priv/gettext/fr/LC_MESSAGES/default.po +++ b/priv/gettext/fr/LC_MESSAGES/default.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-10-15 15:16+0200\n" +"PO-Revision-Date: 2021-11-10 12:43+0100\n" "Last-Translator: Thomas Citharel \n" "Language-Team: French \n" "Language: fr\n" @@ -32,7 +32,7 @@ msgstr "%{title} par %{creator}" msgid "Activate my account" msgstr "Activer mon compte" -#: lib/web/templates/email/email.html.heex:123 lib/web/templates/email/email.text.eex:9 +#: lib/web/templates/email/email.html.heex:120 lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Demander à la communauté sur Framacolibri" @@ -44,7 +44,7 @@ msgstr "Commentaires" msgid "Event" msgstr "Événement" -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instructions pour réinitialiser votre mot de passe sur %{instance}" @@ -112,7 +112,7 @@ msgstr "Nouveau titre : %{title}" msgid "You requested a new password for your account on %{instance}." msgstr "Vous avez demandé un nouveau mot de passe pour votre compte sur %{instance}." -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Attention" @@ -274,15 +274,15 @@ msgctxt "terms" msgid "What information do we collect?" msgstr "Quelles informations collectons-nous ?" -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon sur %{instance} : confirmez votre adresse email" -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon sur %{instance} : adresse email modifiée" -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Un événement prévu aujourd'hui" @@ -302,7 +302,7 @@ msgstr "%{inviter} vient de vous inviter à rejoindre son groupe %{group}" msgid "Come along!" msgstr "Rejoignez-nous !" -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "N'oubliez pas de vous rendre à %{title}" @@ -322,17 +322,17 @@ msgstr "Pour accepter cette invitation, rendez-vous dans vos groupes." msgid "View the event on: %{link}" msgstr "Voir l'événement mis à jour sur : %{link}" -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "Vous avez été invité par %{inviter} à rejoindre le groupe %{group}" -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Un événement prévu cette semaine" msgstr[1] "%{nb_events} événements prévus cette semaine" -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Une demande de participation à l'événement %{title} à traiter" @@ -610,7 +610,7 @@ msgstr "Confirmez votre adresse email" msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "Salut ! Vous venez de vous enregistrer pour rejoindre cet événement : « %{title} ». Merci de confirmer l'adresse email que vous avez fournie :" -#: lib/web/templates/email/email.html.heex:120 lib/web/templates/email/email.text.eex:8 +#: lib/web/templates/email/email.html.heex:117 lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Besoin d'aide ? Quelque chose ne fonctionne pas correctement ?" @@ -650,7 +650,7 @@ msgstr[1] "Vous avez %{number_participation_requests} demandes de participation msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} est une instance Mobilizon." -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} est une instance Mobilizon." @@ -706,7 +706,7 @@ msgstr "Si vous n'avez pas déclenché cette alerte, vous pouvez ignorer cet e-m msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgstr "Si vous avez besoin d'annuler votre participation, il suffit d'accéder à la page de l'événement à partir du lien ci-dessus et de cliquer sur le bouton « Je participe »." -#: lib/web/templates/email/email.html.heex:149 lib/web/templates/email/email.text.eex:11 +#: lib/web/templates/email/email.html.heex:153 lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "En apprendre plus à propos de Mobilizon ici !" @@ -818,7 +818,7 @@ msgstr "Vous y allez !" msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "Si vous n'êtes pas à l'origine de cette modification, merci d'ignorer ce message." -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Veuillez ne pas l'utiliser pour un cas réel." @@ -830,7 +830,7 @@ msgstr "Si vous pensez qu'il s'agit d'une erreur, vous pouvez contacter les admi msgid "So long, and thanks for the fish!" msgstr "Salut, et encore merci pour le poisson !" -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Vous avez été enlevé du groupe %{group}" @@ -862,7 +862,7 @@ msgstr "Le groupe %{group} a été suspendu sur %{instance} !" msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "L'équipe de modération de votre instance a décidé de suspendre %{group_name} (%{group_address}). Vous n'êtes désormais plus membre de ce groupe." -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Le groupe %{group} a été suspendu sur %{instance}" @@ -1062,11 +1062,11 @@ msgstr "Cette page n’est pas correcte" msgid "We're sorry, but something went wrong on our end." msgstr "Nous sommes désolé·e·s, mais quelque chose s’est mal passé de notre côté." -#: lib/web/templates/email/email.html.heex:94 lib/web/templates/email/email.text.eex:4 +#: lib/web/templates/email/email.html.heex:91 lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Ceci est un site de démonstration permettant de tester Mobilizon." -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "Flux de %{name}" @@ -1129,7 +1129,7 @@ msgstr "Votre participation à l'événement %{event} sur %{instance} a été an #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. -#: lib/service/export/participants/csv.ex:73 lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/csv.ex:73 lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "%{event}_participants" @@ -1193,7 +1193,7 @@ msgstr "Participant⋅es pour %{event}" msgid "Anonymous participant" msgstr "Participant⋅e anonyme" -#: lib/web/templates/email/date/event_tz_date.html.heex:6 lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date.html.heex:6 lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "🌐 %{timezone} %{offset}" @@ -1213,15 +1213,15 @@ msgstr "Au programme cette semaine" msgid "Details" msgstr "Détails" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "Du %{start} au %{end}" -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "Gérer votre participation" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "Le %{date} de %{start_time} à %{end_time}" @@ -1229,6 +1229,58 @@ msgstr "Le %{date} de %{start_time} à %{end_time}" msgid "Read more" msgstr "Lire plus" -#: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.html.heex:50 lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "Événement en ligne" + +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "%{group} a programmé un nouvel événement" + +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "%{group} a programmé un nouvel événement :" + +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "Adresse :" + +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "Date :" + +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "Détails :" + +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "Gérer vos paramètres de notification" + +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "Gérer votre participation :" + +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "Organisateur : %{organizer}" + +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Participer" + +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Participer :" + +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "Lire plus : %{url}" + +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "Titre : %{title}" + +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "📅 Programmé à l'instant par %{group}: %{event}" diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po index 5484e2e83..e2e565cf9 100644 --- a/priv/gettext/fr/LC_MESSAGES/errors.po +++ b/priv/gettext/fr/LC_MESSAGES/errors.po @@ -112,13 +112,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "Le profil actuel n'est pas un·e administrateur·ice du groupe sélectionné" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Erreur lors de la sauvegarde des paramètres utilisateur" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Groupe non trouvé" @@ -156,6 +157,7 @@ msgstr "Aucun·e utilisateur·ice avec cette adresse e-mail n'a été trouvé·e #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "Le profil n'est pas possédé par l'utilisateur connecté" @@ -165,33 +167,33 @@ msgid "Registrations are not open" msgstr "Les inscriptions ne sont pas ouvertes" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "Le mot de passe actuel est invalid" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "La nouvelle adresse e-mail ne semble pas être valide" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "La nouvelle adresse e-mail doit être différente" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Le nouveau mot de passe doit être différent" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "Le mot de passe fourni est invalide" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Le mot de passe que vous avez choisi est trop court. Merci de vous assurer que votre mot de passe contienne au moins " @@ -213,12 +215,12 @@ msgid "Unable to validate user" msgstr "Impossible de valider l'utilisateur·ice" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "L'utilisateur·ice est déjà désactivé·e" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "L'utilisateur·ice demandé·e n'est pas connecté·e" @@ -243,12 +245,12 @@ msgid "You may not list groups unless moderator." msgstr "Vous ne pouvez pas lister les groupes sauf à être modérateur·ice." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Vous devez être connecté·e pour changer votre adresse e-mail" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Vous devez être connecté·e pour changer votre mot de passe" @@ -258,7 +260,7 @@ msgid "You need to be logged-in to delete a group" msgstr "Vous devez être connecté·e pour supprimer un groupe" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Vous devez être connecté·e pour supprimer votre compte" @@ -354,7 +356,7 @@ msgid "Comment is already deleted" msgstr "Le commentaire est déjà supprimé" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Discussion non trouvée" @@ -374,8 +376,8 @@ msgid "Event id not found" msgstr "ID de l'événement non trouvé" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Événement non trouvé" @@ -392,7 +394,7 @@ msgid "Internal Error" msgstr "Erreur interne" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Aucune discussion avec l'ID %{id}" @@ -504,7 +506,7 @@ msgid "Token is not a valid UUID" msgstr "Ce jeton n'est pas un UUID valide" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Utilisateur·ice non trouvé·e" @@ -572,7 +574,7 @@ msgid "You cannot delete this comment" msgstr "Vous ne pouvez pas supprimer ce commentaire" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Vous ne pouvez pas supprimer cet événement" @@ -607,22 +609,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "Vous devez être connecté·e pour et une modérateur·ice pour visionner un signalement" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux paramètres administrateur" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour accéder aux panneau de statistiques" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "Vous devez être connecté·e et un·e administrateur·ice pour sauvegarder les paramètres administrateur" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Vous devez être connecté·e pour accéder aux discussions" @@ -632,7 +634,7 @@ msgid "You need to be logged-in to access resources" msgstr "Vous devez être connecté·e pour supprimer un groupe" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Vous devez être connecté·e pour créer des événements" @@ -652,7 +654,7 @@ msgid "You need to be logged-in to create resources" msgstr "Vous devez être connecté·e pour quitter un groupe" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Vous devez être connecté·e pour supprimer un groupe" @@ -677,7 +679,7 @@ msgid "You need to be logged-in to leave an event" msgstr "Vous devez être connecté·e pour quitter un groupe" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Vous devez être connecté·e pour mettre à jour un groupe" @@ -782,12 +784,12 @@ msgid "Profile is not administrator for the group" msgstr "Le profil n'est pas administrateur·ice pour le groupe" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Vous ne pouvez pas éditer cet événement." #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Vous ne pouvez pas attribuer cet événement à ce profil." @@ -807,17 +809,17 @@ msgid "You don't have the right to remove this member." msgstr "Vous n'avez pas les droits pour supprimer ce·tte membre." #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Cet identifiant est déjà pris." #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "Vous devez fournir un ID ou bien un slug pour accéder à une discussion" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "Le profil de l'organisateur·ice n'appartient pas à l'utilisateur·ice" @@ -843,7 +845,7 @@ msgid "Error while creating resource" msgstr "Erreur lors de la création de la resource" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "Jeton d'activation invalide" @@ -853,18 +855,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "Impossible de récupérer les détails de la ressource depuis cette URL." #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "Le profil modérateur fourni n'a pas de permissions sur cet événement" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "Le profil de l'organisateur⋅ice n'a pas la permission de créer un événement au nom de ce groupe" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "Ce profil n'a pas la permission de mettre à jour un événement au nom du groupe" @@ -879,12 +881,12 @@ msgid "Comment not found" msgstr "Commentaire non trouvé" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Erreur lors de la création de la discussion" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Erreur lors de la mise à jour des options linguistiques" @@ -904,12 +906,12 @@ msgid "Failed to update the group" msgstr "Impossible de mettre à jour le groupe" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "Impossible de mettre à jour l'adresse e-mail de utilisateur" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Impossible de valider l'adresse e-mail de l'utilisateur·ice" @@ -929,7 +931,7 @@ msgid "You are not the comment creator" msgstr "Vous n'êtes pas le ou la createur⋅ice du commentaire" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "Vous ne pouvez pas changer votre mot de passe." @@ -959,16 +961,56 @@ msgid "Only admins can create groups" msgstr "Seul⋅es les administrateur⋅ices peuvent créer des groupes" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "Seuls les groupes peuvent créer des événements" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "Erreur inconnue lors de la création de l'événement" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "L'utilisateur ne peut changer son adresse e-mail" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Personne avec le nom %{name} non trouvé" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Vous devez être connecté·e pour rejoindre un groupe" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Vous devez être connecté·e pour rejoindre un groupe" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Vous devez être connecté·e pour mettre à jour un groupe" diff --git a/priv/gettext/gl/LC_MESSAGES/default.po b/priv/gettext/gl/LC_MESSAGES/default.po index eb0c38d4b..beb94783d 100644 --- a/priv/gettext/gl/LC_MESSAGES/default.po +++ b/priv/gettext/gl/LC_MESSAGES/default.po @@ -32,7 +32,7 @@ msgid "Activate my account" msgstr "Activar a miña conta" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Pregunta á comunidade en Framacolibri" @@ -49,7 +49,7 @@ msgid "Event" msgstr "Evento" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instruccións para restablecer o contrasinal en %{instance}" @@ -143,7 +143,7 @@ msgstr "" "Solicitaches un novo contrasinal para a túa conta na instancia %{instance]." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Aviso" @@ -352,17 +352,17 @@ msgid "What information do we collect?" msgstr "Que información recollemos?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon en %{instance}: confirma o enderezo de email" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon en %{instance}: email cambiado" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Un evento previsto para hoxe" @@ -388,7 +388,7 @@ msgid "Come along!" msgstr "Imos!" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Non esquezas ir a %{title}" @@ -415,19 +415,19 @@ msgid "View the event on: %{link}" msgstr "Ver o evento en: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} convidoute a unirte ó grupo %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 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" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 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" @@ -881,7 +881,7 @@ msgstr "" "confirma o email proporcionado:" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Precisas axuda? Algo non funciona como agardabas?" @@ -945,7 +945,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} funciona grazas a Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} funciona grazas a Mobilizon." @@ -1040,7 +1040,7 @@ msgstr "" "da ligazón superior e preme no botón « Participar »." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Coñece máis acerca de Mobilizon!" @@ -1207,7 +1207,7 @@ 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." #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Por favor, non o uses para eventos reais." @@ -1226,7 +1226,7 @@ msgid "So long, and thanks for the fish!" msgstr "Ata aquí, e grazas pola atención!" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Foches eliminada do grupo %{group}" @@ -1281,7 +1281,7 @@ msgstr "" "(%{group_address}). Xa non pertences a este grupo." #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "O grupo %{group} foi suspendido en %{instance}" @@ -1611,14 +1611,14 @@ 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.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 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:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "fonte de %{name}" @@ -1710,7 +1710,7 @@ msgstr "Confirmouse a túa participación no evento %{title}" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1792,6 +1792,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1818,16 +1819,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1838,5 +1841,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Participación aprobada" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Participación aprobada" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/gl/LC_MESSAGES/errors.po b/priv/gettext/gl/LC_MESSAGES/errors.po index 96acc3010..815d03274 100644 --- a/priv/gettext/gl/LC_MESSAGES/errors.po +++ b/priv/gettext/gl/LC_MESSAGES/errors.po @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "O perfil actual non é administrador do grupo seleccionado" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Erro ó gardar os axustes de usuaria" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Grupo non atopado" @@ -155,6 +156,7 @@ msgstr "Non se atopa ningunha usuaria con este email" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "O perfil non pertence a unha usuaria autenticada" @@ -164,33 +166,33 @@ msgid "Registrations are not open" msgstr "O rexistro está pechado" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "O contrasinal actual non é válido" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "O novo email non semella ser válido" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "O novo email ten que ser diferente" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "O novo contrasinal ten que ser diferente" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "O contrasinal escrito non é válido" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "O contrasinal escollido é demasiado curto, ten que ter 6 caracteres polo " @@ -212,12 +214,12 @@ msgid "Unable to validate user" msgstr "Non se puido validar a usuaria" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "A usuaria xa está desactivada" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "A usuaria solicitada non está conectada" @@ -242,12 +244,12 @@ msgid "You may not list groups unless moderator." msgstr "Non podes facer listas de grupos porque non es moderadora." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Tes que estar conectada para poder cambiar o email" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Tes que estar conectada para poder cambiar o contrasinal" @@ -257,7 +259,7 @@ msgid "You need to be logged-in to delete a group" msgstr "Tes que estar conectada para poder eleminar un grupo" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Tes que estar conectada para poder eliminar a conta" @@ -353,7 +355,7 @@ msgid "Comment is already deleted" msgstr "O comentario xa foi eliminado" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Non se atopa a conversa" @@ -373,8 +375,8 @@ msgid "Event id not found" msgstr "Non se atopou o ID do evento" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Evento non atopado" @@ -391,7 +393,7 @@ msgid "Internal Error" msgstr "Erro interno" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Non hai conversa con ID %{id}" @@ -503,7 +505,7 @@ msgid "Token is not a valid UUID" msgstr "O token non é un UUID válido" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Usuaria non atopada" @@ -572,7 +574,7 @@ msgid "You cannot delete this comment" msgstr "Non podes eliminar este comentario" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Non podes eliminar este evento" @@ -609,28 +611,28 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "Tes que estar conectada e ser moderadora para ver unha denuncia" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Tes que estar conectada e ser administradora para acceder ós axustes de " "administración" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Tes que estar conectada e ser administradora para acceder ó taboleiro de " "estatísticas" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Tes que estar conectada e ser administradora para gardar os axustes de " "administración" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Tes que estar conectada para acceder ás conversas" @@ -640,7 +642,7 @@ msgid "You need to be logged-in to access resources" msgstr "Tes que estar conectada para acceder ós recursos" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Tes que estar conectada para crear eventos" @@ -660,7 +662,7 @@ msgid "You need to be logged-in to create resources" msgstr "Tes que estar conectada para crear recursos" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Tes que estar conectada para eliminar un evento" @@ -685,7 +687,7 @@ msgid "You need to be logged-in to leave an event" msgstr "Tes que estar conectada para saír dun evento" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Tes que estar conectada para actualizar un evento" @@ -791,12 +793,12 @@ msgid "Profile is not administrator for the group" msgstr "O perfil non é administrador do grupo" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Non podes editar este evento." #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Non podes atribuír este evento a este perfil." @@ -816,17 +818,17 @@ msgid "You don't have the right to remove this member." msgstr "Non tes permiso para eliminar este membro." #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Este nome de usuaria xa está pillado." #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "Debes proporcionar ou ben un ID ou nome para acceder á conversa" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "O perfil da organización non pertence á usuaria" @@ -852,7 +854,7 @@ msgid "Error while creating resource" msgstr "Erro ao crear o recurso" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "O token de activación non é válido" @@ -862,20 +864,20 @@ msgid "Unable to fetch resource details from this URL." msgstr "Non se puideron obter os detalles do recurso desde o URL." #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "O perfil da moderadora proporcionado non ten permisos neste evento" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" "O perfil do organizador non ten permiso para crear un evento en nome deste " "grupo" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" "Este perfil non ten permiso para actualizar un evento en nome deste grupo" @@ -893,12 +895,12 @@ msgid "Comment not found" msgstr "Evento non atopado" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Erro ao crear o recurso" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Erro ó actualizar a denuncia" @@ -918,12 +920,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Non se puido validar a usuaria" @@ -943,7 +945,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -973,16 +975,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Non se atopa a persoa con nome de usuaria %{username}" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Tes que estar conectada para poder unirte a un grupo" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Tes que estar conectada para poder unirte a un grupo" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Tes que estar conectada para poder actualizar un grupo" diff --git a/priv/gettext/hu/LC_MESSAGES/default.po b/priv/gettext/hu/LC_MESSAGES/default.po index 64f735173..268693f7f 100644 --- a/priv/gettext/hu/LC_MESSAGES/default.po +++ b/priv/gettext/hu/LC_MESSAGES/default.po @@ -37,7 +37,7 @@ msgid "Activate my account" msgstr "Saját fiók aktiválása" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Kérdezze meg a közösséget a Framacolibrin" @@ -54,7 +54,7 @@ msgid "Event" msgstr "Esemény" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Utasítások a jelszó visszaállításához a(z) %{instance} oldalon" @@ -149,7 +149,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Új jelszót kért a(z) %{instance} példányon lévő fiókjához." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Figyelmeztetés" @@ -358,17 +358,17 @@ msgid "What information do we collect?" msgstr "Milyen információkat gyűjtünk?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon itt: %{instance}: erősítse meg az e-mail-címét" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon itt: %{instance}: e-mail-cím megváltozott" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Egy tervezett esemény ma" @@ -394,7 +394,7 @@ msgid "Come along!" msgstr "Jöjjön!" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Ne felejtsen elmenni erre: %{title}" @@ -421,19 +421,19 @@ msgid "View the event on: %{link}" msgstr "Esemény megtekintése itt: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} meghívta, hogy csatlakozzon a(z) %{group} csoporthoz" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Egy esemény tervezve a héten" msgstr[1] "%{nb_events} esemény tervezve a héten" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Egy feldolgozandó részvételi kérés a következő eseménynél: %{title}" @@ -771,7 +771,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "" @@ -826,7 +826,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "" @@ -905,7 +905,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "" @@ -1065,7 +1065,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1082,7 +1082,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1125,7 +1125,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1373,14 +1373,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1461,7 +1461,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1543,6 +1543,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1569,16 +1570,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1589,5 +1592,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Részvétel jóváhagyva" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Részvétel jóváhagyva" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/hu/LC_MESSAGES/errors.po b/priv/gettext/hu/LC_MESSAGES/errors.po index 0627a84c4..2f03756b6 100644 --- a/priv/gettext/hu/LC_MESSAGES/errors.po +++ b/priv/gettext/hu/LC_MESSAGES/errors.po @@ -126,13 +126,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "A jelenlegi profil nem adminisztrátora a kijelölt csoportnak" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Hiba a felhasználói beállítások mentésekor" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Nem található a csoport" @@ -170,6 +171,7 @@ msgstr "Nem található ezzel az e-mail-címmel rendelkező felhasználó" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "A profilt nem hitelesített felhasználó birtokolja" @@ -179,33 +181,33 @@ msgid "Registrations are not open" msgstr "A regisztrációk nincsenek nyitva" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "A jelenlegi jelszó érvénytelen" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "Az új e-mail-cím nem tűnik érvényesnek" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "Az új e-mail-címnek eltérőnek kell lennie" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Az új jelszónak eltérőnek kell lennie" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "A megadott jelszó érvénytelen" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "A választott jelszó túl rövid. Győződjön meg arról, hogy a jelszava " @@ -227,12 +229,12 @@ msgid "Unable to validate user" msgstr "Nem lehet ellenőrizni a felhasználót" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "A felhasználó már le van tiltva" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "A kért felhasználó nincs bejelentkezve" @@ -257,12 +259,12 @@ msgid "You may not list groups unless moderator." msgstr "Lehet, hogy nem sorolhatja fel a csoportokat, hacsak nem moderátor." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Bejelentkezve kell lennie az e-mail-címe megváltoztatásához" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Bejelentkezve kell lennie a jelszava megváltoztatásához" @@ -272,7 +274,7 @@ msgid "You need to be logged-in to delete a group" msgstr "Bejelentkezve kell lennie egy csoport törléséhez" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Bejelentkezve kell lennie a fiókja törléséhez" @@ -370,7 +372,7 @@ msgid "Comment is already deleted" msgstr "A hozzászólást már törölték" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Nem található a megbeszélés" @@ -390,8 +392,8 @@ msgid "Event id not found" msgstr "Nem található az eseményazonosító" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Nem található az esemény" @@ -408,7 +410,7 @@ msgid "Internal Error" msgstr "Belső hiba" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Nincs %{id} azonosítóval rendelkező megbeszélés" @@ -520,7 +522,7 @@ msgid "Token is not a valid UUID" msgstr "A token nem érvényes UUID" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Nem található a felhasználó" @@ -589,7 +591,7 @@ msgid "You cannot delete this comment" msgstr "Nem tudja törölni ezt a hozzászólást" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Nem tudja törölni ezt az eseményt" @@ -632,28 +634,28 @@ msgstr "" "megtekintéséhez" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Bejelentkezve kell lennie és adminisztrátornak kell lennie az " "adminisztrátori beállításokhoz való hozzáféréshez" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Bejelentkezve kell lennie és adminisztrátornak kell lennie a vezérlőpulti " "statisztikákhoz való hozzáféréshez" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Bejelentkezve kell lennie és adminisztrátornak kell lennie az " "adminisztrátori beállítások mentéséhez" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Bejelentkezve kell lennie a megbeszélésekhez való hozzáféréshez" @@ -663,7 +665,7 @@ msgid "You need to be logged-in to access resources" msgstr "Bejelentkezve kell lennie az erőforrásokhoz való hozzáféréshez" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Bejelentkezve kell lennie az események létrehozásához" @@ -683,7 +685,7 @@ msgid "You need to be logged-in to create resources" msgstr "Bejelentkezve kell lennie az erőforrások létrehozásához" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Bejelentkezve kell lennie egy esemény törléséhez" @@ -708,7 +710,7 @@ msgid "You need to be logged-in to leave an event" msgstr "Bejelentkezve kell lennie egy esemény elhagyásához" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Bejelentkezve kell lennie egy esemény frissítéséhez" @@ -814,12 +816,12 @@ msgid "Profile is not administrator for the group" msgstr "A profil nem adminisztrátor ennél a csoportnál" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Nem tudja szerkeszteni ezt az eseményt." #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Nem tudja ezt az eseményt ennek a profilnak tulajdonítani." @@ -839,19 +841,19 @@ msgid "You don't have the right to remove this member." msgstr "Nincs meg a jogosultsága a tag eltávolításához." #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Ez a felhasználónév már foglalt." #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" "Meg kell adnia vagy egy azonosítót, vagy egy keresőbarát URL-t egy " "megbeszéléshez való hozzáféréshez" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "A szervező profilját nem a felhasználó birtokolja" @@ -877,7 +879,7 @@ msgid "Error while creating resource" msgstr "Hiba az erőforrás létrehozáskor" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "Érvénytelen aktiválási token" @@ -887,18 +889,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "Nem lehet lekérni az erőforrás részleteit erről az URL-ről." #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "A megadott moderátorprofilnak nincs jogosultsága ezen az eseményen" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -913,12 +915,12 @@ msgid "Comment not found" msgstr "Nem található az esemény" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Hiba az erőforrás létrehozáskor" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Hiba a jelentés frissítésekor" @@ -938,12 +940,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Nem lehet ellenőrizni a felhasználót" @@ -963,7 +965,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -993,16 +995,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Nem található %{username} felhasználónévvel rendelkező személy" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Bejelentkezve kell lennie egy csoporthoz való csatlakozáshoz" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Bejelentkezve kell lennie egy csoport frissítéséhez" diff --git a/priv/gettext/id/LC_MESSAGES/default.po b/priv/gettext/id/LC_MESSAGES/default.po index 6f559cb2e..9ae98d69f 100644 --- a/priv/gettext/id/LC_MESSAGES/default.po +++ b/priv/gettext/id/LC_MESSAGES/default.po @@ -33,7 +33,7 @@ msgid "Activate my account" msgstr "Aktifkan akun saya" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Bertanya ke komunitas di Framacolibri" @@ -50,7 +50,7 @@ msgid "Event" msgstr "Acara" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "" @@ -137,7 +137,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Peringatan" @@ -329,17 +329,17 @@ msgid "What information do we collect?" msgstr "Informasi apa yang kami kumpulkan?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon pada %{instance}: konfirmasi alamat surel Anda" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon pada %{instance}: surel diubah" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "%{nb_events} acara direncanakan hari ini" @@ -363,7 +363,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Jangan lupa untuk pergi ke %{title}" @@ -390,19 +390,19 @@ msgid "View the event on: %{link}" msgstr "Lihat acara di: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" "Anda telah diundang oleh %{inviter} untuk bergabung ke kelompok %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "%{nb_events} acara direncanakan pekan ini" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -753,7 +753,7 @@ msgstr "" "Harap konfirmasi alamat surel yang Anda berikan:" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Butuh bantuan? Ada yang tidak bekerja sesuai ekspektasi?" @@ -806,7 +806,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} didukung oleh Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} didukung oleh Mobilizon." @@ -885,7 +885,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Pelajari lebih lanjut tentang Mobilizon di sini!" @@ -1045,7 +1045,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1065,7 +1065,7 @@ msgid "So long, and thanks for the fish!" msgstr "Sampai jumpa, dan terima kasih atas ikannya!" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Anda telah dikeluarkan dari kelompok %{group}" @@ -1108,7 +1108,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1356,14 +1356,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1444,7 +1444,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1526,6 +1526,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1552,16 +1553,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1572,5 +1575,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/id/LC_MESSAGES/errors.po b/priv/gettext/id/LC_MESSAGES/errors.po index b98e6d163..efb3bdc18 100644 --- a/priv/gettext/id/LC_MESSAGES/errors.po +++ b/priv/gettext/id/LC_MESSAGES/errors.po @@ -104,13 +104,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Kelompok tidak ditemukan" @@ -148,6 +149,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -157,33 +159,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -203,12 +205,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -233,12 +235,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -248,7 +250,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -344,7 +346,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -364,8 +366,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -382,7 +384,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -494,7 +496,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -560,7 +562,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -595,22 +597,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -620,7 +622,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -640,7 +642,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -665,7 +667,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -770,12 +772,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -795,17 +797,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -831,7 +833,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -841,18 +843,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -867,12 +869,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -892,12 +894,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -917,7 +919,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -947,16 +949,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po index b589b80f9..5a02475e9 100644 --- a/priv/gettext/it/LC_MESSAGES/default.po +++ b/priv/gettext/it/LC_MESSAGES/default.po @@ -32,7 +32,7 @@ msgid "Activate my account" msgstr "Attiva il mio account" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Chiedi alla comunità su Framacolibri" @@ -49,7 +49,7 @@ msgid "Event" msgstr "Evento" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Istruzioni per reimpostare la tua password su %{instance}" @@ -142,7 +142,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Hai richiesto una nuova password per il tuo account su %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Avviso" @@ -353,17 +353,17 @@ msgid "What information do we collect?" msgstr "Quali informazioni raccogliamo?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon su %{instance}: conferma il tuo indirizzo email" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon su %{instance}: email modificata" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Un evento programmato oggi" @@ -389,7 +389,7 @@ msgid "Come along!" msgstr "Sbrigati!" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Non dimenticare di andare a %{title}" @@ -416,19 +416,19 @@ msgid "View the event on: %{link}" msgstr "Visualizza l'evento su: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "Sei stato invitato da %{inviter} per partecipare al gruppo %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Un evento in programma questa settimana" msgstr[1] "%{nb_events} eventi in programma questa settimana" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Una richiesta di partecipazione per l'evento %{title} da elaborare" @@ -904,7 +904,7 @@ msgstr "" "Conferma l'indirizzo e-mail che hai fornito:" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Bisogno di aiuto? Qualcosa non funziona correttamente?" @@ -970,7 +970,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "% {instance} è alimentata da Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} è alimentata da Mobilizon." @@ -1066,7 +1066,7 @@ msgstr "" "tramite il link in alto e fai clic sul pulsante «Partecipanti»." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Scopri di più su Mobilizon qui!" @@ -1238,7 +1238,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "Se non hai attivato tu stesso la modifica, ignora questo messaggio." #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr " Si prega di non utilizzarlo per scopi reali. " @@ -1257,7 +1257,7 @@ msgid "So long, and thanks for the fish!" msgstr "Addio, e grazie per il pesce!" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Sei stato rimosso dal gruppo %{group}" @@ -1312,7 +1312,7 @@ msgstr "" "%{group_name} (%{group_address}). Non sei più un membro di questo gruppo." #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Il gruppo %{group} è stato sospeso su %{instance}" @@ -1656,14 +1656,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "Siamo spiacenti, ma qualcosa è andato storto da parte nostra." #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Questo è un sito di prova per testare Mobilizon." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "Flusso di %{name}" @@ -1751,7 +1751,7 @@ msgstr "La tua partecipazione all'evento %{title} è stata confermata" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1833,6 +1833,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1859,16 +1860,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1879,5 +1882,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Partecipazione approvata" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Partecipazione approvata" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po index a14b905c2..dde57d109 100644 --- a/priv/gettext/it/LC_MESSAGES/errors.po +++ b/priv/gettext/it/LC_MESSAGES/errors.po @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "Il profilo corrente non è amministratore del gruppo selezionato" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Errore nel salvare le preferenze utente" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Gruppo non trovato" @@ -154,6 +155,7 @@ msgstr "Nessun utente con questa email" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "L'utente autenticato non è propietario di questo profilo" @@ -163,33 +165,33 @@ msgid "Registrations are not open" msgstr "Le registrazioni non sono aperte" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "la password corrente non è valida" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "La nuova email sembra non valida" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "La nuova email dev'essere diversa" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "La nuova password deve essere diversa" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "La password assegnata non è valida" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "la password scelta è troppo corta, deve avere almeno 6 caratteri." @@ -209,12 +211,12 @@ msgid "Unable to validate user" msgstr "Impossibile convalidare l'utente" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "Utente già disabilitato" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "L'utente richiesto non è loggato" @@ -239,12 +241,12 @@ msgid "You may not list groups unless moderator." msgstr "Non è possibile elencare i gruppi a meno che non sia un moderatore." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "È necessario effettuare il login per modificare la tua email" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "È necessario effettuare il login per modificare la tua password" @@ -254,7 +256,7 @@ msgid "You need to be logged-in to delete a group" msgstr "È necessario effettuare il login per eliminare un gruppo" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "È necessario effettuare il login per eliminare il tuo account" @@ -352,7 +354,7 @@ msgid "Comment is already deleted" msgstr "Commento già cancellato" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Discussione non trovata" @@ -372,8 +374,8 @@ msgid "Event id not found" msgstr "ID evento non trovato" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Evento non trovato" @@ -390,7 +392,7 @@ msgid "Internal Error" msgstr "Errore Interno" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Nessuna discussione con l'ID %{id}" @@ -502,7 +504,7 @@ msgid "Token is not a valid UUID" msgstr "Il token non è un UUID valido" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Utente non trovato" @@ -571,7 +573,7 @@ msgid "You cannot delete this comment" msgstr "Non puoi eliminare questo commento" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Non puoi eliminare questo evento" @@ -606,28 +608,28 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "Devi essere connesso e un moderatore per visualizzare un rapporto" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Devi essere connesso e un moderatore per accedere alle opzioni " "dell'amministratore" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Devi essere connesso e un moderatore per accedere alle statistiche del " "dashboard" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Devi essere connesso e un moderatore per salvare le impostazioni " "dell'amministratore" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Devi essere connesso per accedere alle discussioni" @@ -637,7 +639,7 @@ msgid "You need to be logged-in to access resources" msgstr "Devi essere connesso per accedere alle risorse" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Devi essere connesso per creare eventi" @@ -657,7 +659,7 @@ msgid "You need to be logged-in to create resources" msgstr "Devi essere connesso per creare risorse" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Devi essere connesso per eliminare un evento" @@ -682,7 +684,7 @@ msgid "You need to be logged-in to leave an event" msgstr "Devi essere connesso per lasciare un evento" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Devi essere connesso per aggiornare un evento" @@ -789,12 +791,12 @@ msgid "Profile is not administrator for the group" msgstr "Il profilo non è amministratore del gruppo" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Non puoi modificare questo evento." #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Non puo iattribuire questo evento a questo profilo." @@ -814,19 +816,19 @@ msgid "You don't have the right to remove this member." msgstr "Non hai il diritto di rimuovere questo membro." #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Questo nome utente è già in uso." #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" "Devi fornire un ID o la stringa utente (ad es. utente@mobilizon.sm) " "per accedere ad una discussione" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "Il profilo dell'organizzatore non è di proprietà dell'utente" @@ -852,7 +854,7 @@ msgid "Error while creating resource" msgstr "Errore durante la creazione della risorsa" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "Token di attivazione non valido" @@ -862,7 +864,7 @@ msgid "Unable to fetch resource details from this URL." msgstr "Impossibile recuperare i dettagli della risorsa da questa URL." #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" @@ -870,12 +872,12 @@ msgstr "" "evento" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -890,12 +892,12 @@ msgid "Comment not found" msgstr "Evento non trovato" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Errore durante la creazione della risorsa" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Errore durante l'aggiornamento del rapporto" @@ -915,12 +917,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Impossibile convalidare l'utente" @@ -940,7 +942,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -970,16 +972,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "La persona con il nome utente %{username} non è stata trovata" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "È necessario effettuare il login per entrare a far parte di un gruppo" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "È necessario effettuare il login per entrare a far parte di un gruppo" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "È necessario effettuare il login per aggiornare un gruppo" diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po index 8ef5003ff..28aa9f4be 100644 --- a/priv/gettext/ja/LC_MESSAGES/default.po +++ b/priv/gettext/ja/LC_MESSAGES/default.po @@ -30,7 +30,7 @@ msgid "Activate my account" msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "" @@ -47,7 +47,7 @@ msgid "Event" msgstr "イベント" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "" @@ -134,7 +134,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "" @@ -312,17 +312,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -346,7 +346,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -373,18 +373,18 @@ msgid "View the event on: %{link}" msgstr "" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -718,7 +718,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "" @@ -771,7 +771,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "" @@ -850,7 +850,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "" @@ -1008,7 +1008,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1025,7 +1025,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1068,7 +1068,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1316,14 +1316,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1404,7 +1404,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1486,6 +1486,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1512,16 +1513,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1532,5 +1535,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/errors.po b/priv/gettext/ja/LC_MESSAGES/errors.po index e88f1dd2b..0798e735b 100644 --- a/priv/gettext/ja/LC_MESSAGES/errors.po +++ b/priv/gettext/ja/LC_MESSAGES/errors.po @@ -97,13 +97,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -141,6 +142,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -150,33 +152,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -196,12 +198,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -226,12 +228,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -241,7 +243,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -337,7 +339,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -357,8 +359,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -375,7 +377,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -487,7 +489,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -553,7 +555,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -588,22 +590,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -613,7 +615,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -633,7 +635,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -658,7 +660,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -763,12 +765,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -788,17 +790,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -824,7 +826,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -834,18 +836,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -860,12 +862,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -885,12 +887,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -910,7 +912,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -940,16 +942,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po index 5f276ab45..847b96a0f 100644 --- a/priv/gettext/nl/LC_MESSAGES/default.po +++ b/priv/gettext/nl/LC_MESSAGES/default.po @@ -33,7 +33,7 @@ msgid "Activate my account" msgstr "Activeer mijn account" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Vragen aan de gemeenschap op Framacolibri" @@ -50,7 +50,7 @@ msgid "Event" msgstr "Evenement" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instructies om uw wachtwoord opnieuw in te stellen op %{instance}" @@ -143,7 +143,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "U hebt een nieuw wachtwoord aangevraagd voor uw account op %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Waarschuwing" @@ -321,17 +321,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -357,7 +357,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -384,19 +384,19 @@ msgid "View the event on: %{link}" msgstr "Bekijk het bijgewerkte evenement op: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -732,7 +732,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Hulp nodig? Werkt iets niet juist?" @@ -793,7 +793,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} is een Mobilizonserver." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} is een Mobilizonserver." @@ -874,7 +874,7 @@ msgstr "" "via de link hierboven, en klikt u op de deelnameknop." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Leer meer over Mobilizon." @@ -1032,7 +1032,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1049,7 +1049,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1092,7 +1092,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1341,14 +1341,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Dit is een demosite om de bètaversie van Mobilizon te testen." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1429,7 +1429,7 @@ msgstr "Uw deelname aan het evenement %{title} is goedgekeurd" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1511,6 +1511,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1537,16 +1538,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1557,5 +1560,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Deelname goedgekeurd" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Deelname goedgekeurd" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/errors.po b/priv/gettext/nl/LC_MESSAGES/errors.po index fcca90372..fbf9e6dd1 100644 --- a/priv/gettext/nl/LC_MESSAGES/errors.po +++ b/priv/gettext/nl/LC_MESSAGES/errors.po @@ -103,13 +103,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -147,6 +148,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -156,33 +158,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -202,12 +204,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -232,12 +234,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -247,7 +249,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -343,7 +345,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -363,8 +365,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -381,7 +383,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -493,7 +495,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -559,7 +561,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -594,22 +596,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -619,7 +621,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -639,7 +641,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -664,7 +666,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -769,12 +771,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -794,17 +796,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -830,7 +832,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -840,18 +842,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -866,12 +868,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -891,12 +893,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -916,7 +918,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -946,16 +948,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/default.po b/priv/gettext/nn/LC_MESSAGES/default.po index f1084325e..5487e86d1 100644 --- a/priv/gettext/nn/LC_MESSAGES/default.po +++ b/priv/gettext/nn/LC_MESSAGES/default.po @@ -14,262 +14,262 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.8.1\n" -#: lib/web/templates/email/password_reset.html.heex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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 "" "Viss du ikkje ba om dette, kan du sjå bort frå denne eposten. Passordet blir " "ikkje endra før du klikkar på lenka under og lagar eit nytt." -#: lib/web/templates/email/report.html.heex:74 #, elixir-format +#: lib/web/templates/email/report.html.heex:74 msgid "%{title} by %{creator}" msgstr "%{title} av %{creator}" -#: lib/web/templates/email/registration_confirmation.html.heex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.heex:58 msgid "Activate my account" msgstr "Ta i bruk kontoen min" -#: lib/web/templates/email/email.html.heex:123 -#: lib/web/templates/email/email.text.eex:9 #, elixir-format +#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Spør brukarsamfunnet på Framacolibri" -#: lib/web/templates/email/report.text.eex:15 #, elixir-format +#: lib/web/templates/email/report.text.eex:15 msgid "Comments" msgstr "Kommentarar" +#, elixir-format #: lib/web/templates/email/report.html.heex:72 #: lib/web/templates/email/report.text.eex:11 -#, elixir-format msgid "Event" msgstr "Hending" -#: lib/web/email/user.ex:48 #, elixir-format +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Framgangsmåte for å nullstilla passordet på %{instance}" -#: lib/web/templates/email/report.text.eex:21 #, elixir-format +#: lib/web/templates/email/report.text.eex:21 msgid "Reason" msgstr "Grunn" -#: lib/web/templates/email/password_reset.html.heex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex:61 msgid "Reset Password" msgstr "Nullstill passord" -#: lib/web/templates/email/password_reset.html.heex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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 "" "Det er lett å nullstilla passordet. Berre trykk på knappen under og fylg " "framgangsmåten. Dette ordnar me på ei lita stund." -#: lib/web/email/user.ex:28 #, elixir-format +#: lib/web/email/user.ex:28 msgid "Instructions to confirm your Mobilizon account on %{instance}" msgstr "Framgangsmåte for å stadfesta Mobilizon-kontoen din på %{instance}" -#: lib/web/email/admin.ex:24 #, elixir-format +#: lib/web/email/admin.ex:24 msgid "New report on Mobilizon instance %{instance}" msgstr "Ny rapport på Mobilizon-nettstaden %{instance}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.heex:51 #: lib/web/templates/email/before_event_notification.text.eex:4 -#, elixir-format msgid "Go to event page" msgstr "Gå til hendingssida" -#: 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 "Ny rapport frå %{reporter} på %{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 "Deltakinga er godkjend" +#, elixir-format #: lib/web/templates/email/password_reset.html.heex:13 #: lib/web/templates/email/password_reset.text.eex:1 -#, elixir-format msgid "Password reset" msgstr "Nullstill passord" -#: 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 "" "Det er lett å nullstilla passordet. Berre klikk på lenka under og fylg " "framgangsmåten. Dette ordnar me på ei lita stund." -#: 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 "" "Du har oppretta ein konto på %{host} med denne epostadressa. Du er eitt " "klikk unna å aktivera kontoen. Viss du ikkje oppretta nokon konto, kan du " "berre oversjå denne eposten." -#: lib/web/email/participation.ex:111 #, elixir-format +#: lib/web/email/participation.ex:111 msgid "Your participation to event %{title} has been approved" msgstr "Deltakinga di på hendinga %{title} er godkjent" -#: lib/web/email/participation.ex:68 #, elixir-format +#: lib/web/email/participation.ex:68 msgid "Your participation to event %{title} has been rejected" msgstr "Deltakinga di på hendinga %{title} er avslegen" -#: lib/web/email/event.ex:45 #, elixir-format +#: lib/web/email/event.ex:45 msgid "Event %{title} has been updated" msgstr "Hendinga %{title} er oppdatert" -#: 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 "Ny tittel: %{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 "Du ba om eit nytt passord for brukarkontoen din på %{instance}." -#: lib/web/templates/email/email.html.heex:91 #, elixir-format +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Åtvaring" -#: lib/web/email/participation.ex:135 #, elixir-format +#: lib/web/email/participation.ex:135 msgid "Confirm your participation to event %{title}" msgstr "Stadfest at du vil delta på hendinga %{title}" -#: lib/web/templates/api/privacy.html.heex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:75 msgctxt "terms" msgid "An internal ID for your current selected identity" msgstr "Ein intern ID for den identiteten du har valt" -#: lib/web/templates/api/privacy.html.heex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:74 msgctxt "terms" msgid "An internal user ID" msgstr "Ein intern brukar-ID" -#: lib/web/templates/api/privacy.html.heex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:37 msgctxt "terms" msgid "Any of the information we collect from you may be used in the following ways:" msgstr "Informasjonen me samlar frå deg, kan bli brukt på desse måtane:" -#: lib/web/templates/api/privacy.html.heex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:9 msgctxt "terms" msgid "Basic account information" msgstr "Grunnleggjande kontoinformasjon" -#: lib/web/templates/api/privacy.html.heex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:25 msgctxt "terms" msgid "Do not share any dangerous information over Mobilizon." msgstr "Ikkje del farleg stoff på Mobilizon." -#: lib/web/templates/api/privacy.html.heex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:90 msgctxt "terms" msgid "Do we disclose any information to outside parties?" msgstr "Sender me informasjon om deg til utanforståande?" -#: lib/web/templates/api/privacy.html.heex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "Bruker me infokapslar?" -#: lib/web/templates/api/privacy.html.heex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "Korleis vernar me opplysingane dine?" -#: lib/web/templates/api/privacy.html.heex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "IP-adresser og andre metadata" -#: lib/web/templates/api/privacy.html.heex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Offentlege hendingar og kommentarar" -#: lib/web/templates/api/privacy.html.heex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:64 msgctxt "terms" msgid "Retain the IP addresses associated with registered users no more than 12 months." msgstr "Ikkje lagra IP-adressene for registrerte brukarar lenger enn eitt år." -#: lib/web/templates/api/privacy.html.heex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Identifiseringsteikn" -#: lib/web/templates/api/privacy.html.heex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:31 msgctxt "terms" msgid "We also may retain server logs which include the IP address of every request to our server." msgstr "" "Me kan òg lagra tenarloggar som inneheld IP-adressene for alle førespurnader " "til tenaren vår." -#: lib/web/templates/api/privacy.html.heex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:70 msgctxt "terms" msgid "We store the following information on your device when you connect:" msgstr "Me lagrar desse opplysingane på eininga di når du koplar til:" -#: lib/web/templates/api/privacy.html.heex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:58 msgctxt "terms" msgid "We will make a good faith effort to:" msgstr "Me gjer vårt beste for å:" -#: lib/web/templates/api/privacy.html.heex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "Kva bruker me opplysingane dine til?" -#: lib/web/templates/api/privacy.html.heex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:57 msgctxt "terms" msgid "What is our data retention policy?" msgstr "Kva retningsliner for datalagring har me?" -#: lib/web/templates/api/privacy.html.heex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:67 msgctxt "terms" msgid "You may irreversibly delete your account at any time." msgstr "Du kan når som helst sletta kontoen din for alltid." -#: lib/web/templates/api/privacy.html.heex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Endringar i personvernretningslinene våre" -#: lib/web/templates/api/privacy.html.heex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -279,8 +279,8 @@ msgstr "" "Personvernforordningen\">General Data Protection Regulation) at du ikkje " "bruker nettstaden." -#: lib/web/templates/api/privacy.html.heex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -290,30 +290,30 @@ msgstr "" "27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection " "Act) at du ikkje bruker nettstaden." -#: lib/web/templates/api/privacy.html.heex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:117 msgctxt "terms" msgid "If we decide to change our privacy policy, we will post those changes on this page." msgstr "" "Viss me endrar personvernretningslinene seinare, vil me leggja ut endringane " "på denne sida." -#: lib/web/templates/api/privacy.html.heex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:112 msgctxt "terms" msgid "Law requirements can be different if this server is in another jurisdiction." msgstr "" "Lovkrava kan vera annleis om denne tenaren er innanfor ein annan " "jurisdiksjon." -#: lib/web/templates/api/privacy.html.heex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Born på denne nettstaden" -#: lib/web/templates/api/privacy.html.heex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -321,8 +321,8 @@ msgstr "" "varslingar om korleis andre\n" " reagerer på innhaldet ditt, eller sender deg meldingar, spørsmål og svar." -#: lib/web/templates/api/privacy.html.heex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -330,8 +330,8 @@ msgstr "" "adressa di med andre kjente adresser slik\n" " at me kan finna ut om adressa er utestengt, eller andre brot på reglane." -#: lib/web/templates/api/privacy.html.heex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -340,89 +340,89 @@ msgstr "" " berre samhandla med innhald og innlegg frå andre samt leggja ut eige " "innhald når du er logga inn." -#: lib/web/templates/api/privacy.html.heex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "Kva opplysingar samlar me?" -#: lib/web/email/user.ex:175 #, elixir-format +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon på %{instance}: stadfest epostadressa di" -#: lib/web/email/user.ex:155 #, elixir-format +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon på %{instance}: epostadressa er endra" -#: lib/web/email/notification.ex:49 #, elixir-format +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Ei planlagd hending i dag" msgstr[1] "%{nb_events} planlagde hendingar i dag" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.heex:38 #: lib/web/templates/email/on_day_notification.text.eex:3 -#, elixir-format msgid "You have one event today:" msgid_plural "You have %{total} events today:" msgstr[0] "Du har ei hending i dag:" msgstr[1] "Du har %{total} hendingar i dag:" -#: 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} har nett invitert deg til gruppa %{group}" +#, elixir-format #: lib/web/templates/email/group_invite.html.heex:13 #: lib/web/templates/email/group_invite.text.eex:1 -#, elixir-format msgid "Come along!" msgstr "Bli med!" -#: lib/web/email/notification.ex:24 #, elixir-format +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Ikkje gløym å koma på %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.heex:38 #: lib/web/templates/email/before_event_notification.text.eex:3 -#, elixir-format msgid "Get ready for %{title}" msgstr "Gjer deg klar til %{title}" -#: lib/web/templates/email/group_invite.html.heex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.heex:59 msgid "See my groups" msgstr "Sjå på gruppene mine" +#, elixir-format #: lib/web/templates/email/group_invite.html.heex:45 #: lib/web/templates/email/group_invite.text.eex:5 -#, elixir-format msgid "To accept this invitation, head over to your groups." msgstr "Gå til gruppene dine for å takka ja til denne invitasjonen." -#: 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 "Sjå hendinga på: %{link}" -#: lib/web/email/group.ex:31 #, elixir-format +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} har invitert deg til å bli med i gruppa %{group}" -#: lib/web/email/notification.ex:75 #, elixir-format +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Ei planlagd hending denne veka" msgstr[1] "%{nb_events} planlagde hendingar denne veka" -#: lib/web/email/notification.ex:98 #, elixir-format +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Du har ein førespurnad om å delta på %{title} å handtera" @@ -430,21 +430,21 @@ msgstr[1] "" "%{number_participation_requests} førespurnader om å delta på %{title} å " "handtera" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.heex: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] "Du har ei hending denne veka:" msgstr[1] "Du har %{total} hendingar denne veka:" -#: lib/service/metadata/utils.ex:53 #, elixir-format +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Tilskiparen skreiv inga skildring." -#: lib/web/templates/api/privacy.html.heex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -453,8 +453,8 @@ msgstr "" "er både nettlesarøkta di og trafikken sikra med SSL/TLS, og passordet ditt " "blir nykjelkryptert med ein sterk einvegsalgoritme." -#: lib/web/templates/api/privacy.html.heex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -465,20 +465,20 @@ msgstr "" "halda lova, oppfylla våre eigne vilkår, eller verna våre eigne og andre sine " "rettar, eigedom og tryggleik." -#: lib/web/templates/api/terms.html.heex:23 #, elixir-format +#: lib/web/templates/api/terms.html.heex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Å godta vilkåra" -#: lib/web/templates/api/terms.html.heex:27 #, elixir-format +#: lib/web/templates/api/terms.html.heex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Endringar i vilkåra" -#: lib/web/templates/api/terms.html.heex:85 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -490,38 +490,38 @@ msgstr "" "ansvar når det gjeld å bruka eller lita på ein kvar del av innhaldet på " "nettstaden." -#: lib/web/templates/api/terms.html.heex:60 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Du godtek òg at du ikkje vil gjera noko av dette når du bruker tenesta eller " "har med andre brukarar å gjera:" -#: lib/web/templates/api/terms.html.heex:65 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Gå rundt eller prøva å gå rundt filter, tryggleiksmekanismar, avgrensingar " "eller andre måtar å verna tenesta, brukarane eller tredjepartar." -#: lib/web/templates/api/terms.html.heex:64 #, elixir-format +#: lib/web/templates/api/terms.html.heex:64 msgctxt "terms" msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;" msgstr "" "Samla personopplysingar om andre brukarar, eller plaga, truga, forfylgja " "eller uroa andre som bruker tenesta;" -#: lib/web/templates/api/terms.html.heex:55 #, elixir-format +#: lib/web/templates/api/terms.html.heex:55 msgctxt "terms" msgid "Content that is illegal or unlawful, that would otherwise create liability;" msgstr "Innhald som er ulovleg eller som vil føra med seg straffeansvar;" -#: lib/web/templates/api/terms.html.heex:56 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -529,48 +529,48 @@ msgstr "" "opphavsrett, privatlivsrett, publiseringsrett eller andre intellektuelle og " "andre rettar til alle partar;" -#: lib/web/templates/api/terms.html.heex:42 #, elixir-format +#: lib/web/templates/api/terms.html.heex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Oppretta kontoar" -#: lib/web/templates/api/terms.html.heex:89 #, elixir-format +#: lib/web/templates/api/terms.html.heex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Heile avtala" -#: lib/web/templates/api/terms.html.heex:92 #, elixir-format +#: lib/web/templates/api/terms.html.heex:92 msgctxt "terms" msgid "Feedback" msgstr "Tilbakemeldingar" -#: lib/web/templates/api/terms.html.heex:83 #, elixir-format +#: lib/web/templates/api/terms.html.heex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Lenker og tredjepartsinnhald" -#: lib/web/templates/api/terms.html.heex:88 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Viss du bryt med desse vilkåra, har me rett til å sperra brukarkontoen din " "eller kasta deg ut frå tenesta." -#: lib/web/templates/api/terms.html.heex:63 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Gje seg ut for å vera nokon andre, eller leggja ut innhald på deira vegner, " "eller elles misbruka tilknytinga di til ein person eller ei eining;" -#: lib/web/templates/api/terms.html.heex:48 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -579,26 +579,26 @@ msgstr "" "denne tenesta. Det tyder òg at du er ansvarleg for om innhaldet er lovleg, " "til å lita på, og høver for dei som ser det." -#: lib/web/templates/api/terms.html.heex:39 #, elixir-format +#: lib/web/templates/api/terms.html.heex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Personvernretningsliner" -#: lib/web/templates/api/terms.html.heex:95 #, elixir-format +#: lib/web/templates/api/terms.html.heex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Spørsmål & kontakt" -#: lib/web/templates/api/terms.html.heex:87 #, elixir-format +#: lib/web/templates/api/terms.html.heex:87 msgctxt "terms" msgid "Termination" msgstr "Opphøyr" -#: lib/web/templates/api/terms.html.heex:62 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -606,14 +606,14 @@ msgstr "" "eller hindra andre i å bruka tenesta; eller som kan skada, setja ut av " "drift, overlasta eller hindra funksjonane på tenesta;" -#: lib/web/templates/api/terms.html.heex:47 #, elixir-format +#: lib/web/templates/api/terms.html.heex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "Innhaldet og åtferda di" -#: lib/web/templates/api/terms.html.heex:84 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -624,8 +624,8 @@ msgstr "" "tyder ikkje det at me går gode for innhaldet der. Du bruker alle lenker på " "eigen risiko." -#: lib/web/templates/api/terms.html.heex:68 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -633,16 +633,16 @@ msgstr "" "om åtferd og styring når du bruker nettstaden vår. Dersom du bryt reglane, " "kan det føra til at du blir utestengt eller at brukarkontoen din blir sperra." -#: lib/web/templates/api/terms.html.heex:81 #, elixir-format +#: lib/web/templates/api/terms.html.heex:81 msgctxt "terms" msgid "For full details about the Mobilizon software see here." msgstr "" "Les meir om Mobilizon-programvara her." -#: lib/web/templates/api/terms.html.heex:18 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -650,8 +650,8 @@ msgstr "" "href=\"https://%{instance_url}\">%{instance_url})-nettstaden og " "tenestene der (framover \"tenesta\"). her er vikåra, som me bed deg lesa." -#: lib/web/templates/api/terms.html.heex:33 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -660,8 +660,8 @@ msgstr "" "på nettsida vår. Viss du er interessert i endringane i vilkåra, må du fylgja " "med på nettsida." -#: lib/web/templates/api/terms.html.heex:53 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -669,16 +669,16 @@ msgstr "" "ved å ikkje leggja ut, lenka eller visa til noko av det fylgjande når du " "bruker nettstaden:" -#: lib/web/templates/api/terms.html.heex:57 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Privatopplysingar til tredjepartar (td. adresser, telefonnummer, " "epostadresser, personnummer og kredittkortnummer); og" -#: lib/web/templates/api/terms.html.heex:52 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -689,8 +689,8 @@ msgstr "" "innhaldet ditt på andre nettstader. Me er ikkje ansvarlege viss andre " "nettstader av ein eller annan grunn ikkje slettar innhaldet ditt." -#: lib/web/templates/api/terms.html.heex:90 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -698,8 +698,8 @@ msgstr "" "å bruka tenesta, og avløyser alle tidlegare avtaler mellom deg og " "%{instance_name} om det same." -#: lib/web/templates/api/terms.html.heex:80 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -708,16 +708,16 @@ msgstr "" "license-v3-(agpl-3.0)\">AGPLv3-lisensen, som både gjev deg høve til, og " "faktisk oppmodar deg til, å sjå på, bruka og endra kjeldekoden." -#: lib/web/templates/api/terms.html.heex:58 #, elixir-format +#: lib/web/templates/api/terms.html.heex:58 msgctxt "terms" msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code." msgstr "" "Virus, øydelagde data eller andre skadelege, forstyrrande og øydeleggjande " "filer eller kode." -#: lib/web/templates/api/terms.html.heex:51 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -726,29 +726,29 @@ msgstr "" "det i systemet eller tryggingskopiane våre i noko tid. Tilgangsloggar frå " "vevtenaren kan òg bli lagra i noko tid." -#: lib/web/templates/api/terms.html.heex:96 #, elixir-format +#: lib/web/templates/api/terms.html.heex:96 msgctxt "terms" msgid "Questions or comments about the Service may be directed to us at %{contact}" msgstr "" "Du kan senda spørsmål eller kommentarar om tenesta til oss på %{contact}" -#: lib/web/templates/api/terms.html.heex:79 #, elixir-format +#: lib/web/templates/api/terms.html.heex:79 msgctxt "terms" msgid "Source code" msgstr "Kjeldekode" -#: lib/web/templates/api/terms.html.heex:93 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Me likar tilbakemeldingar! Sei gjerne kva du synest om tenesta, vilkåra og " "kva som helst om %{instance_name}." -#: lib/web/templates/api/terms.html.heex:74 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -760,16 +760,16 @@ msgstr "" "same gjeld andre nettstader og brukarsamfunn, og åtferd som dei meiner er " "upassande, trugande, krenkjande eller skadeleg." -#: lib/web/templates/api/terms.html.heex:6 #, elixir-format +#: lib/web/templates/api/terms.html.heex:6 msgctxt "terms" msgid "%{instance_name} will not use or transmit or resell your personal data" msgstr "" "%{instance_name} korkje bruker, overfører eller sel " "personopplysingane dine" -#: lib/web/templates/api/terms.html.heex:44 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -778,16 +778,16 @@ msgstr "" "programvara, bed me deg kontakta Framasoft direkte." -#: lib/web/templates/api/terms.html.heex:77 #, elixir-format +#: lib/web/templates/api/terms.html.heex:77 msgctxt "terms" msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules." msgstr "" "Styrarane på nettstaden bør passa på at alle brukarsamfunna som er på " "nettstaden blir styrte etter retningslinene som er fastsette." -#: lib/web/templates/api/terms.html.heex:98 #, elixir-format +#: lib/web/templates/api/terms.html.heex:98 msgctxt "terms" msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA." msgstr "" @@ -796,8 +796,8 @@ msgstr "" "appdotnet/terms-of-service\">App.net, som òg er under CC BY-SA-lisensen." -#: lib/web/templates/api/privacy.html.heex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:119 msgctxt "terms" msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA." msgstr "" @@ -806,22 +806,22 @@ msgstr "" "discourse\">Discourse, som òg er under CC BY-SA-lisensen." -#: lib/web/templates/api/terms.html.heex:3 #, elixir-format +#: lib/web/templates/api/terms.html.heex:3 msgctxt "terms" msgid "Short version" msgstr "Kortversjon" -#: lib/web/templates/api/terms.html.heex:9 #, elixir-format +#: lib/web/templates/api/terms.html.heex:9 msgctxt "terms" msgid "The service is provided without warranties and these terms may change in the future" msgstr "" "Me driv denne tenesta utan å yta garantiar, og desse vilkåra kan bli endra i " "framtida" -#: lib/web/templates/api/privacy.html.heex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:118 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020." msgstr "" @@ -829,8 +829,8 @@ msgstr "" "licenses/by-sa/4.0/\">CC BY-SA-lisensen. Det vart sist endra 18. juni " "2020." -#: lib/web/templates/api/terms.html.heex:97 #, elixir-format +#: lib/web/templates/api/terms.html.heex:97 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020." msgstr "" @@ -838,83 +838,83 @@ msgstr "" "licenses/by-sa/4.0/\">CC BY-SA-lisensen. Det vart sist endra 22. juni " "2020." -#: lib/web/templates/api/terms.html.heex:8 #, elixir-format +#: lib/web/templates/api/terms.html.heex:8 msgctxt "terms" msgid "You must respect other people and %{instance_name}'s rules when using the service" msgstr "" "Du må respektera andre menneske og halda reglane på %{instance_name} " "når du bruker denne tenesta" -#: lib/web/templates/api/terms.html.heex:7 #, elixir-format +#: lib/web/templates/api/terms.html.heex:7 msgctxt "terms" msgid "You must respect the law when using %{instance_name}" msgstr "Du må fylgja lovene når du bruker %{instance_name}" -#: lib/web/templates/api/terms.html.heex:5 #, elixir-format +#: lib/web/templates/api/terms.html.heex:5 msgctxt "terms" msgid "Your content is yours" msgstr "Du eig det du lagar" -#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:51 msgid "Confirm my e-mail address" msgstr "Stadfest epostadressa mi" +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.heex:13 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1 -#, elixir-format msgid "Confirm your e-mail" msgstr "Stadfest epostadressa di" -#: 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! Du har akkurat meldt deg på denne hendinga: « %{title} ». Stadfest " "epostadressa du skreiv inn:" -#: lib/web/templates/email/email.html.heex:120 -#: lib/web/templates/email/email.text.eex:8 #, elixir-format +#: lib/web/templates/email/email.html.heex:117 +#: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Treng du hjelp, eller er det noko som ikkje verkar slik du venta?" -#: lib/web/templates/email/registration_confirmation.html.heex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.heex:38 msgid "You created an account on %{host} with this email address. You are one click away from activating it." msgstr "" "Du har laga ein konto på %{host} med denne epostadressa. Du er berre " "eitt klikk unna å ta kontoen i bruk." -#: lib/web/templates/email/report.html.heex:13 #, elixir-format +#: lib/web/templates/email/report.html.heex:13 msgid "New report on %{instance}" msgstr "Ny rapport på %{instance}" -#: lib/web/templates/email/email_changed_old.html.heex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.heex:38 msgid "The email address for your account on %{host} is being changed to:" msgstr "Epostadressa for brukarkontoen din på %{host} blir no endra til:" -#: lib/web/templates/email/password_reset.html.heex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex:38 msgid "You requested a new password for your account on %{instance}." msgstr "Du har bede om eit nytt passord for kontoen din på %{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 "Ikkje bruk han på ordentleg." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.heex:63 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133 #: lib/web/templates/email/event_updated.text.eex:22 lib/web/templates/email/notification_each_week.html.heex:60 #: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60 #: lib/web/templates/email/on_day_notification.text.eex:11 -#, 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] "" @@ -924,9 +924,9 @@ msgstr[1] "" "Viss du vil avbryta deltakinga di på ei eller fleire hendingar, kan du gå " "til hendingssidene via lenkene over og klikka på «deltek»-knappen." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex: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] "Du har ein førespurnad om deltaking å handtera:" @@ -934,61 +934,61 @@ msgstr[1] "" "Du har %{number_participation_requests} førespurnader om deltaking å " "handtera:" -#: 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} er ein Mobilizon-nettstad." -#: lib/web/templates/email/email.html.heex:148 #, elixir-format +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} er ein Mobilizon-nettstad." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex:13 #: lib/web/templates/email/pending_participation_notification.text.eex:1 -#, elixir-format msgid "A request is pending!" msgstr "Ein førespurnad ventar på deg!" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.heex:13 #: lib/web/templates/email/before_event_notification.text.eex:1 -#, elixir-format msgid "An event is upcoming!" msgstr "Ei hending skjer snart!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.heex:13 #: lib/web/templates/email/email_changed_new.text.eex:1 -#, elixir-format msgid "Confirm new email" msgstr "Stadfest ny epostadresse" -#: lib/web/templates/email/event_updated.html.heex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:84 msgid "End" msgstr "Slutt" +#, elixir-format #: lib/web/templates/email/event_updated.html.heex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "Oppdatert hending!" -#: lib/web/templates/email/report.html.heex:88 #, elixir-format +#: lib/web/templates/email/report.html.heex:88 msgid "Flagged comments" msgstr "Flagga kommentarar" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.heex: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 "" "Godt nytt: Ein av tilskiparane har godkjent at du deltek. Skriv det i " "kalenderen din, for du er på gjestelista!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.heex: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! Det ser ut til at du vil endra epostadressa du har brukt til " @@ -996,16 +996,16 @@ msgstr "" "du klikka på knappen under for å stadfesta dndringa. Etterpå kan du logga " "inn på %{instance} med den nye adressa." -#: 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! Berre ei lita melding for å stadfesta at epostadressa til kontoen din " "på %{host} er endra frå denne til:" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.heex: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 "" "Viss du ikkje gjorde denne endringa sjølv, er det sannsynleg at nokon har " @@ -1013,305 +1013,305 @@ msgstr "" "ditt med ein gong. Viss du ikkje kan logga inn, bør du kontakta styraren på " "%{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 "" "Viss du ikkje gjorde dette sjølv, kan du oversjå denne meldinga. Passordet " "ditt blir ikkje endra med mindre du klikkar på lenka over." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.heex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex:45 -#, elixir-format msgid "If you didn't trigger this email, you may safely ignore it." msgstr "Viss du ikkje gjorde dette sjølv, kan du trygt sjå bort frå dette." +#, elixir-format #: lib/web/templates/email/before_event_notification.html.heex: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 "" "Viss du ikkje vil delta likevel, kan du gå til hendingssida med lenka over " "og klkka på «Deltek»-knappen." -#: lib/web/templates/email/email.html.heex:149 -#: lib/web/templates/email/email.text.eex:11 #, elixir-format +#: lib/web/templates/email/email.html.heex:153 +#: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Lær meir om Mobilizon her!" +#, elixir-format #: lib/web/templates/email/event_updated.html.heex:94 #: lib/web/templates/export/event_participants.html.heex:129 -#, elixir-format msgid "Location" msgstr "Stad" -#: lib/web/templates/email/event_updated.html.heex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:104 msgid "Location address was removed" msgstr "Adressa vart fjerna" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex:51 #: lib/web/templates/email/pending_participation_notification.text.eex:6 -#, elixir-format msgid "Manage pending requests" msgstr "Sjå over ventande førespurnader" +#, elixir-format #: lib/web/templates/email/registration_confirmation.html.heex:13 #: lib/web/templates/email/registration_confirmation.text.eex:1 -#, elixir-format msgid "Nearly there!" msgstr "Nesten klar!" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.heex:13 #: lib/web/templates/email/email_changed_old.text.eex:1 -#, elixir-format msgid "New email confirmation" msgstr "Ny stadfestingsepost" -#: lib/web/templates/email/report.html.heex:106 #, elixir-format +#: lib/web/templates/email/report.html.heex:106 msgid "Reasons for report" msgstr "Grungjeving for rapporten" -#: lib/web/templates/email/report.html.heex:39 #, elixir-format +#: lib/web/templates/email/report.html.heex:39 msgid "Someone on %{instance} reported the following content for you to analyze:" msgstr "" "Nokon på %{instance} rapporterte dette, slik at du kan sjå på det:" +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.heex:13 #: lib/web/templates/email/event_participation_rejected.text.eex:1 -#, elixir-format msgid "Sorry! You're not going." msgstr "Orsak! Du er ikkje påmeld." -#: lib/web/templates/email/event_updated.html.heex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:74 msgid "Start" msgstr "Start" -#: 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} er endra, så me tenkte du ville vita det." +#, elixir-format #: lib/web/templates/email/event_updated.html.heex:55 #: lib/web/templates/email/event_updated.text.eex:11 -#, elixir-format msgid "This event has been cancelled by its organizers. Sorry!" msgstr "Tilskiparane har avlyst denne hendinga. Me orsakar!" +#, elixir-format #: lib/web/templates/email/event_updated.html.heex:51 #: lib/web/templates/email/event_updated.text.eex:7 -#, elixir-format msgid "This event has been confirmed" msgstr "Denne hendinga er stadfesta" +#, elixir-format #: lib/web/templates/email/event_updated.html.heex: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 "" "Denne hendinga er ikkje stadfesta enno. Tilskiparane seier frå viss dei " "stadfestar ho." +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.heex:45 #: lib/web/templates/email/event_participation_rejected.text.eex:7 -#, elixir-format msgid "Unfortunately, the organizers rejected your request." msgstr "Tilskiparane har diverre avslege førespurnaden din." -#: lib/web/templates/email/email_changed_new.html.heex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.heex:51 msgid "Verify your email address" msgstr "Stadfest epostadressa di" -#: lib/web/templates/email/report.html.heex:126 #, elixir-format +#: lib/web/templates/email/report.html.heex:126 msgid "View report" msgstr "Les rapporten" -#: lib/web/templates/email/report.text.eex:24 #, elixir-format +#: lib/web/templates/email/report.text.eex:24 msgid "View report:" msgstr "Les rapporten:" +#, elixir-format #: lib/web/templates/email/email_anonymous_activity.html.heex:67 #: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58 -#, elixir-format msgid "Visit event page" msgstr "Sjå på hendingssida" -#: lib/web/templates/email/event_updated.html.heex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:121 msgid "Visit the updated event page" msgstr "Sjå på den oppdaterte hendingssida" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:21 msgid "Visit the updated event page: %{link}" msgstr "Sjå på den oppdaterte hendingssida: %{link}" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.heex:13 #: lib/web/templates/email/on_day_notification.text.eex:1 -#, elixir-format msgid "What's up today?" msgstr "Kva skjer i dag?" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.heex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex: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 "" "Viss du vil oppdatera eller avbryta deltakinga di, kan du gå til " "hendingssida med lenka over og klikka på Deltek-knappen." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex: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 "" "Du får denne eposten fordi du har valt å få varslingar når det er ventande " "førespurnader til hendingane dine. Du kan skru av eller endra varsel i " "kontoinnstillingane dine, under «Varsel»." -#: 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 "Du ba om å bli med på %{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 "Du ba nyst om å vera med på %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.heex:13 #: lib/web/templates/email/event_participation_confirmed.html.heex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1 -#, elixir-format msgid "You're going!" msgstr "Du skal dit!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.heex: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 "" "Viss du ikkje endra dette sjølv, kan du trygt sjå bort frå denne meldinga." -#: lib/web/templates/email/email.html.heex:95 #, elixir-format +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Ikkje bruk det på ordentleg." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.heex: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 "" "Viss du meiner dette er feil, kan du kontakta gruppestyrarane slik at dei " "kan leggja deg til att." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.heex:13 #: lib/web/templates/email/group_member_removal.text.eex:1 -#, elixir-format msgid "So long, and thanks for the fish!" msgstr "Ha det så lenge, og takk for all fisken!" -#: lib/web/email/group.ex:61 #, elixir-format +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Du er fjerna frå gruppa %{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 "" "Du er fjerna frå gruppa %{group}. Du kan ikkje lenger lesa innhald som er " "privat for denne gruppa." -#: lib/web/templates/email/group_invite.html.heex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.heex:38 msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}" msgstr "" "%{inviter} har nett invitert deg til gruppa " "%{link_start}%{group}%{link_end}" -#: lib/web/templates/email/group_member_removal.html.heex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.heex: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 "" "Du er fjerna frå gruppa %{link_start}%{group}%{link_end}. Frå no kan " "du ikkje lesa privat innhald i denne gruppa." +#, elixir-format #: lib/web/templates/email/group_suspension.html.heex: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 "" "Denne gruppa var på ein annan nettstad, og vil halda fram å verka for andre " "nettstader unnateke denne." +#, elixir-format #: lib/web/templates/email/group_suspension.html.heex: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 "" "Denne gruppa var på ein annan nettstad, så alle data gruppa hadde er borte " "for alltid." +#, elixir-format #: lib/web/templates/email/group_suspension.html.heex:13 #: lib/web/templates/email/group_suspension.text.eex:1 -#, elixir-format msgid "The group %{group} has been suspended on %{instance}!" msgstr "Gruppa %{group} på %{instance} er sperra!" -#: lib/web/templates/email/group_suspension.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_suspension.text.eex:3 msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "" "Styrarane på nettstaden din har avgjort å sperra gruppa %{group_name} " "(%{group_address}). Du er ikkje lenger medlem av gruppa." -#: lib/web/email/group.ex:95 #, elixir-format +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Gruppa %{group} på %{instance} er sperra" -#: lib/web/templates/api/terms.html.heex:24 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Ved å vitja eller bruka denne tenesta, er du bunden av alle vilkåra under. " "Viss vilkåra er uklåre, set me pris på om du kontaktar %{contact}." -#: lib/web/templates/api/terms.html.heex:40 #, elixir-format +#: lib/web/templates/api/terms.html.heex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" "På personvernsida vår kan du lesa meir om korleis " "me samlar og bruker informasjon om dei som bruker denne tenesta." -#: lib/web/templates/api/terms.html.heex:36 #, elixir-format +#: lib/web/templates/api/terms.html.heex:36 msgctxt "terms" msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms." msgstr "" "Viss du held fram å bruka tenesta etter at dei endra vilkåra byrjar gjelda, " "tyder det at du godtek dei endra vilkåra." -#: lib/web/templates/api/privacy.html.heex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:78 msgctxt "terms" msgid "If you delete this information, you need to login again." msgstr "Viss du slettar desse opplysingane, må du logga inn på nytt." -#: lib/web/templates/api/privacy.html.heex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1322,31 +1322,31 @@ msgstr "" "Viss du slettar desse opplysingane, kjem ikkje nettlesaren din til å syna om " "du deltek eller ei." -#: lib/web/templates/api/privacy.html.heex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:87 msgctxt "terms" msgid "Note: This information is stored in your localStorage and not your cookies." msgstr "" "Merk: Desse opplysingane blir lagra i lokallagringa di, og ikkje i " "infokapslane." -#: lib/web/templates/api/terms.html.heex:71 #, elixir-format +#: lib/web/templates/api/terms.html.heex:71 msgctxt "terms" msgid "Our responsibility" msgstr "Ansvaret vårt" -#: lib/web/templates/api/privacy.html.heex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" "Å lagra tenarloggar med IP-adressene for alle førespurnader til denne " "tenaren, i den grad me lagrar loggar, i maksimalt 90 dagar." +#, elixir-format #: lib/web/templates/api/privacy.html.heex:3 #: lib/web/templates/api/terms.html.heex: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 "" @@ -1354,16 +1354,16 @@ msgstr "" "skjøna. Me har laga ei ordliste som kan hjelpa deg " "å forstå dei." -#: lib/web/templates/api/terms.html.heex:45 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Me er ikkje ansvarlege for tap som kan koma av at nokon andre bruker eposten " "og passordet ditt, anten du veit om det eller ikkje." -#: lib/web/templates/api/terms.html.heex:50 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1373,8 +1373,8 @@ msgstr "" "innhaldet du legg ut, lenkar eller gjer tilgjengeleg på eller gjennom " "tenesta." -#: lib/web/templates/api/privacy.html.heex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1391,16 +1391,16 @@ msgstr "" "offentlege. Hugs at du kan vitja denne nettstaden utan å registrera " "deg." -#: lib/web/templates/api/terms.html.heex:30 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "Me held på retten til å endra desse vilkåra til ei kvar tid. Til dømes kan " "me ha bruk for å endra vilkåra dersom det kjem nye funksjonar på nettstaden." -#: lib/web/templates/api/terms.html.heex:20 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1413,8 +1413,8 @@ msgstr "" "lesa meir om denne nettstaden på «Om " "oss»-sida." -#: lib/web/templates/api/terms.html.heex:43 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1423,8 +1423,8 @@ msgstr "" "tilgang til kontoopplysingane dine eller andre opplysingar du gjev til " "%{instance_name}." -#: lib/web/templates/api/terms.html.heex:49 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1436,8 +1436,8 @@ msgstr "" "avgrensingane du har gjeve for kvar innhaldet skal syna. Me vil ikkje endra " "dei innstillingane du har gjort for kvar innhaldet skal syna." -#: lib/web/templates/api/privacy.html.heex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1452,8 +1452,8 @@ msgstr "" "mottakarar kan kopiera, laga skjermbilete eller dela innhaldet på andre " "måtar." -#: lib/web/templates/api/privacy.html.heex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1463,379 +1463,449 @@ msgstr "" "alle nettstader frå alle medlemer i gruppa, i den grad desse medlemene er på " "andre nettstader enn denne." -#: 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 "" "Du har stadfesta at du deltek. Skriv det inn i kalenderen din, for du står " "på gjestelista no!" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.heex:38 #: lib/web/templates/email/event_participation_confirmed.html.heex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Du ba nett om å vera med på %{title}." -#: lib/web/email/participation.ex:90 #, elixir-format +#: lib/web/email/participation.ex:90 msgid "Your participation to event %{title} has been confirmed" msgstr "Me har stadfesta at du deltek på hendinga %{title}" -#: lib/web/templates/email/report.html.heex:41 #, elixir-format +#: lib/web/templates/email/report.html.heex:41 msgid "%{reporter} reported the following content." msgstr "%{reporter} rapporterte dette innhaldet." -#: lib/web/templates/email/report.text.eex:5 #, elixir-format +#: lib/web/templates/email/report.text.eex:5 msgid "Group %{group} was reported" msgstr "Gruppa %{group} er rapportert" -#: lib/web/templates/email/report.html.heex:51 #, elixir-format +#: lib/web/templates/email/report.html.heex:51 msgid "Group reported" msgstr "Ei gruppe er rapportert" -#: lib/web/templates/email/report.text.eex:7 #, elixir-format +#: lib/web/templates/email/report.text.eex:7 msgid "Profile %{profile} was reported" msgstr "Profilen %{profile} er rapportert" -#: lib/web/templates/email/report.html.heex:56 #, elixir-format +#: lib/web/templates/email/report.html.heex:56 msgid "Profile reported" msgstr "Ein profil er rapportert" -#: lib/web/templates/email/event_participation_confirmed.html.heex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.heex:45 msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "No har du stadfesta at du deltek. Skriv det inn i kalenderen din, for du " "står på gjestelista no!" -#: lib/mobilizon/posts/post.ex:99 #, elixir-format +#: lib/mobilizon/posts/post.ex:99 msgid "A text is required for the post" msgstr "Du treng tekst i innlegget" -#: lib/mobilizon/posts/post.ex:98 #, elixir-format +#: lib/mobilizon/posts/post.ex:98 msgid "A title is required for the post" msgstr "Du treng ein tittel på innlegget" -#: 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}) har spurt om å fylgja nettstaden din." -#: lib/web/email/follow.ex:54 #, elixir-format +#: lib/web/email/follow.ex:54 msgid "%{name} requests to follow your instance" msgstr "%{name} spør om å fylgja nettstaden din" -#: lib/web/templates/email/instance_follow.html.heex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.heex: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}) har nett spurt om å fylgja nettstaden din. Viss " "du seier ja, vil nettstaden få alle dei offentlege hendingane på nettstaden " "din." -#: 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 "" "Viss du seier ja, vil nettstaden få alle dei offentlege hendingane dine." -#: lib/web/email/follow.ex:48 #, elixir-format +#: lib/web/email/follow.ex:48 msgid "Instance %{name} (%{domain}) requests to follow your instance" msgstr "Nettstaden %{name} (%{domain}) spør om å fylgja nettstaden din" -#: lib/web/templates/email/instance_follow.html.heex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.heex:66 msgid "See the federation settings" msgstr "Sjå på innstillingane for spreiing" +#, elixir-format #: lib/web/templates/email/instance_follow.html.heex: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 "" "Gå til administratorinnstillingane for nettstaden for å godta denne " "invitasjonen." +#, elixir-format #: lib/web/templates/email/instance_follow.html.heex:13 #: lib/web/templates/email/instance_follow.text.eex:1 -#, elixir-format msgid "Want to connect?" msgstr "Vil du kopla til?" +#, elixir-format #: lib/web/templates/email/instance_follow.html.heex: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 "" "Merk: At %{name} (%{domain}) fylgjer deg, tyder ikkje plent at du fylgjer " "dei, men du kan be om å fylgja dei òg." -#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:38 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Hei! Du melde deg akkurat på denne hendinga: «%{title}». Stadfest " "epostadressa du skreiv inn:" -#: lib/web/templates/email/event_participation_rejected.html.heex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.heex:38 msgid "You issued a request to attend %{title}." msgstr "Du sende ein førespurnad om å vera med på %{title}." -#: lib/web/templates/email/event_updated.html.heex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:64 msgid "Event title" msgstr "Namn på hendinga" -#: lib/web/templates/email/event_updated.html.heex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:38 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "%{title} har vorte endra, så me tenkte du ville vita det." -#: lib/web/templates/error/500_page.html.heex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:7 msgid "This page is not correct" msgstr "Denne sida er feil" -#: lib/web/templates/error/500_page.html.heex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Orsak, det skjedde noko feil hjå oss." -#: lib/web/templates/email/email.html.heex:94 -#: lib/web/templates/email/email.text.eex:4 #, elixir-format +#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Dette er ei demoside for å prøva ut Mobilizon." -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 #, elixir-format +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "Straumen til %{name}" -#: lib/service/export/feed.ex:115 #, elixir-format +#: lib/service/export/feed.ex:115 msgid "%{actor}'s private events feed on %{instance}" msgstr "Den private hendingsstraumen til %{actor} på %{instance}" -#: lib/service/export/feed.ex:110 #, elixir-format +#: lib/service/export/feed.ex:110 msgid "%{actor}'s public events feed on %{instance}" msgstr "Den offentlege hendingsstraumen til %{actor} på %{instance}" -#: lib/service/export/feed.ex:219 #, elixir-format +#: lib/service/export/feed.ex:219 msgid "Feed for %{email} on %{instance}" msgstr "Straum for %{email} på %{instance}" -#: lib/web/templates/error/500_page.html.heex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:57 msgid "If the issue persists, you may contact the server administrator at %{contact}." msgstr "" "Viss feilen held fram, kan du kontakta styraren for denne tenaren på " "%{contact}." -#: lib/web/templates/error/500_page.html.heex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:55 msgid "If the issue persists, you may try to contact the server administrator." msgstr "" "Viss feilen held fram, kan du prøva å kontakta styraren på denne tenaren." -#: lib/web/templates/error/500_page.html.heex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:68 msgid "Technical details" msgstr "Tekniske detaljar" -#: lib/web/templates/error/500_page.html.heex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:52 msgid "The Mobilizon server %{instance} seems to be temporarily down." msgstr "Mobilizon-tenaren ser ut til å vera nede i augeblinken." -#: lib/service/export/feed.ex:67 #, elixir-format +#: lib/service/export/feed.ex:67 msgid "Public feed for %{instance}" msgstr "Offentleg straum for %{instance}" -#: lib/graphql/resolvers/user.ex:298 #, elixir-format +#: lib/graphql/resolvers/user.ex:298 msgid "The password you have choosen is too short. Please make sure your password contains at least 6 charaters." msgstr "Passordet er for kort. Det må ha minst 6 teikn." -#: lib/graphql/resolvers/user.ex:304 #, elixir-format +#: lib/graphql/resolvers/user.ex:304 msgid "The token you provided is invalid. Make sure that the URL is exactly the one provided inside the email you got." msgstr "" "Godkjenningsteiknet er ugyldig. Pass på at adressa er heilt lik den du fekk " "i eposten." -#: lib/web/email/actor.ex:44 #, elixir-format +#: lib/web/email/actor.ex:44 msgid "Your participation to %{event} has been cancelled!" msgstr "Du har meldt deg av deltakinga på %{title}!" +#, elixir-format #: lib/web/templates/email/actor_suspension_participants.html.heex:38 #: lib/web/templates/email/actor_suspension_participants.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{actor_name} (%{actor_address}). All of their events have been removed and your participation to event %{event} cancelled." msgstr "" "Styrarane på nettstaden din har avgjort å sperra gruppa %{group_name} " "(%{group_address}). Du er ikkje lenger medlem av gruppa." -#: lib/web/templates/email/group_suspension.html.heex:38 #, elixir-format +#: lib/web/templates/email/group_suspension.html.heex:38 msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "" "Styrarane på nettstaden din har avgjort å sperra gruppa %{group_name} " "(%{group_address}). Du er ikkje lenger medlem av gruppa." +#, elixir-format #: lib/web/templates/email/actor_suspension_participants.html.heex:13 #: lib/web/templates/email/actor_suspension_participants.text.eex:1 -#, elixir-format msgid "Your participation to %{event} on %{instance} has been cancelled!" msgstr "Du har meldt deg av %{event} på %{instance}!" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. -#: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 #, elixir-format +#: lib/service/export/participants/csv.ex:73 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "%{event}_deltakarar" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant message" msgstr "Deltakarmelding" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant name" msgstr "Deltakinga er godkjend" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant status" msgstr "Deltakarstatus" -#: lib/service/export/participants/common.ex:52 #, elixir-format +#: lib/service/export/participants/common.ex:52 msgid "Administrator" msgstr "Styrar" -#: lib/service/export/participants/common.ex:55 #, elixir-format +#: lib/service/export/participants/common.ex:55 msgid "Creator" msgstr "Opphavsperson" -#: lib/service/export/participants/common.ex:49 #, elixir-format +#: lib/service/export/participants/common.ex:49 msgid "Moderator" msgstr "Redaktør" -#: lib/service/export/participants/common.ex:37 #, elixir-format +#: lib/service/export/participants/common.ex:37 msgid "Not approved" msgstr "Ikkje godkjent" -#: lib/service/export/participants/common.ex:40 #, elixir-format +#: lib/service/export/participants/common.ex:40 msgid "Not confirmed" msgstr "Ikkje stadfesta" -#: lib/service/export/participants/common.ex:46 #, elixir-format +#: lib/service/export/participants/common.ex:46 msgid "Participant" msgstr "Deltakar" -#: lib/service/export/participants/common.ex:43 #, elixir-format +#: lib/service/export/participants/common.ex:43 msgid "Rejected" msgstr "Avvist" -#: lib/web/templates/export/event_participants.html.heex:122 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:122 msgid "Begins on" msgstr "Byrjar" -#: lib/web/templates/export/event_participants.html.heex:125 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:125 msgid "Ends on" msgstr "Slutt" -#: lib/web/templates/export/event_participants.html.heex:132 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:132 msgid "Number of participants" msgstr "Tal deltakarar" -#: lib/web/templates/export/event_participants.html.heex:120 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:120 msgid "Participants for %{event}" msgstr "Deltakinga er godkjend" -#: lib/service/export/participants/common.ex:88 #, elixir-format +#: lib/service/export/participants/common.ex:88 msgid "Anonymous participant" msgstr "Anonym deltakar" +#, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 -#, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "🌐 %{timezone} %{offset}" -#: lib/web/templates/email/date/event_tz_date.text.eex:1 #, elixir-format +#: lib/web/templates/email/date/event_tz_date.text.eex:1 msgid "%{date_time} (%{timezone} %{offset})" msgstr "%{date_time} (%{timezone} %{offset})" -#: lib/web/templates/email/date/event_tz_date.text.eex:1 #, elixir-format +#: lib/web/templates/email/date/event_tz_date.text.eex:1 msgid "%{date_time} (in your timezone %{timezone} %{offset})" msgstr "%{date_time} (i tidssona di %{timezone} %{offset})" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.heex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "On the agenda this week" msgstr "Ei planlagd hending denne veka" -#: lib/web/templates/email/participation/event_card.html.heex:11 #, elixir-format +#: lib/web/templates/email/participation/event_card.html.heex:11 msgid "Details" msgstr "Detaljar" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 #, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "Frå %{start} til %{end}" -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 #, elixir-format +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "Styr deltakinga di" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 #, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "%{date} frå %{start_time} til %{end_time}" -#: lib/web/templates/email/participation/event_card.html.heex:19 #, elixir-format +#: lib/web/templates/email/participation/event_card.html.heex:19 msgid "Read more" msgstr "Les meir" -#: lib/web/templates/email/participation/card/_metadata.html.heex:50 #, elixir-format +#: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "Hending på nett" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "Detaljar" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "Styr deltakinga di" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Deltakar" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Deltakar" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "Les meir" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/errors.po b/priv/gettext/nn/LC_MESSAGES/errors.po index 0fc68435d..21faebc13 100644 --- a/priv/gettext/nn/LC_MESSAGES/errors.po +++ b/priv/gettext/nn/LC_MESSAGES/errors.po @@ -110,896 +110,938 @@ msgstr "må vera større enn eller lik %{number}" msgid "must be equal to %{number}" msgstr "må vera lik %{number}" -#: lib/graphql/resolvers/user.ex:107 #, elixir-format +#: lib/graphql/resolvers/user.ex:107 msgid "Cannot refresh the token" msgstr "Kan ikkje fornya teiknet" -#: lib/graphql/resolvers/group.ex:245 #, elixir-format +#: lib/graphql/resolvers/group.ex:245 msgid "Current profile is not a member of this group" msgstr "Denne brukaren er ikkje medlem av gruppa" -#: lib/graphql/resolvers/group.ex:249 #, elixir-format +#: lib/graphql/resolvers/group.ex:249 msgid "Current profile is not an administrator of the selected group" msgstr "Denne brukaren er ikkje styrar av gruppa" -#: lib/graphql/resolvers/user.ex:592 #, elixir-format +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Greidde ikkje lagra brukarinnstillingane" -#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 #, elixir-format +#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Fann ikkje gruppa" -#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82 #, elixir-format +#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82 msgid "Group with ID %{id} not found" msgstr "Fann ikkje gruppa med ID %{id}" -#: lib/graphql/resolvers/user.ex:85 #, elixir-format +#: lib/graphql/resolvers/user.ex:85 msgid "Impossible to authenticate, either your email or password are invalid." msgstr "Greier ikkje å logga inn. Epostadressa eller passordet ditt er feil." -#: lib/graphql/resolvers/group.ex:308 #, elixir-format +#: lib/graphql/resolvers/group.ex:308 msgid "Member not found" msgstr "Fann ikkje medlemen" -#: lib/graphql/resolvers/actor.ex:94 #, elixir-format +#: lib/graphql/resolvers/actor.ex:94 msgid "No profile found for the moderator user" msgstr "Fann ingen profil for moderator-brukaren" -#: lib/graphql/resolvers/user.ex:253 #, elixir-format +#: lib/graphql/resolvers/user.ex:253 msgid "No user to validate with this email was found" msgstr "Fann ingen brukar med denne eposten å godkjenna" -#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278 #, elixir-format +#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278 msgid "No user with this email was found" msgstr "Fann ingen brukar med denne eposten" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 -#, elixir-format +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "Ingen godkjent brukar eig denne profilen" -#: lib/graphql/resolvers/user.ex:156 #, elixir-format +#: lib/graphql/resolvers/user.ex:156 msgid "Registrations are not open" msgstr "Det er ikkje opna for å registrera seg" -#: lib/graphql/resolvers/user.ex:407 #, elixir-format +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "Dette passordet er ugyldig" -#: lib/graphql/resolvers/user.ex:450 #, elixir-format +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "Den nye epostadressa ser ut til å vera feil" -#: lib/graphql/resolvers/user.ex:453 #, elixir-format +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "Den nye epostadressa må vera annleis" -#: lib/graphql/resolvers/user.ex:410 #, elixir-format +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Det nye passordet må vera annleis" -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 #, elixir-format +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "Dette passordet er ugyldig" -#: lib/graphql/resolvers/user.ex:414 #, elixir-format +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "Dette passordet er for kort. Passord må ha minst 6 teikn." -#: lib/graphql/resolvers/user.ex:274 #, elixir-format +#: lib/graphql/resolvers/user.ex:274 msgid "This user can't reset their password" msgstr "Denne brukaren kan ikkje nullstilla passordet sitt" -#: lib/graphql/resolvers/user.ex:81 #, elixir-format +#: lib/graphql/resolvers/user.ex:81 msgid "This user has been disabled" msgstr "Denne brukaren er avskrudd" -#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237 #, elixir-format +#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237 msgid "Unable to validate user" msgstr "Greier ikkje godkjenna brukaren" -#: lib/graphql/resolvers/user.ex:500 #, elixir-format +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "Brukaren er allereie inaktiv" -#: lib/graphql/resolvers/user.ex:567 #, elixir-format +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "Den førespurte brukaren er ikkje innlogga" -#: lib/graphql/resolvers/group.ex:280 #, elixir-format +#: lib/graphql/resolvers/group.ex:280 msgid "You are already a member of this group" msgstr "Du er allereie medlem av denne gruppa" -#: lib/graphql/resolvers/group.ex:315 #, elixir-format +#: lib/graphql/resolvers/group.ex:315 msgid "You can't leave this group because you are the only administrator" msgstr "Du kan ikkje forlata denne gruppa, fordi du er den einaste styraren" -#: lib/graphql/resolvers/group.ex:277 #, elixir-format +#: lib/graphql/resolvers/group.ex:277 msgid "You cannot join this group" msgstr "Du kan ikkje bli med i denne gruppa" -#: lib/graphql/resolvers/group.ex:112 #, elixir-format +#: lib/graphql/resolvers/group.ex:112 msgid "You may not list groups unless moderator." msgstr "Du kan ikkje lista opp grupper med mindre du er moderator." -#: lib/graphql/resolvers/user.ex:465 #, elixir-format +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Du må vera innlogga for å endra epostadressa di" -#: lib/graphql/resolvers/user.ex:422 #, elixir-format +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Du må vera innlogga for å endra passordet ditt" -#: lib/graphql/resolvers/group.ex:254 #, elixir-format +#: lib/graphql/resolvers/group.ex:254 msgid "You need to be logged-in to delete a group" msgstr "Du må vera innlogga for å sletta ei gruppe" -#: lib/graphql/resolvers/user.ex:527 #, elixir-format +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Du må vera innlogga for å sletta kontoen din" -#: lib/graphql/resolvers/group.ex:285 #, elixir-format +#: lib/graphql/resolvers/group.ex:285 msgid "You need to be logged-in to join a group" msgstr "Du må vera innlogga for å bli med i ei gruppe" -#: lib/graphql/resolvers/group.ex:320 #, elixir-format +#: lib/graphql/resolvers/group.ex:320 msgid "You need to be logged-in to leave a group" msgstr "Du må vera innlogga for å forlata ei gruppe" -#: lib/graphql/resolvers/group.ex:218 #, elixir-format +#: lib/graphql/resolvers/group.ex:218 msgid "You need to be logged-in to update a group" msgstr "Du må vera innlogga for å oppdatera ei gruppe" -#: lib/graphql/resolvers/user.ex:112 #, elixir-format +#: lib/graphql/resolvers/user.ex:112 msgid "You need to have an existing token to get a refresh token" msgstr "Du treng eit eksisterande teikn for å få eit fornyingsteikn" -#: lib/graphql/resolvers/user.ex:256 lib/graphql/resolvers/user.ex:281 #, elixir-format +#: lib/graphql/resolvers/user.ex:256 lib/graphql/resolvers/user.ex:281 msgid "You requested again a confirmation email too soon" msgstr "Du ba om ny stadfestingsepost for snøgt" -#: lib/graphql/resolvers/user.ex:159 #, elixir-format +#: lib/graphql/resolvers/user.ex:159 msgid "Your email is not on the allowlist" msgstr "Epostadressa di er ikkje på lista over godkjende adresser" -#: lib/graphql/resolvers/actor.ex:100 #, elixir-format +#: lib/graphql/resolvers/actor.ex:100 msgid "Error while performing background task" msgstr "Greidde ikkje utføra ei bakgrunnsoppgåve" -#: lib/graphql/resolvers/actor.ex:32 #, elixir-format +#: lib/graphql/resolvers/actor.ex:32 msgid "No profile found with this ID" msgstr "Fann ingen profil med denne ID-en" -#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97 #, elixir-format +#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97 msgid "No remote profile found with this ID" msgstr "Fann ingen fjern profil med denne ID-en" -#: lib/graphql/resolvers/actor.ex:72 #, elixir-format +#: lib/graphql/resolvers/actor.ex:72 msgid "Only moderators and administrators can suspend a profile" msgstr "Berre moderatorar og styrarar kan sperra ein profil" -#: lib/graphql/resolvers/actor.ex:105 #, elixir-format +#: lib/graphql/resolvers/actor.ex:105 msgid "Only moderators and administrators can unsuspend a profile" msgstr "Berre moderatorar og styrarar kan oppheva sperring av profilar" -#: lib/graphql/resolvers/actor.ex:29 #, elixir-format +#: lib/graphql/resolvers/actor.ex:29 msgid "Only remote profiles may be refreshed" msgstr "Du kan berre lasta fjerne profilar på nytt" -#: lib/graphql/resolvers/actor.ex:64 #, elixir-format +#: lib/graphql/resolvers/actor.ex:64 msgid "Profile already suspended" msgstr "Profilen er allereie sperra" -#: lib/graphql/resolvers/participant.ex:96 #, elixir-format +#: lib/graphql/resolvers/participant.ex:96 msgid "A valid email is required by your instance" msgstr "Nettstaden din krev ei gyldig epostadresse" +#, elixir-format #: lib/graphql/resolvers/participant.ex:90 #: lib/graphql/resolvers/participant.ex:143 -#, elixir-format msgid "Anonymous participation is not enabled" msgstr "Det er ikkje høve til å vera med anonymt" -#: lib/graphql/resolvers/person.ex:210 #, elixir-format +#: lib/graphql/resolvers/person.ex:210 msgid "Cannot remove the last administrator of a group" msgstr "Kan ikkje fjerna den siste styraren i gruppa" -#: lib/graphql/resolvers/person.ex:207 #, elixir-format +#: lib/graphql/resolvers/person.ex:207 msgid "Cannot remove the last identity of a user" msgstr "Kan ikkje fjerna den siste identiteten til ein brukar" -#: lib/graphql/resolvers/comment.ex:126 #, elixir-format +#: lib/graphql/resolvers/comment.ex:126 msgid "Comment is already deleted" msgstr "Kommentaren er allereie sletta" -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 #, elixir-format +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Fann ikkje ordskiftet" -#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82 #, elixir-format +#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82 msgid "Error while saving report" msgstr "Greidde ikkje lagra rapporten" -#: lib/graphql/resolvers/report.ex:102 #, elixir-format +#: lib/graphql/resolvers/report.ex:102 msgid "Error while updating report" msgstr "Greidde ikkje oppdatera rapporten" -#: lib/graphql/resolvers/participant.ex:131 #, elixir-format +#: lib/graphql/resolvers/participant.ex:131 msgid "Event id not found" msgstr "Fann ikkje ID-en til hendinga" -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 #, elixir-format +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Fann ikkje hendinga" +#, elixir-format #: lib/graphql/resolvers/participant.ex:87 #: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155 #: lib/graphql/resolvers/participant.ex:336 -#, elixir-format msgid "Event with this ID %{id} doesn't exist" msgstr "Det finst inga hending med ID-en %{id}" -#: lib/graphql/resolvers/participant.ex:103 #, elixir-format +#: lib/graphql/resolvers/participant.ex:103 msgid "Internal Error" msgstr "Intern feil" -#: lib/graphql/resolvers/discussion.ex:225 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Ikkje noko ordskifte med ID-en %{id}" +#, elixir-format #: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107 #: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237 -#, elixir-format msgid "No profile found for user" msgstr "Fann ingen profil for brukaren" -#: lib/graphql/resolvers/feed_token.ex:64 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:64 msgid "No such feed token" msgstr "Det finst ikkje noko slikt teikn for kjelda" -#: lib/graphql/resolvers/participant.ex:259 #, elixir-format +#: lib/graphql/resolvers/participant.ex:259 msgid "Participant already has role %{role}" msgstr "Deltakaren har rolla %{role} allereie" +#, elixir-format #: lib/graphql/resolvers/participant.ex:187 #: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263 -#, elixir-format msgid "Participant not found" msgstr "Fann ikkje deltakaren" -#: lib/graphql/resolvers/person.ex:32 #, elixir-format +#: lib/graphql/resolvers/person.ex:32 msgid "Person with ID %{id} not found" msgstr "Fann ingen person med ID-en %{id}" -#: lib/graphql/resolvers/person.ex:56 #, elixir-format +#: lib/graphql/resolvers/person.ex:56 msgid "Person with username %{username} not found" msgstr "Fann ingen person med brukarnamnet %{username}" -#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203 #, elixir-format +#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203 msgid "Post ID is not a valid ID" msgstr "Innleggs-IDen er ugyldig" -#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206 #, elixir-format +#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206 msgid "Post doesn't exist" msgstr "Innlegget finst ikkje" -#: lib/graphql/resolvers/member.ex:82 #, elixir-format +#: lib/graphql/resolvers/member.ex:82 msgid "Profile invited doesn't exist" msgstr "Den inviterte profilen finst ikkje" -#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95 #, elixir-format +#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95 msgid "Profile is already a member of this group" msgstr "Profilen er allereie medlem i denne gruppa" +#, elixir-format #: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175 #: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132 #: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58 #: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182 #: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246 -#, elixir-format msgid "Profile is not member of group" msgstr "Profilen er ikkje medlem i gruppa" -#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233 #, elixir-format +#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233 msgid "Profile not found" msgstr "Fann ikkje profilen" -#: lib/graphql/resolvers/report.ex:40 #, elixir-format +#: lib/graphql/resolvers/report.ex:40 msgid "Report not found" msgstr "Fann ikkje rapporten" -#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196 #, elixir-format +#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196 msgid "Resource doesn't exist" msgstr "Ressursen finst ikkje" -#: lib/graphql/resolvers/participant.ex:124 #, elixir-format +#: lib/graphql/resolvers/participant.ex:124 msgid "The event has already reached its maximum capacity" msgstr "Hendinga er fullteikna" -#: lib/graphql/resolvers/participant.ex:282 #, elixir-format +#: lib/graphql/resolvers/participant.ex:282 msgid "This token is invalid" msgstr "Teiknet er ugyldig" -#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243 #, elixir-format +#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243 msgid "Todo doesn't exist" msgstr "Gjeremålet finst ikkje" +#, elixir-format #: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211 #: lib/graphql/resolvers/todos.ex:240 -#, elixir-format msgid "Todo list doesn't exist" msgstr "Gjeremålslista finst ikkje" -#: lib/graphql/resolvers/feed_token.ex:73 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:73 msgid "Token does not exist" msgstr "Teiknet finst ikkje" -#: 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 "Teiknet er ikkje ein gyldig UUID" -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 #, elixir-format +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Fann ikkje brukaren" -#: lib/graphql/resolvers/person.ex:310 #, elixir-format +#: lib/graphql/resolvers/person.ex:310 msgid "You already have a profile for this user" msgstr "Du har allereie ein profil for denne brukaren" -#: lib/graphql/resolvers/participant.ex:134 #, elixir-format +#: lib/graphql/resolvers/participant.ex:134 msgid "You are already a participant of this event" msgstr "Du er allereie deltakar på denne hendinga" -#: lib/graphql/resolvers/member.ex:85 #, elixir-format +#: lib/graphql/resolvers/member.ex:85 msgid "You are not a member of this group" msgstr "Du er ikkje medlem i denne gruppa" -#: lib/graphql/resolvers/member.ex:155 #, elixir-format +#: lib/graphql/resolvers/member.ex:155 msgid "You are not a moderator or admin for this group" msgstr "Du er ikkje styrar eller administrator for denne gruppa" -#: lib/graphql/resolvers/comment.ex:59 #, elixir-format +#: lib/graphql/resolvers/comment.ex:59 msgid "You are not allowed to create a comment if not connected" msgstr "Du har ikkje løyve til å skriva kommentarar viss du ikkje er kopla til" -#: lib/graphql/resolvers/feed_token.ex:41 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:41 msgid "You are not allowed to create a feed token if not connected" msgstr "Du har ikkje løyve til å laga eit straumteikn når du ikkje er kopla til" -#: lib/graphql/resolvers/comment.ex:134 #, elixir-format +#: lib/graphql/resolvers/comment.ex:134 msgid "You are not allowed to delete a comment if not connected" msgstr "Du har ikkje løyve til å sletta ein kommentar når du ikkje er kopla til" -#: lib/graphql/resolvers/feed_token.ex:82 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:82 msgid "You are not allowed to delete a feed token if not connected" msgstr "Du har ikkje løyve til å sletta straumteikn når du ikkje er kopla til" -#: lib/graphql/resolvers/comment.ex:93 #, elixir-format +#: lib/graphql/resolvers/comment.ex:93 msgid "You are not allowed to update a comment if not connected" msgstr "" "Du har ikkje løyve til å oppdatera kommentarar når du ikkje er kopla til" +#, elixir-format #: lib/graphql/resolvers/participant.ex:181 #: lib/graphql/resolvers/participant.ex:214 -#, elixir-format msgid "You can't leave event because you're the only event creator participant" msgstr "" "Du kan ikkje forlata hendinga, fordi du er den einaste deltakaren som har " "oppretta hendinga" -#: lib/graphql/resolvers/member.ex:159 #, elixir-format +#: lib/graphql/resolvers/member.ex:159 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Du kan ikkje gje deg sjølv ei deltakarrolle i denne gruppa, fordi du er den " "einaste administratoren" -#: lib/graphql/resolvers/comment.ex:122 #, elixir-format +#: lib/graphql/resolvers/comment.ex:122 msgid "You cannot delete this comment" msgstr "Du kan ikkje sletta denne kommentaren" -#: lib/graphql/resolvers/event.ex:403 #, elixir-format +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Du kan ikkje sletta denne hendinga" -#: lib/graphql/resolvers/member.ex:88 #, elixir-format +#: lib/graphql/resolvers/member.ex:88 msgid "You cannot invite to this group" msgstr "Du kan ikkje invitera til denne gruppa" -#: 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 "Du har ikkje løyve til å sletta dette teiknet" -#: lib/graphql/resolvers/admin.ex:54 #, elixir-format +#: lib/graphql/resolvers/admin.ex:54 msgid "You need to be logged-in and a moderator to list action logs" msgstr "" "Du må vera innlogga og ha ei moderatorrolle for å lista opp hendingsloggar" -#: lib/graphql/resolvers/report.ex:28 #, elixir-format +#: lib/graphql/resolvers/report.ex:28 msgid "You need to be logged-in and a moderator to list reports" msgstr "Du må vera innlogga og ha ei moderatorrolle for å lista opp rapportar" -#: lib/graphql/resolvers/report.ex:107 #, elixir-format +#: lib/graphql/resolvers/report.ex:107 msgid "You need to be logged-in and a moderator to update a report" msgstr "Du må vera innlogga og ha ei moderatorrolle for å oppdatera ein rapport" -#: lib/graphql/resolvers/report.ex:45 #, elixir-format +#: lib/graphql/resolvers/report.ex:45 msgid "You need to be logged-in and a moderator to view a report" msgstr "Du må vera innlogga og ha ei moderatorrolle for å lesa rapportar" -#: lib/graphql/resolvers/admin.ex:246 #, elixir-format +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Du må vera innlogga og ha ei administratorrolle for å sjå admin-" "innstillingane" -#: lib/graphql/resolvers/admin.ex:230 #, elixir-format +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Du må vera innlogga og ha ei administratorrolle for å sjå statistikk på " "styringspanelet" -#: lib/graphql/resolvers/admin.ex:272 #, elixir-format +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Du må vera innlogga og ha ei administratorrolle for å lagra admin-" "innstillingar" -#: lib/graphql/resolvers/discussion.ex:90 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Du må vera innlogga for å sjå ordskifte" -#: lib/graphql/resolvers/resource.ex:96 #, elixir-format +#: lib/graphql/resolvers/resource.ex:96 msgid "You need to be logged-in to access resources" msgstr "Du må vera innlogga for å sjå ressursane" -#: lib/graphql/resolvers/event.ex:313 #, elixir-format +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Du må vera innlogga for å laga hendingar" -#: lib/graphql/resolvers/post.ex:141 #, elixir-format +#: lib/graphql/resolvers/post.ex:141 msgid "You need to be logged-in to create posts" msgstr "Du må vera innlogga for å skriva innlegg" -#: lib/graphql/resolvers/report.ex:79 #, elixir-format +#: lib/graphql/resolvers/report.ex:79 msgid "You need to be logged-in to create reports" msgstr "Du må vera innlogga for å rapportera" -#: lib/graphql/resolvers/resource.ex:137 #, elixir-format +#: lib/graphql/resolvers/resource.ex:137 msgid "You need to be logged-in to create resources" msgstr "Du må vera innlogga for å laga ressursar" -#: lib/graphql/resolvers/event.ex:412 #, elixir-format +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Du må vera innlogga for å sletta ei hending" -#: lib/graphql/resolvers/post.ex:214 #, elixir-format +#: lib/graphql/resolvers/post.ex:214 msgid "You need to be logged-in to delete posts" msgstr "Du må vera innlogga for å sletta innlegg" -#: lib/graphql/resolvers/resource.ex:204 #, elixir-format +#: lib/graphql/resolvers/resource.ex:204 msgid "You need to be logged-in to delete resources" msgstr "Du må vera innlogga for å sletta ressursar" -#: lib/graphql/resolvers/participant.ex:108 #, elixir-format +#: lib/graphql/resolvers/participant.ex:108 msgid "You need to be logged-in to join an event" msgstr "Du må vera innlogga for å bli med på ei hending" -#: lib/graphql/resolvers/participant.ex:225 #, elixir-format +#: lib/graphql/resolvers/participant.ex:225 msgid "You need to be logged-in to leave an event" msgstr "Du må vera innlogga for å melda deg av ei hending" -#: lib/graphql/resolvers/event.ex:369 #, elixir-format +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Du må vera innlogga for å oppdatera hendingar" -#: lib/graphql/resolvers/post.ex:180 #, elixir-format +#: lib/graphql/resolvers/post.ex:180 msgid "You need to be logged-in to update posts" msgstr "Du må vera innlogga for å oppdatera innlegg" -#: lib/graphql/resolvers/resource.ex:174 #, elixir-format +#: lib/graphql/resolvers/resource.ex:174 msgid "You need to be logged-in to update resources" msgstr "Du må vera innlogga for å oppdatera ressursar" -#: lib/graphql/resolvers/resource.ex:233 #, elixir-format +#: lib/graphql/resolvers/resource.ex:233 msgid "You need to be logged-in to view a resource preview" msgstr "Du må vera innlogga for å førehandsvisa ressursar" -#: lib/graphql/resolvers/resource.ex:129 #, elixir-format +#: lib/graphql/resolvers/resource.ex:129 msgid "Parent resource doesn't belong to this group" msgstr "Opphavsressursen høyrer ikkje til denne gruppa" -#: lib/mobilizon/users/user.ex:114 #, elixir-format +#: lib/mobilizon/users/user.ex:114 msgid "The chosen password is too short." msgstr "Dette passordet er for kort." -#: lib/mobilizon/users/user.ex:142 #, elixir-format +#: lib/mobilizon/users/user.ex:142 msgid "The registration token is already in use, this looks like an issue on our side." msgstr "" "Registreringsteiknet er allereie i bruk, dette ser ut som ein feil frå vår " "side." -#: lib/mobilizon/users/user.ex:108 #, elixir-format +#: lib/mobilizon/users/user.ex:108 msgid "This email is already used." msgstr "Denne eposten er allereie i bruk." -#: lib/graphql/error.ex:97 #, elixir-format +#: lib/graphql/error.ex:97 msgid "Post not found" msgstr "Fann ikkje innlegget" -#: lib/graphql/error.ex:84 #, elixir-format +#: lib/graphql/error.ex:84 msgid "Invalid arguments passed" msgstr "Ugyldige argument" -#: lib/graphql/error.ex:90 #, elixir-format +#: lib/graphql/error.ex:90 msgid "Invalid credentials" msgstr "Ugyldig innlogging" -#: lib/graphql/error.ex:88 #, elixir-format +#: lib/graphql/error.ex:88 msgid "Reset your password to login" msgstr "Nullstill passordet for å logga inn" -#: lib/graphql/error.ex:95 lib/graphql/error.ex:100 #, elixir-format +#: lib/graphql/error.ex:95 lib/graphql/error.ex:100 msgid "Resource not found" msgstr "Fann ikkje ressursen" -#: lib/graphql/error.ex:102 #, elixir-format +#: lib/graphql/error.ex:102 msgid "Something went wrong" msgstr "Noko gjekk gale" -#: lib/graphql/error.ex:83 #, elixir-format +#: lib/graphql/error.ex:83 msgid "Unknown Resource" msgstr "Ukjend ressurs" -#: lib/graphql/error.ex:93 #, elixir-format +#: lib/graphql/error.ex:93 msgid "You don't have permission to do this" msgstr "Du har ikkje løyve til å gjera detet" -#: lib/graphql/error.ex:85 #, elixir-format +#: lib/graphql/error.ex:85 msgid "You need to be logged in" msgstr "Du må vera innlogga" -#: lib/graphql/resolvers/member.ex:116 #, elixir-format +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "Du kan ikkje ta imot invitasjonar med denne profilen." -#: lib/graphql/resolvers/member.ex:137 #, elixir-format +#: lib/graphql/resolvers/member.ex:137 msgid "You can't reject this invitation with this profile." msgstr "Du kan ikkje avslå invitasjonen med denne profilen." -#: lib/graphql/resolvers/media.ex:71 #, elixir-format +#: lib/graphql/resolvers/media.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "Fila har ingen tillaten MIME-type." -#: lib/graphql/resolvers/group.ex:213 #, elixir-format +#: lib/graphql/resolvers/group.ex:213 msgid "Profile is not administrator for the group" msgstr "Profilen er ikkje administrator for gruppa" -#: lib/graphql/resolvers/event.ex:358 #, elixir-format +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Du kan ikkje endra denne hendinga." -#: lib/graphql/resolvers/event.ex:361 #, elixir-format +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Du kan ikkje kopla denne hendinga til denne profilen." -#: lib/graphql/resolvers/member.ex:140 #, elixir-format +#: lib/graphql/resolvers/member.ex:140 msgid "This invitation doesn't exist." msgstr "Invitasjonen finst ikkje." -#: lib/graphql/resolvers/member.ex:185 #, elixir-format +#: lib/graphql/resolvers/member.ex:185 msgid "This member already has been rejected." msgstr "Denne medlemen har allereie fått avslag." -#: lib/graphql/resolvers/member.ex:192 #, elixir-format +#: lib/graphql/resolvers/member.ex:192 msgid "You don't have the right to remove this member." msgstr "Du har ikkje løyve til å fjerna denne medlemen." -#: lib/mobilizon/actors/actor.ex:349 #, elixir-format +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Dette brukarnamnet er oppteke." -#: lib/graphql/resolvers/discussion.ex:87 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" "Du må gje anten ein ID eller ei stuttadresse for å få tilgang til ordskiftet" -#: lib/graphql/resolvers/event.ex:308 #, elixir-format +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "Brukaren eig ikkje arrangørprofilen" -#: lib/graphql/resolvers/participant.ex:93 #, elixir-format +#: lib/graphql/resolvers/participant.ex:93 msgid "Profile ID provided is not the anonymous profile one" msgstr "Denne profil-IDen er ikkje den anonyme profilen" +#, elixir-format #: lib/graphql/resolvers/group.ex:159 lib/graphql/resolvers/group.ex:201 #: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304 -#, elixir-format msgid "The provided picture is too heavy" msgstr "Dette biletet er for stort" -#: lib/web/views/utils.ex:34 #, elixir-format +#: lib/web/views/utils.ex:34 msgid "Index file not found. You need to recompile the front-end." msgstr "Fann ikkje indeksfila. Du må kompilera framsida på nytt." -#: lib/graphql/resolvers/resource.ex:126 #, elixir-format +#: lib/graphql/resolvers/resource.ex:126 msgid "Error while creating resource" msgstr "Greidde ikkje laga ressursen" -#: lib/graphql/resolvers/user.ex:483 #, elixir-format +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "Ugyldig aktiveringslykjel" -#: lib/graphql/resolvers/resource.ex:223 #, elixir-format +#: lib/graphql/resolvers/resource.ex:223 msgid "Unable to fetch resource details from this URL." msgstr "Greidde ikkje henta ressursdetaljane frå denne adressa." -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 -#: lib/graphql/resolvers/participant.ex:328 #, elixir-format +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "Moderatorprofilen har ikkje tilgang til denne hendinga" -#: lib/graphql/resolvers/event.ex:294 #, elixir-format +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" "Organisatoren har ikkje løyve til å laga hendingar på vegner av denne gruppa" -#: lib/graphql/resolvers/event.ex:349 #, elixir-format +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" "Denne profilen har ikkje løyve til å oppdatera hendingar på vegner av denne " "gruppa" -#: lib/graphql/resolvers/user.ex:163 #, elixir-format +#: lib/graphql/resolvers/user.ex:163 msgid "Your e-mail has been denied registration or uses a disallowed e-mail provider" msgstr "" "Eposten din er nekta å registrera seg, eller bruker ein epostvert me ikkje " "godtek" -#: lib/graphql/resolvers/comment.ex:129 #, elixir-format +#: lib/graphql/resolvers/comment.ex:129 msgid "Comment not found" msgstr "Fann ikkje hendinga" -#: lib/graphql/resolvers/discussion.ex:129 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Greidde ikkje laga ressursen" -#: lib/graphql/resolvers/user.ex:606 #, elixir-format +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Greidde ikkje oppdatera rapporten" -#: lib/graphql/resolvers/person.ex:307 #, elixir-format +#: lib/graphql/resolvers/person.ex:307 msgid "Error while uploading pictures" msgstr "Greidde ikkje oppdatera rapporten" -#: lib/graphql/resolvers/participant.ex:190 #, elixir-format +#: lib/graphql/resolvers/participant.ex:190 msgid "Failed to leave the event" msgstr "Greidde ikkje forlata hendinga" -#: lib/graphql/resolvers/group.ex:209 #, elixir-format +#: lib/graphql/resolvers/group.ex:209 msgid "Failed to update the group" msgstr "Greidde ikkje oppdatera gruppa" -#: lib/graphql/resolvers/user.ex:447 #, elixir-format +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "Greidde ikkje oppdatera epostadressa til brukaren" -#: lib/graphql/resolvers/user.ex:479 #, elixir-format +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Greier ikkje godkjenna brukaren" -#: lib/graphql/resolvers/participant.ex:146 #, elixir-format +#: lib/graphql/resolvers/participant.ex:146 msgid "The anonymous actor ID is invalid" msgstr "ID-en til den anonyme brukaren er ugyldig" -#: lib/graphql/resolvers/resource.ex:162 #, elixir-format +#: lib/graphql/resolvers/resource.ex:162 msgid "Unknown error while updating resource" msgstr "Det var ein ukjend feil då ressursen vart oppdatert" -#: lib/graphql/resolvers/comment.ex:84 #, elixir-format +#: lib/graphql/resolvers/comment.ex:84 msgid "You are not the comment creator" msgstr "Du har ikkje skrive denne kommentaren" -#: lib/graphql/resolvers/user.ex:404 #, elixir-format +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "Du kan ikkje endra passordet ditt." -#: lib/graphql/resolvers/participant.ex:321 #, elixir-format +#: lib/graphql/resolvers/participant.ex:321 msgid "Format not supported" msgstr "Formatet er ikkje støtta" -#: lib/graphql/resolvers/participant.ex:305 #, elixir-format +#: lib/graphql/resolvers/participant.ex:305 msgid "A dependency needed to export to %{format} is not installed" msgstr "" "Eit program som trengst for å eksportera til %{format} er ikkje installert" -#: lib/graphql/resolvers/participant.ex:313 #, elixir-format +#: lib/graphql/resolvers/participant.ex:313 msgid "An error occured while saving export" msgstr "Det var ein feil då eksporten vart lagra" -#: lib/web/controllers/export_controller.ex:30 #, elixir-format +#: lib/web/controllers/export_controller.ex:30 msgid "Export to format %{format} is not enabled on this instance" msgstr "Du kan ikkje eksportera til %{format} på denne nettstaden" -#: lib/graphql/resolvers/group.ex:165 #, elixir-format +#: lib/graphql/resolvers/group.ex:165 msgid "Only admins can create groups" msgstr "Berre styrarar kan laga grupper" -#: lib/graphql/resolvers/event.ex:301 #, elixir-format +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "Berre grupper kan laga hendingar" -#: lib/graphql/resolvers/event.ex:287 #, elixir-format +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "Det var ein ukjend feil då ressursen vart oppdatert" -#: lib/graphql/resolvers/user.ex:460 #, elixir-format +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "Brukaren kan ikkje endra epostadressa" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Fann ingen person med brukarnamnet %{username}" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Du må vera innlogga for å bli med i ei gruppe" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Du må vera innlogga for å bli med i ei gruppe" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Du må vera innlogga for å oppdatera ei gruppe" diff --git a/priv/gettext/oc/LC_MESSAGES/default.po b/priv/gettext/oc/LC_MESSAGES/default.po index 8b1eb001c..5c449f348 100644 --- a/priv/gettext/oc/LC_MESSAGES/default.po +++ b/priv/gettext/oc/LC_MESSAGES/default.po @@ -31,7 +31,7 @@ msgid "Activate my account" msgstr "Activar mon compte" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Demandatz a la comunautat sus Framacolibri" @@ -48,7 +48,7 @@ msgid "Event" msgstr "Eveniment" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Consignas per reïnincializar vòstre senhal sus %{instance}" @@ -135,7 +135,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Avertiment" @@ -344,17 +344,17 @@ msgid "What information do we collect?" msgstr "Quinas informacions reculem ?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon sus %{instance} : confirmatz vòstra adreça electronica" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon sus %{instance} : adreça electronica cambiada" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Un eveniment previst uèi" @@ -380,7 +380,7 @@ msgid "Come along!" msgstr "Rejonhètz-nos !" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Oblidatz pas d’anar a %{title}" @@ -407,19 +407,19 @@ msgid "View the event on: %{link}" msgstr "Veire l’eveniment actualizat sus : %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} vos a convidat a rejónher lo grop %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Un eveniment previst aquesta setmana" msgstr[1] "%{nb_events} eveniments previstes aquesta setmana" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Una demanda de participacion a l’eveniment %{title} a tractar" @@ -800,7 +800,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Besonh d’ajuda ? Quicòm truca ?" @@ -865,7 +865,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} es una instància Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} es una instància Mobilizon." @@ -947,7 +947,7 @@ msgstr "" "participacion." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Ne saber mai tocant Mobilizon." @@ -1109,7 +1109,7 @@ msgstr "" "S’avètz pas demandat aquesta modificacion, mercés d’ignorar aqueste messatge." #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Mercés de l’utilizar pas d’un biais real." @@ -1126,7 +1126,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Vos an tirat del grop %{group}" @@ -1175,7 +1175,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Lo grop %{group} foguèt suspendut sus %{instance}" @@ -1425,15 +1425,15 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" "Aquò es un site de demostracion per ensajar la version beta de Mobilizon." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1514,7 +1514,7 @@ msgstr "Vòstra participacion a l’eveniment %{title} es estada aprovada" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1596,6 +1596,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1622,16 +1623,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1642,5 +1645,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Participacion aprovada" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Participacion aprovada" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/oc/LC_MESSAGES/errors.po b/priv/gettext/oc/LC_MESSAGES/errors.po index b96fad1ea..b397b574d 100644 --- a/priv/gettext/oc/LC_MESSAGES/errors.po +++ b/priv/gettext/oc/LC_MESSAGES/errors.po @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "Lo perfil actual es pas administrator del grop seleccionat" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Error en salvagardant los paramètres utilizaire" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Grop pas trobat" @@ -156,6 +157,7 @@ msgstr "Degun trobat d'amb aquesta email" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "Lo perhiu es pas proprietat del utilizator autenticat" @@ -165,33 +167,33 @@ msgid "Registrations are not open" msgstr "Las inscripciones sèn pas obèrtas" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "Lo mòt de santa clara actuau es invalid" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "Lo email nau sèm invalid" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "Lo email nau deb esser different" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Lo mòt de santa clara nau deb esser different" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "Lo mòt de santa clara aprovedit es invalid" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Lo mòt de santa clara que avetz causit es tròp cort. Merci de vos assegurar " @@ -213,12 +215,12 @@ msgid "Unable to validate user" msgstr "Es impossible de validar l'utilizator" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "Utilizator déjà desactivat" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "L'utilizator demandat es pas conectat" @@ -243,12 +245,12 @@ msgid "You may not list groups unless moderator." msgstr "Podetz listar los grops sonque se essetz moderator." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Debetz esser conectat per cambiar lo voste email" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Debetz d'esser conectat per cambiar lo voste mòt de santa clara" @@ -258,7 +260,7 @@ msgid "You need to be logged-in to delete a group" msgstr "Debetz d'esser conectat per suprimir un grop" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Devetz d'esser conectat per suprimir lo voste compte" @@ -355,7 +357,7 @@ msgid "Comment is already deleted" msgstr "Comentari déjà suprimit" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Discussion non trobada" @@ -375,8 +377,8 @@ msgid "Event id not found" msgstr "ID d'eveniment non trobat" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Eveniment non trobat" @@ -393,7 +395,7 @@ msgid "Internal Error" msgstr "Error interna" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Cap de discussion d'amb aquesta ID %{id}" @@ -505,7 +507,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -571,7 +573,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -606,22 +608,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -631,7 +633,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -651,7 +653,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -676,7 +678,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -781,12 +783,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -806,17 +808,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -842,7 +844,7 @@ msgid "Error while creating resource" msgstr "Error mentre que sauvant lo rapòrt" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -852,18 +854,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -878,12 +880,12 @@ msgid "Comment not found" msgstr "Eveniment non trobat" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Error mentre que sauvant lo rapòrt" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Error mentre la mesa a jorn dèu rapòrt" @@ -903,12 +905,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Es impossible de validar l'utilizator" @@ -928,7 +930,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -958,16 +960,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Degun trobat d'amb l'utilizator %{username}" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Devetz d'esser conectat per rejónher un grop" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Devetz d'esser conectat per rejónher un grop" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Devetz d'esser conectat per metre à jorn un grop" diff --git a/priv/gettext/pl/LC_MESSAGES/default.po b/priv/gettext/pl/LC_MESSAGES/default.po index 71d666963..fd0b4cb7f 100644 --- a/priv/gettext/pl/LC_MESSAGES/default.po +++ b/priv/gettext/pl/LC_MESSAGES/default.po @@ -34,7 +34,7 @@ msgid "Activate my account" msgstr "Aktywuj moje konto" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Zapytaj społeczność na Framacolibri" @@ -51,7 +51,7 @@ msgid "Event" msgstr "Wydarzenie" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instrukcje resetowania hasła na %{instance}" @@ -145,7 +145,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Poprosiłeś(-aś) o nowe hasło do swojego konta na %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Ostrzeżenie" @@ -343,17 +343,17 @@ msgid "What information do we collect?" msgstr "Jakie informacje zbieramy?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon na %{instance}: potwierdź swój adres e-mail" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon na %{instance}: zmieniono e-mail" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Jedno wydarzenie zaplanowane na dzisiaj" @@ -382,7 +382,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Nie zapomnij być na %{title}" @@ -409,12 +409,12 @@ msgid "View the event on: %{link}" msgstr "Zobacz zaktualizowane wydarzenie na %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "Dostałeś(-aś) zaproszenie od %{inviter}, aby dołączyć do grupy %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Jedno wydarzenie zaplanowane na ten tydzień" @@ -422,7 +422,7 @@ msgstr[1] "%{nb_events} wydarzenia zaplanowane na ten tydzień" msgstr[2] "%{nb_events} wydarzeń zaplanowanych na ten tydzień" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Jedno zgłoszenie uczestnictwa dla wydarzenia %{title} do zatwierdzenia" @@ -795,7 +795,7 @@ msgstr "" "„%{title}”. Potwierdź wprowadzony adres e-mail:" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Potrzebujesz pomocy? Coś nie działa prawidłowo?" @@ -864,7 +864,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} jest serwerem Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} jest serwerem Mobilizon." @@ -958,7 +958,7 @@ msgstr "" "używając powyższego przycisku i naciśnij przycisk zgłaszania udziału." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Dowiedz się więcej o Mobilizon." @@ -1118,7 +1118,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Nie używaj go do żadnych rzeczywistych celów" @@ -1135,7 +1135,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "Zostałeś(-aś) usunięty(-a) z grupy %{group}" @@ -1188,7 +1188,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Grupa %{group} została zawieszona na %{instance}" @@ -1440,14 +1440,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "Przepraszamy, ale coś poszło nie tak po naszej stronie." #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "To jest strona demonstracyjna pozwalająca na przetestowanie Mobilizon." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1528,7 +1528,7 @@ msgstr "Twój udział w wydarzeniu %{title} został zatwierdzony" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1610,6 +1610,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1636,16 +1637,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1656,5 +1659,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Uczestnictwo przyjęte" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Uczestnictwo przyjęte" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/pl/LC_MESSAGES/errors.po b/priv/gettext/pl/LC_MESSAGES/errors.po index 3e63dd10c..9b656f046 100644 --- a/priv/gettext/pl/LC_MESSAGES/errors.po +++ b/priv/gettext/pl/LC_MESSAGES/errors.po @@ -117,13 +117,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "Obecny profil nie jest administratorem zaznaczonej grupy" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Błąd zapisywania ustawień użytkownika" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Nie odnaleziono grupy" @@ -163,6 +164,7 @@ msgstr "Nie znaleziono użytkownika o tym adresie e-mail" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "Profil nie należy do uwierzytelnionego użytkownika" @@ -172,33 +174,33 @@ msgid "Registrations are not open" msgstr "Rejestracje nie są otwarte" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "Obecne hasło jest nieprawidłowe" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "Nowy adres e-mail nie wydaje się być prawidłowy" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "Nowy adres e-mail musi się różnić od obecnego" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Nowe hasło musi różnić się od obecnego" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "Wprowadzone hasło jest nieprawidłowe" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Wprowadzone hasło jest zbyt krótkie. Upewnij się, że Twoje hasło składa się " @@ -220,12 +222,12 @@ msgid "Unable to validate user" msgstr "Nie udało się zwalidować użytkownika" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "Użytkownik jest już wyłączony" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "Żądany użytkownik nie jest zalogowany" @@ -251,12 +253,12 @@ msgid "You may not list groups unless moderator." msgstr "Nie masz dostępu do listy grup, jeżeli nie jesteś moderatorem." #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "Musisz być zalogowany(-a), aby zmienić adres e-mail" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Musisz być zalogowany(-a), aby zmienić hasło" @@ -266,7 +268,7 @@ msgid "You need to be logged-in to delete a group" msgstr "Musisz być zalogowany(-a), aby usunąć grupę" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Musisz być zalogowany(-a), aby usunąć konto" @@ -362,7 +364,7 @@ msgid "Comment is already deleted" msgstr "Komentarz jest już usunięty" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Nie znaleziono dyskusji" @@ -382,8 +384,8 @@ msgid "Event id not found" msgstr "Nie znaleziono id wydarzenia" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Nie znaleziono wydarzenia" @@ -400,7 +402,7 @@ msgid "Internal Error" msgstr "Wewnętrzny błąd" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Nie znaleziono dyskusji o ID ${id}" @@ -512,7 +514,7 @@ msgid "Token is not a valid UUID" msgstr "Token nie jest prawidłowym UUID" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Nie znaleziono użytkownika" @@ -580,7 +582,7 @@ msgid "You cannot delete this comment" msgstr "Nie możesz usunąć tego komentarza" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Nie możesz usunąć tego wydarzenia" @@ -615,28 +617,28 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "Musisz być zalogowanym moderatorem, aby wyświetlić zgłoszenie" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Musisz być zalogowanym moderatorem, aby uzyskać dostęp do ustawień " "administratora" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Musisz być zalogowanym administratorem, aby uzyskać dostęp do statystyk w " "panelu" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Musisz być zalogowanym administratorem, aby zapisywać ustawienia " "administratora" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Musisz być zalogowany(-a), aby uzyskać dostęp do dyskusji" @@ -646,7 +648,7 @@ msgid "You need to be logged-in to access resources" msgstr "Musisz być zalogowany(-a), aby uzyskać dostęp do zasobów" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "Musisz być zalogowany(-a), aby móc utworzyć wydarzenia" @@ -666,7 +668,7 @@ msgid "You need to be logged-in to create resources" msgstr "Musisz być zalogowany(-a), aby utworzyć zasób" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "Musisz być zalogowany(-a), aby usunąć wydarzenie" @@ -691,7 +693,7 @@ msgid "You need to be logged-in to leave an event" msgstr "Musisz być zalogowany(-a), aby opuścić wydarzenie" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Musisz być zalogowany(-a), aby zaktualizować wydarzenie" @@ -798,12 +800,12 @@ msgid "Profile is not administrator for the group" msgstr "Profil nie jest administratorem grupy" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Nie możesz edytować tego wydarzenia." #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Nie możesz przypisać tego wydarzenia do tego profilu." @@ -823,17 +825,17 @@ msgid "You don't have the right to remove this member." msgstr "Nie masz uprawnień do usunięcia tego członka." #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -859,7 +861,7 @@ msgid "Error while creating resource" msgstr "Wystąpił błąd podczas zapisywania zgłoszenia" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -869,18 +871,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "Wskazany profil moderatora nie ma uprawnień dla tego wydarzenia" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -895,12 +897,12 @@ msgid "Comment not found" msgstr "Nie znaleziono wydarzenia" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "Wystąpił błąd podczas zapisywania zgłoszenia" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "Wystąpił błąd podczas aktualizacji zgłoszenia" @@ -920,12 +922,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Nie udało się zwalidować użytkownika" @@ -945,7 +947,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -975,16 +977,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Nie znaleziono osoby o nazwie użytkownika %{username}" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Musisz być zalogowany(-a), aby dołączyć do grupy" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Musisz być zalogowany(-a), aby dołączyć do grupy" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Musisz być zalogowany(-a), aby zaktualizować grupę" diff --git a/priv/gettext/pt/LC_MESSAGES/default.po b/priv/gettext/pt/LC_MESSAGES/default.po index 4f92b6a89..67abc7421 100644 --- a/priv/gettext/pt/LC_MESSAGES/default.po +++ b/priv/gettext/pt/LC_MESSAGES/default.po @@ -28,7 +28,7 @@ msgid "Activate my account" msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "" @@ -45,7 +45,7 @@ msgid "Event" msgstr "" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "" @@ -132,7 +132,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "" @@ -310,17 +310,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -346,7 +346,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -373,19 +373,19 @@ msgid "View the event on: %{link}" msgstr "" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -721,7 +721,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "" @@ -776,7 +776,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "" @@ -855,7 +855,7 @@ msgid "If you wish to cancel your attendance, visit the event page through the l msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "" @@ -1013,7 +1013,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1030,7 +1030,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1073,7 +1073,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1321,14 +1321,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1409,7 +1409,7 @@ msgstr "" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1491,6 +1491,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1517,16 +1518,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1537,5 +1540,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/pt/LC_MESSAGES/errors.po b/priv/gettext/pt/LC_MESSAGES/errors.po index a2510dafe..7c2f3ecee 100644 --- a/priv/gettext/pt/LC_MESSAGES/errors.po +++ b/priv/gettext/pt/LC_MESSAGES/errors.po @@ -103,13 +103,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -147,6 +148,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -156,33 +158,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -202,12 +204,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -232,12 +234,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -247,7 +249,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -343,7 +345,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -363,8 +365,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -381,7 +383,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -493,7 +495,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -559,7 +561,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -594,22 +596,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -619,7 +621,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -639,7 +641,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -664,7 +666,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -769,12 +771,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -794,17 +796,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -830,7 +832,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -840,18 +842,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -866,12 +868,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -891,12 +893,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -916,7 +918,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -946,16 +948,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/default.po b/priv/gettext/pt_BR/LC_MESSAGES/default.po index 1c2f25481..86af885ff 100644 --- a/priv/gettext/pt_BR/LC_MESSAGES/default.po +++ b/priv/gettext/pt_BR/LC_MESSAGES/default.po @@ -32,7 +32,7 @@ msgid "Activate my account" msgstr "Ativar a minha conta" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Perguntar à comunidade Framacolibri" @@ -49,7 +49,7 @@ msgid "Event" msgstr "Evento" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instruções para reiniciar a senha de %{instance}" @@ -143,7 +143,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Você solicitou uma nova senha para sua conta em %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Atenção" @@ -356,17 +356,17 @@ msgid "What information do we collect?" msgstr "Quais informações coletamos?" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon da instância %{instance}: confirma seu endereço de email" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon da instância %{instance}: email alterado" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "" @@ -392,7 +392,7 @@ msgid "Come along!" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "" @@ -419,19 +419,19 @@ msgid "View the event on: %{link}" msgstr "Veja o evento atualizado em: %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -790,7 +790,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Precisa de ajuda? Algo não está funcionando bem?" @@ -851,7 +851,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} é um servidor Mobilizon." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} é um servidor Mobilizon." @@ -932,7 +932,7 @@ msgstr "" "evento através do link acima e clique no botão participação." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Aprenda mais sobre Mobilizon." @@ -1090,7 +1090,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Por favor não utilize este serviço em nenhum caso real" @@ -1107,7 +1107,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1150,7 +1150,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1433,14 +1433,14 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Este é um site de demonstração para testar a versão beta do Mobilizon." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1521,7 +1521,7 @@ msgstr "A sua participação no evento %{title} foi aprovada" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1603,6 +1603,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1629,16 +1630,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1649,5 +1652,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Participação aprovada" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Participação aprovada" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/errors.po b/priv/gettext/pt_BR/LC_MESSAGES/errors.po index 1696f565b..575295067 100644 --- a/priv/gettext/pt_BR/LC_MESSAGES/errors.po +++ b/priv/gettext/pt_BR/LC_MESSAGES/errors.po @@ -103,13 +103,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "" @@ -147,6 +148,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -156,33 +158,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -202,12 +204,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -232,12 +234,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -247,7 +249,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -343,7 +345,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -363,8 +365,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -381,7 +383,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -493,7 +495,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -559,7 +561,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -594,22 +596,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -619,7 +621,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -639,7 +641,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -664,7 +666,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -769,12 +771,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -794,17 +796,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -830,7 +832,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -840,18 +842,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -866,12 +868,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -891,12 +893,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -916,7 +918,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -946,16 +948,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" diff --git a/priv/gettext/ru/LC_MESSAGES/default.po b/priv/gettext/ru/LC_MESSAGES/default.po index 8a83e793c..58ef73482 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.8.1\n" -#: lib/web/templates/email/password_reset.html.heex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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.heex:74 #, elixir-format +#: lib/web/templates/email/report.html.heex:74 msgid "%{title} by %{creator}" msgstr "%{title} от %{creator}" -#: lib/web/templates/email/registration_confirmation.html.heex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.heex:58 msgid "Activate my account" msgstr "Активировать мою учётную запись" -#: lib/web/templates/email/email.html.heex:123 -#: lib/web/templates/email/email.text.eex:9 #, elixir-format +#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.text.eex:9 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.heex: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:49 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.heex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex:61 msgid "Reset Password" msgstr "Сбросить пароль" -#: lib/web/templates/email/password_reset.html.heex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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.heex: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.heex: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:111 #, elixir-format +#: lib/web/email/participation.ex:111 msgid "Your participation to event %{title} has been approved" msgstr "Ваше участие в мероприятии %{title} было одобрено" -#: lib/web/email/participation.ex:68 #, elixir-format +#: lib/web/email/participation.ex:68 msgid "Your participation to event %{title} has been rejected" msgstr "Ваш запрос на участие в %{title} был отклонен" -#: lib/web/email/event.ex:45 #, elixir-format +#: lib/web/email/event.ex:45 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.heex:91 #, elixir-format +#: lib/web/templates/email/email.html.heex:88 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.heex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:75 msgctxt "terms" msgid "An internal ID for your current selected identity" msgstr "Внутренний ID для выбранного идентификатора" -#: lib/web/templates/api/privacy.html.heex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:74 msgctxt "terms" msgid "An internal user ID" msgstr "Внутренний пользовательский ID" -#: lib/web/templates/api/privacy.html.heex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:9 msgctxt "terms" msgid "Basic account information" msgstr "Основная информация об аккаунте" -#: lib/web/templates/api/privacy.html.heex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:25 msgctxt "terms" msgid "Do not share any dangerous information over Mobilizon." msgstr "Не передавайте через Mobilizon какую-либо небезопасную информацию." -#: lib/web/templates/api/privacy.html.heex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:90 msgctxt "terms" msgid "Do we disclose any information to outside parties?" msgstr "Передаем ли мы какую-либо информацию третьим лицам?" -#: lib/web/templates/api/privacy.html.heex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "Мы используем файлы cookie?" -#: lib/web/templates/api/privacy.html.heex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "Как мы защищаем вашу информацию?" -#: lib/web/templates/api/privacy.html.heex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "IP-адреса и другие метаданные" -#: lib/web/templates/api/privacy.html.heex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Опубликованные мероприятия и комментарии" -#: lib/web/templates/api/privacy.html.heex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Токены для аутентификации вас" -#: lib/web/templates/api/privacy.html.heex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:70 msgctxt "terms" msgid "We store the following information on your device when you connect:" msgstr "" "Мы храним следующую информацию об устройстве, с которого вы подключаетесь:" -#: lib/web/templates/api/privacy.html.heex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:58 msgctxt "terms" msgid "We will make a good faith effort to:" msgstr "Мы приложим все усилия, чтобы:" -#: lib/web/templates/api/privacy.html.heex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "Для чего мы используем ваши данные?" -#: lib/web/templates/api/privacy.html.heex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:57 msgctxt "terms" msgid "What is our data retention policy?" msgstr "Какова наша политика хранения данных?" -#: lib/web/templates/api/privacy.html.heex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:67 msgctxt "terms" msgid "You may irreversibly delete your account at any time." msgstr "Вы можете в любой момент безвозвратно удалить свою учетную запись." -#: lib/web/templates/api/privacy.html.heex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Изменения в нашей Политике конфиденциальности" -#: lib/web/templates/api/privacy.html.heex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:112 msgctxt "terms" msgid "Law requirements can be different if this server is in another jurisdiction." msgstr "" "Требования закона могут отличаться, если этот сервер находится в другой " "юрисдикции." -#: lib/web/templates/api/privacy.html.heex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Использование сайта детьми" -#: lib/web/templates/api/privacy.html.heex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "Какую информацию мы собираем?" -#: lib/web/email/user.ex:175 #, elixir-format +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon на %{instance}: подтвердите свой адрес электронной почты" -#: lib/web/email/user.ex:155 #, elixir-format +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon на %{instance}: адрес электронной почты изменен" -#: lib/web/email/notification.ex:49 #, elixir-format +#: lib/web/email/notification.ex:51 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.heex:38 #: lib/web/templates/email/on_day_notification.text.eex:3 -#, 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.heex: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:25 msgid "Don't forget to go to %{title}" msgstr "Не забудь об участии в %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.heex: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.heex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.heex:59 msgid "See my groups" msgstr "Посмотреть мои группы" +#, elixir-format #: lib/web/templates/email/group_invite.html.heex: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:31 #, elixir-format +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{Inviter} пригласил вас присоединиться к группе %{group}" -#: lib/web/email/notification.ex:75 #, elixir-format +#: lib/web/email/notification.ex:78 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:98 #, elixir-format +#: lib/web/email/notification.ex:102 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.heex: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:53 #, elixir-format +#: lib/service/metadata/utils.ex:53 msgid "The event organizer didn't add any description." msgstr "Организатор мероприятия не добавил описания." -#: lib/web/templates/api/privacy.html.heex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:23 #, elixir-format +#: lib/web/templates/api/terms.html.heex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Принятие настоящих Условий" -#: lib/web/templates/api/terms.html.heex:27 #, elixir-format +#: lib/web/templates/api/terms.html.heex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Изменения в настоящих Условиях" -#: lib/web/templates/api/terms.html.heex:85 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:60 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:65 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:64 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:55 #, elixir-format +#: lib/web/templates/api/terms.html.heex:55 msgctxt "terms" msgid "Content that is illegal or unlawful, that would otherwise create liability;" msgstr "" "Контент, который является незаконным или повлечет за собой уголовную " "ответственность;" -#: lib/web/templates/api/terms.html.heex:56 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:42 #, elixir-format +#: lib/web/templates/api/terms.html.heex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Создание учётных записей" -#: lib/web/templates/api/terms.html.heex:89 #, elixir-format +#: lib/web/templates/api/terms.html.heex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Полное согласие" -#: lib/web/templates/api/terms.html.heex:92 #, elixir-format +#: lib/web/templates/api/terms.html.heex:92 msgctxt "terms" msgid "Feedback" msgstr "Обратная связь" -#: lib/web/templates/api/terms.html.heex:83 #, elixir-format +#: lib/web/templates/api/terms.html.heex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Гиперссылки и сторонний контент" -#: lib/web/templates/api/terms.html.heex:88 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:63 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:48 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:39 #, elixir-format +#: lib/web/templates/api/terms.html.heex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Политика конфиденциальности" -#: lib/web/templates/api/terms.html.heex:95 #, elixir-format +#: lib/web/templates/api/terms.html.heex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Вопросы и контактная информация" -#: lib/web/templates/api/terms.html.heex:87 #, elixir-format +#: lib/web/templates/api/terms.html.heex:87 msgctxt "terms" msgid "Termination" msgstr "Завершение" -#: lib/web/templates/api/terms.html.heex:62 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:47 #, elixir-format +#: lib/web/templates/api/terms.html.heex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "Ваш контент и ваши действия" -#: lib/web/templates/api/terms.html.heex:84 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:68 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:81 #, elixir-format +#: lib/web/templates/api/terms.html.heex:81 msgctxt "terms" msgid "For full details about the Mobilizon software see here." msgstr "" "Для получения полной информации о Mobilizon смотреть тут." -#: lib/web/templates/api/terms.html.heex:18 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:33 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:53 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:57 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:52 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:90 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:80 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:58 #, elixir-format +#: lib/web/templates/api/terms.html.heex:58 msgctxt "terms" msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code." msgstr "Вирусы, трояны или другие вредоносные файлы или их исходный код." -#: lib/web/templates/api/terms.html.heex:51 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:96 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:79 #, elixir-format +#: lib/web/templates/api/terms.html.heex:79 msgctxt "terms" msgid "Source code" msgstr "Исходный код" -#: lib/web/templates/api/terms.html.heex:93 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:74 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:6 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:44 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:77 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:98 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:3 #, elixir-format +#: lib/web/templates/api/terms.html.heex:3 msgctxt "terms" msgid "Short version" msgstr "Сокращённая версия" -#: lib/web/templates/api/terms.html.heex:9 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:97 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:8 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:7 #, elixir-format +#: lib/web/templates/api/terms.html.heex:7 msgctxt "terms" msgid "You must respect the law when using %{instance_name}" msgstr "Вы должны соблюдать законы при использовании %{instance_name}" -#: lib/web/templates/api/terms.html.heex:5 #, elixir-format +#: lib/web/templates/api/terms.html.heex:5 msgctxt "terms" msgid "Your content is yours" msgstr "Ваши данные принадлежат вам" -#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:51 msgid "Confirm my e-mail address" msgstr "Подтвердите мой адрес электронной почты" +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.heex: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} ». Пожалуйста, подтвердите адрес электронной почты, который вы " "указали:" -#: lib/web/templates/email/email.html.heex:120 -#: lib/web/templates/email/email.text.eex:8 #, elixir-format +#: lib/web/templates/email/email.html.heex:117 +#: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Нужна помощь? Что-то не работает?" -#: lib/web/templates/email/registration_confirmation.html.heex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.heex: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.heex:13 #, elixir-format +#: lib/web/templates/email/report.html.heex:13 msgid "New report on %{instance}" msgstr "Новый отчёт на %{instance}" -#: lib/web/templates/email/email_changed_old.html.heex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.heex:38 msgid "The email address for your account on %{host} is being changed to:" msgstr "" "Адрес электронной почты вашего аккаунта на %{host} будет изменен на:" -#: lib/web/templates/email/password_reset.html.heex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.heex: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.heex:63 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.heex:133 #: lib/web/templates/email/event_updated.text.eex:22 lib/web/templates/email/notification_each_week.html.heex:60 #: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.heex:60 #: lib/web/templates/email/on_day_notification.text.eex:11 -#, 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.heex: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,61 +968,61 @@ 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.heex:148 #, elixir-format +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} работает на платформе Mobilizon." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex: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.heex: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.heex: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.heex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:84 msgid "End" msgstr "Конец" +#, elixir-format #: lib/web/templates/email/event_updated.html.heex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "Мероприятие обновлено!" -#: lib/web/templates/email/report.html.heex:88 #, elixir-format +#: lib/web/templates/email/report.html.heex:88 msgid "Flagged comments" msgstr "Помеченные комментарии" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.heex: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.heex: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 "" "Привет! Похоже, вы хотели изменить адрес электронной почты, связанный с " @@ -1030,16 +1030,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.heex: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 "" "Если вы не активировали это изменение самостоятельно, вероятно, кто-то " @@ -1047,164 +1047,164 @@ 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.heex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.heex: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.heex: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 "" "Если вы хотите отменить свое участие, просто перейдите на страницу " "мероприятия по ссылке выше и нажмите кнопку « Я участвую »." -#: lib/web/templates/email/email.html.heex:149 -#: lib/web/templates/email/email.text.eex:11 #, elixir-format +#: lib/web/templates/email/email.html.heex:153 +#: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Узнайте больше о Mobilizon!" +#, elixir-format #: lib/web/templates/email/event_updated.html.heex:94 #: lib/web/templates/export/event_participants.html.heex:129 -#, elixir-format msgid "Location" msgstr "Местонахождение" -#: lib/web/templates/email/event_updated.html.heex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:104 msgid "Location address was removed" msgstr "Адрес местоположения был удален" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.heex: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.heex: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.heex:13 #: lib/web/templates/email/email_changed_old.text.eex:1 -#, elixir-format msgid "New email confirmation" msgstr "Подтверждение нового адреса электронной почты" -#: lib/web/templates/email/report.html.heex:106 #, elixir-format +#: lib/web/templates/email/report.html.heex:106 msgid "Reasons for report" msgstr "Причина жалобы" -#: lib/web/templates/email/report.html.heex:39 #, elixir-format +#: lib/web/templates/email/report.html.heex: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.heex: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.heex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:74 msgid "Start" msgstr "Начало" -#: 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.heex: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.heex: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.heex: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.heex: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.heex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.heex:51 msgid "Verify your email address" msgstr "Проверьте свой адрес электронной почты" -#: lib/web/templates/email/report.html.heex:126 #, elixir-format +#: lib/web/templates/email/report.html.heex: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/email_anonymous_activity.html.heex:67 #: lib/web/templates/email/event_participation_approved.html.heex:58 lib/web/templates/email/event_participation_confirmed.html.heex:58 -#, elixir-format msgid "Visit event page" msgstr "Посетите страницу мероприятия" -#: lib/web/templates/email/event_updated.html.heex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:121 msgid "Visit the updated event page" msgstr "Посетите обновленную страницу мероприятия" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:21 msgid "Visit the updated event page: %{link}" msgstr "Посетите обновленную страницу мероприятия: %{link}" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.heex: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.heex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex: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.heex: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 "" "Вы получили это письмо, потому что выбрали получение уведомлений об " @@ -1212,113 +1212,113 @@ 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.heex:13 #: lib/web/templates/email/event_participation_confirmed.html.heex: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.heex: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.heex:95 #, elixir-format +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "Пожалуйста, используйте это только для тестовых целей." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.heex: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.heex: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:61 #, elixir-format +#: lib/web/email/member.ex:61 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.heex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.heex: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.heex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.heex: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.heex: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.heex: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_suspension.html.heex:13 #: lib/web/templates/email/group_suspension.text.eex:1 -#, elixir-format msgid "The group %{group} has been suspended on %{instance}!" msgstr "Группа %{group} заблокирована на %{instance}!" -#: lib/web/templates/email/group_suspension.text.eex:3 #, elixir-format +#: lib/web/templates/email/group_suspension.text.eex:3 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:95 #, elixir-format +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "Группа %{group} заблокирована на %{instance}" -#: lib/web/templates/api/terms.html.heex:24 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1326,8 +1326,8 @@ msgstr "" "ниже условиями. Если некоторые из этих условий вам неясны, сообщите нам об " "этом, связавшись с %{contact}." -#: lib/web/templates/api/terms.html.heex:40 #, elixir-format +#: lib/web/templates/api/terms.html.heex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" @@ -1335,22 +1335,22 @@ msgstr "" "пользователях Сервиса, ознакомьтесь с нашей политикой " "конфиденциальности." -#: lib/web/templates/api/terms.html.heex:36 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:78 msgctxt "terms" msgid "If you delete this information, you need to login again." msgstr "Если вы удалите эту информацию, вам придётся снова войти в систему." -#: lib/web/templates/api/privacy.html.heex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1360,31 +1360,31 @@ msgstr "" "идентификатора мероприятия и статус участия. Удаление этой информации " "приведет только к прекращению отображения статуса участия в браузере." -#: lib/web/templates/api/privacy.html.heex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.heex:87 msgctxt "terms" msgid "Note: This information is stored in your localStorage and not your cookies." msgstr "" "Примечание: Эта информация хранится в вашем локальном хранилище, а не в " "куках." -#: lib/web/templates/api/terms.html.heex:71 #, elixir-format +#: lib/web/templates/api/terms.html.heex:71 msgctxt "terms" msgid "Our responsibility" msgstr "Наша ответственность" -#: lib/web/templates/api/privacy.html.heex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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.heex:3 #: lib/web/templates/api/terms.html.heex: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 "" @@ -1392,8 +1392,8 @@ msgstr "" "тексте, могут охватывать трудные для понимания концепции. Мы подготовили глоссарий, чтобы помочь вам лучше их освоить." -#: lib/web/templates/api/terms.html.heex:45 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1401,8 +1401,8 @@ msgstr "" "результате использования кем-либо вашего адреса электронной почты или " "пароля, с вашего ведома или без него." -#: lib/web/templates/api/terms.html.heex:50 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1412,8 +1412,8 @@ msgstr "" "права на контент, который вы публикуете, ссылаетесь или иным образом делаете " "доступным на Сервисе или через него." -#: lib/web/templates/api/privacy.html.heex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" "отображаемое имя, биография, аватарка и логотип всегда общедоступны. " "Однако вы можете пользоваться этим узел без регистрации." -#: lib/web/templates/api/terms.html.heex:30 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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.heex:20 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" @@ -1452,8 +1452,8 @@ msgstr "" "использующей исходный код Mobilizon. Дополнительную информацию об этом узле " "можно найти на странице «Об этом узле»." -#: lib/web/templates/api/terms.html.heex:43 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "доступа к данным вашей учетной записи и любой другой информации, которую вы " "предоставляете %{instance_name}." -#: lib/web/templates/api/terms.html.heex:49 #, elixir-format +#: lib/web/templates/api/terms.html.heex: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 "" "в соответствии с правилами видимости, которые вы установили для него. Мы не " "будем изменять видимость установленного вами контента." -#: lib/web/templates/api/privacy.html.heex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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 "" @@ -1491,8 +1491,8 @@ msgstr "" "что получатели могут делать снимки экрана, копировать или иным образом " "повторно делиться ими." -#: lib/web/templates/api/privacy.html.heex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.heex: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,386 +1501,456 @@ 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.heex:38 #: lib/web/templates/email/event_participation_confirmed.html.heex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Вы недавно запросили участие в мероприятии %{title}." -#: lib/web/email/participation.ex:90 #, elixir-format +#: lib/web/email/participation.ex:90 msgid "Your participation to event %{title} has been confirmed" msgstr "Ваше участие в мероприятии %{title} одобрено" -#: lib/web/templates/email/report.html.heex:41 #, elixir-format +#: lib/web/templates/email/report.html.heex: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.heex:51 #, elixir-format +#: lib/web/templates/email/report.html.heex: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.heex:56 #, elixir-format +#: lib/web/templates/email/report.html.heex:56 msgid "Profile reported" msgstr "Профиль сообщил" -#: lib/web/templates/email/event_participation_confirmed.html.heex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.heex: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:99 #, elixir-format +#: lib/mobilizon/posts/post.ex:99 msgid "A text is required for the post" msgstr "Для публикации требуется текст" -#: lib/mobilizon/posts/post.ex:98 #, elixir-format +#: lib/mobilizon/posts/post.ex:98 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.heex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.heex: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.heex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.heex:66 msgid "See the federation settings" msgstr "Смотри настройки федерализации" +#, elixir-format #: lib/web/templates/email/instance_follow.html.heex: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.heex: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.heex: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.heex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.heex: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.heex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.heex:38 msgid "You issued a request to attend %{title}." msgstr "Вы отправили запрос на участие в %{title}." -#: lib/web/templates/email/event_updated.html.heex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex:64 msgid "Event title" msgstr "Название мероприятия" -#: lib/web/templates/email/event_updated.html.heex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.heex: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.heex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:7 msgid "This page is not correct" msgstr "Эта страница недействительна" -#: lib/web/templates/error/500_page.html.heex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Сожалеем, но с нашей стороны что-то пошло не так." -#: lib/web/templates/email/email.html.heex:94 -#: lib/web/templates/email/email.text.eex:4 #, elixir-format +#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "Это демонстрационная площадка для тестирования Mobilizon." -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 #, elixir-format +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "Лента %{name}" -#: lib/service/export/feed.ex:115 #, elixir-format +#: lib/service/export/feed.ex:115 msgid "%{actor}'s private events feed on %{instance}" msgstr "Лента приватных мероприятий от %{actor} на %{instance}" -#: lib/service/export/feed.ex:110 #, elixir-format +#: lib/service/export/feed.ex:110 msgid "%{actor}'s public events feed on %{instance}" msgstr "Лента публичных мероприятий от %{actor} на %{instance}" -#: lib/service/export/feed.ex:219 #, elixir-format +#: lib/service/export/feed.ex:219 msgid "Feed for %{email} on %{instance}" msgstr "Лента для %{email} на %{instance}" -#: lib/web/templates/error/500_page.html.heex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:57 msgid "If the issue persists, you may contact the server administrator at %{contact}." msgstr "" "Если проблема не исчезнет, вы можете связаться с администратором сервера по " "адресу %{contact}." -#: lib/web/templates/error/500_page.html.heex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:55 msgid "If the issue persists, you may try to contact the server administrator." msgstr "" "Если проблема не исчезнет, вы можете попытаться связаться с администратором " "сервера." -#: lib/web/templates/error/500_page.html.heex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:68 msgid "Technical details" msgstr "Технические подробности" -#: lib/web/templates/error/500_page.html.heex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.heex:52 msgid "The Mobilizon server %{instance} seems to be temporarily down." msgstr "Сервер Mobilizon %{instance} временно недоступен." -#: lib/service/export/feed.ex:67 #, elixir-format +#: lib/service/export/feed.ex:67 msgid "Public feed for %{instance}" msgstr "Публичная лента для %{instance}" -#: lib/graphql/resolvers/user.ex:298 #, elixir-format +#: lib/graphql/resolvers/user.ex:298 msgid "The password you have choosen is too short. Please make sure your password contains at least 6 charaters." msgstr "" "Выбранный вами пароль слишком короткий. Пожалуйста, убедитесь, что ваш " "пароль содержит не менее 6 символов." -#: lib/graphql/resolvers/user.ex:304 #, elixir-format +#: lib/graphql/resolvers/user.ex:304 msgid "The token you provided is invalid. Make sure that the URL is exactly the one provided inside the email you got." msgstr "" "Предоставленный вами токен недействителен. Убедитесь, что URL-адрес - именно " "тот, который указан в полученном вами электронном письме." -#: lib/web/email/actor.ex:44 #, elixir-format +#: lib/web/email/actor.ex:44 msgid "Your participation to %{event} has been cancelled!" msgstr "Ваше участие в %{event} было отменено!" +#, elixir-format #: lib/web/templates/email/actor_suspension_participants.html.heex:38 #: lib/web/templates/email/actor_suspension_participants.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{actor_name} (%{actor_address}). All of their events have been removed and your participation to event %{event} cancelled." msgstr "" "Команда модераторов вашего узла приняла решение приостановить работу " "%{actor_name} (%{actor_address}). Все их мероприятия были удалены, а ваше " "участие в мероприятии %{event} отменено." -#: lib/web/templates/email/group_suspension.html.heex:38 #, elixir-format +#: lib/web/templates/email/group_suspension.html.heex:38 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}). Вы больше не являетесь участником " "этой группы." +#, elixir-format #: lib/web/templates/email/actor_suspension_participants.html.heex:13 #: lib/web/templates/email/actor_suspension_participants.text.eex:1 -#, elixir-format msgid "Your participation to %{event} on %{instance} has been cancelled!" msgstr "Ваше участие в %{event} на %{instance} было отменено!" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. -#: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 #, elixir-format +#: lib/service/export/participants/csv.ex:73 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "%{event}_участники" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant message" msgstr "Сообщение участника" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant name" msgstr "Участие одобрено" -#: lib/service/export/participants/common.ex:61 #, elixir-format +#: lib/service/export/participants/common.ex:61 msgid "Participant status" msgstr "Статус участника" -#: lib/service/export/participants/common.ex:52 #, elixir-format +#: lib/service/export/participants/common.ex:52 msgid "Administrator" msgstr "Администратор" -#: lib/service/export/participants/common.ex:55 #, elixir-format +#: lib/service/export/participants/common.ex:55 msgid "Creator" msgstr "Автор" -#: lib/service/export/participants/common.ex:49 #, elixir-format +#: lib/service/export/participants/common.ex:49 msgid "Moderator" msgstr "Модератор" -#: lib/service/export/participants/common.ex:37 #, elixir-format +#: lib/service/export/participants/common.ex:37 msgid "Not approved" msgstr "Не одобрено" -#: lib/service/export/participants/common.ex:40 #, elixir-format +#: lib/service/export/participants/common.ex:40 msgid "Not confirmed" msgstr "Не подтверждено" -#: lib/service/export/participants/common.ex:46 #, elixir-format +#: lib/service/export/participants/common.ex:46 msgid "Participant" msgstr "Участие одобрено" -#: lib/service/export/participants/common.ex:43 #, elixir-format +#: lib/service/export/participants/common.ex:43 msgid "Rejected" msgstr "Отклоненный" -#: lib/web/templates/export/event_participants.html.heex:122 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:122 msgid "Begins on" msgstr "Начинается" -#: lib/web/templates/export/event_participants.html.heex:125 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:125 msgid "Ends on" msgstr "Конец" -#: lib/web/templates/export/event_participants.html.heex:132 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:132 msgid "Number of participants" msgstr "Число участников" -#: lib/web/templates/export/event_participants.html.heex:120 #, elixir-format +#: lib/web/templates/export/event_participants.html.heex:120 msgid "Participants for %{event}" msgstr "Участники для %{event}" -#: lib/service/export/participants/common.ex:88 #, elixir-format +#: lib/service/export/participants/common.ex:88 msgid "Anonymous participant" msgstr "Анонимный участник" +#, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 -#, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "%{timezone} %{offset}" -#: lib/web/templates/email/date/event_tz_date.text.eex:1 #, elixir-format +#: lib/web/templates/email/date/event_tz_date.text.eex:1 msgid "%{date_time} (%{timezone} %{offset})" msgstr "%{date_time} (%{timezone} %{offset})" -#: lib/web/templates/email/date/event_tz_date.text.eex:1 #, elixir-format +#: lib/web/templates/email/date/event_tz_date.text.eex:1 msgid "%{date_time} (in your timezone %{timezone} %{offset})" msgstr "%{date_time} (в вашем часовом поясе %{timezone} %{offset})" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.heex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "On the agenda this week" msgstr "На этой неделе запланировано одно мероприятие" -#: lib/web/templates/email/participation/event_card.html.heex:11 #, elixir-format +#: lib/web/templates/email/participation/event_card.html.heex:11 msgid "Details" msgstr "Подробности" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 #, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "От %{start} к %{end}" -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 #, elixir-format +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "Управление своим участием" -#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 #, elixir-format +#: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "%{date} с %{start_time} по %{end_time}" -#: lib/web/templates/email/participation/event_card.html.heex:19 #, elixir-format +#: lib/web/templates/email/participation/event_card.html.heex:19 msgid "Read more" msgstr "Подробнее" -#: lib/web/templates/email/participation/card/_metadata.html.heex:50 #, elixir-format +#: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "Онлайн-мероприятие" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "Подробности" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "Управление своим участием" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Участие одобрено" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Участие одобрено" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "Подробнее" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/ru/LC_MESSAGES/errors.po b/priv/gettext/ru/LC_MESSAGES/errors.po index ca6a92495..e43a1157d 100644 --- a/priv/gettext/ru/LC_MESSAGES/errors.po +++ b/priv/gettext/ru/LC_MESSAGES/errors.po @@ -101,916 +101,958 @@ msgstr "должно быть больше или равно %{number}" msgid "must be equal to %{number}" msgstr "должно быть равно %{number}" -#: lib/graphql/resolvers/user.ex:107 #, elixir-format +#: lib/graphql/resolvers/user.ex:107 msgid "Cannot refresh the token" msgstr "Токен не может быть обновлен" -#: lib/graphql/resolvers/group.ex:245 #, elixir-format +#: lib/graphql/resolvers/group.ex:245 msgid "Current profile is not a member of this group" msgstr "Текущий профиль не является участником этой группы" -#: lib/graphql/resolvers/group.ex:249 #, elixir-format +#: lib/graphql/resolvers/group.ex:249 msgid "Current profile is not an administrator of the selected group" msgstr "Текущий профиль не является администратором выбранной группы" -#: lib/graphql/resolvers/user.ex:592 #, elixir-format +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Ошибка при сохранении пользовательских настроек" -#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 #, elixir-format +#: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Группа не найдена" -#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82 #, elixir-format +#: lib/graphql/resolvers/group.ex:78 lib/graphql/resolvers/group.ex:82 msgid "Group with ID %{id} not found" msgstr "Группа с ID %{id} не найдена" -#: lib/graphql/resolvers/user.ex:85 #, elixir-format +#: lib/graphql/resolvers/user.ex:85 msgid "Impossible to authenticate, either your email or password are invalid." msgstr "" "Не удалось пройти аутентификацию. Неверный адрес электронной почты или " "пароль." -#: lib/graphql/resolvers/group.ex:308 #, elixir-format +#: lib/graphql/resolvers/group.ex:308 msgid "Member not found" msgstr "Участник не найден" -#: lib/graphql/resolvers/actor.ex:94 #, elixir-format +#: lib/graphql/resolvers/actor.ex:94 msgid "No profile found for the moderator user" msgstr "Профиль модератора не найден" -#: lib/graphql/resolvers/user.ex:253 #, elixir-format +#: lib/graphql/resolvers/user.ex:253 msgid "No user to validate with this email was found" msgstr "" "Не найдено ни одного пользователя для подтверждения с этим адресом " "электронной почты" -#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278 #, elixir-format +#: lib/graphql/resolvers/person.ex:314 lib/graphql/resolvers/user.ex:278 msgid "No user with this email was found" msgstr "Пользователя с этим адресом электронной почты не найдено" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 -#, elixir-format +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "Профиль не принадлежит аутентифицированному пользователю" -#: lib/graphql/resolvers/user.ex:156 #, elixir-format +#: lib/graphql/resolvers/user.ex:156 msgid "Registrations are not open" msgstr "Регистрация не открыта" -#: lib/graphql/resolvers/user.ex:407 #, elixir-format +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "Текущий пароль неверен" -#: lib/graphql/resolvers/user.ex:450 #, elixir-format +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "Новый адрес электронной почты недействителен" -#: lib/graphql/resolvers/user.ex:453 #, elixir-format +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "Новый адрес электронной почты должен отличаться от текущего" -#: lib/graphql/resolvers/user.ex:410 #, elixir-format +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "Новый пароль должен отличаться от текущего" -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 #, elixir-format +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "Введён неверный пароль" -#: lib/graphql/resolvers/user.ex:414 #, elixir-format +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" "Введенный пароль слишком короткий. Убедитесь, что ваш пароль состоит не " "менее чем из 6 символов." -#: lib/graphql/resolvers/user.ex:274 #, elixir-format +#: lib/graphql/resolvers/user.ex:274 msgid "This user can't reset their password" msgstr "Этот пользователь не может сбросить свой пароль" -#: lib/graphql/resolvers/user.ex:81 #, elixir-format +#: lib/graphql/resolvers/user.ex:81 msgid "This user has been disabled" msgstr "Этот пользователь отключен" -#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237 #, elixir-format +#: lib/graphql/resolvers/user.ex:232 lib/graphql/resolvers/user.ex:237 msgid "Unable to validate user" msgstr "Невозможно проверить пользователя" -#: lib/graphql/resolvers/user.ex:500 #, elixir-format +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "Пользователь уже отключен" -#: lib/graphql/resolvers/user.ex:567 #, elixir-format +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "Запрошенный пользователь не авторизован" -#: lib/graphql/resolvers/group.ex:280 #, elixir-format +#: lib/graphql/resolvers/group.ex:280 msgid "You are already a member of this group" msgstr "Вы уже являетесь участником этой группы" -#: lib/graphql/resolvers/group.ex:315 #, elixir-format +#: lib/graphql/resolvers/group.ex:315 msgid "You can't leave this group because you are the only administrator" msgstr "" "Вы не можете покинуть эту группу, потому что вы её единственный администратор" -#: lib/graphql/resolvers/group.ex:277 #, elixir-format +#: lib/graphql/resolvers/group.ex:277 msgid "You cannot join this group" msgstr "Вы не можете присоединиться к этой группе" -#: lib/graphql/resolvers/group.ex:112 #, elixir-format +#: lib/graphql/resolvers/group.ex:112 msgid "You may not list groups unless moderator." msgstr "Только модератор может просматривать список групп." -#: lib/graphql/resolvers/user.ex:465 #, elixir-format +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" "Вам необходимо войти в систему, чтобы изменить свой адрес электронной почты" -#: lib/graphql/resolvers/user.ex:422 #, elixir-format +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "Вам необходимо войти в систему, чтобы изменить свой пароль" -#: lib/graphql/resolvers/group.ex:254 #, elixir-format +#: lib/graphql/resolvers/group.ex:254 msgid "You need to be logged-in to delete a group" msgstr "Вам необходимо войти в систему, чтобы удалить группу" -#: lib/graphql/resolvers/user.ex:527 #, elixir-format +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "Вам необходимо войти в систему, чтобы удалить свою учетную запись" -#: lib/graphql/resolvers/group.ex:285 #, elixir-format +#: lib/graphql/resolvers/group.ex:285 msgid "You need to be logged-in to join a group" msgstr "Вам необходимо войти в систему, чтобы присоединиться к группе" -#: lib/graphql/resolvers/group.ex:320 #, elixir-format +#: lib/graphql/resolvers/group.ex:320 msgid "You need to be logged-in to leave a group" msgstr "Вам необходимо войти в систему, чтобы покинуть группу" -#: lib/graphql/resolvers/group.ex:218 #, elixir-format +#: lib/graphql/resolvers/group.ex:218 msgid "You need to be logged-in to update a group" msgstr "Вам необходимо войти в систему, чтобы обновить группу" -#: lib/graphql/resolvers/user.ex:112 #, elixir-format +#: lib/graphql/resolvers/user.ex:112 msgid "You need to have an existing token to get a refresh token" msgstr "У вас должен быть существующий токен, чтобы получить токен обновления" -#: lib/graphql/resolvers/user.ex:256 lib/graphql/resolvers/user.ex:281 #, elixir-format +#: lib/graphql/resolvers/user.ex:256 lib/graphql/resolvers/user.ex:281 msgid "You requested again a confirmation email too soon" msgstr "Вы слишком рано запросили новое письмо с подтверждением" -#: lib/graphql/resolvers/user.ex:159 #, elixir-format +#: lib/graphql/resolvers/user.ex:159 msgid "Your email is not on the allowlist" msgstr "Ваш адрес электронной почты отсутствует в белом списке" -#: lib/graphql/resolvers/actor.ex:100 #, elixir-format +#: lib/graphql/resolvers/actor.ex:100 msgid "Error while performing background task" msgstr "Ошибка при выполнении фоновой задачи" -#: lib/graphql/resolvers/actor.ex:32 #, elixir-format +#: lib/graphql/resolvers/actor.ex:32 msgid "No profile found with this ID" msgstr "Профиль с этим ID не найден" -#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97 #, elixir-format +#: lib/graphql/resolvers/actor.ex:61 lib/graphql/resolvers/actor.ex:97 msgid "No remote profile found with this ID" msgstr "Удалённый профиль с этим ID не найден" -#: lib/graphql/resolvers/actor.ex:72 #, elixir-format +#: lib/graphql/resolvers/actor.ex:72 msgid "Only moderators and administrators can suspend a profile" msgstr "Только модераторы и администраторы могут заблокировать профиль" -#: lib/graphql/resolvers/actor.ex:105 #, elixir-format +#: lib/graphql/resolvers/actor.ex:105 msgid "Only moderators and administrators can unsuspend a profile" msgstr "Только модераторы и администраторы могут разблокировать профиль" -#: lib/graphql/resolvers/actor.ex:29 #, elixir-format +#: lib/graphql/resolvers/actor.ex:29 msgid "Only remote profiles may be refreshed" msgstr "Обновлять можно только удаленные профили" -#: lib/graphql/resolvers/actor.ex:64 #, elixir-format +#: lib/graphql/resolvers/actor.ex:64 msgid "Profile already suspended" msgstr "Профиль уже заблокирован" -#: lib/graphql/resolvers/participant.ex:96 #, elixir-format +#: lib/graphql/resolvers/participant.ex:96 msgid "A valid email is required by your instance" msgstr "Вашему узлу требуется действующий адрес электронной почты" +#, elixir-format #: lib/graphql/resolvers/participant.ex:90 #: lib/graphql/resolvers/participant.ex:143 -#, elixir-format msgid "Anonymous participation is not enabled" msgstr "Анонимное участие не разрешено" -#: lib/graphql/resolvers/person.ex:210 #, elixir-format +#: lib/graphql/resolvers/person.ex:210 msgid "Cannot remove the last administrator of a group" msgstr "Невозможно удалить последнего администратора группы" -#: lib/graphql/resolvers/person.ex:207 #, elixir-format +#: lib/graphql/resolvers/person.ex:207 msgid "Cannot remove the last identity of a user" msgstr "Единственный идентификатор пользователя не может быть удален" -#: lib/graphql/resolvers/comment.ex:126 #, elixir-format +#: lib/graphql/resolvers/comment.ex:126 msgid "Comment is already deleted" msgstr "Комментарий уже удалён" -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 #, elixir-format +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "Обсуждение не найдено" -#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82 #, elixir-format +#: lib/graphql/resolvers/report.ex:63 lib/graphql/resolvers/report.ex:82 msgid "Error while saving report" msgstr "При сохранении отчёта произошла ошибка" -#: lib/graphql/resolvers/report.ex:102 #, elixir-format +#: lib/graphql/resolvers/report.ex:102 msgid "Error while updating report" msgstr "При обновлении отчёта произошла ошибка" -#: lib/graphql/resolvers/participant.ex:131 #, elixir-format +#: lib/graphql/resolvers/participant.ex:131 msgid "Event id not found" msgstr "Не найден id мероприятия" -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 #, elixir-format +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "Мероприятие не найдено" +#, elixir-format #: lib/graphql/resolvers/participant.ex:87 #: lib/graphql/resolvers/participant.ex:128 lib/graphql/resolvers/participant.ex:155 #: lib/graphql/resolvers/participant.ex:336 -#, elixir-format msgid "Event with this ID %{id} doesn't exist" msgstr "Мероприятия с ID %{id} не существует" -#: lib/graphql/resolvers/participant.ex:103 #, elixir-format +#: lib/graphql/resolvers/participant.ex:103 msgid "Internal Error" msgstr "Внутренняя ошибка" -#: lib/graphql/resolvers/discussion.ex:225 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "Обсуждения с ID %{id} нет" +#, elixir-format #: lib/graphql/resolvers/todos.ex:80 lib/graphql/resolvers/todos.ex:107 #: lib/graphql/resolvers/todos.ex:179 lib/graphql/resolvers/todos.ex:208 lib/graphql/resolvers/todos.ex:237 -#, elixir-format msgid "No profile found for user" msgstr "Профиль пользователя не найден" -#: lib/graphql/resolvers/feed_token.ex:64 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:64 msgid "No such feed token" msgstr "Такого токена ленты не существует" -#: lib/graphql/resolvers/participant.ex:259 #, elixir-format +#: lib/graphql/resolvers/participant.ex:259 msgid "Participant already has role %{role}" msgstr "У участника уже есть роль %{role}" +#, elixir-format #: lib/graphql/resolvers/participant.ex:187 #: lib/graphql/resolvers/participant.ex:220 lib/graphql/resolvers/participant.ex:263 -#, elixir-format msgid "Participant not found" msgstr "Участник не найден" -#: lib/graphql/resolvers/person.ex:32 #, elixir-format +#: lib/graphql/resolvers/person.ex:32 msgid "Person with ID %{id} not found" msgstr "Человек с ID %{id} не найден" -#: lib/graphql/resolvers/person.ex:56 #, elixir-format +#: lib/graphql/resolvers/person.ex:56 msgid "Person with username %{username} not found" msgstr "Не найдено человека с именем пользователя %{username}" -#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203 #, elixir-format +#: lib/graphql/resolvers/post.ex:169 lib/graphql/resolvers/post.ex:203 msgid "Post ID is not a valid ID" msgstr "ID поста имеет недопустимое значение" -#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206 #, elixir-format +#: lib/graphql/resolvers/post.ex:172 lib/graphql/resolvers/post.ex:206 msgid "Post doesn't exist" msgstr "Пост не существует" -#: lib/graphql/resolvers/member.ex:82 #, elixir-format +#: lib/graphql/resolvers/member.ex:82 msgid "Profile invited doesn't exist" msgstr "Приглашенный профиль не существует" -#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95 #, elixir-format +#: lib/graphql/resolvers/member.ex:91 lib/graphql/resolvers/member.ex:95 msgid "Profile is already a member of this group" msgstr "Профиль уже является участником этой группы" +#, elixir-format #: lib/graphql/resolvers/post.ex:133 lib/graphql/resolvers/post.ex:175 #: lib/graphql/resolvers/post.ex:209 lib/graphql/resolvers/resource.ex:90 lib/graphql/resolvers/resource.ex:132 #: lib/graphql/resolvers/resource.ex:165 lib/graphql/resolvers/resource.ex:199 lib/graphql/resolvers/todos.ex:58 #: lib/graphql/resolvers/todos.ex:83 lib/graphql/resolvers/todos.ex:110 lib/graphql/resolvers/todos.ex:182 #: lib/graphql/resolvers/todos.ex:214 lib/graphql/resolvers/todos.ex:246 -#, elixir-format msgid "Profile is not member of group" msgstr "Профиль не является членом группы" -#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233 #, elixir-format +#: lib/graphql/resolvers/actor.ex:67 lib/graphql/resolvers/person.ex:233 msgid "Profile not found" msgstr "Профиль не найден" -#: lib/graphql/resolvers/report.ex:40 #, elixir-format +#: lib/graphql/resolvers/report.ex:40 msgid "Report not found" msgstr "Отчёт не найден" -#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196 #, elixir-format +#: lib/graphql/resolvers/resource.ex:169 lib/graphql/resolvers/resource.ex:196 msgid "Resource doesn't exist" msgstr "Ресурс не существует" -#: lib/graphql/resolvers/participant.ex:124 #, elixir-format +#: lib/graphql/resolvers/participant.ex:124 msgid "The event has already reached its maximum capacity" msgstr "" "В мероприятии уже зарегистрировано максимально разрешённое количество " "участников" -#: lib/graphql/resolvers/participant.ex:282 #, elixir-format +#: lib/graphql/resolvers/participant.ex:282 msgid "This token is invalid" msgstr "Этот токен недействителен" -#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243 #, elixir-format +#: lib/graphql/resolvers/todos.ex:176 lib/graphql/resolvers/todos.ex:243 msgid "Todo doesn't exist" msgstr "Такого пункта в списке дел не существует" +#, elixir-format #: lib/graphql/resolvers/todos.ex:77 lib/graphql/resolvers/todos.ex:211 #: lib/graphql/resolvers/todos.ex:240 -#, elixir-format msgid "Todo list doesn't exist" msgstr "Списка дел не существует" -#: lib/graphql/resolvers/feed_token.ex:73 #, elixir-format +#: lib/graphql/resolvers/feed_token.ex:73 msgid "Token does not exist" msgstr "Токен не существует" -#: 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 "Токен не является допустимым UUID" -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 #, elixir-format +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "Пользователь не найден" -#: lib/graphql/resolvers/person.ex:310 #, elixir-format +#: lib/graphql/resolvers/person.ex:310 msgid "You already have a profile for this user" msgstr "У вас уже есть профиль для этого пользователя" -#: lib/graphql/resolvers/participant.ex:134 #, elixir-format +#: lib/graphql/resolvers/participant.ex:134 msgid "You are already a participant of this event" msgstr "Вы уже являетесь участником этого мероприятия" -#: lib/graphql/resolvers/member.ex:85 #, elixir-format +#: lib/graphql/resolvers/member.ex:85 msgid "You are not a member of this group" msgstr "Вы не состоите в этой группе" -#: lib/graphql/resolvers/member.ex:155 #, elixir-format +#: lib/graphql/resolvers/member.ex:155 msgid "You are not a moderator or admin for this group" msgstr "Вы не модератор и не администратор этой группы" -#: lib/graphql/resolvers/comment.ex:59 #, elixir-format +#: lib/graphql/resolvers/comment.ex:59 msgid "You are not allowed to create a comment if not connected" msgstr "Вы не можете создать комментарий при отсутствии подключения" -#: 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 "Вы не можете создать токен ленты при отсутствии подключения" -#: lib/graphql/resolvers/comment.ex:134 #, elixir-format +#: lib/graphql/resolvers/comment.ex:134 msgid "You are not allowed to delete a comment if not connected" msgstr "Вы не можете удалить комментарий при отсутствии подключения" -#: 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 "Вы не можете удалить токен ленты при отсутствии подключения" -#: lib/graphql/resolvers/comment.ex:93 #, elixir-format +#: lib/graphql/resolvers/comment.ex:93 msgid "You are not allowed to update a comment if not connected" msgstr "Вы не можете обновить комментарий при отсутствии подключения" +#, elixir-format #: lib/graphql/resolvers/participant.ex:181 #: lib/graphql/resolvers/participant.ex:214 -#, elixir-format msgid "You can't leave event because you're the only event creator participant" msgstr "" "Вы не можете покинуть мероприятие, потому что являетесь единственным " "участником, создавшим его" -#: lib/graphql/resolvers/member.ex:159 #, elixir-format +#: lib/graphql/resolvers/member.ex:159 msgid "You can't set yourself to a lower member role for this group because you are the only administrator" msgstr "" "Вы не можете назначить себе роль с меньшими правами для этой группы, потому " "что вы единственный администратор" -#: lib/graphql/resolvers/comment.ex:122 #, elixir-format +#: lib/graphql/resolvers/comment.ex:122 msgid "You cannot delete this comment" msgstr "Вы не можете удалить этот комментарий" -#: lib/graphql/resolvers/event.ex:403 #, elixir-format +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "Вы не можете удалить это мероприятие" -#: lib/graphql/resolvers/member.ex:88 #, elixir-format +#: lib/graphql/resolvers/member.ex:88 msgid "You cannot invite to this group" msgstr "Вы не можете приглашать в эту группу" -#: 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 "У вас нет прав на удаление этого токена" -#: lib/graphql/resolvers/admin.ex:54 #, elixir-format +#: lib/graphql/resolvers/admin.ex:54 msgid "You need to be logged-in and a moderator to list action logs" msgstr "" "Для доступа к журналу активности вы должны войти в систему и иметь права " "модератора" -#: lib/graphql/resolvers/report.ex:28 #, elixir-format +#: lib/graphql/resolvers/report.ex:28 msgid "You need to be logged-in and a moderator to list reports" msgstr "" "Для доступа к списку отчётов вы должны войти в систему и иметь права " "модератора" -#: lib/graphql/resolvers/report.ex:107 #, elixir-format +#: lib/graphql/resolvers/report.ex:107 msgid "You need to be logged-in and a moderator to update a report" msgstr "" "Для обновления отчёта вы должны войти в систему и иметь права модератора" -#: lib/graphql/resolvers/report.ex:45 #, elixir-format +#: lib/graphql/resolvers/report.ex:45 msgid "You need to be logged-in and a moderator to view a report" msgstr "Для просмотра отчёта вы должны войти в систему и иметь права модератора" -#: lib/graphql/resolvers/admin.ex:246 #, elixir-format +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" "Для доступа в админку вы должны войти в систему и иметь права администратора" -#: lib/graphql/resolvers/admin.ex:230 #, elixir-format +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" "Для доступа к панели со статистикой вы должны войти в систему и иметь права " "администратора" -#: lib/graphql/resolvers/admin.ex:272 #, elixir-format +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" "Для сохранения настроек в админке вы должны войти в систему и иметь права " "администратора" -#: lib/graphql/resolvers/discussion.ex:90 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "Вам необходимо войти в систему, чтобы получить доступ к обсуждениям" -#: lib/graphql/resolvers/resource.ex:96 #, elixir-format +#: lib/graphql/resolvers/resource.ex:96 msgid "You need to be logged-in to access resources" msgstr "Вам необходимо войти в систему, чтобы получить доступ к ресурсам" -#: lib/graphql/resolvers/event.ex:313 #, elixir-format +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность создавать мероприятия" -#: lib/graphql/resolvers/post.ex:141 #, elixir-format +#: lib/graphql/resolvers/post.ex:141 msgid "You need to be logged-in to create posts" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность создавать публикации" -#: lib/graphql/resolvers/report.ex:79 #, elixir-format +#: lib/graphql/resolvers/report.ex:79 msgid "You need to be logged-in to create reports" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность создавать отчёты" -#: lib/graphql/resolvers/resource.ex:137 #, elixir-format +#: lib/graphql/resolvers/resource.ex:137 msgid "You need to be logged-in to create resources" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность создавать ресурсы" -#: lib/graphql/resolvers/event.ex:412 #, elixir-format +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность удалить мероприятие" -#: lib/graphql/resolvers/post.ex:214 #, elixir-format +#: lib/graphql/resolvers/post.ex:214 msgid "You need to be logged-in to delete posts" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность удалять публикации" -#: lib/graphql/resolvers/resource.ex:204 #, elixir-format +#: lib/graphql/resolvers/resource.ex:204 msgid "You need to be logged-in to delete resources" msgstr "Вам необходимо войти в систему, чтобы иметь возможность удалять ресурсы" -#: lib/graphql/resolvers/participant.ex:108 #, elixir-format +#: lib/graphql/resolvers/participant.ex:108 msgid "You need to be logged-in to join an event" msgstr "Вам необходимо войти в систему, чтобы присоединиться к мероприятию" -#: lib/graphql/resolvers/participant.ex:225 #, elixir-format +#: lib/graphql/resolvers/participant.ex:225 msgid "You need to be logged-in to leave an event" msgstr "Вам необходимо войти в систему, чтобы покинуть мероприятие" -#: lib/graphql/resolvers/event.ex:369 #, elixir-format +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "Вам необходимо войти в систему, чтобы обновить мероприятие" -#: lib/graphql/resolvers/post.ex:180 #, elixir-format +#: lib/graphql/resolvers/post.ex:180 msgid "You need to be logged-in to update posts" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность обновлять публикации" -#: lib/graphql/resolvers/resource.ex:174 #, elixir-format +#: lib/graphql/resolvers/resource.ex:174 msgid "You need to be logged-in to update resources" msgstr "" "Вам необходимо войти в систему, чтобы иметь возможность обновлять ресурсы" -#: lib/graphql/resolvers/resource.ex:233 #, elixir-format +#: lib/graphql/resolvers/resource.ex:233 msgid "You need to be logged-in to view a resource preview" msgstr "" "Вам необходимо войти в систему, чтобы получить доступ к предпросмотру " "ресурсов" -#: lib/graphql/resolvers/resource.ex:129 #, elixir-format +#: lib/graphql/resolvers/resource.ex:129 msgid "Parent resource doesn't belong to this group" msgstr "Родительский ресурс не принадлежит к этой группе" -#: lib/mobilizon/users/user.ex:114 #, elixir-format +#: lib/mobilizon/users/user.ex:114 msgid "The chosen password is too short." msgstr "Выбран слишком короткий пароль." -#: lib/mobilizon/users/user.ex:142 #, elixir-format +#: lib/mobilizon/users/user.ex:142 msgid "The registration token is already in use, this looks like an issue on our side." msgstr "" "Регистрационный токен уже используется. Похоже, что проблема с нашей стороны." -#: lib/mobilizon/users/user.ex:108 #, elixir-format +#: lib/mobilizon/users/user.ex:108 msgid "This email is already used." msgstr "Этот электронный адрес уже используется." -#: lib/graphql/error.ex:97 #, elixir-format +#: lib/graphql/error.ex:97 msgid "Post not found" msgstr "Пост не найден" -#: lib/graphql/error.ex:84 #, elixir-format +#: lib/graphql/error.ex:84 msgid "Invalid arguments passed" msgstr "Переданы неверные аргументы" -#: lib/graphql/error.ex:90 #, elixir-format +#: lib/graphql/error.ex:90 msgid "Invalid credentials" msgstr "Неверные учётные данные" -#: lib/graphql/error.ex:88 #, elixir-format +#: lib/graphql/error.ex:88 msgid "Reset your password to login" msgstr "Сбросьте пароль для входа в систему" -#: lib/graphql/error.ex:95 lib/graphql/error.ex:100 #, elixir-format +#: lib/graphql/error.ex:95 lib/graphql/error.ex:100 msgid "Resource not found" msgstr "Ресурс не найден" -#: lib/graphql/error.ex:102 #, elixir-format +#: lib/graphql/error.ex:102 msgid "Something went wrong" msgstr "Что-то пошло не так" -#: lib/graphql/error.ex:83 #, elixir-format +#: lib/graphql/error.ex:83 msgid "Unknown Resource" msgstr "Неизвестный ресурс" -#: lib/graphql/error.ex:93 #, elixir-format +#: lib/graphql/error.ex:93 msgid "You don't have permission to do this" msgstr "У вас недостаточно для этого прав" -#: lib/graphql/error.ex:85 #, elixir-format +#: lib/graphql/error.ex:85 msgid "You need to be logged in" msgstr "Вам необходимо войти в систему" -#: lib/graphql/resolvers/member.ex:116 #, elixir-format +#: lib/graphql/resolvers/member.ex:116 msgid "You can't accept this invitation with this profile." msgstr "Вы не можете принять это приглашение из этого профиля." -#: lib/graphql/resolvers/member.ex:137 #, elixir-format +#: lib/graphql/resolvers/member.ex:137 msgid "You can't reject this invitation with this profile." msgstr "Вы не можете отклонить это приглашение из этого профиля." -#: lib/graphql/resolvers/media.ex:71 #, elixir-format +#: lib/graphql/resolvers/media.ex:71 msgid "File doesn't have an allowed MIME type." msgstr "Файл не имеет разрешенного MIME-типа." -#: lib/graphql/resolvers/group.ex:213 #, elixir-format +#: lib/graphql/resolvers/group.ex:213 msgid "Profile is not administrator for the group" msgstr "Профиль не является администратором группы" -#: lib/graphql/resolvers/event.ex:358 #, elixir-format +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "Вы не можете редактировать это мероприятие." -#: lib/graphql/resolvers/event.ex:361 #, elixir-format +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "Вы не можете назначить это мероприятие этому профилю." -#: lib/graphql/resolvers/member.ex:140 #, elixir-format +#: lib/graphql/resolvers/member.ex:140 msgid "This invitation doesn't exist." msgstr "Такого приглашения не существует." -#: lib/graphql/resolvers/member.ex:185 #, elixir-format +#: lib/graphql/resolvers/member.ex:185 msgid "This member already has been rejected." msgstr "Этот участник уже был отклонён." -#: lib/graphql/resolvers/member.ex:192 #, elixir-format +#: lib/graphql/resolvers/member.ex:192 msgid "You don't have the right to remove this member." msgstr "У вас нет прав на удаление этого участника." -#: lib/mobilizon/actors/actor.ex:349 #, elixir-format +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "Это имя пользователя уже занято." -#: lib/graphql/resolvers/discussion.ex:87 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" "Вы должны предоставить либо ID, либо короткое имя для доступа к обсуждению" -#: lib/graphql/resolvers/event.ex:308 #, elixir-format +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "Профиль организатора не принадлежит пользователю" -#: lib/graphql/resolvers/participant.ex:93 #, elixir-format +#: lib/graphql/resolvers/participant.ex:93 msgid "Profile ID provided is not the anonymous profile one" msgstr "Указанный ID профиля не является анонимным" +#, elixir-format #: lib/graphql/resolvers/group.ex:159 lib/graphql/resolvers/group.ex:201 #: lib/graphql/resolvers/person.ex:148 lib/graphql/resolvers/person.ex:182 lib/graphql/resolvers/person.ex:304 -#, elixir-format msgid "The provided picture is too heavy" msgstr "Предоставленное изображение слишком большое" -#: lib/web/views/utils.ex:34 #, elixir-format +#: lib/web/views/utils.ex:34 msgid "Index file not found. You need to recompile the front-end." msgstr "Индексный файл не найден. Вам нужно пересобрать фронтенд." -#: lib/graphql/resolvers/resource.ex:126 #, elixir-format +#: lib/graphql/resolvers/resource.ex:126 msgid "Error while creating resource" msgstr "При создании ресурса произошла ошибка" -#: lib/graphql/resolvers/user.ex:483 #, elixir-format +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "Неверный токен активации" -#: lib/graphql/resolvers/resource.ex:223 #, elixir-format +#: lib/graphql/resolvers/resource.ex:223 msgid "Unable to fetch resource details from this URL." msgstr "Невозможно получить сведения о ресурсе по этому URL-адресу." -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 -#: lib/graphql/resolvers/participant.ex:328 #, elixir-format +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "Указанный профиль модератора не имеет доступа к этому событию" -#: lib/graphql/resolvers/event.ex:294 #, elixir-format +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" "В профиле организатора нет разрешения на создание мероприятия от имени этой " "группы" -#: lib/graphql/resolvers/event.ex:349 #, elixir-format +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" "У этого профиля нет разрешения на обновление мероприятия от имени этой группы" -#: lib/graphql/resolvers/user.ex:163 #, elixir-format +#: lib/graphql/resolvers/user.ex:163 msgid "Your e-mail has been denied registration or uses a disallowed e-mail provider" msgstr "" "Ваш адрес электронной почты был отклонен при регистрации или используется " "запрещенная служба электронной почты" -#: lib/graphql/resolvers/comment.ex:129 #, elixir-format +#: lib/graphql/resolvers/comment.ex:129 msgid "Comment not found" msgstr "Мероприятие не найдено" -#: lib/graphql/resolvers/discussion.ex:129 #, elixir-format +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "При создании ресурса произошла ошибка" -#: lib/graphql/resolvers/user.ex:606 #, elixir-format +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "При обновлении отчёта произошла ошибка" -#: lib/graphql/resolvers/person.ex:307 #, elixir-format +#: lib/graphql/resolvers/person.ex:307 msgid "Error while uploading pictures" msgstr "При обновлении отчёта произошла ошибка" -#: lib/graphql/resolvers/participant.ex:190 #, elixir-format +#: lib/graphql/resolvers/participant.ex:190 msgid "Failed to leave the event" msgstr "Не удалось покинуть мероприятие" -#: lib/graphql/resolvers/group.ex:209 #, elixir-format +#: lib/graphql/resolvers/group.ex:209 msgid "Failed to update the group" msgstr "Не удалось обновить группу" -#: lib/graphql/resolvers/user.ex:447 #, elixir-format +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "Не удалось обновить электронную почту пользователя" -#: lib/graphql/resolvers/user.ex:479 #, elixir-format +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "Невозможно проверить пользователя" -#: lib/graphql/resolvers/participant.ex:146 #, elixir-format +#: lib/graphql/resolvers/participant.ex:146 msgid "The anonymous actor ID is invalid" msgstr "ID анонимного актора недействителен" -#: lib/graphql/resolvers/resource.ex:162 #, elixir-format +#: lib/graphql/resolvers/resource.ex:162 msgid "Unknown error while updating resource" msgstr "Неизвестная ошибка при обновлении ресурса" -#: lib/graphql/resolvers/comment.ex:84 #, elixir-format +#: lib/graphql/resolvers/comment.ex:84 msgid "You are not the comment creator" msgstr "Вы не автор комментария" -#: lib/graphql/resolvers/user.ex:404 #, elixir-format +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "Вы не можете изменить свой пароль." -#: lib/graphql/resolvers/participant.ex:321 #, elixir-format +#: lib/graphql/resolvers/participant.ex:321 msgid "Format not supported" msgstr "Формат не поддерживается" -#: lib/graphql/resolvers/participant.ex:305 #, elixir-format +#: lib/graphql/resolvers/participant.ex:305 msgid "A dependency needed to export to %{format} is not installed" msgstr "Зависимость, необходимая для экспорта в %{format}, не установлена" -#: lib/graphql/resolvers/participant.ex:313 #, elixir-format +#: lib/graphql/resolvers/participant.ex:313 msgid "An error occured while saving export" msgstr "Произошла ошибка при сохранении экспорта" -#: lib/web/controllers/export_controller.ex:30 #, elixir-format +#: lib/web/controllers/export_controller.ex:30 msgid "Export to format %{format} is not enabled on this instance" msgstr "Экспорт в формат %{format} не включен на этом узле" -#: lib/graphql/resolvers/group.ex:165 #, elixir-format +#: lib/graphql/resolvers/group.ex:165 msgid "Only admins can create groups" msgstr "Только администраторы могут создавать группы" -#: lib/graphql/resolvers/event.ex:301 #, elixir-format +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "Только группы могут создавать мероприятия" -#: lib/graphql/resolvers/event.ex:287 #, elixir-format +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "Неизвестная ошибка при обновлении ресурса" -#: lib/graphql/resolvers/user.ex:460 #, elixir-format +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "Пользователь не может изменить адрес электронной почты" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "Не найдено человека с именем пользователя %{username}" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "Вам необходимо войти в систему, чтобы присоединиться к группе" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "Вам необходимо войти в систему, чтобы присоединиться к группе" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "Вам необходимо войти в систему, чтобы обновить группу" diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po index c1c890848..b394535d4 100644 --- a/priv/gettext/sv/LC_MESSAGES/default.po +++ b/priv/gettext/sv/LC_MESSAGES/default.po @@ -33,7 +33,7 @@ msgid "Activate my account" msgstr "Aktivera mitt konto" #, elixir-format -#: lib/web/templates/email/email.html.heex:123 +#: lib/web/templates/email/email.html.heex:120 #: lib/web/templates/email/email.text.eex:9 msgid "Ask the community on Framacolibri" msgstr "Fråga människorna på Framacolibri" @@ -50,7 +50,7 @@ msgid "Event" msgstr "Evenemang" #, elixir-format -#: lib/web/email/user.ex:48 +#: lib/web/email/user.ex:49 msgid "Instructions to reset your password on %{instance}" msgstr "Instruktioner för att återställa ditt lösenord på %{instance}" @@ -144,7 +144,7 @@ msgid "You requested a new password for your account on %{instance}." msgstr "Du har bett om ett nytt lösenord för ditt konto på %{instance}." #, elixir-format -#: lib/web/templates/email/email.html.heex:91 +#: lib/web/templates/email/email.html.heex:88 msgid "Warning" msgstr "Varning" @@ -326,17 +326,17 @@ msgid "What information do we collect?" msgstr "" #, elixir-format -#: lib/web/email/user.ex:175 +#: lib/web/email/user.ex:178 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon på %{instance}: bekräfta din e-postadress" #, elixir-format -#: lib/web/email/user.ex:155 +#: lib/web/email/user.ex:157 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon på %{instance}: e-postadressen har ändrats" #, elixir-format -#: lib/web/email/notification.ex:49 +#: lib/web/email/notification.ex:51 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Ett evenemang har planerats idag" @@ -362,7 +362,7 @@ msgid "Come along!" msgstr "Häng på!" #, elixir-format -#: lib/web/email/notification.ex:24 +#: lib/web/email/notification.ex:25 msgid "Don't forget to go to %{title}" msgstr "Glöm inte att gå till %{title}" @@ -389,19 +389,19 @@ msgid "View the event on: %{link}" msgstr "Visa det uppdaterade evenemanget på %{link}" #, elixir-format -#: lib/web/email/group.ex:31 +#: lib/web/email/member.ex:31 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "%{inviter} har bjudit in dig till gruppen %{group}" #, elixir-format -#: lib/web/email/notification.ex:75 +#: lib/web/email/notification.ex:78 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "" msgstr[1] "" #, elixir-format -#: lib/web/email/notification.ex:98 +#: lib/web/email/notification.ex:102 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "" @@ -737,7 +737,7 @@ msgid "Hi there! You just registered to join this event: « %{title} ». Please msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:120 +#: lib/web/templates/email/email.html.heex:117 #: lib/web/templates/email/email.text.eex:8 msgid "Need help? Is something not working as expected?" msgstr "Behöver du hjälp? Är det något som krånglar?" @@ -798,7 +798,7 @@ msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} är en Mobilizon-server." #, elixir-format -#: lib/web/templates/email/email.html.heex:148 +#: lib/web/templates/email/email.html.heex:152 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} är en Mobilizon-server." @@ -880,7 +880,7 @@ msgstr "" "länken ovan, och klicka på deltagande-knappen." #, elixir-format -#: lib/web/templates/email/email.html.heex:149 +#: lib/web/templates/email/email.html.heex:153 #: lib/web/templates/email/email.text.eex:11 msgid "Learn more about Mobilizon here!" msgstr "Läs mer om Mobilizon här!" @@ -1038,7 +1038,7 @@ msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:95 +#: lib/web/templates/email/email.html.heex:92 msgid "Please do not use it for real purposes." msgstr "" @@ -1055,7 +1055,7 @@ msgid "So long, and thanks for the fish!" msgstr "" #, elixir-format -#: lib/web/email/group.ex:61 +#: lib/web/email/member.ex:61 msgid "You have been removed from group %{group}" msgstr "" @@ -1098,7 +1098,7 @@ msgid "Your instance's moderation team has decided to suspend %{group_name} (%{g msgstr "" #, elixir-format -#: lib/web/email/group.ex:95 +#: lib/web/email/group.ex:87 msgid "The group %{group} has been suspended on %{instance}" msgstr "" @@ -1348,15 +1348,15 @@ msgid "We're sorry, but something went wrong on our end." msgstr "" #, elixir-format -#: lib/web/templates/email/email.html.heex:94 +#: lib/web/templates/email/email.html.heex:91 #: lib/web/templates/email/email.text.eex:4 msgid "This is a demonstration site to test Mobilizon." msgstr "" "Detta är en webbplats för att visa upp och testa beta-versionen av Mobilizon." #, elixir-format -#: lib/service/metadata/actor.ex:67 lib/service/metadata/actor.ex:75 -#: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 +#: lib/service/metadata/actor.ex:91 lib/service/metadata/actor.ex:99 +#: lib/service/metadata/instance.ex:56 lib/service/metadata/instance.ex:62 msgid "%{name}'s feed" msgstr "" @@ -1437,7 +1437,7 @@ msgstr "Din förfrågan om att få delta i evenemanget %{title} har godkännts" #. File name template for exported list of participants. Should NOT contain spaces. Make sure the output is going to be something standardized that is acceptable as a file name on most systems. #, elixir-format #: lib/service/export/participants/csv.ex:73 -#: lib/service/export/participants/ods.ex:79 lib/service/export/participants/pdf.ex:93 +#: lib/service/export/participants/ods.ex:77 lib/service/export/participants/pdf.ex:91 msgid "%{event}_participants" msgstr "" @@ -1519,6 +1519,7 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date.html.heex:6 #: lib/web/templates/email/date/event_tz_date_range.html.heex:7 lib/web/templates/email/date/event_tz_date_range.html.heex:12 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "🌐 %{timezone} %{offset}" msgstr "" @@ -1545,16 +1546,18 @@ msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:10 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "From the %{start} to the %{end}" msgstr "" #, elixir-format -#: lib/web/templates/email/participation/card/_metadata.html.heex:68 +#: lib/web/templates/email/participation/card/_metadata.html.heex:70 msgid "Manage your participation" msgstr "" #, elixir-format #: lib/web/templates/email/date/event_tz_date_range.html.heex:5 +#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 msgid "On %{date} from %{start_time} to %{end_time}" msgstr "" @@ -1565,5 +1568,72 @@ msgstr "" #, elixir-format #: lib/web/templates/email/participation/card/_metadata.html.heex:50 +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 msgid "Online event" msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.html.heex:13 +msgid "%{group} scheduled a new event" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/event_group_follower_notification.text.eex:1 +msgid "%{group} scheduled a new event:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:2 +msgid "Address:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_metadata.text.eex:1 +msgid "Date:" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:5 +msgid "Details:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email.html.heex:147 +msgid "Manage your notification settings" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Manage your participation:" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:3 +#: lib/web/templates/email/participation/card/_title.text.eex:3 +msgid "Organizer: %{organizer}" +msgstr "" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.html.heex:92 +msgid "Participate" +msgstr "Ditt deltagande har godkänts" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/card/_metadata.text.eex:4 +msgid "Participate:" +msgstr "Ditt deltagande har godkänts" + +#, elixir-format, fuzzy +#: lib/web/templates/email/participation/event_card.text.eex:7 +msgid "Read more : %{url}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/participation/card/_title.text.eex:1 +msgid "Title: %{title}" +msgstr "" + +#, elixir-format +#: lib/web/email/group.ex:42 +msgid "📅 Just scheduled by %{group}: %{event}" +msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/errors.po b/priv/gettext/sv/LC_MESSAGES/errors.po index 1d4cb7b94..047661b07 100644 --- a/priv/gettext/sv/LC_MESSAGES/errors.po +++ b/priv/gettext/sv/LC_MESSAGES/errors.po @@ -110,13 +110,14 @@ msgid "Current profile is not an administrator of the selected group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:592 +#: lib/graphql/resolvers/user.ex:593 msgid "Error while saving user settings" msgstr "Ett fel uppstod när användarinställningarna skulle sparas" #, elixir-format #: lib/graphql/error.ex:99 lib/graphql/resolvers/group.ex:242 -#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/member.ex:79 +#: lib/graphql/resolvers/group.ex:274 lib/graphql/resolvers/group.ex:311 lib/graphql/resolvers/group.ex:342 +#: lib/graphql/resolvers/group.ex:391 lib/graphql/resolvers/member.ex:79 msgid "Group not found" msgstr "Gruppen kunde inte hittas" @@ -154,6 +155,7 @@ msgstr "" #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:32 lib/graphql/resolvers/participant.ex:210 lib/graphql/resolvers/person.ex:236 #: lib/graphql/resolvers/person.ex:353 lib/graphql/resolvers/person.ex:380 lib/graphql/resolvers/person.ex:397 +#: lib/graphql/resolvers/person.ex:425 lib/graphql/resolvers/person.ex:440 msgid "Profile is not owned by authenticated user" msgstr "" @@ -163,33 +165,33 @@ msgid "Registrations are not open" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:407 +#: lib/graphql/resolvers/user.ex:408 msgid "The current password is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:450 +#: lib/graphql/resolvers/user.ex:451 msgid "The new email doesn't seem to be valid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:453 +#: lib/graphql/resolvers/user.ex:454 msgid "The new email must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:410 +#: lib/graphql/resolvers/user.ex:411 msgid "The new password must be different" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:457 lib/graphql/resolvers/user.ex:519 -#: lib/graphql/resolvers/user.ex:522 +#: lib/graphql/resolvers/user.ex:458 lib/graphql/resolvers/user.ex:520 +#: lib/graphql/resolvers/user.ex:523 msgid "The password provided is invalid" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:414 +#: lib/graphql/resolvers/user.ex:415 msgid "The password you have chosen is too short. Please make sure your password contains at least 6 characters." msgstr "" @@ -209,12 +211,12 @@ msgid "Unable to validate user" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:500 +#: lib/graphql/resolvers/user.ex:501 msgid "User already disabled" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:567 +#: lib/graphql/resolvers/user.ex:568 msgid "User requested is not logged-in" msgstr "" @@ -239,12 +241,12 @@ msgid "You may not list groups unless moderator." msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:465 +#: lib/graphql/resolvers/user.ex:466 msgid "You need to be logged-in to change your email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:422 +#: lib/graphql/resolvers/user.ex:423 msgid "You need to be logged-in to change your password" msgstr "" @@ -254,7 +256,7 @@ msgid "You need to be logged-in to delete a group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:527 +#: lib/graphql/resolvers/user.ex:528 msgid "You need to be logged-in to delete your account" msgstr "" @@ -350,7 +352,7 @@ msgid "Comment is already deleted" msgstr "" #, elixir-format -#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:75 +#: lib/graphql/error.ex:101 lib/graphql/resolvers/discussion.ex:69 msgid "Discussion not found" msgstr "" @@ -370,8 +372,8 @@ msgid "Event id not found" msgstr "" #, elixir-format -#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:355 -#: lib/graphql/resolvers/event.ex:407 +#: lib/graphql/error.ex:98 lib/graphql/resolvers/event.ex:360 +#: lib/graphql/resolvers/event.ex:412 msgid "Event not found" msgstr "" @@ -388,7 +390,7 @@ msgid "Internal Error" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:225 +#: lib/graphql/resolvers/discussion.ex:219 msgid "No discussion with ID %{id}" msgstr "" @@ -500,7 +502,7 @@ msgid "Token is not a valid UUID" msgstr "" #, elixir-format -#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:415 +#: lib/graphql/error.ex:96 lib/graphql/resolvers/person.ex:458 msgid "User not found" msgstr "" @@ -566,7 +568,7 @@ msgid "You cannot delete this comment" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:403 +#: lib/graphql/resolvers/event.ex:408 msgid "You cannot delete this event" msgstr "" @@ -601,22 +603,22 @@ msgid "You need to be logged-in and a moderator to view a report" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:246 +#: lib/graphql/resolvers/admin.ex:255 msgid "You need to be logged-in and an administrator to access admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:230 +#: lib/graphql/resolvers/admin.ex:239 msgid "You need to be logged-in and an administrator to access dashboard statistics" msgstr "" #, elixir-format -#: lib/graphql/resolvers/admin.ex:272 +#: lib/graphql/resolvers/admin.ex:281 msgid "You need to be logged-in and an administrator to save admin settings" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:90 +#: lib/graphql/resolvers/discussion.ex:84 msgid "You need to be logged-in to access discussions" msgstr "" @@ -626,7 +628,7 @@ msgid "You need to be logged-in to access resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:313 +#: lib/graphql/resolvers/event.ex:318 msgid "You need to be logged-in to create events" msgstr "" @@ -646,7 +648,7 @@ msgid "You need to be logged-in to create resources" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:412 +#: lib/graphql/resolvers/event.ex:417 msgid "You need to be logged-in to delete an event" msgstr "" @@ -671,7 +673,7 @@ msgid "You need to be logged-in to leave an event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:369 +#: lib/graphql/resolvers/event.ex:374 msgid "You need to be logged-in to update an event" msgstr "" @@ -776,12 +778,12 @@ msgid "Profile is not administrator for the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:358 +#: lib/graphql/resolvers/event.ex:363 msgid "You can't edit this event." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:361 +#: lib/graphql/resolvers/event.ex:366 msgid "You can't attribute this event to this profile." msgstr "" @@ -801,17 +803,17 @@ msgid "You don't have the right to remove this member." msgstr "" #, elixir-format -#: lib/mobilizon/actors/actor.ex:349 +#: lib/mobilizon/actors/actor.ex:350 msgid "This username is already taken." msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:87 +#: lib/graphql/resolvers/discussion.ex:81 msgid "You must provide either an ID or a slug to access a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:308 +#: lib/graphql/resolvers/event.ex:313 msgid "Organizer profile is not owned by the user" msgstr "" @@ -837,7 +839,7 @@ msgid "Error while creating resource" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:483 +#: lib/graphql/resolvers/user.ex:484 msgid "Invalid activation token" msgstr "" @@ -847,18 +849,18 @@ msgid "Unable to fetch resource details from this URL." msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:173 lib/graphql/resolvers/participant.ex:253 +#: lib/graphql/resolvers/event.ex:164 lib/graphql/resolvers/participant.ex:253 #: lib/graphql/resolvers/participant.ex:328 msgid "Provided profile doesn't have moderator permissions on this event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:294 +#: lib/graphql/resolvers/event.ex:299 msgid "Organizer profile doesn't have permission to create an event on behalf of this group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:349 +#: lib/graphql/resolvers/event.ex:354 msgid "This profile doesn't have permission to update an event on behalf of this group" msgstr "" @@ -873,12 +875,12 @@ msgid "Comment not found" msgstr "" #, elixir-format -#: lib/graphql/resolvers/discussion.ex:129 +#: lib/graphql/resolvers/discussion.ex:123 msgid "Error while creating a discussion" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:606 +#: lib/graphql/resolvers/user.ex:607 msgid "Error while updating locale" msgstr "" @@ -898,12 +900,12 @@ msgid "Failed to update the group" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:447 +#: lib/graphql/resolvers/user.ex:448 msgid "Failed to update user email" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:479 +#: lib/graphql/resolvers/user.ex:480 msgid "Failed to validate user email" msgstr "" @@ -923,7 +925,7 @@ msgid "You are not the comment creator" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:404 +#: lib/graphql/resolvers/user.ex:405 msgid "You cannot change your password." msgstr "" @@ -953,16 +955,56 @@ msgid "Only admins can create groups" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:301 +#: lib/graphql/resolvers/event.ex:306 msgid "Only groups can create events" msgstr "" #, elixir-format -#: lib/graphql/resolvers/event.ex:287 +#: lib/graphql/resolvers/event.ex:292 msgid "Unknown error while creating event" msgstr "" #, elixir-format -#: lib/graphql/resolvers/user.ex:460 +#: lib/graphql/resolvers/user.ex:461 msgid "User cannot change email" msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:364 +msgid "Follow does not match your account" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:368 +msgid "Follow not found" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/user.ex:327 +msgid "Profile with username %{username} not found" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/user.ex:322 +msgid "This profile does not belong to you" +msgstr "" + +#, elixir-format +#: lib/graphql/resolvers/group.ex:338 +msgid "You are already following this group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:347 +msgid "You need to be logged-in to follow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:396 +msgid "You need to be logged-in to unfollow a group" +msgstr "" + +#, elixir-format, fuzzy +#: lib/graphql/resolvers/group.ex:373 +msgid "You need to be logged-in to update a group follow" +msgstr "" From 89bbafb44c5f85889989ae823cdf983a82acc222 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:37:24 +0100 Subject: [PATCH 02/13] Don't digest release files Signed-off-by: Thomas Citharel --- .gitlab-ci.yml | 5 +++-- docker/production/Dockerfile | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 69c865a65..0c8f9abea 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -242,8 +242,9 @@ package-app: script: &release-script - mix local.hex --force - mix local.rebar --force - - mix deps.get - - mix phx.digest + - mix deps.get --only-prod + - mix compile + - mix phx.digest.clean --all && \ - mix release --path release/mobilizon - cd release/mobilizon && ln -s lib/mobilizon-*/priv priv && cd ../../ - du -sh release/ diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile index c9ec24183..2a55efba9 100644 --- a/docker/production/Dockerfile +++ b/docker/production/Dockerfile @@ -30,7 +30,7 @@ COPY rel ./rel COPY support ./support COPY --from=assets ./priv/static ./priv/static -RUN mix phx.digest \ +RUN mix phx.digest.clean --all \ && mix release # Finally setup the app From ccce64d6cb92c72af40aaaec6d729873f19a67ad Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:38:42 +0100 Subject: [PATCH 03/13] Update arm/arm64 packages as well Signed-off-by: Thomas Citharel --- .gitlab-ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0c8f9abea..ca01f5b38 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -313,21 +313,27 @@ multi-arch-release: when: never - if: '$CI_PIPELINE_SOURCE == "schedule"' - if: $CI_COMMIT_TAG + timeout: 3h # Release release-upload: stage: upload image: framasoft/yakforms-assets-deploy:latest + variables: + APP_ASSET: "${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME}_${ARCH}.tar.gz" rules: *tag-rules script: - eval `ssh-agent -s` - ssh-add <(echo "${DEPLOYEMENT_KEY}" | base64 --decode -i) - - echo "put -r mobilizon_*.tar.gz" | sftp -o "VerifyHostKeyDNS yes" ${DEPLOYEMENT_USER}@${DEPLOYEMENT_HOST}:public/ + - echo "put -r ${APP_ASSET}" | sftp -o "VerifyHostKeyDNS yes" ${DEPLOYEMENT_USER}@${DEPLOYEMENT_HOST}:public/ artifacts: expire_in: 1 day when: on_success paths: - mobilizon_*.tar.gz + parallel: + matrix: + - ARCH: ["amd64", "arm", "arm64"] release-create: stage: deploy From 41bddebda2523e6bc690097feee0d0e9320b0a6c Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:39:03 +0100 Subject: [PATCH 04/13] Add ru and ar to dev locales Signed-off-by: Thomas Citharel --- config/config.exs | 3 ++- config/dev.exs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config/config.exs b/config/config.exs index 9d0aabaf8..62ec966ec 100644 --- a/config/config.exs +++ b/config/config.exs @@ -196,7 +196,8 @@ config :mobilizon, :cldr, locales: [ "fr", "en", - "ru" + "ru", + "ar" ] config :mobilizon, :activitypub, diff --git a/config/dev.exs b/config/dev.exs index 0484b983e..d7a28a2ac 100644 --- a/config/dev.exs +++ b/config/dev.exs @@ -58,7 +58,7 @@ config :logger, :console, format: "[$level] $message\n", level: :debug config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geospatial.Nominatim -config :mobilizon, Mobilizon.Web.Gettext, allowed_locales: ["fr", "en", "ar"] +config :mobilizon, Mobilizon.Web.Gettext, allowed_locales: ["fr", "en", "ru", "ar"] # Set a higher stacktrace during development. Avoid configuring such # in production as building large stacktraces may be expensive. From 6822cfabf1f8c82a5beb43d6d1a56d26207511dd Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:39:22 +0100 Subject: [PATCH 05/13] Add a default name for media if none is specified in AP Signed-off-by: Thomas Citharel --- lib/federation/activity_stream/converter/media.ex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/federation/activity_stream/converter/media.ex b/lib/federation/activity_stream/converter/media.ex index 6b63caabe..42ff958fd 100644 --- a/lib/federation/activity_stream/converter/media.ex +++ b/lib/federation/activity_stream/converter/media.ex @@ -66,6 +66,8 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Media do end @spec upload_media(String.t(), String.t()) :: {:ok, map()} | {:error, atom() | String.t()} + defp upload_media(media_url, ""), do: upload_media(media_url, "unknown") + defp upload_media(media_url, name) do case Tesla.get(media_url, opts: @http_options) do {:ok, %{body: body}} -> From aaf9c2c931b4f6427e4148d1cc23879583ca7acb Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:39:47 +0100 Subject: [PATCH 06/13] Refactor fetching medias from event attachements Use first attachement Document if none has the Banner name Signed-off-by: Thomas Citharel --- .../activity_stream/converter/utils.ex | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/federation/activity_stream/converter/utils.ex b/lib/federation/activity_stream/converter/utils.ex index ebc572c2e..e71ffebb9 100644 --- a/lib/federation/activity_stream/converter/utils.ex +++ b/lib/federation/activity_stream/converter/utils.ex @@ -196,7 +196,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do def process_pictures(object, actor_id) do attachements = Map.get(object, "attachment", []) - media_attachements = get_medias(attachements) + {banner, media_attachements} = get_medias(attachements) media_attachements_map = media_attachements @@ -220,9 +220,9 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do |> Map.new() picture_id = - case get_banner_picture(attachements) do - banner when is_map(banner) -> - case MediaConverter.find_or_create_media(banner, actor_id) do + case banner do + banner_map when is_map(banner_map) -> + case MediaConverter.find_or_create_media(banner_map, actor_id) do {:error, _err} -> nil @@ -247,12 +247,23 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Utils do defp replace_media_url_in_body(body, {old_url, new_url}), do: String.replace(body, old_url, new_url) + @spec get_medias(list(map())) :: {map(), list(map())} defp get_medias(attachments) do - Enum.filter(attachments, &(&1["type"] == "Document" && &1["name"] != @banner_picture_name)) + banner = get_banner_picture(attachments) + {banner, Enum.filter(attachments, &(&1["type"] == "Document" && &1["url"] != banner["url"]))} end + @spec get_banner_picture(list(map())) :: map() defp get_banner_picture(attachments) do - Enum.find(attachments, &(&1["type"] == "Document" && &1["name"] == @banner_picture_name)) + # Prefer media with + media_with_picture_name = + Enum.find(attachments, &(&1["type"] == "Document" && &1["name"] == @banner_picture_name)) + + case media_with_picture_name do + # If no banner found, use the first media + nil -> Enum.find(attachments, &(&1["type"] == "Document")) + media_with_picture_name -> media_with_picture_name + end end @spec get_address(map | binary | nil) :: Address.t() | nil From afff01d6d2f6d2e7b99534b7519729add6a61359 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:40:26 +0100 Subject: [PATCH 07/13] Set an event UUID if default is nil Signed-off-by: Thomas Citharel --- lib/mobilizon/events/event.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mobilizon/events/event.ex b/lib/mobilizon/events/event.ex index 6c726cb72..3b09c3c36 100644 --- a/lib/mobilizon/events/event.ex +++ b/lib/mobilizon/events/event.ex @@ -133,7 +133,7 @@ defmodule Mobilizon.Events.Event do @doc false @spec changeset(t | Ecto.Schema.t(), map) :: Changeset.t() def changeset(%__MODULE__{} = event, attrs) do - attrs = Map.update(attrs, :uuid, Ecto.UUID.generate(), & &1) + attrs = Map.update(attrs, :uuid, Ecto.UUID.generate(), &(&1 || Ecto.UUID.generate())) attrs = Map.update(attrs, :url, Routes.page_url(Endpoint, :event, attrs.uuid), & &1) event From c15123e5ea5eb8116a8cde62b692a0bcd011fa2d Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:41:01 +0100 Subject: [PATCH 08/13] Add tests for Gancio compatibility Signed-off-by: Thomas Citharel --- .../activity_pub/transmogrifier_test.exs | 37 ++++++++++++++++ test/fixtures/gancio-event-activity.json | 42 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 test/fixtures/gancio-event-activity.json diff --git a/test/federation/activity_pub/transmogrifier_test.exs b/test/federation/activity_pub/transmogrifier_test.exs index 841b54f97..8e2267544 100644 --- a/test/federation/activity_pub/transmogrifier_test.exs +++ b/test/federation/activity_pub/transmogrifier_test.exs @@ -79,6 +79,43 @@ defmodule Mobilizon.Federation.ActivityPub.TransmogrifierTest do end end + test "it works for incoming events from Gancio" do + data = File.read!("test/fixtures/gancio-event-activity.json") |> Jason.decode!() + + {:ok, %Activity{data: data, local: false}, %Event{} = event} = + Transmogrifier.handle_incoming(data) + + assert data["id"] == "https://demo.gancio.org/federation/m/1/activity" + + assert data["to"] == ["https://www.w3.org/ns/activitystreams#Public"] + + # assert data["cc"] == [nil] + + assert data["actor"] == "https://demo.gancio.org/federation/u/gancio" + + object = data["object"] + + assert object["id"] == + "https://demo.gancio.org/federation/m/1" + + assert object["to"] == ["https://www.w3.org/ns/activitystreams#Public"] + + assert object["cc"] == [] + + assert object["actor"] == "https://demo.gancio.org/federation/u/gancio" + assert object["location"]["name"] == "Colosseo" + assert object["attributedTo"] == "https://demo.gancio.org/federation/u/gancio" + + assert event.title == "Demo event" + assert event.begins_on == ~U[2021-07-14 15:30:57Z] + assert event.ends_on == ~U[2021-07-14 16:30:57Z] + assert event.picture.file.content_type == "image/jpeg" + assert event.picture.file.name == "unknown.jpg" + assert length(event.tags) == 1 + assert hd(event.tags).title == "test" + assert event.physical_address.description == "Colosseo" + end + test "it works for incoming events for local groups" do %Actor{url: group_url, id: group_id} = group = insert(:group) diff --git a/test/fixtures/gancio-event-activity.json b/test/fixtures/gancio-event-activity.json new file mode 100644 index 000000000..e7a02e7ec --- /dev/null +++ b/test/fixtures/gancio-event-activity.json @@ -0,0 +1,42 @@ +{ + "id": "https://demo.gancio.org/federation/m/1#create", + "type": "Create", + "to": ["https://www.w3.org/ns/activitystreams#Public"], + "cc": ["https://demo.gancio.org/federation/u/gancio/followers"], + "published": "2021-07-01T22:33:36Z", + "actor": "https://demo.gancio.org/federation/u/gancio", + "object": { + "id": "https://demo.gancio.org/federation/m/1", + "name": "Demo event", + "url": "https://demo.gancio.org/event/demo-event", + "type": "Event", + "startTime": "2021-07-14T17:30:57+02:00", + "endTime": "2021-07-14T18:30:57+02:00", + "location": { + "name": "Colosseo" + }, + "attachment": [ + { + "type": "Document", + "mediaType": "image/jpeg", + "url": "https://demo.gancio.org/media/7215892e7326a9b326b6bcad5b57642e.jpg", + "name": "", + "blurHash": null, + "focalPoint": [0, 0] + } + ], + "tag": [ + { + "type": "Hashtag", + "name": "#test", + "href": "/tags/test" + } + ], + "published": "2021-07-01T22:33:36Z", + "attributedTo": "https://demo.gancio.org/federation/u/gancio", + "to": ["https://www.w3.org/ns/activitystreams#Public"], + "cc": ["https://demo.gancio.org/federation/u/gancio/followers"], + "content": "\n 📍 Colosseo\n 📅 Wednesday, 14 July (17:30)\n\n \n ", + "summary": "\n 📍 Colosseo\n 📅 Wednesday, 14 July (17:30)\n\n \n " + } +} From 8250d34597b795c606719cf4cdd018dd12b52211 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 16:41:41 +0100 Subject: [PATCH 09/13] Debug log the output of an Create Event error Signed-off-by: Thomas Citharel --- lib/federation/activity_pub/transmogrifier.ex | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/federation/activity_pub/transmogrifier.ex b/lib/federation/activity_pub/transmogrifier.ex index e0c28c5d2..41c863d08 100644 --- a/lib/federation/activity_pub/transmogrifier.ex +++ b/lib/federation/activity_pub/transmogrifier.ex @@ -114,8 +114,12 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do Actions.Create.create(:event, object_data, false) do {:ok, activity, event} else - {:existing_event, %Event{} = event} -> {:ok, nil, event} - _ -> :error + {:existing_event, %Event{} = event} -> + {:ok, nil, event} + + err -> + Logger.debug(inspect(err)) + :error end end From 38a3ffc19fc0b7293d53a318d40280397d4ce296 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 20:31:29 +0100 Subject: [PATCH 10/13] Send event creation and event update notifications in a background task The event update notification is made unique so that repeated changes only trigger one notificate every 30 minutes Signed-off-by: Thomas Citharel --- lib/federation/activity_pub/types/events.ex | 14 ++-- lib/mobilizon/events/events.ex | 67 ++++++++++++++++--- lib/mobilizon/events/utils.ex | 18 +++++ .../event_delayed_notification_worker.ex | 51 ++++++++++++++ lib/web/email/event.ex | 11 +-- .../templates/email/event_updated.text.eex | 26 +++---- test/graphql/resolvers/event_test.exs | 48 +++++++++++-- test/mobilizon/events/utils_test.exs | 19 ++++++ ...event_delayed_notification_worker_test.exs | 43 ++++++++++++ 9 files changed, 254 insertions(+), 43 deletions(-) create mode 100644 lib/mobilizon/events/utils.ex create mode 100644 lib/service/workers/event_delayed_notification_worker.ex create mode 100644 test/mobilizon/events/utils_test.exs create mode 100644 test/service/workers/event_delayed_notification_worker_test.exs diff --git a/lib/federation/activity_pub/types/events.ex b/lib/federation/activity_pub/types/events.ex index 33bd03668..ed817af80 100644 --- a/lib/federation/activity_pub/types/events.ex +++ b/lib/federation/activity_pub/types/events.ex @@ -14,9 +14,10 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Events do alias Mobilizon.Service.Formatter.HTML alias Mobilizon.Service.LanguageDetection alias Mobilizon.Service.Notifications.Scheduler + alias Mobilizon.Service.Workers.EventDelayedNotificationWorker alias Mobilizon.Share alias Mobilizon.Tombstone - alias Mobilizon.Web.Email.Group + import Mobilizon.Events.Utils, only: [calculate_notification_time: 1] import Mobilizon.Federation.ActivityPub.Utils, only: [make_create_data: 2, make_update_data: 2] require Logger @@ -29,10 +30,15 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Events do args = prepare_args_for_event(args) case EventsManager.create_event(args) do - {:ok, %Event{} = event} -> + {:ok, %Event{uuid: event_uuid, begins_on: begins_on} = event} -> EventActivity.insert_activity(event, subject: "event_created") - # TODO make this async - Group.notify_of_new_event(event) + + %{action: :notify_of_new_event, event_uuid: event_uuid} + |> EventDelayedNotificationWorker.new( + scheduled_at: calculate_notification_time(begins_on) + ) + |> Oban.insert() + event_as_data = Convertible.model_to_as(event) audience = Audience.get_audience(event) create_data = make_create_data(event_as_data, Map.merge(audience, additional)) diff --git a/lib/mobilizon/events/events.ex b/lib/mobilizon/events/events.ex index 52e89a275..f349ff42f 100644 --- a/lib/mobilizon/events/events.ex +++ b/lib/mobilizon/events/events.ex @@ -10,6 +10,7 @@ defmodule Mobilizon.Events do import Mobilizon.Service.Guards import Mobilizon.Storage.Ecto + import Mobilizon.Events.Utils, only: [calculate_notification_time: 1] alias Ecto.{Changeset, Multi} @@ -18,6 +19,7 @@ defmodule Mobilizon.Events do alias Mobilizon.Events.{ Event, + EventOptions, EventParticipantStats, FeedToken, Participant, @@ -27,13 +29,12 @@ defmodule Mobilizon.Events do Track } - alias Mobilizon.Service.Workers + alias Mobilizon.Service.Workers.BuildSearch + alias Mobilizon.Service.Workers.EventDelayedNotificationWorker alias Mobilizon.Share alias Mobilizon.Storage.{Page, Repo} alias Mobilizon.Users.{Setting, User} - alias Mobilizon.Web.Email - defenum(EventVisibility, :event_visibility, [ :public, :unlisted, @@ -229,7 +230,7 @@ defmodule Mobilizon.Events do with {:ok, %{insert: %Event{} = event}} <- do_create_event(attrs), %Event{} = event <- Repo.preload(event, @event_preloads) do unless event.draft do - Workers.BuildSearch.enqueue(:insert_search_event, %{"event_id" => event.id}) + BuildSearch.enqueue(:insert_search_event, %{"event_id" => event.id}) end {:ok, event} @@ -303,19 +304,63 @@ defmodule Mobilizon.Events do %Event{} = new_event <- Repo.preload(new_event, @event_preloads, force: true) do Cachex.del(:ics, "event_#{new_event.uuid}") - Email.Event.calculate_event_diff_and_send_notifications( - old_event, - new_event, - changes - ) + unless new_event.draft do + %{ + action: :notify_of_event_update, + event_uuid: new_event.uuid, + old_event: old_event |> Map.from_struct() |> Map.take(Event.__schema__(:fields)), + changes: build_changes(changes) + } + |> EventDelayedNotificationWorker.new( + scheduled_at: calculate_notification_time(new_event.begins_on), + replace: [:scheduled_at, :args], + unique: [period: 1, keys: [:event_uuid, :action]] + ) + |> Oban.insert() - unless new_event.draft, - do: Workers.BuildSearch.enqueue(:update_search_event, %{"event_id" => new_event.id}) + BuildSearch.enqueue(:update_search_event, %{"event_id" => new_event.id}) + end {:ok, new_event} end end + @spec build_changes(map()) :: map() + defp build_changes(changes) do + changes + |> Map.take(Event.__schema__(:fields)) + |> maybe_add_address(changes) + |> maybe_add_options(changes) + end + + @spec maybe_add_address(map(), map()) :: map() + defp maybe_add_address(changes, %{physical_address: %Ecto.Changeset{} = changeset}), + do: + Map.put( + changes, + :physical_address, + changeset + |> Ecto.Changeset.apply_changes() + |> Map.from_struct() + |> Map.take(Address.__schema__(:fields)) + ) + + defp maybe_add_address(changes, _), do: Map.drop(changes, [:physical_address]) + + @spec maybe_add_options(map(), map()) :: map() + defp maybe_add_options(changes, %{options: %Ecto.Changeset{} = changeset}), + do: + Map.put( + changes, + :options, + changeset + |> Ecto.Changeset.apply_changes() + |> Map.from_struct() + |> Map.take(EventOptions.__schema__(:fields)) + ) + + defp maybe_add_options(changes, _), do: Map.drop(changes, [:options]) + @doc """ Deletes an event. """ diff --git a/lib/mobilizon/events/utils.ex b/lib/mobilizon/events/utils.ex new file mode 100644 index 000000000..7ac37cfae --- /dev/null +++ b/lib/mobilizon/events/utils.ex @@ -0,0 +1,18 @@ +defmodule Mobilizon.Events.Utils do + @moduledoc """ + Utils related to events + """ + + @spec calculate_notification_time(DateTime.t()) :: DateTime.t() + def calculate_notification_time(begins_on, options \\ []) do + now = Keyword.get(options, :now, DateTime.utc_now()) + notify_at = DateTime.add(now, 1800) + + # If the event begins in less than half an hour, send the notification right now + if DateTime.compare(notify_at, begins_on) == :lt do + notify_at + else + now + end + end +end diff --git a/lib/service/workers/event_delayed_notification_worker.ex b/lib/service/workers/event_delayed_notification_worker.ex new file mode 100644 index 000000000..a58a91af2 --- /dev/null +++ b/lib/service/workers/event_delayed_notification_worker.ex @@ -0,0 +1,51 @@ +defmodule Mobilizon.Service.Workers.EventDelayedNotificationWorker do + @moduledoc """ + Worker to send notifications about an event changes a while after they're performed + """ + + use Oban.Worker, unique: [period: :infinity, keys: [:event_uuid, :action]] + + alias Mobilizon.Events + alias Mobilizon.Events.Event + alias Mobilizon.Web.Email.Event, as: EventEmail + alias Mobilizon.Web.Email.Group + alias Oban.Job + + @impl Oban.Worker + def perform(%Job{args: %{"action" => "notify_of_new_event", "event_uuid" => event_uuid}}) do + case Events.get_event_by_uuid_with_preload(event_uuid) do + %Event{} = event -> + Group.notify_of_new_event(event) + + nil -> + # Event deleted inbetween, no worries, just ignore + :ok + end + end + + @impl Oban.Worker + def perform(%Job{ + args: %{ + "action" => "notify_of_event_update", + "event_uuid" => event_uuid, + "old_event" => old_event, + "changes" => changes + } + }) do + old_event = for {key, val} <- old_event, into: %{}, do: {String.to_existing_atom(key), val} + old_event = struct(Event, old_event) + + case Events.get_event_by_uuid_with_preload(event_uuid) do + %Event{draft: false} = new_event -> + EventEmail.calculate_event_diff_and_send_notifications( + old_event, + new_event, + changes + ) + + _ -> + # Event deleted inbetween, no worries, just ignore + :ok + end + end +end diff --git a/lib/web/email/event.ex b/lib/web/email/event.ex index 13a627d7c..551479299 100644 --- a/lib/web/email/event.ex +++ b/lib/web/email/event.ex @@ -26,6 +26,7 @@ defmodule Mobilizon.Web.Email.Event do Event.t(), Event.t(), MapSet.t(), + String.t(), String.t() ) :: Bamboo.Email.t() @@ -36,8 +37,8 @@ defmodule Mobilizon.Web.Email.Event do %Event{} = old_event, %Event{} = event, changes, - timezone \\ "Etc/UTC", - locale \\ "en" + timezone, + locale ) do Gettext.put_locale(locale) @@ -70,13 +71,15 @@ defmodule Mobilizon.Web.Email.Event do %Event{id: event_id} = event, changes ) do - important = MapSet.new(@important_changes) + important = @important_changes |> Enum.map(&to_string/1) |> MapSet.new() diff = changes |> Map.keys() |> MapSet.new() |> MapSet.intersection(important) + |> Enum.map(&String.to_existing_atom/1) + |> MapSet.new() if MapSet.size(diff) > 0 do Repo.transaction(fn -> @@ -178,7 +181,7 @@ defmodule Mobilizon.Web.Email.Event do locale ) do email - |> Email.Event.event_updated(participant, actor, old_event, event, diff, timezone, locale) + |> event_updated(participant, actor, old_event, event, diff, timezone, locale) |> Email.Mailer.send_email_later() end end diff --git a/lib/web/templates/email/event_updated.text.eex b/lib/web/templates/email/event_updated.text.eex index cf0733f35..8ac662667 100644 --- a/lib/web/templates/email/event_updated.text.eex +++ b/lib/web/templates/email/event_updated.text.eex @@ -1,22 +1,14 @@ <%= gettext "Event update!" %> == <%= gettext "There have been changes for %{title} so we'd thought we'd let you know.", title: @old_event.title %> -<%= if MapSet.member?(@changes, :status) do %> - <%= case @event.status do %> - <% :confirmed -> %> - <%= gettext "This event has been confirmed" %> - <% :tentative -> %> - <%= gettext "This event has yet to be confirmed: organizers will let you know if they do confirm it." %> - <% :cancelled -> %> - <%= gettext "This event has been cancelled by its organizers. Sorry!" %> - <% end %> -<% end %> -<%= if MapSet.member?(@changes, :title) do %> - <%= gettext "New title: %{title}", title: @event.title %> -<% end %> -<%= if MapSet.member?(@changes, :begins_on) do %><%= render("date/event_tz_date.text", event: @event, date: @event.begins_on, timezone: @timezone, locale: @locale) %> -<% end %> -<%= if MapSet.member?(@changes, :ends_on) && !is_nil(@event.ends_on) do %><%= render("date/event_tz_date.text", event: @event, date: @event.ends_on, timezone: @timezone, locale: @locale) %> -<% end %> +<%= if MapSet.member?(@changes, :status) do %><%= case @event.status do %><% :confirmed -> %><%= gettext "This event has been confirmed" %><% :tentative -> %> +<%= gettext "This event has yet to be confirmed: organizers will let you know if they do confirm it." %><% :cancelled -> %> +<%= gettext "This event has been cancelled by its organizers. Sorry!" %><% end %><% end %><%= if MapSet.member?(@changes, :title) do %> +<%= gettext "New title: %{title}", title: @event.title %><% end %><%= if MapSet.member?(@changes, :begins_on) do %> +<%= gettext "New start date:" %> <%= render("date/event_tz_date.text", event: @event, date: @event.begins_on, timezone: @timezone, locale: @locale) %><% end %><%= if MapSet.member?(@changes, :ends_on) && !is_nil(@event.ends_on) do %> +<%= gettext "New end date:" %> <%= render("date/event_tz_date.text", event: @event, date: @event.ends_on, timezone: @timezone, locale: @locale) %><% end %><%= if MapSet.member?(@changes, :physical_address) do %> +<%= gettext "New location:" %> <%= Mobilizon.Addresses.Address.representation(@event.physical_address) %><% end %> + <%= gettext "Visit the updated event page: %{link}", link: Routes.page_url(Mobilizon.Web.Endpoint, :event, @event.uuid) %> + <%= ngettext "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button.", "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.", 1 %> diff --git a/test/graphql/resolvers/event_test.exs b/test/graphql/resolvers/event_test.exs index 9badb50e8..e56b32ded 100644 --- a/test/graphql/resolvers/event_test.exs +++ b/test/graphql/resolvers/event_test.exs @@ -1,6 +1,6 @@ defmodule Mobilizon.Web.Resolvers.EventTest do use Mobilizon.Web.ConnCase - use Bamboo.Test + use Bamboo.Test, shared: true use Oban.Testing, repo: Mobilizon.Storage.Repo import Mobilizon.Factory @@ -180,6 +180,8 @@ defmodule Mobilizon.Web.Resolvers.EventTest do end test "create_event/3 creates an event", %{conn: conn, actor: actor, user: user} do + begins_on = DateTime.utc_now() + res = conn |> auth_conn(user) @@ -188,18 +190,25 @@ defmodule Mobilizon.Web.Resolvers.EventTest do variables: %{ title: "come to my event", description: "it will be fine", - begins_on: "#{DateTime.utc_now()}", + begins_on: "#{DateTime.add(begins_on, 3600 * 24)}", organizer_actor_id: "#{actor.id}" } ) assert res["data"]["createEvent"]["title"] == "come to my event" - {id, ""} = res["data"]["createEvent"]["id"] |> Integer.parse() + id = String.to_integer(res["data"]["createEvent"]["id"]) + uuid = res["data"]["createEvent"]["uuid"] assert_enqueued( worker: Workers.BuildSearch, args: %{event_id: id, op: :insert_search_event} ) + + assert_enqueued( + worker: Workers.EventDelayedNotificationWorker, + args: %{event_uuid: uuid, action: :notify_of_new_event}, + scheduled_at: {DateTime.add(begins_on, 1800), delta: 5} + ) end test "create_event/3 creates an event and escapes title", %{ @@ -930,8 +939,10 @@ defmodule Mobilizon.Web.Resolvers.EventTest do ["ends_on cannot be set before begins_on"] end - test "update_event/3 updates an event", %{conn: conn, actor: actor, user: user} do - event = insert(:event, organizer_actor: actor) + test "updates an event", %{conn: conn, actor: actor, user: user} do + %Event{uuid: event_uuid, title: event_title} = + event = insert(:event, organizer_actor: actor) + creator = insert(:participant, event: event, actor: actor, role: :creator) participant_user = insert(:user) participant_actor = insert(:actor, user: participant_user) @@ -1005,6 +1016,25 @@ defmodule Mobilizon.Web.Resolvers.EventTest do args: %{event_id: event_id_int, op: :update_search_event} ) + assert [ + %{ + args: %{ + "event_uuid" => ^event_uuid, + "action" => "notify_of_event_update", + "old_event" => %{ + "title" => ^event_title + }, + "changes" => %{ + "description" => "description updated", + "status" => "tentative", + "title" => "my event updated" + } + } + } + ] = all_enqueued(worker: Workers.EventDelayedNotificationWorker) + + Oban.drain_queue(queue: :default, with_scheduled: true) + {:ok, new_event} = Mobilizon.Events.get_event_with_preload(event.id) assert_delivered_email( @@ -1014,7 +1044,9 @@ defmodule Mobilizon.Web.Resolvers.EventTest do actor, event, new_event, - MapSet.new([:title, :begins_on, :ends_on, :status, :physical_address]) + MapSet.new([:title, :begins_on, :ends_on, :status, :physical_address]), + "Etc/UTC", + "en" ) ) @@ -1025,7 +1057,9 @@ defmodule Mobilizon.Web.Resolvers.EventTest do participant_actor, event, new_event, - MapSet.new([:title, :begins_on, :ends_on, :status, :physical_address]) + MapSet.new([:title, :begins_on, :ends_on, :status, :physical_address]), + "Etc/UTC", + "en" ) ) end diff --git a/test/mobilizon/events/utils_test.exs b/test/mobilizon/events/utils_test.exs new file mode 100644 index 000000000..a992994c5 --- /dev/null +++ b/test/mobilizon/events/utils_test.exs @@ -0,0 +1,19 @@ +defmodule Mobilizon.Events.UtilsTest do + use Mobilizon.DataCase, async: true + + alias Mobilizon.Events.Utils + + @now ~U[2021-11-19T18:17:00Z] + + describe "calculate_notification_time" do + test "when the event begins in less than 30 minutes" do + begins_on = ~U[2021-11-19T18:27:00Z] + assert @now == Utils.calculate_notification_time(begins_on, now: @now) + end + + test "when the event begins in more than 30 minutes" do + begins_on = ~U[2021-11-19T18:17:00Z] + assert begins_on == Utils.calculate_notification_time(begins_on, now: @now) + end + end +end diff --git a/test/service/workers/event_delayed_notification_worker_test.exs b/test/service/workers/event_delayed_notification_worker_test.exs new file mode 100644 index 000000000..b1bb1e2a0 --- /dev/null +++ b/test/service/workers/event_delayed_notification_worker_test.exs @@ -0,0 +1,43 @@ +defmodule Mobilizon.Service.Workers.EventDelayedNotificationWorkerTest do + @moduledoc """ + Test the event delayed notification worker + """ + + alias Mobilizon.Events.Event + alias Mobilizon.Service.Workers.EventDelayedNotificationWorker + alias Oban.Job + + use Mobilizon.DataCase + import Mobilizon.Factory + + test "Run notify of new event" do + group = insert(:group) + event = insert(:event, attributed_to: group) + + assert :ok == + EventDelayedNotificationWorker.perform(%Job{ + args: %{"action" => "notify_of_new_event", "event_uuid" => event.uuid} + }) + end + + test "Run notify of updates to event" do + group = insert(:group) + event = insert(:event, attributed_to: group) + old_event = %Event{event | title: "Previous title"} + + old_event = + for {key, val} <- Map.from_struct(old_event), into: %{}, do: {Atom.to_string(key), val} + + changes = %{"title" => "New title"} + + assert {:ok, :ok} == + EventDelayedNotificationWorker.perform(%Job{ + args: %{ + "action" => "notify_of_event_update", + "event_uuid" => event.uuid, + "old_event" => old_event, + "changes" => changes + } + }) + end +end From 9583804890b546489579f2c9ccc5d9093fd63e44 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 10 Nov 2021 20:39:44 +0100 Subject: [PATCH 11/13] Only show datetime tz toggle if offset is different Signed-off-by: Thomas Citharel --- js/src/components/Event/EventFullDate.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/js/src/components/Event/EventFullDate.vue b/js/src/components/Event/EventFullDate.vue index 33c1d6176..8708993ad 100644 --- a/js/src/components/Event/EventFullDate.vue +++ b/js/src/components/Event/EventFullDate.vue @@ -111,6 +111,7 @@