diff --git a/config/config.exs b/config/config.exs index 40685256f..3f8ad3454 100644 --- a/config/config.exs +++ b/config/config.exs @@ -265,7 +265,7 @@ config :mobilizon, :anonymous, config :mobilizon, Oban, repo: Mobilizon.Storage.Repo, log: false, - queues: [default: 10, search: 5, mailers: 10, background: 5, activity: 5], + queues: [default: 10, search: 5, mailers: 10, background: 5, activity: 5, notifications: 5], plugins: [ {Oban.Plugins.Cron, crontab: [ @@ -298,6 +298,12 @@ config :mobilizon, :external_resource_providers, %{ "https://docs.google.com/spreadsheets/" => :google_spreadsheets } +config :mobilizon, Mobilizon.Service.Notifier, + notifiers: [ + Mobilizon.Service.Notifier.Email, + Mobilizon.Service.Notifier.Push + ] + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{config_env()}.exs" diff --git a/js/src/components/Activity/GroupActivityItem.vue b/js/src/components/Activity/GroupActivityItem.vue index df90a8692..d54bf896a 100644 --- a/js/src/components/Activity/GroupActivityItem.vue +++ b/js/src/components/Activity/GroupActivityItem.vue @@ -8,7 +8,9 @@ slot="group" :to="{ name: RouteName.GROUP, - params: { preferredUsername: usernameWithDomain(activity.object) }, + params: { + preferredUsername: subjectParams.group_federated_username, + }, }" >{{ subjectParams.group_name }} diff --git a/js/src/components/Activity/MemberActivityItem.vue b/js/src/components/Activity/MemberActivityItem.vue index 1916a2ff9..b81f0bfd3 100644 --- a/js/src/components/Activity/MemberActivityItem.vue +++ b/js/src/components/Activity/MemberActivityItem.vue @@ -18,7 +18,7 @@ > {{ - subjectParams.member_preferred_username + subjectParams.member_actor_federated_username }} activity |> Map.update(:subject_params, %{}, &transform_params/1) - |> Map.put(:object, get_object(activity)) + |> Map.put(:object, ActivityService.object(activity)) end) {:ok, %Page{total: total, elements: elements}} @@ -45,43 +45,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Activity do {:error, :unauthenticated} end - defp get_object(%Activity{object_type: object_type, object_id: object_id}) do - get_object(object_type, object_id) - end - - defp get_object(_, nil), do: nil - - defp get_object(:event, event_id) do - case Events.get_event(event_id) do - {:ok, %Event{} = event} -> event - _ -> nil - end - end - - defp get_object(:post, post_id) do - Posts.get_post(post_id) - end - - defp get_object(:member, member_id) do - Actors.get_member(member_id) - end - - defp get_object(:resource, resource_id) do - Resources.get_resource(resource_id) - end - - defp get_object(:discussion, discussion_id) do - Discussions.get_discussion(discussion_id) - end - - defp get_object(:group, group_id) do - Actors.get_actor(group_id) - end - - defp get_object(:comment, comment_id) do - Discussions.get_comment(comment_id) - end - @spec transform_params(map()) :: list() defp transform_params(params) do Enum.map(params, fn {key, value} -> %{key: key, value: transform_value(value)} end) diff --git a/lib/mobilizon/activities/activities.ex b/lib/mobilizon/activities/activities.ex index 491a2f103..e38fbc15b 100644 --- a/lib/mobilizon/activities/activities.ex +++ b/lib/mobilizon/activities/activities.ex @@ -59,6 +59,8 @@ defmodule Mobilizon.Activities do defenum(Subject, @subjects) defenum(ObjectType, @object_type) + @activity_preloads [:author, :group] + @doc """ Returns the list of activities. @@ -153,6 +155,11 @@ defmodule Mobilizon.Activities do |> Repo.insert() end + @spec preload_activity(Activity.t()) :: Activity.t() + def preload_activity(%Activity{} = activity) do + Repo.preload(activity, @activity_preloads) + end + def object_types, do: @object_type def subjects, do: @subjects diff --git a/lib/service/activity/activity.ex b/lib/service/activity/activity.ex index 2632a01db..e62facd32 100644 --- a/lib/service/activity/activity.ex +++ b/lib/service/activity/activity.ex @@ -3,5 +3,50 @@ defmodule Mobilizon.Service.Activity do Behavior for Activity creators """ + alias Mobilizon.Activities.Activity + alias Mobilizon.Service.Activity.{Comment, Discussion, Event, Group, Member, Post, Resource} + @callback insert_activity(entity :: struct(), options :: map()) :: {:ok, Oban.Job.t()} + + @callback get_object(object_id :: String.t() | integer()) :: struct() + + @spec object(Activity.t()) :: struct() | nil + def object(%Activity{object_type: object_type, object_id: object_id}) do + do_get_object(object_type, object_id) + end + + @spec has_object?(Activity.t()) :: boolean() + def has_object?(%Activity{} = activity) do + !is_nil(object(activity)) + end + + defp do_get_object(_, nil), do: nil + + defp do_get_object(:event, event_id) do + Event.get_object(event_id) + end + + defp do_get_object(:post, post_id) do + Post.get_object(post_id) + end + + defp do_get_object(:member, member_id) do + Member.get_object(member_id) + end + + defp do_get_object(:resource, resource_id) do + Resource.get_object(resource_id) + end + + defp do_get_object(:discussion, discussion_id) do + Discussion.get_object(discussion_id) + end + + defp do_get_object(:group, group_id) do + Group.get_object(group_id) + end + + defp do_get_object(:comment, comment_id) do + Comment.get_object(comment_id) + end end diff --git a/lib/service/activity/comment.ex b/lib/service/activity/comment.ex index 0b3ebcd31..85c7a596c 100644 --- a/lib/service/activity/comment.ex +++ b/lib/service/activity/comment.ex @@ -2,7 +2,7 @@ defmodule Mobilizon.Service.Activity.Comment do @moduledoc """ Insert a comment activity """ - alias Mobilizon.{Actors, Events} + alias Mobilizon.{Actors, Discussions, Events} alias Mobilizon.Actors.Actor alias Mobilizon.Discussions.Comment alias Mobilizon.Events.Event @@ -48,4 +48,9 @@ defmodule Mobilizon.Service.Activity.Comment do end def insert_activity(_, _), do: {:ok, nil} + + @impl Activity + def get_object(comment_id) do + Discussions.get_comment(comment_id) + end end diff --git a/lib/service/activity/discussion.ex b/lib/service/activity/discussion.ex index 3b2c993cc..12de6bbd2 100644 --- a/lib/service/activity/discussion.ex +++ b/lib/service/activity/discussion.ex @@ -2,7 +2,7 @@ defmodule Mobilizon.Service.Activity.Discussion do @moduledoc """ Insert a discussion activity """ - alias Mobilizon.Actors + alias Mobilizon.{Actors, Discussions} alias Mobilizon.Discussions.Discussion alias Mobilizon.Service.Activity alias Mobilizon.Service.Workers.ActivityBuilder @@ -38,6 +38,11 @@ defmodule Mobilizon.Service.Activity.Discussion do def insert_activity(_, _), do: {:ok, nil} + @impl Activity + def get_object(discussion_id) do + Discussions.get_discussion(discussion_id) + end + @spec subject_params(Discussion.t(), String.t() | nil, Discussion.t() | nil) :: map() defp subject_params(%Discussion{} = discussion, "discussion_renamed", old_discussion) do discussion diff --git a/lib/service/activity/event.ex b/lib/service/activity/event.ex index 55b63d382..3b9492de3 100644 --- a/lib/service/activity/event.ex +++ b/lib/service/activity/event.ex @@ -2,7 +2,7 @@ defmodule Mobilizon.Service.Activity.Event do @moduledoc """ Insert an event activity """ - alias Mobilizon.Actors + alias Mobilizon.{Actors, Events} alias Mobilizon.Events.Event alias Mobilizon.Service.Activity alias Mobilizon.Service.Workers.ActivityBuilder @@ -36,4 +36,12 @@ defmodule Mobilizon.Service.Activity.Event do @impl Activity def insert_activity(_, _), do: {:ok, nil} + + @impl Activity + def get_object(event_id) do + case Events.get_event(event_id) do + {:ok, %Event{} = event} -> event + _ -> nil + end + end end diff --git a/lib/service/activity/group.ex b/lib/service/activity/group.ex index 3adfb191a..5a18a7c84 100644 --- a/lib/service/activity/group.ex +++ b/lib/service/activity/group.ex @@ -40,6 +40,11 @@ defmodule Mobilizon.Service.Activity.Group do def insert_activity(_, _), do: {:ok, nil} + @impl Activity + def get_object(group_id) do + Actors.get_actor(group_id) + end + @spec subject_params(Actor.t(), String.t() | nil, Actor.t() | nil) :: map() defp subject_params(%Actor{} = group, "group_updated", %Actor{} = old_group) do group @@ -67,7 +72,7 @@ defmodule Mobilizon.Service.Activity.Group do end defp subject_params( - %Actor{preferred_username: preferred_username, domain: domain, name: name}, + %Actor{preferred_username: preferred_username, domain: domain, name: name} = actor, _, _ ) do @@ -75,6 +80,7 @@ defmodule Mobilizon.Service.Activity.Group do group_preferred_username: preferred_username, group_name: name, group_domain: domain, + group_federated_username: Actor.preferred_username_and_domain(actor), group_changes: [] } end diff --git a/lib/service/activity/member.ex b/lib/service/activity/member.ex index 222557928..b0e7d997e 100644 --- a/lib/service/activity/member.ex +++ b/lib/service/activity/member.ex @@ -35,6 +35,11 @@ defmodule Mobilizon.Service.Activity.Member do def insert_activity(_, _), do: {:ok, nil} + @impl Activity + def get_object(member_id) do + Actors.get_member(member_id) + end + @spec get_author(Member.t(), Member.t() | nil) :: String.t() | integer() defp get_author(%Member{actor_id: actor_id}, options) do moderator = Keyword.get(options, :moderator) @@ -72,11 +77,12 @@ defmodule Mobilizon.Service.Activity.Member do if(is_nil(actor), do: subject_params, else: - Map.put( - subject_params, - :member_preferred_username, + subject_params + |> Map.put( + :member_actor_federated_username, Actor.preferred_username_and_domain(actor) ) + |> Map.put(:member_actor_name, actor.name) ) subject_params = diff --git a/lib/service/activity/posts.ex b/lib/service/activity/post.ex similarity index 90% rename from lib/service/activity/posts.ex rename to lib/service/activity/post.ex index bd8a4553b..f6211314f 100644 --- a/lib/service/activity/posts.ex +++ b/lib/service/activity/post.ex @@ -2,7 +2,7 @@ defmodule Mobilizon.Service.Activity.Post do @moduledoc """ Insert an post activity """ - alias Mobilizon.Actors + alias Mobilizon.{Actors, Posts} alias Mobilizon.Posts.Post alias Mobilizon.Service.Activity alias Mobilizon.Service.Workers.ActivityBuilder @@ -34,4 +34,9 @@ defmodule Mobilizon.Service.Activity.Post do end def insert_activity(_, _), do: {:ok, nil} + + @impl Activity + def get_object(post_id) do + Posts.get_post(post_id) + end end diff --git a/lib/service/activity/resource.ex b/lib/service/activity/resource.ex index 4eec72eb3..f308b2eec 100644 --- a/lib/service/activity/resource.ex +++ b/lib/service/activity/resource.ex @@ -2,7 +2,7 @@ defmodule Mobilizon.Service.Activity.Resource do @moduledoc """ Insert an resource activity """ - alias Mobilizon.Actors + alias Mobilizon.{Actors, Resources} alias Mobilizon.Resources.Resource alias Mobilizon.Service.Activity alias Mobilizon.Service.Workers.ActivityBuilder @@ -37,6 +37,11 @@ defmodule Mobilizon.Service.Activity.Resource do @impl Activity def insert_activity(_, _), do: {:ok, nil} + @impl Activity + def get_object(resource_id) do + Resources.get_resource(resource_id) + end + @spec subject_params(Resource.t(), String.t() | nil, Resource.t() | nil) :: map() defp subject_params(%Resource{} = resource, "resource_renamed", old_resource) do resource @@ -44,7 +49,7 @@ defmodule Mobilizon.Service.Activity.Resource do |> Map.put(:old_resource_title, old_resource.title) end - defp subject_params(%Resource{path: path, title: title}, _, _) do - %{resource_path: path, resource_title: title} + defp subject_params(%Resource{path: path, title: title, type: type, id: id}, _, _) do + %{resource_path: path, resource_title: title, is_folder: type == :folder, resource_uuid: id} end end diff --git a/lib/service/notifier/email.ex b/lib/service/notifier/email.ex new file mode 100644 index 000000000..a1f01a6fc --- /dev/null +++ b/lib/service/notifier/email.ex @@ -0,0 +1,31 @@ +defmodule Mobilizon.Service.Notifier.Email do + @moduledoc """ + Email notifier + """ + alias Mobilizon.Activities.Activity + alias Mobilizon.Config + alias Mobilizon.Service.Notifier + alias Mobilizon.Service.Notifier.Email + alias Mobilizon.Users.User + alias Mobilizon.Web.Email.Activity, as: EmailActivity + alias Mobilizon.Web.Email.Mailer + + @behaviour Notifier + + @impl Notifier + def ready? do + Config.get(__MODULE__, :enabled) + end + + @impl Notifier + def send(%User{} = user, %Activity{} = activity) do + Email.send(user, [activity]) + end + + @impl Notifier + def send(%User{email: email, locale: locale}, activities) when is_list(activities) do + email + |> EmailActivity.direct_activity(activities, locale) + |> Mailer.send_email() + end +end diff --git a/lib/service/notifier/notifier.ex b/lib/service/notifier/notifier.ex new file mode 100644 index 000000000..56b57d17d --- /dev/null +++ b/lib/service/notifier/notifier.ex @@ -0,0 +1,31 @@ +defmodule Mobilizon.Service.Notifier do + @moduledoc """ + Behaviour for notifiers + """ + alias Mobilizon.Activities.Activity + alias Mobilizon.Config + alias Mobilizon.Users.User + + @doc """ + Whether the notifier is enabled and configured + """ + @callback ready?() :: boolean() + + @doc """ + Sends one or multiple notifications from an activity + """ + @callback send(User.t(), Activity.t()) :: {:ok, any()} | {:error, String.t()} + + @callback send(User.t(), list(Activity.t())) :: {:ok, any()} | {:error, String.t()} + + def notify(%User{} = user, %Activity{} = activity, opts \\ []) do + Enum.each(providers(opts), & &1.send(user, activity)) + end + + @spec providers(Keyword.t()) :: list() + defp providers(opts) do + opts + |> Keyword.get(:notifiers, Config.get([__MODULE__, :notifiers])) + |> Enum.filter(& &1.ready?()) + end +end diff --git a/lib/service/notifier/push.ex b/lib/service/notifier/push.ex new file mode 100644 index 000000000..532aa4029 --- /dev/null +++ b/lib/service/notifier/push.ex @@ -0,0 +1,38 @@ +defmodule Mobilizon.Service.Notifier.Push do + @moduledoc """ + WebPush notifier + """ + alias Mobilizon.Activities.Activity + alias Mobilizon.Config + alias Mobilizon.Service.Notifier + alias Mobilizon.Service.Notifier.Push + alias Mobilizon.Users.User + + @behaviour Notifier + + @impl Notifier + def ready? do + Config.get(__MODULE__, :enabled) + end + + @impl Notifier + def send(%User{} = _user, %Activity{} = activity) do + # Get user's subscriptions + activity + |> payload() + + # |> WebPushEncryption.send_web_push() + end + + @impl Notifier + def send(%User{} = user, activities) when is_list(activities) do + Enum.each(activities, &Push.send(user, &1)) + end + + defp payload(%Activity{subject: subject}) do + %{ + title: subject + } + |> Jason.encode!() + end +end diff --git a/lib/service/rich_media/parsers/fallback.ex b/lib/service/rich_media/parsers/fallback.ex index 2a92113fe..252d16205 100644 --- a/lib/service/rich_media/parsers/fallback.ex +++ b/lib/service/rich_media/parsers/fallback.ex @@ -7,8 +7,12 @@ defmodule Mobilizon.Service.RichMedia.Parsers.Fallback do @moduledoc """ Module to parse fallback data in HTML pages (plain old title and meta description) """ + require Logger + @spec parse(String.t(), map()) :: {:ok, map()} | {:error, String.t()} def parse(html, data) do + Logger.debug("Running Fallback parser") + data = data |> maybe_put(html, :title) diff --git a/lib/service/workers/activity_builder.ex b/lib/service/workers/activity_builder.ex index 87049a832..cf8a4d1a3 100644 --- a/lib/service/workers/activity_builder.ex +++ b/lib/service/workers/activity_builder.ex @@ -3,15 +3,20 @@ defmodule Mobilizon.Service.Workers.ActivityBuilder do Worker to insert activity items in users feeds """ - alias Mobilizon.Activities + alias Mobilizon.{Activities, Actors, Users} alias Mobilizon.Activities.Activity + alias Mobilizon.Actors.Actor + alias Mobilizon.Service.Notifier + alias Mobilizon.Users.User use Mobilizon.Service.Workers.Helper, queue: "activity" @impl Oban.Worker def perform(%Job{args: args}) do - with {"build_activity", args} <- Map.pop(args, "op") do - build_activity(args) + with {"build_activity", args} <- Map.pop(args, "op"), + {:ok, %Activity{} = activity} <- build_activity(args), + preloaded_activity <- Activities.preload_activity(activity) do + notify_activity(preloaded_activity) end end @@ -19,4 +24,27 @@ defmodule Mobilizon.Service.Workers.ActivityBuilder do def build_activity(args) do Activities.create_activity(args) end + + @spec notify_activity(Activity.t()) :: :ok + def notify_activity(%Activity{} = activity) do + activity + |> users_to_notify() + |> Enum.each(&Notifier.notify(&1, activity)) + end + + @spec users_to_notify(Activity.t()) :: list(User.t()) + defp users_to_notify(%Activity{group: %Actor{} = group, author_id: author_id}) do + group + |> Actors.list_internal_actors_members_for_group([ + :creator, + :administrator, + :moderator, + :member + ]) + |> Enum.filter(&(&1.id != author_id)) + |> Enum.map(& &1.user_id) + |> Enum.filter(& &1) + |> Enum.uniq() + |> Enum.map(&Users.get_user!/1) + end end diff --git a/lib/service/workers/digest_notifier_worker.ex b/lib/service/workers/digest_notifier_worker.ex new file mode 100644 index 000000000..8a7d5ca94 --- /dev/null +++ b/lib/service/workers/digest_notifier_worker.ex @@ -0,0 +1,14 @@ +defmodule Mobilizon.Service.Workers.DigestNotifierWorker do + @moduledoc """ + Worker to send notifications + """ + + use Mobilizon.Service.Workers.Helper, queue: "notifications" + + @impl Oban.Worker + def perform(%Job{}) do + # Get last time activities were send + # List activities to send + # Send activites + end +end diff --git a/lib/web/email/activity.ex b/lib/web/email/activity.ex new file mode 100644 index 000000000..28ff45104 --- /dev/null +++ b/lib/web/email/activity.ex @@ -0,0 +1,35 @@ +defmodule Mobilizon.Web.Email.Activity do + @moduledoc """ + Handles emails sent about activity notifications. + """ + use Bamboo.Phoenix, view: Mobilizon.Web.EmailView + + import Bamboo.Phoenix + import Mobilizon.Web.Gettext + + alias Mobilizon.Config + alias Mobilizon.Web.{Email, Gettext} + + @spec direct_activity(String.t(), list(), String.t()) :: + Bamboo.Email.t() + def direct_activity( + email, + activities, + locale \\ "en" + ) do + Gettext.put_locale(locale) + + subject = + gettext( + "Activity notification for %{instance}", + instance: Config.instance_name() + ) + + Email.base_email(to: email, subject: subject) + |> assign(:locale, locale) + |> assign(:subject, subject) + |> assign(:activities, Enum.take(activities, 10)) + |> assign(:total_number_activities, length(activities)) + |> render(:email_direct_activity) + end +end diff --git a/lib/web/mobilizon_web.ex b/lib/web/mobilizon_web.ex index e962bad2e..fa691357b 100644 --- a/lib/web/mobilizon_web.ex +++ b/lib/web/mobilizon_web.ex @@ -30,6 +30,7 @@ defmodule Mobilizon.Web do quote do use Phoenix.View, root: "lib/web/templates", + pattern: "**/*", namespace: Mobilizon.Web # Import convenience functions from controllers diff --git a/lib/web/templates/email/activity/_comment_activity_item.html.eex b/lib/web/templates/email/activity/_comment_activity_item.html.eex new file mode 100644 index 000000000..9b779ea4c --- /dev/null +++ b/lib/web/templates/email/activity/_comment_activity_item.html.eex @@ -0,0 +1,70 @@ +<%= case @activity.subject do %> + <% :discussion_created -> %> + <%= + dgettext("activity", "%{profile} created the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]} + " + } + ) |> raw %> + <% :discussion_replied -> %> + <%= + dgettext("activity", "%{profile} replied to the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]} + " + } + ) |> raw %> + <% :discussion_renamed -> %> + <%= + dgettext("activity", "%{profile} renamed the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]} + " + } + ) |> raw %> + <% :discussion_archived -> %> + <%= + dgettext("activity", "%{profile} archived the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]} + " + } + ) |> raw %> + <% :discussion_deleted -> %> + <%= + dgettext("activity", "%{profile} deleted the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: "#{@activity.subject_params["discussion_title"]}" + } + ) |> raw %> +<% end %> \ No newline at end of file diff --git a/lib/web/templates/email/activity/_discussion_activity_item.html.eex b/lib/web/templates/email/activity/_discussion_activity_item.html.eex new file mode 100644 index 000000000..b678ae5ab --- /dev/null +++ b/lib/web/templates/email/activity/_discussion_activity_item.html.eex @@ -0,0 +1,66 @@ +<%= case @activity.subject do %> + <% :discussion_created -> %> + <%= + dgettext("activity", "%{profile} created the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]}" + } + ) |> raw %> + <% :discussion_replied -> %> + <%= + dgettext("activity", "%{profile} replied to the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]}" + } + ) |> raw %> + <% :discussion_renamed -> %> + <%= + dgettext("activity", "%{profile} renamed the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]}" + } + ) |> raw %> + <% :discussion_archived -> %> + <%= + dgettext("activity", "%{profile} archived the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: " URI.decode()}\"> + #{@activity.subject_params["discussion_title"]}" + } + ) |> raw %> + <% :discussion_deleted -> %> + <%= + dgettext("activity", "%{profile} deleted the discussion %{discussion}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + discussion: "#{@activity.subject_params["discussion_title"]}" + } + ) |> raw %> +<% end %> \ No newline at end of file diff --git a/lib/web/templates/email/activity/_event_activity_item.html.eex b/lib/web/templates/email/activity/_event_activity_item.html.eex new file mode 100644 index 000000000..074e9c4a6 --- /dev/null +++ b/lib/web/templates/email/activity/_event_activity_item.html.eex @@ -0,0 +1,72 @@ +<%= case @activity.subject do %> + <% :event_created -> %> + <%= + dgettext("activity", "The event %{event} was created by %{profile}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + event: " URI.decode()}\"> + #{@activity.subject_params["event_title"]} + " + } + ) |> raw %> + <% :event_updated -> %> + <%= + dgettext("activity", "The event %{event} was updated by %{profile}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + event: " URI.decode()}\"> + #{@activity.subject_params["event_title"]} + " + } + ) |> raw %> + <% :event_deleted -> %> + <%= + dgettext("activity", "The event %{event} was deleted by %{profile}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + event: "#{@activity.subject_params["event_title"]}" + } + ) |> raw %> + <% :comment_posted -> %> + <%= if @activity.subject_params["comment_reply_to"] do %> + <%= + dgettext("activity", "%{profile} replied to a comment on the event %{event}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + event: " URI.decode()}\"> + #{@activity.subject_params["event_title"]} + " + } + ) |> raw %> + <% else %> + <%= + dgettext("activity", "%{profile} posted a comment on the event %{event}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + event: " URI.decode()}\"> + #{@activity.subject_params["event_title"]} + " + } + ) |> raw %> + <% end %> +<% end %> \ No newline at end of file diff --git a/lib/web/templates/email/activity/_group_activity_item.html.eex b/lib/web/templates/email/activity/_group_activity_item.html.eex new file mode 100644 index 000000000..a17c7956f --- /dev/null +++ b/lib/web/templates/email/activity/_group_activity_item.html.eex @@ -0,0 +1,32 @@ +<%= case @activity.subject do %> + <% :group_created -> %> + <%= + dgettext("activity", "%{profile} created the group %{group}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + group: " URI.decode()}\"> + #{@activity.subject_params["group_name"]} + " + } + ) |> raw %> + <% :group_updated -> %> + <%= + dgettext("activity", "%{profile} updated the group %{group}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + group: " URI.decode()}\"> + #{@activity.subject_params["group_name"]} + " + } + ) |> raw %> +<% end %> \ No newline at end of file diff --git a/lib/web/templates/email/activity/_member_activity_item.html.eex b/lib/web/templates/email/activity/_member_activity_item.html.eex new file mode 100644 index 000000000..5aab43d7a --- /dev/null +++ b/lib/web/templates/email/activity/_member_activity_item.html.eex @@ -0,0 +1,69 @@ +<%= case @activity.subject do %> + <% :member_request -> %> + <%= + dgettext("activity", "%{member} requested to join the group.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + } + ) |> raw %> + <% :member_invited -> %> + <%= + dgettext("activity", "%{member} was invited by %{profile}.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + } + ) |> raw %> + <% :member_accepted_invitation -> %> + <%= + dgettext("activity", "%{member} accepted the invitation to join the group.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + } + ) |> raw %> + <% :member_rejected_invitation -> %> + <%= + dgettext("activity", "%{member} rejected the invitation to join the group.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + } + ) |> raw %> + <% :member_joined -> %> + <%= + dgettext("activity", "%{member} joined the group.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + } + ) |> raw %> + <% :member_added -> %> + <%= + dgettext("activity", "%{profile} added the member %{member}.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + } + ) |> raw %> + <% :member_updated -> %> + <%= + dgettext("activity", "%{profile} updated the member %{member}.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + } + ) |> raw %> + <% :member_removed -> %> + <%= + dgettext("activity", "%{profile} excluded member %{member}.", + %{ + member: "#{@activity.subject_params["member_actor_name"]}", + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + } + ) |> raw %> + <% :member_quit -> %> + <%= + dgettext("activity", "%{profile} quit the group.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + } + ) |> raw %> +<% end %> \ No newline at end of file diff --git a/lib/web/templates/email/activity/_post_activity_item.html.eex b/lib/web/templates/email/activity/_post_activity_item.html.eex new file mode 100644 index 000000000..856056be9 --- /dev/null +++ b/lib/web/templates/email/activity/_post_activity_item.html.eex @@ -0,0 +1,40 @@ +<%= case @activity.subject do %> + <% :post_created -> %> + <%= + dgettext("activity", "The post %{post} was created by %{profile}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + post: " URI.decode()}\"> + #{@activity.subject_params["post_title"]} + " + } + ) |> raw %> + <% :post_updated -> %> + <%= + dgettext("activity", "The post %{post} was updated by %{profile}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + post: " URI.decode()}\"> + #{@activity.subject_params["post_title"]} + " + } + ) |> raw %> + <% :post_deleted -> %> + <%= + dgettext("activity", "The post %{post} was deleted by %{profile}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + post: "#{@activity.subject_params["post_title"]}" + } + ) |> raw %> +<% end %> \ No newline at end of file diff --git a/lib/web/templates/email/activity/_resource_activity_item.html.eex b/lib/web/templates/email/activity/_resource_activity_item.html.eex new file mode 100644 index 000000000..ad5b42d5e --- /dev/null +++ b/lib/web/templates/email/activity/_resource_activity_item.html.eex @@ -0,0 +1,118 @@ +<%= case @activity.subject do %> + <% :resource_created -> %> + <%= if @activity.subject_params["is_folder"] do %> + <%= + dgettext("activity", "%{profile} created the folder %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: " URI.decode()}\"> + #{@activity.subject_params["resource_title"]} + " + } + ) |> raw %> + <% else %> + <%= + dgettext("activity", "%{profile} created the resource %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: " URI.decode()}\"> + #{@activity.subject_params["resource_title"]} + " + } + ) |> raw %> + <% end %> + <% :resource_renamed -> %> + <%= if @activity.subject_params["is_folder"] do %> + <%= + dgettext("activity", "%{profile} renamed the folder from %{old_resource_title} to %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: " URI.decode()}\"> + #{@activity.subject_params["resource_title"]} + ", + old_resource_title: "#{@activity.subject_params["old_resource_title"]}" + } + ) |> raw %> + <% else %> + <%= + dgettext("activity", "%{profile} renamed the resource from %{old_resource_title} to %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: " URI.decode()}\"> + #{@activity.subject_params["resource_title"]} + ", + old_resource_title: "#{@activity.subject_params["old_resource_title"]}" + } + ) |> raw %> + <% end %> + <% :resource_moved -> %> + <%= if @activity.subject_params["is_folder"] do %> + <%= + dgettext("activity", "%{profile} moved the folder %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: " URI.decode()}\"> + #{@activity.subject_params["resource_title"]} + " + } + ) |> raw %> + <% else %> + <%= + dgettext("activity", "%{profile} moved the resource %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: " URI.decode()}\"> + #{@activity.subject_params["resource_title"]} + " + } + ) |> raw %> + <% end %> + <% :resource_deleted -> %> + <%= if @activity.subject_params["is_folder"] do %> + <%= + dgettext("activity", "%{profile} deleted the folder %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: "#{@activity.subject_params["resource_title"]}" + } + ) |> raw %> + <% else %> + <%= + dgettext("activity", "%{profile} deleted the resource %{resource}.", + %{ + profile: "#{Mobilizon.Actors.Actor.display_name_and_username(@activity.author)}", + resource: "#{@activity.subject_params["resource_title"]}" + } + ) |> raw %> + <% end %> +<% end %> \ No newline at end of file diff --git a/lib/web/templates/email/email_direct_activity.html.eex b/lib/web/templates/email/email_direct_activity.html.eex new file mode 100644 index 000000000..6d72a754f --- /dev/null +++ b/lib/web/templates/email/email_direct_activity.html.eex @@ -0,0 +1,95 @@ + + + + + + + + +
+

+ <%= @subject %> +

+
+ + + + + + + + + + + + + + + + + + +
+

+ <%= if length(@activities) > 1 do %> + <%= gettext("There has been some activity!") %> + <% else %> + <%= gettext("There has been an activity!") %> + <% end %> +

+
+ + + + +
+
    + <%= for activity <- @activities do %> +
  • +

    + <%= case activity.type do %> + <% :discussion -> %> + <%= render("activity/_discussion_activity_item.html", activity: activity) %> + <% :event -> %> + <%= render("activity/_event_activity_item.html", activity: activity) %> + <% :group -> %> + <%= render("activity/_group_activity_item.html", activity: activity) %> + <% :member -> %> + <%= render("activity/_member_activity_item.html", activity: activity) %> + <% :post -> %> + <%= render("activity/_post_activity_item.html", activity: activity) %> + <% :resource -> %> + <%= render("activity/_resource_activity_item.html", activity: activity) %> + <% :comment -> %> + <%= render("activity/_comment_activity_item.html", activity: activity) %> + <% end %> +

    + <%= datetime_relative(activity.inserted_at, @locale) %> +
  • + <% end %> +
+
+
+

+ <%= gettext "Don't want to receive activity notifications? You may change frequency or disable them in your settings." %> +

+
+ + + diff --git a/lib/web/templates/email/email_direct_activity.text.eex b/lib/web/templates/email/email_direct_activity.text.eex new file mode 100644 index 000000000..7dc2791e7 --- /dev/null +++ b/lib/web/templates/email/email_direct_activity.text.eex @@ -0,0 +1,7 @@ +<%= @subject %> +== +<%= gettext("There has been an activity!") %> +<%= for activity <- @activities do %> + * <%= activity.type %> +<% end %> +<%= gettext "Don't want to receive activity notifications? You may change frequency or disable them in your settings." %> \ No newline at end of file diff --git a/lib/web/views/email_view.ex b/lib/web/views/email_view.ex index fb3d6141c..ed3a15dc7 100644 --- a/lib/web/views/email_view.ex +++ b/lib/web/views/email_view.ex @@ -1,6 +1,7 @@ defmodule Mobilizon.Web.EmailView do use Mobilizon.Web, :view + alias Cldr.DateTime.Relative import Mobilizon.Web.Gettext def datetime_to_string(%DateTime{} = datetime, locale \\ "en", format \\ :medium) do @@ -27,4 +28,12 @@ defmodule Mobilizon.Web.EmailView do datetime end end + + @spec datetime_relative(DateTime.t(), String.t()) :: String.t() + def datetime_relative(%DateTime{} = datetime, locale \\ "en") do + Relative.to_string!(datetime, Mobilizon.Cldr, + relative_to: DateTime.utc_now(), + locale: locale + ) + end end diff --git a/mix.exs b/mix.exs index 45f23f100..bb6b9f1a9 100644 --- a/mix.exs +++ b/mix.exs @@ -163,6 +163,7 @@ defmodule Mobilizon.Mixfile do {:sentry, "~> 8.0"}, {:html_entities, "~> 0.5"}, {:sweet_xml, "~> 0.6.6"}, + {:web_push_encryption, "~> 0.3"}, # Dev and test dependencies {:phoenix_live_reload, "~> 1.2", only: [:dev, :e2e]}, {:ex_machina, "~> 2.3", only: [:dev, :test]}, diff --git a/mix.lock b/mix.lock index 23c72fb10..5b862aaa8 100644 --- a/mix.lock +++ b/mix.lock @@ -138,5 +138,6 @@ "ueberauth_twitter": {:hex, :ueberauth_twitter, "0.4.0", "4b98620341bc91bac90459093bba093c650823b6e2df35b70255c493c17e9227", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:oauther, "~> 1.1", [hex: :oauther, repo: "hexpm", optional: false]}, {:ueberauth, "~> 0.6", [hex: :ueberauth, repo: "hexpm", optional: false]}], "hexpm", "fb29c9047ca263038c0c61f5a0ec8597e8564aba3f2b4cb02704b60205fd4468"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, "unsafe": {:hex, :unsafe, "1.0.1", "a27e1874f72ee49312e0a9ec2e0b27924214a05e3ddac90e91727bc76f8613d8", [:mix], [], "hexpm", "6c7729a2d214806450d29766abc2afaa7a2cbecf415be64f36a6691afebb50e5"}, + "web_push_encryption": {:hex, :web_push_encryption, "0.3.0", "598b5135e696fd1404dc8d0d7c0fa2c027244a4e5d5e5a98ba267f14fdeaabc8", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "f10bdd1afe527ede694749fb77a2f22f146a51b054c7fa541c9fd920fba7c875"}, "xml_builder": {:hex, :xml_builder, "2.1.4", "e60e21c0a39b9dd8dec1db5a2525c713f7fe4e85ed247caedf22a9bcdd2d5069", [:mix], [], "hexpm", "48188a4df8b9168ceb8318d128299bce064d272e18967349b2592347c434e677"}, } diff --git a/priv/gettext/activity.pot b/priv/gettext/activity.pot new file mode 100644 index 000000000..45ce73c44 --- /dev/null +++ b/priv/gettext/activity.pot @@ -0,0 +1,176 @@ +## This file is a PO Template file. +## +## "msgid"s here are often extracted from source code. +## Add new translations manually only if they're dynamic +## translations that can't be statically extracted. +## +## Run "mix gettext.extract" to bring this file up to +## date. Leave "msgstr"s empty as changing them here as no +## effect: edit them in PO (.po) files instead. +msgid "" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/ar/LC_MESSAGES/activity.po b/priv/gettext/ar/LC_MESSAGES/activity.po new file mode 100644 index 000000000..25f7bbf79 --- /dev/null +++ b/priv/gettext/ar/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: ar\n" +"Plural-Forms: nplurals=6\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/ar/LC_MESSAGES/default.po b/priv/gettext/ar/LC_MESSAGES/default.po index 276f18628..012c8a7d8 100644 --- a/priv/gettext/ar/LC_MESSAGES/default.po +++ b/priv/gettext/ar/LC_MESSAGES/default.po @@ -1435,3 +1435,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/activity.po b/priv/gettext/be/LC_MESSAGES/activity.po new file mode 100644 index 000000000..39b12f5b3 --- /dev/null +++ b/priv/gettext/be/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: be\n" +"Plural-Forms: nplurals=3\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/be/LC_MESSAGES/default.po b/priv/gettext/be/LC_MESSAGES/default.po index 32160bf85..7a1723d5e 100644 --- a/priv/gettext/be/LC_MESSAGES/default.po +++ b/priv/gettext/be/LC_MESSAGES/default.po @@ -1411,3 +1411,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/activity.po b/priv/gettext/ca/LC_MESSAGES/activity.po new file mode 100644 index 000000000..96dede5d5 --- /dev/null +++ b/priv/gettext/ca/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: ca\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/ca/LC_MESSAGES/default.po b/priv/gettext/ca/LC_MESSAGES/default.po index bc7947db6..37d8ae050 100644 --- a/priv/gettext/ca/LC_MESSAGES/default.po +++ b/priv/gettext/ca/LC_MESSAGES/default.po @@ -1660,3 +1660,25 @@ msgstr "Sembla ser que el servidor de Mobilizon està temporalment inaccessible. #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/activity.po b/priv/gettext/cs/LC_MESSAGES/activity.po new file mode 100644 index 000000000..979a77341 --- /dev/null +++ b/priv/gettext/cs/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: cs\n" +"Plural-Forms: nplurals=3\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/cs/LC_MESSAGES/default.po b/priv/gettext/cs/LC_MESSAGES/default.po index a6d7d033e..068ec6170 100644 --- a/priv/gettext/cs/LC_MESSAGES/default.po +++ b/priv/gettext/cs/LC_MESSAGES/default.po @@ -1411,3 +1411,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/activity.po b/priv/gettext/de/LC_MESSAGES/activity.po new file mode 100644 index 000000000..879cb010c --- /dev/null +++ b/priv/gettext/de/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: de\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index f16635ce8..a6b6cb26b 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -1775,3 +1775,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 25056224f..a77c8f9ba 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -1390,3 +1390,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/activity.po b/priv/gettext/en/LC_MESSAGES/activity.po new file mode 100644 index 000000000..61a8e231b --- /dev/null +++ b/priv/gettext/en/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: en\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 1f9fda354..540ce1df4 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -1443,3 +1443,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/activity.po b/priv/gettext/es/LC_MESSAGES/activity.po new file mode 100644 index 000000000..15f921531 --- /dev/null +++ b/priv/gettext/es/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: es\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po index 58210c716..9fc22279a 100644 --- a/priv/gettext/es/LC_MESSAGES/default.po +++ b/priv/gettext/es/LC_MESSAGES/default.po @@ -1731,3 +1731,25 @@ msgstr "" #, elixir-format msgid "Public feed for %{instance}" msgstr "Flujo público para %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/activity.po b/priv/gettext/fi/LC_MESSAGES/activity.po new file mode 100644 index 000000000..695675f86 --- /dev/null +++ b/priv/gettext/fi/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: fi\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po index 0746805ec..94bd637cc 100644 --- a/priv/gettext/fi/LC_MESSAGES/default.po +++ b/priv/gettext/fi/LC_MESSAGES/default.po @@ -1701,3 +1701,25 @@ msgstr "Mobilizon-palvelin näyttää olevan väliakaisesti alhaalla." #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/fr/LC_MESSAGES/activity.po b/priv/gettext/fr/LC_MESSAGES/activity.po new file mode 100644 index 000000000..f9e4efc85 --- /dev/null +++ b/priv/gettext/fr/LC_MESSAGES/activity.po @@ -0,0 +1,186 @@ +# # "msgid"s in this file come from POT (.pot) files. +# # +# # Do not add, change, or remove "msgid"s manually here as +# # they're tied to the ones in the corresponding POT file +# # (with the same domain). +# # +# # Use "mix gettext.extract --merge" or "mix gettext.merge" +# # to merge POT files into PO files. +msgid "" +msgstr "" +"Language: fr\n" +"Plural-Forms: nplurals=2;\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "%{member} a accepté l'invitation à rejoindre le groupe." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "%{member} a refusé l'invitation à rejoindre le groupe." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "%{member} a demandé à rejoindre le groupe." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "%{member} a été invité⋅e par %{profile}." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "%{profile} a ajouté le ou la membre %{membre}." + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "%{profile} a archivé la discussion %{discussion}." + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "%{profile} a créé la discussion %{discussion}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "%{profile} a créé le dossier %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "%{profile} a créé le groupe %{group}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "%{profile} a créé la resource %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "%{profile} a créé la discussion %{discussion}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "%{profile} a supprimé le dossier %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "%{profile} a supprimé la resource %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "%{profile} a exclu le ou la membre %{membre}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "%{profile} a déplacé le dossier %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "%{profile} a déplacé la ressource %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "%{profile} a quitté le groupe." + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "%{profile} a renommé la discussion %{discussion}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "%{profile} a renommé le dossier %{old_resource_title} en %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "%{profile} a renommé la resource %{old_resource_title} en %{resource}." + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "%{profile} a répondu à la discussion %{discussion}." + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "%{profile} a mis à jour le groupe %{group}." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "%{profile} a mis à jour le membre %{member}." + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "L'événement %{event} a été créé par %{profile}." + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "L'événement %{event} a été supprimé par %{profile}." + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "L'événement %{event} a été mis à jour par %{profile}." + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "Le billet %{post} a été créé par %{profile}." + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "Le billet %{post} a été supprimé par %{profile}." + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "Le billet %{post} a été mis à jour par %{profile}." + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "%{member} a rejoint le groupe." + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "%{profile} a posté un commentaire sur l'événement %{event}." + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "%{profile} a répondu à un commentaire sur l'événement %{event}." diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po index 513b808b0..05b0272fb 100644 --- a/priv/gettext/fr/LC_MESSAGES/default.po +++ b/priv/gettext/fr/LC_MESSAGES/default.po @@ -12,8 +12,7 @@ msgstr "" "POT-Creation-Date: \n" "PO-Revision-Date: 2021-05-01 10:59+0000\n" "Last-Translator: Thomas Citharel \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1429,3 +1428,25 @@ msgstr "Le serveur Mobilizon %{instance} semble être temporairement hors-servic #, elixir-format msgid "Public feed for %{instance}" msgstr "Flux public pour %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "Notification d'activité sur %{instance}" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "Vous ne voulez pas recevoir de notifications d'activité ? Vous pouvez changer leur fréquence ou les désactiver dans vos préférences." + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "Il y a eu une activité !" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "Il y a eu de l'activité !" diff --git a/priv/gettext/gl/LC_MESSAGES/activity.po b/priv/gettext/gl/LC_MESSAGES/activity.po new file mode 100644 index 000000000..aff4d0999 --- /dev/null +++ b/priv/gettext/gl/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: gl\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/gl/LC_MESSAGES/default.po b/priv/gettext/gl/LC_MESSAGES/default.po index 951735a16..368d7e93d 100644 --- a/priv/gettext/gl/LC_MESSAGES/default.po +++ b/priv/gettext/gl/LC_MESSAGES/default.po @@ -1699,3 +1699,25 @@ msgstr "" #, elixir-format msgid "Public feed for %{instance}" msgstr "Fonte pública de %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/hu/LC_MESSAGES/activity.po b/priv/gettext/hu/LC_MESSAGES/activity.po new file mode 100644 index 000000000..419fdcaac --- /dev/null +++ b/priv/gettext/hu/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: hu\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/hu/LC_MESSAGES/default.po b/priv/gettext/hu/LC_MESSAGES/default.po index bcd9cdf34..597787b12 100644 --- a/priv/gettext/hu/LC_MESSAGES/default.po +++ b/priv/gettext/hu/LC_MESSAGES/default.po @@ -1456,3 +1456,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/activity.po b/priv/gettext/it/LC_MESSAGES/activity.po new file mode 100644 index 000000000..cc322c543 --- /dev/null +++ b/priv/gettext/it/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: it\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po index c76ce8529..7f32261a6 100644 --- a/priv/gettext/it/LC_MESSAGES/default.po +++ b/priv/gettext/it/LC_MESSAGES/default.po @@ -14,266 +14,266 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.6\n" -#: lib/web/templates/email/password_reset.html.eex:48 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:48 msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." msgstr "" "Se non l'hai richiesta tu, ignora questa mail. La tua password non sarà " "cambiata fino a che non accederai al link sotto per crearne una nuova." -#: lib/web/templates/email/report.html.eex:74 #, elixir-format +#: lib/web/templates/email/report.html.eex:74 msgid "%{title} by %{creator}" msgstr "%{title} di %{creator}" -#: lib/web/templates/email/registration_confirmation.html.eex:58 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:58 msgid "Activate my account" msgstr "Attiva il mio account" +#, elixir-format #: lib/web/templates/email/email.html.eex:117 #: lib/web/templates/email/email.text.eex:9 -#, elixir-format msgid "Ask the community on Framacolibri" msgstr "Chiedi alla comunità su Framacolibri" -#: lib/web/templates/email/report.text.eex:15 #, elixir-format +#: lib/web/templates/email/report.text.eex:15 msgid "Comments" msgstr "Commenti" +#, elixir-format #: lib/web/templates/email/report.html.eex:72 #: lib/web/templates/email/report.text.eex:11 -#, elixir-format msgid "Event" msgstr "Evento" -#: lib/web/email/user.ex:48 #, elixir-format +#: lib/web/email/user.ex:48 msgid "Instructions to reset your password on %{instance}" msgstr "Istruzioni per reimpostare la tua password su %{instance}" -#: lib/web/templates/email/report.text.eex:21 #, elixir-format +#: lib/web/templates/email/report.text.eex:21 msgid "Reason" msgstr "Spiegazione" -#: lib/web/templates/email/password_reset.html.eex:61 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:61 msgid "Reset Password" msgstr "Resetta la password" -#: lib/web/templates/email/password_reset.html.eex:41 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:41 msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time." msgstr "" "Resettare la tua password è semplice. Premi il pulsante sotto e segui le " "istruzioni. Potrai riutilizzare Mobilizon in pochissimo tempo." -#: lib/web/email/user.ex:28 #, elixir-format +#: lib/web/email/user.ex:28 msgid "Instructions to confirm your Mobilizon account on %{instance}" msgstr "Istruzioni per confermare il tuo account Mobilizon su %{instance}" -#: lib/web/email/admin.ex:24 #, elixir-format +#: lib/web/email/admin.ex:24 msgid "New report on Mobilizon instance %{instance}" msgstr "Nuovo rapporto sull'istanza di Mobilizion %{instance}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:51 #: lib/web/templates/email/before_event_notification.text.eex:4 -#, elixir-format msgid "Go to event page" msgstr "Vai alla pagina dell'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 "Nuovo rapporto da %{reporter} su %{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 "Partecipazione approvata" +#, elixir-format #: lib/web/templates/email/password_reset.html.eex:13 #: lib/web/templates/email/password_reset.text.eex:1 -#, elixir-format msgid "Password reset" msgstr "Reset della password" -#: 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 "" "Resettare la tua password è semplice. Seleziona il link sotto e segui le " "istruzioni. Potrai riutilizzare Mobilizon in pochissimo tempo." -#: 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 "" "Hai creato un account su %{host} con questa email. Sei ad un click " "dall'attivarlo. Se non sei tu ignora questo messaggio." -#: lib/web/email/participation.ex:112 #, elixir-format +#: lib/web/email/participation.ex:112 msgid "Your participation to event %{title} has been approved" msgstr "La tua partecipazione all'evento %{title} è stata approvata" -#: lib/web/email/participation.ex:70 #, elixir-format +#: lib/web/email/participation.ex:70 msgid "Your participation to event %{title} has been rejected" msgstr "La tua partecipazione all'evento %{title} è stata rifiutata" -#: lib/web/email/event.ex:37 #, elixir-format +#: lib/web/email/event.ex:37 msgid "Event %{title} has been updated" msgstr "L'evento %{title} è stato aggiornato" -#: 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 "Nuovo titolo: %{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 "Hai richiesto una nuova password per il tuo account su %{instance}." -#: lib/web/templates/email/email.html.eex:85 #, elixir-format +#: lib/web/templates/email/email.html.eex:85 msgid "Warning" msgstr "Attenzione" -#: lib/web/email/participation.ex:135 #, elixir-format +#: lib/web/email/participation.ex:135 msgid "Confirm your participation to event %{title}" msgstr "Conferma la tua partecipazione all'evento %{title}" -#: lib/web/templates/api/privacy.html.eex:75 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:75 msgctxt "terms" msgid "An internal ID for your current selected identity" msgstr "Un ID interno per l'identità attualmente selezionata" -#: lib/web/templates/api/privacy.html.eex:74 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:74 msgctxt "terms" msgid "An internal user ID" msgstr "Un ID utente interno" -#: lib/web/templates/api/privacy.html.eex:37 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:37 msgctxt "terms" msgid "Any of the information we collect from you may be used in the following ways:" msgstr "" "Qualsiasi informazione che raccogliamo da te può essere utilizzata nel " "seguenti modi:" -#: lib/web/templates/api/privacy.html.eex:9 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:9 msgctxt "terms" msgid "Basic account information" msgstr "Informazioni di base sull'account" -#: lib/web/templates/api/privacy.html.eex:25 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:25 msgctxt "terms" msgid "Do not share any dangerous information over Mobilizon." msgstr "Non condividere informazioni pericolose su Mobilizon." -#: lib/web/templates/api/privacy.html.eex:90 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:90 msgctxt "terms" msgid "Do we disclose any information to outside parties?" msgstr "Divulghiamo informazioni a terzi?" -#: lib/web/templates/api/privacy.html.eex:68 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:68 msgctxt "terms" msgid "Do we use cookies?" msgstr "Usiamo i cookies?" -#: lib/web/templates/api/privacy.html.eex:51 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:51 msgctxt "terms" msgid "How do we protect your information?" msgstr "Come proteggiamo le tue informazioni?" -#: lib/web/templates/api/privacy.html.eex:29 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:29 msgctxt "terms" msgid "IPs and other metadata" msgstr "IPs e altri metadati" -#: lib/web/templates/api/privacy.html.eex:17 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:17 msgctxt "terms" msgid "Published events and comments" msgstr "Eventi e commenti pubblicati" -#: lib/web/templates/api/privacy.html.eex:64 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:64 msgctxt "terms" msgid "Retain the IP addresses associated with registered users no more than 12 months." msgstr "" "Conserva gli indirizzi IP associati agli utenti registrati per non più di 12 " "mesi." -#: lib/web/templates/api/privacy.html.eex:76 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:76 msgctxt "terms" msgid "Tokens to authenticate you" msgstr "Tokens per autenticarti" -#: lib/web/templates/api/privacy.html.eex:31 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:31 msgctxt "terms" msgid "We also may retain server logs which include the IP address of every request to our server." msgstr "" "Possiamo anche conservare i registri del server che includono l'indirizzo IP " "di ogni richiesta al nostro server." -#: lib/web/templates/api/privacy.html.eex:70 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:70 msgctxt "terms" msgid "We store the following information on your device when you connect:" msgstr "" "Memorizziamo le seguenti informazioni sul tuo dispositivo quando ti connetti:" -#: lib/web/templates/api/privacy.html.eex:58 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:58 msgctxt "terms" msgid "We will make a good faith effort to:" msgstr "Facciamo tutto il possibile per:" -#: lib/web/templates/api/privacy.html.eex:35 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:35 msgctxt "terms" msgid "What do we use your information for?" msgstr "Per cosa usiamo le tue informazioni?" -#: lib/web/templates/api/privacy.html.eex:57 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:57 msgctxt "terms" msgid "What is our data retention policy?" msgstr "Qual'è la nostra politica di conservazione dei dati?" -#: lib/web/templates/api/privacy.html.eex:67 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:67 msgctxt "terms" msgid "You may irreversibly delete your account at any time." msgstr "Puoi eliminare irreversibilmente il tuo account in qualsiasi momento." -#: lib/web/templates/api/privacy.html.eex:115 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:115 msgctxt "terms" msgid "Changes to our Privacy Policy" msgstr "Modifiche alla nostra politica sulla privacy" -#: lib/web/templates/api/privacy.html.eex:106 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:106 msgctxt "terms" msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site." msgstr "" @@ -283,8 +283,8 @@ msgstr "" "General_Data_Protection_Regulation\">General Data Protection Regulation) " "non usare questo sito." -#: lib/web/templates/api/privacy.html.eex:109 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:109 msgctxt "terms" msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site." msgstr "" @@ -294,30 +294,30 @@ msgstr "" "27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection " "Act) non usare questo sito." -#: lib/web/templates/api/privacy.html.eex:117 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:117 msgctxt "terms" msgid "If we decide to change our privacy policy, we will post those changes on this page." msgstr "" "Se decidiamo di modificare la politica sulla privacy, pubblicheremo i " "cambiamenti su questa pagina." -#: lib/web/templates/api/privacy.html.eex:112 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:112 msgctxt "terms" msgid "Law requirements can be different if this server is in another jurisdiction." msgstr "" "I requisiti di legge possono essere diversi se questo server si trova in " "un'altra giurisdizione." -#: lib/web/templates/api/privacy.html.eex:103 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:103 msgctxt "terms" msgid "Site usage by children" msgstr "Utilizzo del sito da parte dei bambini" -#: lib/web/templates/api/privacy.html.eex:47 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:47 msgctxt "terms" msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions." msgstr "" @@ -327,8 +327,8 @@ msgstr "" "rispondere a indagini, e/o altre richieste o\n" "…domande." -#: lib/web/templates/api/privacy.html.eex:45 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:45 msgctxt "terms" msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations." msgstr "" @@ -336,8 +336,8 @@ msgstr "" "indirizzo IP con altri noti per determinare \n" "…l'evasione del divieto o altre violazioni." -#: lib/web/templates/api/privacy.html.eex:43 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:43 msgctxt "terms" msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in." msgstr "" @@ -346,89 +346,89 @@ msgstr "" "…interagire con i contenuti di altre persone e pubblicare i tuoi contenuti " "solo se hai effettuato l'accesso." -#: lib/web/templates/api/privacy.html.eex:6 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:6 msgctxt "terms" msgid "What information do we collect?" msgstr "Quali informazioni raccogliamo?" -#: lib/web/email/user.ex:176 #, elixir-format +#: lib/web/email/user.ex:176 msgid "Mobilizon on %{instance}: confirm your email address" msgstr "Mobilizon su %{instance}: conferma il tuo indirizzo email" -#: lib/web/email/user.ex:152 #, elixir-format +#: lib/web/email/user.ex:152 msgid "Mobilizon on %{instance}: email changed" msgstr "Mobilizon su %{instance}: email modificata" -#: lib/web/email/notification.ex:47 #, elixir-format +#: lib/web/email/notification.ex:47 msgid "One event planned today" msgid_plural "%{nb_events} events planned today" msgstr[0] "Un evento programmato oggi" msgstr[1] "%{nb_events} eventi programmati oggi" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:38 #: lib/web/templates/email/on_day_notification.text.eex:4 -#, elixir-format msgid "You have one event today:" msgid_plural "You have %{total} events today:" msgstr[0] "Hai un evento oggi:" msgstr[1] "Hai %{total} eventi oggi:" -#: 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} ti ha appena invitato a unirti al suo gruppo %{group}" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:13 #: lib/web/templates/email/group_invite.text.eex:1 -#, elixir-format msgid "Come along!" msgstr "Sbrigati!" -#: lib/web/email/notification.ex:24 #, elixir-format +#: lib/web/email/notification.ex:24 msgid "Don't forget to go to %{title}" msgstr "Non dimenticare di andare a %{title}" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:38 #: lib/web/templates/email/before_event_notification.text.eex:3 -#, elixir-format msgid "Get ready for %{title}" msgstr "Tenersi pronti per %{title}" -#: lib/web/templates/email/group_invite.html.eex:59 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:59 msgid "See my groups" msgstr "Visualizza i miei gruppi" +#, elixir-format #: lib/web/templates/email/group_invite.html.eex:45 #: lib/web/templates/email/group_invite.text.eex:5 -#, elixir-format msgid "To accept this invitation, head over to your groups." msgstr "Per accettare questo invito, vai ai tuoi gruppi." -#: 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 "Visualizza l'evento su: %{link}" -#: lib/web/email/group.ex:33 #, elixir-format +#: lib/web/email/group.ex:33 msgid "You have been invited by %{inviter} to join group %{group}" msgstr "Sei stato invitato da %{inviter} per partecipare al gruppo %{group}" -#: lib/web/email/notification.ex:71 #, elixir-format +#: lib/web/email/notification.ex:71 msgid "One event planned this week" msgid_plural "%{nb_events} events planned this week" msgstr[0] "Un evento in programma questa settimana" msgstr[1] "%{nb_events} eventi in programma questa settimana" -#: lib/web/email/notification.ex:93 #, elixir-format +#: lib/web/email/notification.ex:93 msgid "One participation request for event %{title} to process" msgid_plural "%{number_participation_requests} participation requests for event %{title} to process" msgstr[0] "Una richiesta di partecipazione per l'evento %{title} da elaborare" @@ -436,21 +436,21 @@ msgstr[1] "" "%{number_participation_requests} richieste di partecipazione per l'evento " "%{title} da elaborare" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:38 #: lib/web/templates/email/notification_each_week.text.eex:3 -#, elixir-format msgid "You have one event this week:" msgid_plural "You have %{total} events this week:" msgstr[0] "Hai un evento questa settimana:" msgstr[1] "Hai %{total} eventi questa settimana:" -#: lib/service/metadata/utils.ex:52 #, elixir-format +#: lib/service/metadata/utils.ex:52 msgid "The event organizer didn't add any description." msgstr "L'organizzatore dell'evento non ha aggiunto alcuna descrizione." -#: lib/web/templates/api/privacy.html.eex:54 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:54 msgctxt "terms" msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way algorithm." msgstr "" @@ -461,8 +461,8 @@ msgstr "" "la password viene sottoposta ad hashing utilizzando un potente algoritmo " "unidirezionale." -#: lib/web/templates/api/privacy.html.eex:94 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:94 msgctxt "terms" msgid "No. We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety." msgstr "" @@ -475,20 +475,20 @@ msgstr "" "appropriato per rispettare la legge, far rispettare le politiche del nostro " "sito o proteggere i nostri o altri diritti, proprietà o sicurezza." -#: lib/web/templates/api/terms.html.eex:23 #, elixir-format +#: lib/web/templates/api/terms.html.eex:23 msgctxt "terms" msgid "Accepting these Terms" msgstr "Accettazione di queste Condizioni" -#: lib/web/templates/api/terms.html.eex:27 #, elixir-format +#: lib/web/templates/api/terms.html.eex:27 msgctxt "terms" msgid "Changes to these Terms" msgstr "Modifiche a queste Condizioni d'Utilizzo" -#: lib/web/templates/api/terms.html.eex:85 #, elixir-format +#: lib/web/templates/api/terms.html.eex:85 msgctxt "terms" msgid "A lot of the content on the Service is from you and others, and we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content." msgstr "" @@ -501,16 +501,16 @@ msgstr "" "assumere tutti i rischi sull'uso che ne fai e sulla fiducia che attribuisci " "ad essi." -#: lib/web/templates/api/terms.html.eex:60 #, elixir-format +#: lib/web/templates/api/terms.html.eex:60 msgctxt "terms" msgid "Also, you agree that you will not do any of the following in connection with the Service or other users:" msgstr "" "inoltre accetti di non essere in nessun modo relazionato col Servizio o con " "altri utenti se farai una delle seguenti azioni:" -#: lib/web/templates/api/terms.html.eex:65 #, elixir-format +#: lib/web/templates/api/terms.html.eex:65 msgctxt "terms" msgid "Circumvent or attempt to circumvent any filtering, security measures, rate limits or other features designed to protect the Service, users of the Service, or third parties." msgstr "" @@ -518,24 +518,24 @@ msgstr "" "o altre funzionalità progettate per proteggere il Servizio, gli utenti del " "Servizio o terze parti." -#: lib/web/templates/api/terms.html.eex:64 #, elixir-format +#: lib/web/templates/api/terms.html.eex:64 msgctxt "terms" msgid "Collect any personal information about other users, or intimidate, threaten, stalk or otherwise harass other users of the Service;" msgstr "" "Raccogliere informazioni personali su altri utenti o intimidire, minacciare, " "perseguitare o molestare in altro modo altri utenti del Servizio;" -#: lib/web/templates/api/terms.html.eex:55 #, elixir-format +#: lib/web/templates/api/terms.html.eex:55 msgctxt "terms" msgid "Content that is illegal or unlawful, that would otherwise create liability;" msgstr "" "Creare contenuti che sono illegali o illeciti o che possono dare luogo a " "responsabilità penali;" -#: lib/web/templates/api/terms.html.eex:56 #, elixir-format +#: lib/web/templates/api/terms.html.eex:56 msgctxt "terms" msgid "Content that may infringe or violate any patent, trademark, trade secret, copyright, right of privacy, right of publicity or other intellectual or other right of any party;" msgstr "" @@ -543,48 +543,48 @@ msgstr "" "commerciali, copyright, diritti alla privacy, diritti di pubblicità o altri " "diritti intellettuali o di altro tipo di qualsiasi parte;" -#: lib/web/templates/api/terms.html.eex:42 #, elixir-format +#: lib/web/templates/api/terms.html.eex:42 msgctxt "terms" msgid "Creating Accounts" msgstr "Creazione degli Accounts" -#: lib/web/templates/api/terms.html.eex:89 #, elixir-format +#: lib/web/templates/api/terms.html.eex:89 msgctxt "terms" msgid "Entire Agreement" msgstr "Intero Accordo" -#: lib/web/templates/api/terms.html.eex:92 #, elixir-format +#: lib/web/templates/api/terms.html.eex:92 msgctxt "terms" msgid "Feedback" msgstr "Opinione" -#: lib/web/templates/api/terms.html.eex:83 #, elixir-format +#: lib/web/templates/api/terms.html.eex:83 msgctxt "terms" msgid "Hyperlinks and Third Party Content" msgstr "Collegamenti ipertestuali e contenuti di terze parti" -#: lib/web/templates/api/terms.html.eex:88 #, elixir-format +#: lib/web/templates/api/terms.html.eex:88 msgctxt "terms" msgid "If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service." msgstr "" "Se infrangete uno di questi Termini avete il diritto di sospendere o " "disabilitare l'accesso al Servizio o il suo uso." -#: lib/web/templates/api/terms.html.eex:63 #, elixir-format +#: lib/web/templates/api/terms.html.eex:63 msgctxt "terms" msgid "Impersonate or post on behalf of any person or entity or otherwise misrepresent your affiliation with a person or entity;" msgstr "" "Impersonare o pubblicare per conto di qualsiasi persona o entità o " "altrimenti travisare la propria affiliazione con una persona o entità;" -#: lib/web/templates/api/terms.html.eex:48 #, elixir-format +#: lib/web/templates/api/terms.html.eex:48 msgctxt "terms" msgid "Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness." msgstr "" @@ -593,26 +593,26 @@ msgstr "" "che metti a disposizione del Servizio, inclusa la sua legalità, affidabilità " "e adeguatezza." -#: lib/web/templates/api/terms.html.eex:39 #, elixir-format +#: lib/web/templates/api/terms.html.eex:39 msgctxt "terms" msgid "Privacy Policy" msgstr "Politica sulla Privacy" -#: lib/web/templates/api/terms.html.eex:95 #, elixir-format +#: lib/web/templates/api/terms.html.eex:95 msgctxt "terms" msgid "Questions & Contact Information" msgstr "Domande e Informazioni di Contatto" -#: lib/web/templates/api/terms.html.eex:87 #, elixir-format +#: lib/web/templates/api/terms.html.eex:87 msgctxt "terms" msgid "Termination" msgstr "Termine" -#: lib/web/templates/api/terms.html.eex:62 #, elixir-format +#: lib/web/templates/api/terms.html.eex:62 msgctxt "terms" msgid "Use the Service in any manner that could interfere with, disrupt, negatively affect or inhibit other users from fully enjoying the Service or that could damage, disable, overburden or impair the functioning of the Service;" msgstr "" @@ -621,14 +621,14 @@ msgstr "" "appieno del Servizio o che potrebbe danneggiare, disabilitare, " "sovraccaricare o compromettere il funzionamento del Servizio;" -#: lib/web/templates/api/terms.html.eex:47 #, elixir-format +#: lib/web/templates/api/terms.html.eex:47 msgctxt "terms" msgid "Your Content & Conduct" msgstr "I tuoi Contenuti e la tua Condotta" -#: lib/web/templates/api/terms.html.eex:84 #, elixir-format +#: lib/web/templates/api/terms.html.eex:84 msgctxt "terms" msgid "%{instance_name} makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern. The inclusion of any link does not imply endorsement by %{instance_name} of the site. Use of any such linked website is at the user's own risk." msgstr "" @@ -641,8 +641,8 @@ msgstr "" "di % {instance_name} del sito. L'utilizzo di tali siti Web collegati " "è a rischio dell'utente." -#: lib/web/templates/api/terms.html.eex:68 #, elixir-format +#: lib/web/templates/api/terms.html.eex:68 msgctxt "terms" msgid "Finally, your use of the Service is also subject to acceptance of the instance's own specific rules regarding the code of conduct and moderation rules. Breaking those rules may also result in your account being disabled or suspended." msgstr "" @@ -651,16 +651,16 @@ msgstr "" "condotta e alle regole di moderazione. La violazione di queste regole può " "anche comportare la disattivazione o la sospensione del tuo account." -#: lib/web/templates/api/terms.html.eex:81 #, elixir-format +#: lib/web/templates/api/terms.html.eex:81 msgctxt "terms" msgid "For full details about the Mobilizon software see here." msgstr "" "Per i dettagli completi sul software Mobilizon vedi qui ." -#: lib/web/templates/api/terms.html.eex:18 #, elixir-format +#: lib/web/templates/api/terms.html.eex:18 msgctxt "terms" msgid "Here are the important things you need to know about accessing and using the %{instance_name} (%{instance_url}) website and service (collectively, \"Service\"). These are our terms of service (\"Terms\"). Please read them carefully." msgstr "" @@ -669,8 +669,8 @@ msgstr "" ") sito web e servizio (collettivamente, \"Servizio\"). Questi sono i " "nostri termini di servizio (\"Termini\"). Si prega di leggerli attentamente." -#: lib/web/templates/api/terms.html.eex:33 #, elixir-format +#: lib/web/templates/api/terms.html.eex:33 msgctxt "terms" msgid "If we make major changes, we will notify our users in a clear and prominent manner. Minor changes may only be highlighted in the footer of our website. It is your responsibility to check the website regularly for changes to these Terms." msgstr "" @@ -679,8 +679,8 @@ msgstr "" "piè di pagina del nostro sito web. È tua responsabilità controllare " "regolarmente il sito web per eventuali modifiche ai presenti Termini." -#: lib/web/templates/api/terms.html.eex:53 #, elixir-format +#: lib/web/templates/api/terms.html.eex:53 msgctxt "terms" msgid "In order to make %{instance_name} a great place for all of us, please do not post, link and otherwise make available on or through the Service any of the following:" msgstr "" @@ -688,8 +688,8 @@ msgstr "" "preghiamo di non pubblicare, linkare, o rendere disponibile sul nostro " "Servizio o attraverso esso uno dei seguenti elementi:" -#: lib/web/templates/api/terms.html.eex:57 #, elixir-format +#: lib/web/templates/api/terms.html.eex:57 msgctxt "terms" msgid "Private information of any third party (e.g., addresses, phone numbers, email addresses, Social Security numbers and credit card numbers); and" msgstr "" @@ -697,8 +697,8 @@ msgstr "" "indirizzi e-mail, numeri di previdenza sociale e numeri di carte di credito);" " e" -#: lib/web/templates/api/terms.html.eex:52 #, elixir-format +#: lib/web/templates/api/terms.html.eex:52 msgctxt "terms" msgid "Since Mobilizon is a distributed network, it is possible, depending on the visibility rules set to your content, that your content has been distributed to other Mobilizon instances. When you delete your content, we will request those other instances to also delete the content. Our responsibility on the content being deleted from those other instances ends here. If for some reason, some other instance does not delete the content, we cannot be held responsible." msgstr "" @@ -710,8 +710,8 @@ msgstr "" "quelle altre istanze termina qui. Se per qualche motivo, qualche altra " "istanza non elimina il contenuto, non possiamo essere ritenuti responsabili." -#: lib/web/templates/api/terms.html.eex:90 #, elixir-format +#: lib/web/templates/api/terms.html.eex:90 msgctxt "terms" msgid "These Terms constitute the entire agreement between you and %{instance_name} regarding the use of the Service, superseding any prior agreements between you and %{instance_name} relating to your use of the Service." msgstr "" @@ -720,8 +720,8 @@ msgstr "" "sostituendo qualsiasi accordo precedente tra te e % {instance_name} " "relativo al tuo utilizzo di il servizio." -#: lib/web/templates/api/terms.html.eex:80 #, elixir-format +#: lib/web/templates/api/terms.html.eex:80 msgctxt "terms" msgid "This Service runs on a Mobilizon instance. This source code is licensed under an AGPLv3 license which means you are allowed to and even encouraged to take the source code, modify it and use it." msgstr "" @@ -731,16 +731,16 @@ msgstr "" "significa che sei autorizzato e persino incoraggiato a prendere il codice " "sorgente, modificarlo e usarlo." -#: lib/web/templates/api/terms.html.eex:58 #, elixir-format +#: lib/web/templates/api/terms.html.eex:58 msgctxt "terms" msgid "Viruses, corrupted data or other harmful, disruptive or destructive files or code." msgstr "" "Virus, dati corrotti o altri file o codice dannosi, disturbanti o " "distruttivi." -#: lib/web/templates/api/terms.html.eex:51 #, elixir-format +#: lib/web/templates/api/terms.html.eex:51 msgctxt "terms" msgid "You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time. Web server access logs might also be stored for some time in the system." msgstr "" @@ -750,30 +750,30 @@ msgstr "" "un certo periodo di tempo. I registri di accesso al server Web potrebbero " "anche essere archiviati per qualche tempo nel sistema." -#: lib/web/templates/api/terms.html.eex:96 #, elixir-format +#: lib/web/templates/api/terms.html.eex:96 msgctxt "terms" msgid "Questions or comments about the Service may be directed to us at %{contact}" msgstr "" "Domande o commenti sul Servizio possono essere indirizzati a noi " "all'indirizzo %{contact}" -#: lib/web/templates/api/terms.html.eex:79 #, elixir-format +#: lib/web/templates/api/terms.html.eex:79 msgctxt "terms" msgid "Source code" msgstr "Codice sorgente" -#: lib/web/templates/api/terms.html.eex:93 #, elixir-format +#: lib/web/templates/api/terms.html.eex:93 msgctxt "terms" msgid "We love feedback. Please let us know what you think of the Service, these Terms and, in general, %{instance_name}." msgstr "" "Adoriamo i feedback. Fateci sapere cosa ne pensate del Servizio, dei " "presenti Termini e, in generale,%{instance_name}." -#: lib/web/templates/api/terms.html.eex:74 #, elixir-format +#: lib/web/templates/api/terms.html.eex:74 msgctxt "terms" msgid "Instance administrators (and community moderators, given the relevant access) are responsible for monitoring and acting on flagged content and other user reports, and have the right and responsibility to remove or edit content that is not aligned to this Instance set of rules, or to suspend, block or ban (temporarily or permanently) any account, community, or instance for breaking these terms, or for other behaviours that they deem inappropriate, threatening, offensive, or harmful." msgstr "" @@ -786,16 +786,16 @@ msgstr "" "violazione dei presenti termini o per altri comportamenti che ritengono " "inappropriati, minacciosi, offensivi o dannosi." -#: lib/web/templates/api/terms.html.eex:6 #, elixir-format +#: lib/web/templates/api/terms.html.eex:6 msgctxt "terms" msgid "%{instance_name} will not use or transmit or resell your personal data" msgstr "" "%{instance_name} non utilizzerà, trasmetterà o rivenderà i tuoi dati " "personali" -#: lib/web/templates/api/terms.html.eex:44 #, elixir-format +#: lib/web/templates/api/terms.html.eex:44 msgctxt "terms" msgid "If you discover or suspect any Service security breaches, please let us know as soon as possible. For security holes in the Mobilizon software itself, please contact its contributors directly." msgstr "" @@ -804,8 +804,8 @@ msgstr "" "contatta direttamente " "i suoi contributori ." -#: lib/web/templates/api/terms.html.eex:77 #, elixir-format +#: lib/web/templates/api/terms.html.eex:77 msgctxt "terms" msgid "Instance administrators should ensure that every community hosted on the instance is properly moderated according to the defined rules." msgstr "" @@ -813,8 +813,8 @@ msgstr "" "ospitata sull'istanza sia adeguatamente moderata in base alle regole " "definite." -#: lib/web/templates/api/terms.html.eex:98 #, elixir-format +#: lib/web/templates/api/terms.html.eex:98 msgctxt "terms" msgid "Originally adapted from the Diaspora* and App.net privacy policies, also licensed under CC BY-SA." msgstr "" @@ -823,8 +823,8 @@ msgstr "" "appdotnet/terms-of-service\"> App .net , anch'esse concesse in licenza " " CC BY-SA ." -#: lib/web/templates/api/privacy.html.eex:119 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:119 msgctxt "terms" msgid "Originally adapted from the Mastodon and Discourse privacy policies, also licensed under CC BY-SA." msgstr "" @@ -833,22 +833,22 @@ msgstr "" "discourse/discourse\"> Discourse , anch'esse concesse in licenza CC BY-SA ." -#: lib/web/templates/api/terms.html.eex:3 #, elixir-format +#: lib/web/templates/api/terms.html.eex:3 msgctxt "terms" msgid "Short version" msgstr "Versione breve" -#: lib/web/templates/api/terms.html.eex:9 #, elixir-format +#: lib/web/templates/api/terms.html.eex:9 msgctxt "terms" msgid "The service is provided without warranties and these terms may change in the future" msgstr "" "Il servizio è fornito senza garanzie e questi termini possono cambiare in " "futuro" -#: lib/web/templates/api/privacy.html.eex:118 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:118 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 18, 2020." msgstr "" @@ -856,8 +856,8 @@ msgstr "" "licenses/by-sa/4.0/\">CC BY-SA. È stato aggiornato l'ultima volta il 18 " "giugno 2020." -#: lib/web/templates/api/terms.html.eex:97 #, elixir-format +#: lib/web/templates/api/terms.html.eex:97 msgctxt "terms" msgid "This document is licensed under CC BY-SA. It was last updated June 22, 2020." msgstr "" @@ -865,85 +865,85 @@ msgstr "" "licenses/by-sa/4.0/\"> CC BY-SA . È stato aggiornato l'ultima volta il " "22 giugno 2020." -#: lib/web/templates/api/terms.html.eex:8 #, elixir-format +#: lib/web/templates/api/terms.html.eex:8 msgctxt "terms" msgid "You must respect other people and %{instance_name}'s rules when using the service" msgstr "" "Devi rispettare le altre persone e le regole di % {instance_name} " "quando utilizzi il servizio" -#: lib/web/templates/api/terms.html.eex:7 #, elixir-format +#: lib/web/templates/api/terms.html.eex:7 msgctxt "terms" msgid "You must respect the law when using %{instance_name}" msgstr "Devi rispettare la legge quando utilizzi % {instance_name} " -#: lib/web/templates/api/terms.html.eex:5 #, elixir-format +#: lib/web/templates/api/terms.html.eex:5 msgctxt "terms" msgid "Your content is yours" msgstr "I tuoi dati ti appartengono" -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:51 msgid "Confirm my e-mail address" msgstr "Conferma il mio indirizzo e-mail" +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1 -#, elixir-format msgid "Confirm your e-mail" msgstr "Conferma il tuo indirizzo e-mail" -#: 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 "" "Ciao! Ti sei appena registrato per partecipare a questo evento: «% {title}». " "Conferma l'indirizzo e-mail che hai fornito:" +#, elixir-format #: lib/web/templates/email/email.html.eex:114 #: lib/web/templates/email/email.text.eex:8 -#, elixir-format msgid "Need help? Is something not working as expected?" msgstr "Bisogno di aiuto? Qualcosa non funziona correttamente?" -#: lib/web/templates/email/registration_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/registration_confirmation.html.eex:38 msgid "You created an account on %{host} with this email address. You are one click away from activating it." msgstr "" "Hai creato un account su % {host} con questo indirizzo email. Sei a " "un clic di distanza dall'attivarlo." -#: lib/web/templates/email/report.html.eex:13 #, elixir-format +#: lib/web/templates/email/report.html.eex:13 msgid "New report on %{instance}" msgstr "Nuova segnalazione sull'istanza %{instance}" -#: lib/web/templates/email/email_changed_old.html.eex:38 #, elixir-format +#: lib/web/templates/email/email_changed_old.html.eex:38 msgid "The email address for your account on %{host} is being changed to:" msgstr "" "L'indirizzo email del tuo account su % {host} verrà modificato in:" -#: lib/web/templates/email/password_reset.html.eex:38 #, elixir-format +#: lib/web/templates/email/password_reset.html.eex:38 msgid "You requested a new password for your account on %{instance}." msgstr "" "Hai richiesto una nuova password per il tuo account su % {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 "Si prega di non usarlo per scopi reali." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:63 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:6 lib/web/templates/email/event_updated.html.eex:133 #: lib/web/templates/email/event_updated.text.eex:24 lib/web/templates/email/notification_each_week.html.eex:70 #: lib/web/templates/email/notification_each_week.text.eex:11 lib/web/templates/email/on_day_notification.html.eex:70 #: lib/web/templates/email/on_day_notification.text.eex:14 -#, elixir-format msgid "Would you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgid_plural "Would you wish to cancel your attendance to one or several events, visit the event pages through the links above and click the « Attending » button." msgstr[0] "" @@ -954,9 +954,9 @@ msgstr[1] "" "pagine dell'evento attraverso il links sotto e seleziona il pulsante " "'Partecipo'." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:38 #: lib/web/templates/email/pending_participation_notification.text.eex:4 -#, elixir-format msgid "You have one pending attendance request to process:" msgid_plural "You have %{number_participation_requests} attendance requests to process:" msgstr[0] "Hai una richiesta di partecipazione in sospeso da esaminare:" @@ -964,67 +964,67 @@ msgstr[1] "" "Hai %{number_participation_requests} richieste di partecipazione in sospeso " "da esaminare:" -#: 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} è alimentata da Mobilizon." -#: lib/web/templates/email/email.html.eex:142 #, elixir-format +#: lib/web/templates/email/email.html.eex:142 msgid "%{instance} is powered by Mobilizon." msgstr "%{instance} è alimentata da Mobilizon." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:13 #: lib/web/templates/email/pending_participation_notification.text.eex:1 -#, elixir-format msgid "A request is pending!" msgstr "Una richiesta in sospeso!" +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:13 #: lib/web/templates/email/before_event_notification.text.eex:1 -#, elixir-format msgid "An event is upcoming!" msgstr "Un evento è in arrivo!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:13 #: lib/web/templates/email/email_changed_new.text.eex:1 -#, elixir-format msgid "Confirm new email" msgstr "Conferma il nuovo indirizzo e-mail" -#: lib/web/templates/email/event_updated.html.eex:84 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:84 msgid "End" msgstr "Fine" -#: lib/web/templates/email/event_updated.text.eex:21 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:21 msgid "End %{ends_on}" msgstr "Fine %{ends_on}" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:13 #: lib/web/templates/email/event_updated.text.eex:1 -#, elixir-format msgid "Event update!" msgstr "Evento aggiornato!" -#: lib/web/templates/email/report.html.eex:88 #, elixir-format +#: lib/web/templates/email/report.html.eex:88 msgid "Flagged comments" msgstr "Commenti contrassegnati" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:45 #: lib/web/templates/email/event_participation_approved.text.eex:7 -#, elixir-format msgid "Good news: one of the event organizers just approved your request. Update your calendar, because you're on the guest list now!" msgstr "" "Buone notizie: uno degli organizzatori dell'evento ha appena approvato la " "tua richiesta. Aggiorna il tuo calendario, perché ora sei nella lista degli " "invitati!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:38 #: lib/web/templates/email/email_changed_new.text.eex:3 -#, elixir-format msgid "Hi there! It seems like you wanted to change the email address linked to your account on %{instance}. If you still wish to do so, please click the button below to confirm the change. You will then be able to log in to %{instance} with this new email address." msgstr "" "Ciao! Sembra che tu volessi modificare l'indirizzo email collegato al tuo " @@ -1032,8 +1032,8 @@ msgstr "" "pulsante in basso per confermare la modifica. Potrai quindi accedere a% " "{instance} con questo nuovo indirizzo email." -#: lib/web/templates/email/email_changed_old.text.eex:3 #, elixir-format +#: lib/web/templates/email/email_changed_old.text.eex:3 msgid "Hi there! Just a quick note to confirm that the email address linked to your account on %{host} has been changed from this one to:" msgstr "" "Ciao! Solo una breve nota per confermare che l'indirizzo email collegato al " @@ -1049,179 +1049,179 @@ msgstr "" "modifica immediatamente la password. Se non riesci ad accedere, contatta " "l'amministratore su% {host}." -#: lib/web/templates/email/password_reset.text.eex:12 #, elixir-format +#: lib/web/templates/email/password_reset.text.eex:12 msgid "If you didn't trigger the change yourself, please ignore this message. Your password won't be changed until you click the link above." msgstr "" "Se non hai attivato tu stesso la modifica, ignora questo messaggio. La tua " "password non verrà modificata finché non fai clic sul collegamento sopra." +#, elixir-format #: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70 #: lib/web/templates/email/anonymous_participation_confirmation.text.eex:4 lib/web/templates/email/registration_confirmation.html.eex:45 -#, elixir-format msgid "If you didn't trigger this email, you may safely ignore it." msgstr "Se non hai attivato questa email, puoi tranquillamente ignorarla." +#, elixir-format #: lib/web/templates/email/before_event_notification.html.eex:63 #: lib/web/templates/email/before_event_notification.text.eex:6 -#, elixir-format msgid "If you wish to cancel your attendance, visit the event page through the link above and click the « Attending » button." msgstr "" "Se desideri annullare la tua partecipazione, visita la pagina dell'evento " "tramite il link in alto e fai clic sul pulsante «Partecipanti»." +#, elixir-format #: lib/web/templates/email/email.html.eex:143 #: lib/web/templates/email/email.text.eex:11 -#, elixir-format msgid "Learn more about Mobilizon here!" msgstr "Scopri di più su Mobilizon qui!" -#: lib/web/templates/email/event_updated.html.eex:94 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:94 msgid "Location" msgstr "Luogo" -#: lib/web/templates/email/event_updated.html.eex:104 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:104 msgid "Location address was removed" msgstr "L'indirizzo del luogo è stato rimosso" +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:51 #: lib/web/templates/email/pending_participation_notification.text.eex:6 -#, elixir-format msgid "Manage pending requests" msgstr "Gestisci le richieste in sospeso" +#, elixir-format #: lib/web/templates/email/registration_confirmation.html.eex:13 #: lib/web/templates/email/registration_confirmation.text.eex:1 -#, elixir-format msgid "Nearly there!" msgstr "Ci sei quasi!" +#, elixir-format #: lib/web/templates/email/email_changed_old.html.eex:13 #: lib/web/templates/email/email_changed_old.text.eex:1 -#, elixir-format msgid "New email confirmation" msgstr "Conferma del nuovo indirizzo e-mail" -#: lib/web/templates/email/report.html.eex:106 #, elixir-format +#: lib/web/templates/email/report.html.eex:106 msgid "Reasons for report" msgstr "Ragioni della segnalazione" -#: lib/web/templates/email/report.html.eex:39 #, elixir-format +#: lib/web/templates/email/report.html.eex:39 msgid "Someone on %{instance} reported the following content for you to analyze:" msgstr "" "Qualcuno su % {instance} ha segnalato i seguenti contenuti da " "analizzare:" +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:13 #: lib/web/templates/email/event_participation_rejected.text.eex:1 -#, elixir-format msgid "Sorry! You're not going." msgstr "Peccato! Non ci sei andato." -#: lib/web/templates/email/event_updated.html.eex:74 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:74 msgid "Start" msgstr "Inizio" -#: lib/web/templates/email/event_updated.text.eex:18 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:18 msgid "Start %{begins_on}" msgstr "Inizio %{begins_on}" -#: lib/web/templates/email/event_updated.text.eex:3 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:3 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "" "Ci sono stati cambiamenti in %{title}, così abbiamo pensato di fartelo " "sapere." +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:55 #: lib/web/templates/email/event_updated.text.eex:11 -#, elixir-format msgid "This event has been cancelled by its organizers. Sorry!" msgstr "Questo evento è stato annullato dai suoi organizzatori. Spiacente!" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:51 #: lib/web/templates/email/event_updated.text.eex:7 -#, elixir-format msgid "This event has been confirmed" msgstr "L'evento è stato confermato" +#, elixir-format #: lib/web/templates/email/event_updated.html.eex:53 #: lib/web/templates/email/event_updated.text.eex:9 -#, elixir-format msgid "This event has yet to be confirmed: organizers will let you know if they do confirm it." msgstr "" "Questo evento deve ancora essere confermato: gli organizzatori ti faranno " "sapere se lo confermano." +#, elixir-format #: lib/web/templates/email/event_participation_rejected.html.eex:45 #: lib/web/templates/email/event_participation_rejected.text.eex:7 -#, elixir-format msgid "Unfortunately, the organizers rejected your request." msgstr "" "Purtroppo gli organizzatori hanno rifiutato la tua domanda di partecipazione." -#: lib/web/templates/email/email_changed_new.html.eex:51 #, elixir-format +#: lib/web/templates/email/email_changed_new.html.eex:51 msgid "Verify your email address" msgstr "Verifica il tuo indirizzo e-mail" -#: lib/web/templates/email/report.html.eex:126 #, elixir-format +#: lib/web/templates/email/report.html.eex:126 msgid "View report" msgstr "Visualizza la segnalazione" -#: lib/web/templates/email/report.text.eex:24 #, elixir-format +#: lib/web/templates/email/report.text.eex:24 msgid "View report:" msgstr "Visualizza la segnalazione:" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:58 #: lib/web/templates/email/event_participation_confirmed.html.eex:58 -#, elixir-format msgid "Visit event page" msgstr "Visualizza la pagina dell'evento" -#: lib/web/templates/email/event_updated.html.eex:121 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:121 msgid "Visit the updated event page" msgstr "Visita la pagina dell'evento aggiornata" -#: lib/web/templates/email/event_updated.text.eex:23 #, elixir-format +#: lib/web/templates/email/event_updated.text.eex:23 msgid "Visit the updated event page: %{link}" msgstr "Visita la pagina dell'evento aggiornata:% {link}" +#, elixir-format #: lib/web/templates/email/notification_each_week.html.eex:13 #: lib/web/templates/email/notification_each_week.text.eex:1 -#, elixir-format msgid "What's up this week?" msgstr "Che succede questa settimana?" +#, elixir-format #: lib/web/templates/email/on_day_notification.html.eex:13 #: lib/web/templates/email/on_day_notification.text.eex:1 -#, elixir-format msgid "What's up today?" msgstr "Cosa succede oggi?" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:70 #: lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.eex:70 #: lib/web/templates/email/event_participation_confirmed.text.eex:6 -#, elixir-format msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button." msgstr "" "Desideri aggiornare o annullare la tua partecipazione, è sufficiente " "accedere alla pagina dell'evento tramite il link in alto e fare clic sul " "pulsante Partecipanti." +#, elixir-format #: lib/web/templates/email/pending_participation_notification.html.eex:64 #: lib/web/templates/email/pending_participation_notification.text.eex:8 -#, elixir-format msgid "You are receiving this email because you chose to get notifications for pending attendance requests to your events. You can disable or change your notification settings in your user account settings under « Notifications »." msgstr "" "Hai ricevuto questa email perché hai scelto di ricevere notifiche per " @@ -1229,130 +1229,130 @@ msgstr "" "disabilitare o modificare le impostazioni di notifica nelle impostazioni " "dell'account utente in «Notifiche»." -#: 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 "Hai effettuato una domanda di partecipazione 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 "Di recente hai richiesto di partecipare a %{title}." +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:13 #: lib/web/templates/email/event_participation_confirmed.html.eex:13 lib/web/templates/email/event_participation_confirmed.text.eex:1 -#, elixir-format msgid "You're going!" msgstr "Ce l'hai fatta!" +#, elixir-format #: lib/web/templates/email/email_changed_new.html.eex:64 #: lib/web/templates/email/email_changed_new.text.eex:5 -#, elixir-format msgid "If you didn't trigger the change yourself, please ignore this message." msgstr "Se non hai attivato tu stesso la modifica, ignora questo messaggio." -#: lib/web/templates/email/email.html.eex:89 #, elixir-format +#: lib/web/templates/email/email.html.eex:89 msgid "Please do not use it for real purposes." msgstr " Si prega di non utilizzarlo per scopi reali. " +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:45 #: lib/web/templates/email/group_member_removal.text.eex:5 -#, elixir-format msgid "If you feel this is an error, you may contact the group's administrators so that they can add you back." msgstr "" "Se ritieni che si tratti di un errore, puoi contattare gli amministratori " "del gruppo in modo che possano aggiungerti di nuovo." +#, elixir-format #: lib/web/templates/email/group_member_removal.html.eex:13 #: lib/web/templates/email/group_member_removal.text.eex:1 -#, elixir-format msgid "So long, and thanks for the fish!" msgstr "Addio, e grazie per il pesce!" -#: lib/web/email/group.ex:63 #, elixir-format +#: lib/web/email/group.ex:63 msgid "You have been removed from group %{group}" msgstr "Sei stato rimosso dal gruppo %{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 "" "Sei stato rimosso dal gruppo %{group}. Non potrai più accedere al contenuto " "privato di questo gruppo." -#: lib/web/templates/email/group_invite.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_invite.html.eex:38 msgid "%{inviter} just invited you to join their group %{link_start}%{group}%{link_end}" msgstr "" "%{inviter} ti ha appena invitato a partecipare al suo gruppo " "%{link_start}%{group}%{link_end}" -#: lib/web/templates/email/group_member_removal.html.eex:38 #, elixir-format +#: lib/web/templates/email/group_member_removal.html.eex:38 msgid "You have been removed from group %{link_start}%{group}%{link_end}. You will not be able to access this group's private content anymore." msgstr "" "Sei stato rimosso dal gruppo %{link_start}%{group}%{link_end}. Non " "potrai più accedere al contenuto privato di questo gruppo." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:54 #: lib/web/templates/email/group_suspension.text.eex:7 -#, elixir-format msgid "As this group was located on another instance, it will continue to work for other instances than this one." msgstr "" "Poiché questo gruppo era posizionato su un'altra istanza, continuerà a " "funzionare per altre istanze tranne questa." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:46 #: lib/web/templates/email/group_suspension.text.eex:5 -#, elixir-format msgid "As this group was located on this instance, all of it's data has been irretrievably deleted." msgstr "" "Poiché questo gruppo si trovava su questa istanza, tutti i suoi dati sono " "stati irrimediabilmente cancellati." +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:38 #: lib/web/templates/email/group_deletion.text.eex:3 -#, elixir-format msgid "The administrator %{author} deleted group %{group}. All of the group's events, discussions, posts and todos have been deleted." msgstr "" "L'amministratore %{author} ha eliminato il gruppo %{group}. Tutti gli " "eventi, le discussioni, i post e gli impegni del gruppo sono stati eliminati." +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:13 #: lib/web/templates/email/group_suspension.text.eex:1 -#, elixir-format msgid "The group %{group} has been suspended on %{instance}!" msgstr "Il gruppo %{group} è stato sospeso su %{instance}!" +#, elixir-format #: lib/web/templates/email/group_deletion.html.eex:13 #: lib/web/templates/email/group_deletion.text.eex:1 -#, elixir-format msgid "The group %{group} was deleted on %{instance}!" msgstr "Il gruppo %{group} è stato eliminato su %{instance}!" +#, elixir-format #: lib/web/templates/email/group_suspension.html.eex:38 #: lib/web/templates/email/group_suspension.text.eex:3 -#, elixir-format msgid "Your instance's moderation team has decided to suspend %{group_name} (%{group_address}). You are no longer a member of this group." msgstr "" "Il team di moderazione della tua istanza ha deciso di sospendere " "%{group_name} (%{group_address}). Non sei più un membro di questo gruppo." -#: lib/web/email/group.ex:136 #, elixir-format +#: lib/web/email/group.ex:136 msgid "The group %{group} has been deleted on %{instance}" msgstr "Il gruppo %{group} è stato eliminato su %{instance}" -#: lib/web/email/group.ex:97 #, elixir-format +#: lib/web/email/group.ex:97 msgid "The group %{group} has been suspended on %{instance}" msgstr "Il gruppo %{group} è stato sospeso su %{instance}" -#: lib/web/templates/api/terms.html.eex:24 #, elixir-format +#: lib/web/templates/api/terms.html.eex:24 msgctxt "terms" msgid "By accessing or using the Service, this means you agree to be bound by all the terms below. If these terms are in any way unclear, please let us know by contacting %{contact}." msgstr "" @@ -1360,8 +1360,8 @@ msgstr "" "termini sotto. Se questi non ti sono chiari a sufficienza, per favore " "faccelo sapere contattando %{contact}." -#: lib/web/templates/api/terms.html.eex:40 #, elixir-format +#: lib/web/templates/api/terms.html.eex:40 msgctxt "terms" msgid "For information about how we collect and use information about users of the Service, please check our privacy policy." msgstr "" @@ -1369,22 +1369,22 @@ msgstr "" "utenti del Servizio, consultare la nostra politica " "sulla privacy." -#: lib/web/templates/api/terms.html.eex:36 #, elixir-format +#: lib/web/templates/api/terms.html.eex:36 msgctxt "terms" msgid "If you continue to use the Service after the revised Terms go into effect, you accept the revised Terms." msgstr "" "Se continui a utilizzare il Servizio dopo l'entrata in vigore dei Termini " "modificati, accetti i Termini modificati." -#: lib/web/templates/api/privacy.html.eex:78 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:78 msgctxt "terms" msgid "If you delete this information, you need to login again." msgstr "Se elimini queste informazioni, devi accedere di nuovo." -#: lib/web/templates/api/privacy.html.eex:80 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:80 msgctxt "terms" msgid "If you're not connected, we don't store any information on your device, unless you participate in an event anonymously. In this specific case we store the hash of an unique identifier for the event and participation status in your browser so that we may display participation status. Deleting this information will only stop displaying participation status in your browser." msgstr "" @@ -1396,22 +1396,22 @@ msgstr "" "informazioni interromperà solo la visualizzazione dello stato di " "partecipazione nel tuo browser." -#: lib/web/templates/api/privacy.html.eex:87 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:87 msgctxt "terms" msgid "Note: This information is stored in your localStorage and not your cookies." msgstr "" "Nota: queste informazioni sono memorizzate nel tuo localStorage e non nei " "tuoi cookie." -#: lib/web/templates/api/terms.html.eex:71 #, elixir-format +#: lib/web/templates/api/terms.html.eex:71 msgctxt "terms" msgid "Our responsibility" msgstr "La nostra responsabilità" -#: lib/web/templates/api/privacy.html.eex:61 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:61 msgctxt "terms" msgid "Retain server logs containing the IP address of all requests to this server, insofar as such logs are kept, no more than 90 days." msgstr "" @@ -1419,9 +1419,9 @@ msgstr "" "richieste a questo server, nella misura in cui tali registri vengono " "conservati, per non più di 90 giorni." +#, elixir-format #: lib/web/templates/api/privacy.html.eex:3 #: lib/web/templates/api/terms.html.eex:15 -#, elixir-format msgctxt "terms" msgid "Some terms, technical or otherwise, used in the text below may cover concepts that are difficult to grasp. We have provided a glossary to help you understand them better." msgstr "" @@ -1429,8 +1429,8 @@ msgstr "" "possono coprire concetti difficili da comprendere. Abbiamo fornito un glossario per aiutarti a capirli meglio." -#: lib/web/templates/api/terms.html.eex:45 #, elixir-format +#: lib/web/templates/api/terms.html.eex:45 msgctxt "terms" msgid "We are not liable for any loss you may incur as a result of someone else using your email or password, either with or without your knowledge." msgstr "" @@ -1438,8 +1438,8 @@ msgstr "" "dell'utilizzo da parte di qualcun altro della tua email o password, con o " "senza la tua conoscenza." -#: lib/web/templates/api/terms.html.eex:50 #, elixir-format +#: lib/web/templates/api/terms.html.eex:50 msgctxt "terms" msgid "We cannot be held responsible should a programming or administrative error make your content visible to a larger audience than intended. Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service." msgstr "" @@ -1449,8 +1449,8 @@ msgstr "" "contenuto, mantieni tutti i tuoi diritti sul contenuto che pubblichi, " "colleghi e rendi disponibile in altro modo sul o tramite il Servizio." -#: lib/web/templates/api/privacy.html.eex:10 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:10 msgctxt "terms" msgid "We collect information from you when you register on this instance and gather data when you participate in the platform by reading, writing, and interacting with content shared here. If you register on this instance, you will be asked to enter an email address, a password (hashed) and at least an username. Your email address will be verified by an email containing a unique link. Once the link is activated, we know you control that email address. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly. You may however visit this instance without registering." msgstr "" @@ -1468,8 +1468,8 @@ msgstr "" "elencati pubblicamente. Puoi tuttavia visitare questa istanza senza " "registrarti." -#: lib/web/templates/api/terms.html.eex:30 #, elixir-format +#: lib/web/templates/api/terms.html.eex:30 msgctxt "terms" msgid "We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature." msgstr "" @@ -1477,8 +1477,8 @@ msgstr "" "momento. Ad esempio, potrebbe essere necessario modificare questi Termini se " "pubblichiamo una nuova funzionalità." -#: lib/web/templates/api/terms.html.eex:20 #, elixir-format +#: lib/web/templates/api/terms.html.eex:20 msgctxt "terms" msgid "When we say “we”, “our”, or “us” in this document, we are referring to the owners, operators and administrators of this Mobilizon instance. The Mobilizon software is provided by the team of Mobilizon contributors, supported by Framasoft, a French not-for-profit organization advocating for Free/Libre Software. Unless explicitly stated, this Mobilizon instance is an independent service using Mobilizon's source code. You may find more information about this instance on the \"About this instance\" page." msgstr "" @@ -1492,8 +1492,8 @@ msgstr "" "Mobilizon. Puoi trovare ulteriori informazioni su questa istanza nella " "pagina \"Informazioni su questa istanza\"." -#: lib/web/templates/api/terms.html.eex:43 #, elixir-format +#: lib/web/templates/api/terms.html.eex:43 msgctxt "terms" msgid "When you create an account you agree to maintain the security and confidentiality of your password and accept all risks of unauthorized access to your account data and any other information you provide to %{instance_name}." msgstr "" @@ -1502,8 +1502,8 @@ msgstr "" "dati del tuo account e a qualsiasi altra informazione che fornisci a " "%{instance_name}." -#: lib/web/templates/api/terms.html.eex:49 #, elixir-format +#: lib/web/templates/api/terms.html.eex:49 msgctxt "terms" msgid "When you post, link or otherwise make available content to the Service, you grant us the right and license to display and distribute your content on or through the Service (including via applications). We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself. The displaying and distribution of your content happens only according to the visibility rules you have set for the content. We will not modify the visibility of the content you have set." msgstr "" @@ -1516,8 +1516,8 @@ msgstr "" "solo in base alle regole di visibilità che hai impostato per il contenuto. " "Non modificheremo la visibilità del contenuto che hai impostato." -#: lib/web/templates/api/privacy.html.eex:19 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:19 msgctxt "terms" msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to different instances and copies are stored there. When you delete events or comments, this is likewise delivered to these other instances. All interactions related to event features - such as joining an event - or group features - such as managing resources - are federated as well. Please keep in mind that the operators of the instance and any receiving instances may view such messages and information, and that recipients may screenshot, copy or otherwise re-share them." msgstr "" @@ -1531,8 +1531,8 @@ msgstr "" "istanza ricevente possono visualizzare tali messaggi e informazioni e che i " "destinatari possono fare screenshot, copiarli o ricondividerli in altro modo." -#: lib/web/templates/api/privacy.html.eex:99 #, elixir-format +#: lib/web/templates/api/privacy.html.eex:99 msgctxt "terms" msgid "Your content may be downloaded by other instances in the network. Your public events and comments are delivered to the instances following your own instance. Content created through a group is forwarded to all the instances of all the members of the group, insofar as these members reside on a different instance than this one." msgstr "" @@ -1542,160 +1542,161 @@ msgstr "" "le istanze di tutti i membri del gruppo, nella misura in cui questi membri " "risiedono su un'istanza diversa da questa." -#: 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 "" "Hai confermato la tua partecipazione. Aggiorna il tuo calendario, perché ora " "sei nella lista degli invitati!" +#, elixir-format #: lib/web/templates/email/event_participation_approved.html.eex:38 #: lib/web/templates/email/event_participation_confirmed.html.eex:38 -#, elixir-format msgid "You recently requested to attend %{title}." msgstr "Eecentemente hai richiesto di partecipare %{title}." -#: lib/web/email/participation.ex:91 #, elixir-format +#: lib/web/email/participation.ex:91 msgid "Your participation to event %{title} has been confirmed" msgstr "La tua partecipazione all'evento %{title} è stata confermata" -#: lib/web/templates/email/report.html.eex:41 #, elixir-format +#: lib/web/templates/email/report.html.eex:41 msgid "%{reporter} reported the following content." msgstr "%{reporter} ha segnalato il seguente contenuto." -#: lib/web/templates/email/report.text.eex:5 #, elixir-format +#: lib/web/templates/email/report.text.eex:5 msgid "Group %{group} was reported" msgstr "Il gruppo %{group} è stato segnalato" -#: lib/web/templates/email/report.html.eex:51 #, elixir-format +#: lib/web/templates/email/report.html.eex:51 msgid "Group reported" msgstr "Gruppo segnalato" -#: lib/web/templates/email/report.text.eex:7 #, elixir-format +#: lib/web/templates/email/report.text.eex:7 msgid "Profile %{profile} was reported" msgstr "Il profilo %{profile} è stato segnalato" -#: lib/web/templates/email/report.html.eex:56 #, elixir-format +#: lib/web/templates/email/report.html.eex:56 msgid "Profile reported" msgstr "Profilo segnalato" -#: lib/web/templates/email/event_participation_confirmed.html.eex:45 #, elixir-format +#: lib/web/templates/email/event_participation_confirmed.html.eex:45 msgid "You have now confirmed your participation. Update your calendar, because you're on the guest list now!" msgstr "" "Hai ora confermato la tua partecipazione. Aggiorna il tuo calendario, perché " "ora sei nella lista degli invitati!" -#: lib/mobilizon/posts/post.ex:94 #, elixir-format +#: lib/mobilizon/posts/post.ex:94 msgid "A text is required for the post" msgstr "È richiesto un testo per il post" -#: lib/mobilizon/posts/post.ex:93 #, elixir-format +#: lib/mobilizon/posts/post.ex:93 msgid "A title is required for the post" msgstr "È richiesto un titolo per il post" -#: 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}) ha appena richiesto di seguire la tua istanza." -#: lib/web/email/follow.ex:54 #, elixir-format +#: lib/web/email/follow.ex:54 msgid "%{name} requests to follow your instance" msgstr "%{name} richiede di seguire la tua istanza" -#: lib/web/templates/email/instance_follow.html.eex:38 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:38 msgid "%{name} (%{domain}) just requested to follow your instance. If you accept, this instance will receive all of your instance's public events." msgstr "" "%{name} (%{domain}) ha appena richiesto di seguire la tua istanza. Se " "accetti, questa istanza riceverà tutti gli eventi pubblici della tua istanza." -#: lib/web/templates/email/instance_follow.text.eex:4 #, elixir-format +#: lib/web/templates/email/instance_follow.text.eex:4 msgid "If you accept, this instance will receive all of your public events." msgstr "Se accetti, questa istanza riceverà tutti i tuoi eventi pubblici." -#: lib/web/email/follow.ex:48 #, elixir-format +#: lib/web/email/follow.ex:48 msgid "Instance %{name} (%{domain}) requests to follow your instance" msgstr "L'istanza %{name} (%{domain}) richiede di seguire la tua istanza" -#: lib/web/templates/email/instance_follow.html.eex:66 #, elixir-format +#: lib/web/templates/email/instance_follow.html.eex:66 msgid "See the federation settings" msgstr "Vedi le impostazioni della federazione" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:52 #: lib/web/templates/email/instance_follow.text.eex:6 -#, elixir-format msgid "To accept this invitation, head over to the instance's admin settings." msgstr "" "Per accettare questo invito, vai alle impostazioni di amministrazione " "dell'istanza." +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:13 #: lib/web/templates/email/instance_follow.text.eex:1 -#, elixir-format msgid "Want to connect?" msgstr "Vuoi connetterti?" +#, elixir-format #: lib/web/templates/email/instance_follow.html.eex:45 #: lib/web/templates/email/instance_follow.text.eex:5 -#, elixir-format msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too." msgstr "" "Nota: %{name} (%{domain}) che ti segue non implica necessariamente che segui " "questa istanza, ma puoi anche chiedere di seguirli." -#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 #, elixir-format +#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38 msgid "Hi there! You just registered to join this event: « %{title} ». Please confirm the e-mail address you provided:" msgstr "" "Ciao! Ti sei appena registrato per partecipare a questo evento: « " "%{title} ». Conferma l'indirizzo e-mail che hai fornito:" -#: lib/web/templates/email/event_participation_rejected.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_participation_rejected.html.eex:38 msgid "You issued a request to attend %{title}." msgstr "Hai chiesto di partecipare %{title}." -#: lib/web/templates/email/event_updated.html.eex:64 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:64 msgid "Event title" msgstr "Titolo dell'evento" -#: lib/web/templates/email/event_updated.html.eex:38 #, elixir-format +#: lib/web/templates/email/event_updated.html.eex:38 msgid "There have been changes for %{title} so we'd thought we'd let you know." msgstr "" "Sono state apportate modifiche a %{title}, quindi abbiamo pensato di " "informarti." -#: lib/web/templates/error/500_page.html.eex:7 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:7 msgid "This page is not correct" msgstr "Questa pagina non è corretta" -#: lib/web/templates/error/500_page.html.eex:50 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:50 msgid "We're sorry, but something went wrong on our end." msgstr "Siamo spiacenti, ma qualcosa è andato storto da parte nostra." +#, elixir-format #: lib/web/templates/email/email.html.eex:88 #: lib/web/templates/email/email.text.eex:4 -#, elixir-format msgid "This is a demonstration site to test Mobilizon." msgstr "Questo è un sito dimostrativo per testare Mobilizon." +#, elixir-format #: lib/service/metadata/actor.ex:53 lib/service/metadata/actor.ex:60 #: lib/service/metadata/instance.ex:54 lib/service/metadata/instance.ex:60 msgid "%{name}'s feed" @@ -1716,26 +1717,26 @@ msgstr "Flusso pubblico degli eventi di %{actor} su %{instance}" msgid "Feed for %{email} on %{instance}" msgstr "Flusso per %{email} su %{instance}" -#: lib/web/templates/error/500_page.html.eex:57 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:57 msgid "If the issue persists, you may contact the server administrator at %{contact}." msgstr "" "Se il problema persiste contatta l'amministratore del server a %{contact}." -#: lib/web/templates/error/500_page.html.eex:55 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:55 msgid "If the issue persists, you may try to contact the server administrator." msgstr "" "Se il problema persiste puoi provare a contattare l'amministratore del " "server." -#: lib/web/templates/error/500_page.html.eex:68 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:68 msgid "Technical details" msgstr "Dettagli tecnici" -#: lib/web/templates/error/500_page.html.eex:52 #, elixir-format +#: lib/web/templates/error/500_page.html.eex:52 msgid "The Mobilizon server %{instance} seems to be temporarily down." msgstr "Il server Mobilizon sembra essere temporaneamente inattivo." @@ -1743,3 +1744,25 @@ msgstr "Il server Mobilizon sembra essere temporaneamente inattivo." #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po index a83f9c0d3..983997c5e 100644 --- a/priv/gettext/it/LC_MESSAGES/errors.po +++ b/priv/gettext/it/LC_MESSAGES/errors.po @@ -94,8 +94,8 @@ msgstr "dev'essere maggiore o uguale di %{number}" msgid "must be equal to %{number}" msgstr "dev'essere uguale a %{number}" -#: lib/graphql/resolvers/user.ex:100 #, elixir-format +#: lib/graphql/resolvers/user.ex:100 msgid "Cannot refresh the token" msgstr "Il token non può essere aggiornato" @@ -109,8 +109,8 @@ msgstr "Il profilo corrente non è membro di questo gruppo" msgid "Current profile is not an administrator of the selected group" msgstr "Il profilo corrente non è amministratore del gruppo selezionato" -#: lib/graphql/resolvers/user.ex:501 #, elixir-format +#: lib/graphql/resolvers/user.ex:501 msgid "Error while saving user settings" msgstr "Errore nel salvare le preferenze utente" @@ -125,8 +125,8 @@ msgstr "Gruppo non trovato" msgid "Group with ID %{id} not found" msgstr "Gruppo con ID %{id} non trovato" -#: lib/graphql/resolvers/user.ex:80 #, elixir-format +#: lib/graphql/resolvers/user.ex:80 msgid "Impossible to authenticate, either your email or password are invalid." msgstr "Impossibile autenticarsi: email e/o password non validi." @@ -135,14 +135,14 @@ msgstr "Impossibile autenticarsi: email e/o password non validi." msgid "Member not found" msgstr "Membro non trovato" +#, elixir-format #: lib/graphql/resolvers/actor.ex:58 lib/graphql/resolvers/actor.ex:88 #: lib/graphql/resolvers/user.ex:406 -#, elixir-format msgid "No profile found for the moderator user" msgstr "Nessun profilo trovato per l'utente moderatore" -#: lib/graphql/resolvers/user.ex:193 #, elixir-format +#: lib/graphql/resolvers/user.ex:193 msgid "No user to validate with this email was found" msgstr "Nessun utente da convalidare trovato con questa email" @@ -151,6 +151,7 @@ msgstr "Nessun utente da convalidare trovato con questa email" msgid "No user with this email was found" msgstr "Nessun utente con questa email" +#, elixir-format #: lib/graphql/resolvers/feed_token.ex:28 #: lib/graphql/resolvers/participant.ex:28 lib/graphql/resolvers/participant.ex:159 #: lib/graphql/resolvers/participant.ex:188 lib/graphql/resolvers/person.ex:165 lib/graphql/resolvers/person.ex:199 @@ -159,64 +160,64 @@ msgstr "Nessun utente con questa email" msgid "Profile is not owned by authenticated user" msgstr "L'utente autenticato non è propietario di questo profilo" -#: lib/graphql/resolvers/user.ex:123 #, elixir-format +#: lib/graphql/resolvers/user.ex:123 msgid "Registrations are not open" msgstr "Le registrazioni non sono aperte" -#: lib/graphql/resolvers/user.ex:331 #, elixir-format +#: lib/graphql/resolvers/user.ex:331 msgid "The current password is invalid" msgstr "la password corrente non è valida" -#: lib/graphql/resolvers/user.ex:376 #, elixir-format +#: lib/graphql/resolvers/user.ex:376 msgid "The new email doesn't seem to be valid" msgstr "La nuova email sembra non valida" -#: lib/graphql/resolvers/user.ex:373 #, elixir-format +#: lib/graphql/resolvers/user.ex:373 msgid "The new email must be different" msgstr "La nuova email dev'essere diversa" -#: lib/graphql/resolvers/user.ex:334 #, elixir-format +#: lib/graphql/resolvers/user.ex:334 msgid "The new password must be different" msgstr "La nuova password deve essere diversa" +#, elixir-format #: lib/graphql/resolvers/user.ex:370 lib/graphql/resolvers/user.ex:428 #: lib/graphql/resolvers/user.ex:431 -#, elixir-format msgid "The password provided is invalid" msgstr "La password assegnata non è valida" -#: lib/graphql/resolvers/user.ex:338 #, elixir-format +#: lib/graphql/resolvers/user.ex:338 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." -#: lib/graphql/resolvers/user.ex:214 #, elixir-format +#: lib/graphql/resolvers/user.ex:214 msgid "This user can't reset their password" msgstr "Questo utente non può resettare la password" -#: lib/graphql/resolvers/user.ex:76 #, elixir-format +#: lib/graphql/resolvers/user.ex:76 msgid "This user has been disabled" msgstr "L'utente è stato disabilitato" -#: lib/graphql/resolvers/user.ex:177 #, elixir-format +#: lib/graphql/resolvers/user.ex:177 msgid "Unable to validate user" msgstr "Impossibile convalidare l'utente" -#: lib/graphql/resolvers/user.ex:409 #, elixir-format +#: lib/graphql/resolvers/user.ex:409 msgid "User already disabled" msgstr "Utente già disabilitato" -#: lib/graphql/resolvers/user.ex:476 #, elixir-format +#: lib/graphql/resolvers/user.ex:476 msgid "User requested is not logged-in" msgstr "L'utente richiesto non è loggato" @@ -240,13 +241,13 @@ msgstr "Non puoi unirti a questo gruppo" msgid "You may not list groups unless moderator." msgstr "Non è possibile elencare i gruppi a meno che non sia un moderatore." -#: lib/graphql/resolvers/user.ex:381 #, elixir-format +#: lib/graphql/resolvers/user.ex:381 msgid "You need to be logged-in to change your email" msgstr "È necessario effettuare il login per modificare la tua email" -#: lib/graphql/resolvers/user.ex:346 #, elixir-format +#: lib/graphql/resolvers/user.ex:346 msgid "You need to be logged-in to change your password" msgstr "È necessario effettuare il login per modificare la tua password" @@ -255,8 +256,8 @@ msgstr "È necessario effettuare il login per modificare la tua password" msgid "You need to be logged-in to delete a group" msgstr "È necessario effettuare il login per eliminare un gruppo" -#: lib/graphql/resolvers/user.ex:436 #, elixir-format +#: lib/graphql/resolvers/user.ex:436 msgid "You need to be logged-in to delete your account" msgstr "È necessario effettuare il login per eliminare il tuo account" @@ -275,65 +276,65 @@ msgstr "È necessario effettuare il login per lasciare un gruppo" msgid "You need to be logged-in to update a group" msgstr "È necessario effettuare il login per aggiornare un gruppo" -#: lib/graphql/resolvers/user.ex:105 #, elixir-format +#: lib/graphql/resolvers/user.ex:105 msgid "You need to have an existing token to get a refresh token" msgstr "" "È necessario disporre di un token esistente per ottenere un token di " "aggiornamento" -#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221 #, elixir-format +#: lib/graphql/resolvers/user.ex:196 lib/graphql/resolvers/user.ex:221 msgid "You requested again a confirmation email too soon" msgstr "Hai richiesto di nuovo un'e-mail di conferma troppo presto" -#: lib/graphql/resolvers/user.ex:126 #, elixir-format +#: lib/graphql/resolvers/user.ex:126 msgid "Your email is not on the allowlist" msgstr "La tua mail non è nella lista delle autorizzazioni" -#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94 #, elixir-format +#: lib/graphql/resolvers/actor.ex:64 lib/graphql/resolvers/actor.ex:94 msgid "Error while performing background task" msgstr "Errore nell'eseguire un processo in background" -#: lib/graphql/resolvers/actor.ex:27 #, elixir-format +#: lib/graphql/resolvers/actor.ex:27 msgid "No profile found with this ID" msgstr "Nessun profilo trovato con questo ID" -#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91 #, elixir-format +#: lib/graphql/resolvers/actor.ex:54 lib/graphql/resolvers/actor.ex:91 msgid "No remote profile found with this ID" msgstr "Nessun profilo remoto trovato con questo ID" -#: lib/graphql/resolvers/actor.ex:69 #, elixir-format +#: lib/graphql/resolvers/actor.ex:69 msgid "Only moderators and administrators can suspend a profile" msgstr "Solo i moderatori e gli amministratori possono sospendere un profilo" -#: lib/graphql/resolvers/actor.ex:99 #, elixir-format +#: lib/graphql/resolvers/actor.ex:99 msgid "Only moderators and administrators can unsuspend a profile" msgstr "Solo i moderatori e gli amministratori possono riattivare un profilo" -#: lib/graphql/resolvers/actor.ex:24 #, elixir-format +#: lib/graphql/resolvers/actor.ex:24 msgid "Only remote profiles may be refreshed" msgstr "È possibile aggiornare solo i profili remoti" -#: lib/graphql/resolvers/actor.ex:61 #, elixir-format +#: lib/graphql/resolvers/actor.ex:61 msgid "Profile already suspended" msgstr "Profilo già sospeso" -#: lib/graphql/resolvers/participant.ex:92 #, elixir-format +#: lib/graphql/resolvers/participant.ex:92 msgid "A valid email is required by your instance" msgstr "Un'email valida è richiesta dalla vostra istanza" -#: lib/graphql/resolvers/participant.ex:86 #, elixir-format +#: lib/graphql/resolvers/participant.ex:86 msgid "Anonymous participation is not enabled" msgstr "La partecipazione anonima non è abilitata" @@ -347,45 +348,45 @@ msgstr "Impossibile rimuovere l'ultimo amministratore di un gruppo" msgid "Cannot remove the last identity of a user" msgstr "Impossibile rimuovere l'ultima identità di un utente" -#: lib/graphql/resolvers/comment.ex:108 #, elixir-format +#: lib/graphql/resolvers/comment.ex:108 msgid "Comment is already deleted" msgstr "Commento già cancellato" -#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62 #, elixir-format +#: lib/graphql/error.ex:92 lib/graphql/resolvers/discussion.ex:62 msgid "Discussion not found" msgstr "Discussione non trovata" -#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 #, elixir-format +#: lib/graphql/resolvers/report.ex:58 lib/graphql/resolvers/report.ex:77 msgid "Error while saving report" msgstr "Errore nel salvare la segnalazione" -#: lib/graphql/resolvers/report.ex:96 #, elixir-format +#: lib/graphql/resolvers/report.ex:96 msgid "Error while updating report" msgstr "Errore durante l'aggiornamento del rapporto" -#: lib/graphql/resolvers/participant.ex:127 #, elixir-format +#: lib/graphql/resolvers/participant.ex:127 msgid "Event id not found" msgstr "ID evento non trovato" +#, elixir-format #: lib/graphql/error.ex:89 lib/graphql/resolvers/event.ex:281 #: lib/graphql/resolvers/event.ex:325 -#, elixir-format msgid "Event not found" msgstr "Evento non trovato" +#, elixir-format #: lib/graphql/resolvers/participant.ex:83 #: lib/graphql/resolvers/participant.ex:124 lib/graphql/resolvers/participant.ex:156 -#, elixir-format msgid "Event with this ID %{id} doesn't exist" msgstr "L'evento con questo ID %{id} non esiste" -#: lib/graphql/resolvers/participant.ex:99 #, elixir-format +#: lib/graphql/resolvers/participant.ex:99 msgid "Internal Error" msgstr "Errore Interno" @@ -394,8 +395,8 @@ msgstr "Errore Interno" msgid "No discussion with ID %{id}" msgstr "Nessuna discussione con l'ID %{id}" -#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 #, elixir-format +#: lib/graphql/resolvers/todos.ex:78 lib/graphql/resolvers/todos.ex:168 msgid "No profile found for user" msgstr "Nessuno profilo trovato per l'utente" @@ -404,15 +405,15 @@ msgstr "Nessuno profilo trovato per l'utente" msgid "No such feed token" msgstr "Nessun token di rifornimento corrispondente" -#: lib/graphql/resolvers/participant.ex:237 #, elixir-format +#: lib/graphql/resolvers/participant.ex:237 msgid "Participant already has role %{role}" msgstr "Il partecipante ha già il ruolo %{role}" +#, elixir-format #: lib/graphql/resolvers/participant.ex:169 #: lib/graphql/resolvers/participant.ex:198 lib/graphql/resolvers/participant.ex:230 #: lib/graphql/resolvers/participant.ex:240 -#, elixir-format msgid "Participant not found" msgstr "Partecipante non trovato" @@ -426,32 +427,32 @@ msgstr "La persona con l'ID %{id} non è stata trovata" msgid "Person with username %{username} not found" msgstr "La persona con il nome utente %{username} non è stata trovata" -#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200 #, elixir-format +#: lib/graphql/resolvers/post.ex:167 lib/graphql/resolvers/post.ex:200 msgid "Post ID is not a valid ID" msgstr "L'ID del post non è un ID valido" -#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203 #, elixir-format +#: lib/graphql/resolvers/post.ex:170 lib/graphql/resolvers/post.ex:203 msgid "Post doesn't exist" msgstr "Il post non esiste" -#: lib/graphql/resolvers/member.ex:83 #, elixir-format +#: lib/graphql/resolvers/member.ex:83 msgid "Profile invited doesn't exist" msgstr "Il profilo invitato non esiste" -#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 #, elixir-format +#: lib/graphql/resolvers/member.ex:92 lib/graphql/resolvers/member.ex:96 msgid "Profile is already a member of this group" msgstr "Il profilo è già un membro diquesto gruppo" +#, elixir-format #: lib/graphql/resolvers/post.ex:132 lib/graphql/resolvers/post.ex:173 #: lib/graphql/resolvers/post.ex:206 lib/graphql/resolvers/resource.ex:88 lib/graphql/resolvers/resource.ex:128 #: lib/graphql/resolvers/resource.ex:157 lib/graphql/resolvers/resource.ex:186 lib/graphql/resolvers/todos.ex:57 #: lib/graphql/resolvers/todos.ex:81 lib/graphql/resolvers/todos.ex:99 lib/graphql/resolvers/todos.ex:171 #: lib/graphql/resolvers/todos.ex:194 lib/graphql/resolvers/todos.ex:222 -#, elixir-format msgid "Profile is not member of group" msgstr "Il profilo non è membro del gruppo" @@ -462,33 +463,32 @@ msgstr "Profilo non trovato" #, elixir-format #: lib/graphql/resolvers/report.ex:36 -#, elixir-format msgid "Report not found" msgstr "Segnalazione non trovata" -#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183 #, elixir-format +#: lib/graphql/resolvers/resource.ex:154 lib/graphql/resolvers/resource.ex:183 msgid "Resource doesn't exist" msgstr "La risorsa non esiste" -#: lib/graphql/resolvers/participant.ex:120 #, elixir-format +#: lib/graphql/resolvers/participant.ex:120 msgid "The event has already reached its maximum capacity" msgstr "L'evento ha già raggiunto la sua massima capacità" -#: lib/graphql/resolvers/participant.ex:260 #, elixir-format +#: lib/graphql/resolvers/participant.ex:260 msgid "This token is invalid" msgstr "Questo token non è valido" -#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 #, elixir-format +#: lib/graphql/resolvers/todos.ex:165 lib/graphql/resolvers/todos.ex:219 msgid "Todo doesn't exist" msgstr "L'elemento to-do non esiste" +#, elixir-format #: lib/graphql/resolvers/todos.ex:75 lib/graphql/resolvers/todos.ex:191 #: lib/graphql/resolvers/todos.ex:216 -#, elixir-format msgid "Todo list doesn't exist" msgstr "la lista non esiste" @@ -512,13 +512,13 @@ msgstr "Utente non trovato" msgid "You already have a profile for this user" msgstr "Hai già un profilo per questo utente" -#: lib/graphql/resolvers/participant.ex:130 #, elixir-format +#: lib/graphql/resolvers/participant.ex:130 msgid "You are already a participant of this event" msgstr "Se già un partecipante di questo evento" -#: lib/graphql/resolvers/member.ex:86 #, elixir-format +#: lib/graphql/resolvers/member.ex:86 msgid "You are not a member of this group" msgstr "Non sei un membro di questo gruppo" @@ -527,18 +527,18 @@ msgstr "Non sei un membro di questo gruppo" msgid "You are not a moderator or admin for this group" msgstr "Non sei un moderatore o amministratore di questo gruppo" -#: lib/graphql/resolvers/comment.ex:54 #, elixir-format +#: lib/graphql/resolvers/comment.ex:54 msgid "You are not allowed to create a comment if not connected" msgstr "Non è consentito creare un commento se non si è collegati" -#: 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 "Non puoi creare un token di rifornimento senza connessione" -#: lib/graphql/resolvers/comment.ex:113 #, elixir-format +#: lib/graphql/resolvers/comment.ex:113 msgid "You are not allowed to delete a comment if not connected" msgstr "Non è consentito eliminare un commento se non si è collegati" @@ -547,14 +547,14 @@ msgstr "Non è consentito eliminare un commento se non si è collegati" msgid "You are not allowed to delete a feed token if not connected" msgstr "Non puoi eliminare un token di rifornimento senza connettersi" -#: lib/graphql/resolvers/comment.ex:76 #, elixir-format +#: lib/graphql/resolvers/comment.ex:76 msgid "You are not allowed to update a comment if not connected" msgstr "Non è consentito aggiornare un commento se non si è collegati" +#, elixir-format #: lib/graphql/resolvers/participant.ex:163 #: lib/graphql/resolvers/participant.ex:192 -#, elixir-format msgid "You can't leave event because you're the only event creator participant" msgstr "" "Non puoi lasciare l'evento perchè sei l'unico partecipante creatore di eventi" @@ -566,18 +566,18 @@ msgstr "" "Non puoi impostare te stesso per un ruolo di membro inferiore per questo " "gruppo perché sei l'unico amministratore" -#: lib/graphql/resolvers/comment.ex:104 #, elixir-format +#: lib/graphql/resolvers/comment.ex:104 msgid "You cannot delete this comment" msgstr "Non puoi eliminare questo commento" -#: lib/graphql/resolvers/event.ex:321 #, elixir-format +#: lib/graphql/resolvers/event.ex:321 msgid "You cannot delete this event" msgstr "Non puoi eliminare questo evento" -#: lib/graphql/resolvers/member.ex:89 #, elixir-format +#: lib/graphql/resolvers/member.ex:89 msgid "You cannot invite to this group" msgstr "Non puoi invitare in questo gruppo" @@ -591,18 +591,18 @@ msgstr "Non hai il permesso di cancellare questo token" msgid "You need to be logged-in and a moderator to list action logs" msgstr "Devi essere connesso e un moderatore per elencare i log delle azioni" -#: lib/graphql/resolvers/report.ex:26 #, elixir-format +#: lib/graphql/resolvers/report.ex:26 msgid "You need to be logged-in and a moderator to list reports" msgstr "Devi essere connesso e un moderatore per elencare i rapporti" -#: lib/graphql/resolvers/report.ex:101 #, elixir-format +#: lib/graphql/resolvers/report.ex:101 msgid "You need to be logged-in and a moderator to update a report" msgstr "Devi essere connesso e un moderatore per aggiornare un rapporto" -#: lib/graphql/resolvers/report.ex:41 #, elixir-format +#: lib/graphql/resolvers/report.ex:41 msgid "You need to be logged-in and a moderator to view a report" msgstr "Devi essere connesso e un moderatore per visualizzare un rapporto" @@ -632,140 +632,140 @@ msgstr "" msgid "You need to be logged-in to access discussions" msgstr "Devi essere connesso per accedere alle discussioni" -#: lib/graphql/resolvers/resource.ex:94 #, elixir-format +#: lib/graphql/resolvers/resource.ex:94 msgid "You need to be logged-in to access resources" msgstr "Devi essere connesso per accedere alle risorse" -#: lib/graphql/resolvers/event.ex:256 #, elixir-format +#: lib/graphql/resolvers/event.ex:256 msgid "You need to be logged-in to create events" msgstr "Devi essere connesso per creare eventi" -#: lib/graphql/resolvers/post.ex:140 #, elixir-format +#: lib/graphql/resolvers/post.ex:140 msgid "You need to be logged-in to create posts" msgstr "Devi essere connesso per creare dei post" -#: lib/graphql/resolvers/report.ex:74 #, elixir-format +#: lib/graphql/resolvers/report.ex:74 msgid "You need to be logged-in to create reports" msgstr "Devi essere connesso per creare rapporti" -#: lib/graphql/resolvers/resource.ex:133 #, elixir-format +#: lib/graphql/resolvers/resource.ex:133 msgid "You need to be logged-in to create resources" msgstr "Devi essere connesso per creare risorse" -#: lib/graphql/resolvers/event.ex:330 #, elixir-format +#: lib/graphql/resolvers/event.ex:330 msgid "You need to be logged-in to delete an event" msgstr "Devi essere connesso per eliminare un evento" -#: lib/graphql/resolvers/post.ex:211 #, elixir-format +#: lib/graphql/resolvers/post.ex:211 msgid "You need to be logged-in to delete posts" msgstr "Devi essere connesso per eliminare dei post" -#: lib/graphql/resolvers/resource.ex:191 #, elixir-format +#: lib/graphql/resolvers/resource.ex:191 msgid "You need to be logged-in to delete resources" msgstr "Devi essere connesso per eliminare risorse" -#: lib/graphql/resolvers/participant.ex:104 #, elixir-format +#: lib/graphql/resolvers/participant.ex:104 msgid "You need to be logged-in to join an event" msgstr "Devi essere connesso per partecipare a un evento" -#: lib/graphql/resolvers/participant.ex:203 #, elixir-format +#: lib/graphql/resolvers/participant.ex:203 msgid "You need to be logged-in to leave an event" msgstr "Devi essere connesso per lasciare un evento" -#: lib/graphql/resolvers/event.ex:295 #, elixir-format +#: lib/graphql/resolvers/event.ex:295 msgid "You need to be logged-in to update an event" msgstr "Devi essere connesso per aggiornare un evento" -#: lib/graphql/resolvers/post.ex:178 #, elixir-format +#: lib/graphql/resolvers/post.ex:178 msgid "You need to be logged-in to update posts" msgstr "Devi essere connesso per aggiornare dei post" -#: lib/graphql/resolvers/resource.ex:162 #, elixir-format +#: lib/graphql/resolvers/resource.ex:162 msgid "You need to be logged-in to update resources" msgstr "Devi essere connesso per aggiornare le risorse" -#: lib/graphql/resolvers/resource.ex:218 #, elixir-format +#: lib/graphql/resolvers/resource.ex:218 msgid "You need to be logged-in to view a resource preview" msgstr "Devi essere connesso per visualizzare l'anteprima di una risorsa" -#: lib/graphql/resolvers/resource.ex:125 #, elixir-format +#: lib/graphql/resolvers/resource.ex:125 msgid "Parent resource doesn't belong to this group" msgstr "La risorsa principale non appartiene a questo gruppo" -#: lib/mobilizon/users/user.ex:109 #, elixir-format +#: lib/mobilizon/users/user.ex:109 msgid "The chosen password is too short." msgstr "La password scelta è troppo corta." -#: lib/mobilizon/users/user.ex:138 #, elixir-format +#: lib/mobilizon/users/user.ex:138 msgid "The registration token is already in use, this looks like an issue on our side." msgstr "" "Il token di registrazione è già in uso, questo sembra un problema dalla " "nostra parte." -#: lib/mobilizon/users/user.ex:104 #, elixir-format +#: lib/mobilizon/users/user.ex:104 msgid "This email is already used." msgstr "Questa email è già in uso." -#: lib/graphql/error.ex:88 #, elixir-format +#: lib/graphql/error.ex:88 msgid "Post not found" msgstr "Post non trovato" -#: lib/graphql/error.ex:75 #, elixir-format +#: lib/graphql/error.ex:75 msgid "Invalid arguments passed" msgstr "Sono stati trasmessi argomenti non validi" -#: lib/graphql/error.ex:81 #, elixir-format +#: lib/graphql/error.ex:81 msgid "Invalid credentials" msgstr "Credenziali non valide" -#: lib/graphql/error.ex:79 #, elixir-format +#: lib/graphql/error.ex:79 msgid "Reset your password to login" msgstr "Reimposta la tua password per connetterti" -#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 #, elixir-format +#: lib/graphql/error.ex:86 lib/graphql/error.ex:91 msgid "Resource not found" msgstr "Segnalazione non trovata" -#: lib/graphql/error.ex:93 #, elixir-format +#: lib/graphql/error.ex:93 msgid "Something went wrong" msgstr "Qualcosa è andato storto" -#: lib/graphql/error.ex:74 #, elixir-format +#: lib/graphql/error.ex:74 msgid "Unknown Resource" msgstr "Risorsa sconosciuta" -#: lib/graphql/error.ex:84 #, elixir-format +#: lib/graphql/error.ex:84 msgid "You don't have permission to do this" msgstr "Non hai il permesso di farlo" -#: lib/graphql/error.ex:76 #, elixir-format +#: lib/graphql/error.ex:76 msgid "You need to be logged in" msgstr "Devi essere connesso" @@ -779,8 +779,8 @@ msgstr "Non puoi accettare l'invito con questo profilo." msgid "You can't reject this invitation with this profile." msgstr "Non puoi rifiutare l'invito con questo profilo." -#: lib/graphql/resolvers/media.ex:62 #, elixir-format +#: lib/graphql/resolvers/media.ex:62 msgid "File doesn't have an allowed MIME type." msgstr "Il file non ha un tipo MIME consentito." @@ -789,13 +789,13 @@ msgstr "Il file non ha un tipo MIME consentito." msgid "Profile is not administrator for the group" msgstr "Il profilo non è amministratore del gruppo" -#: lib/graphql/resolvers/event.ex:284 #, elixir-format +#: lib/graphql/resolvers/event.ex:284 msgid "You can't edit this event." msgstr "Non puoi modificare questo evento." -#: lib/graphql/resolvers/event.ex:287 #, elixir-format +#: lib/graphql/resolvers/event.ex:287 msgid "You can't attribute this event to this profile." msgstr "Non puo iattribuire questo evento a questo profilo." @@ -814,8 +814,8 @@ msgstr "Questo memebro è già stato rifiutato." msgid "You don't have the right to remove this member." msgstr "Non hai il diritto di rimuovere questo membro." -#: lib/mobilizon/actors/actor.ex:351 #, elixir-format +#: lib/mobilizon/actors/actor.ex:351 msgid "This username is already taken." msgstr "Questo nome utente è già in uso." @@ -826,13 +826,13 @@ msgstr "" "Devi fornire un ID o la stringa utente (ad es. utente@mobilizon.sm) " "per accedere ad una discussione" -#: lib/graphql/resolvers/event.ex:245 #, elixir-format +#: lib/graphql/resolvers/event.ex:245 msgid "Organizer profile is not owned by the user" msgstr "Il profilo dell'organizzatore non è di proprietà dell'utente" -#: lib/graphql/resolvers/participant.ex:89 #, elixir-format +#: lib/graphql/resolvers/participant.ex:89 msgid "Profile ID provided is not the anonymous profile one" msgstr "L'ID profilo fornito non è quello del profilo anonimo" @@ -842,24 +842,23 @@ msgstr "L'ID profilo fornito non è quello del profilo anonimo" msgid "The provided picture is too heavy" msgstr "L'immagine inserita è troppo pesante" -#: lib/web/views/utils.ex:33 #, elixir-format +#: lib/web/views/utils.ex:33 msgid "Index file not found. You need to recompile the front-end." msgstr "Il file di indice non è stato trovato. Devi ricompilare il front-end." #, elixir-format #: lib/graphql/resolvers/resource.ex:122 -#, elixir-format msgid "Error while creating resource" msgstr "Errore durante la creazione della risorsa" -#: lib/graphql/resolvers/user.ex:390 #, elixir-format +#: lib/graphql/resolvers/user.ex:390 msgid "Invalid activation token" msgstr "Token di attivazione non valido" -#: lib/graphql/resolvers/resource.ex:208 #, elixir-format +#: lib/graphql/resolvers/resource.ex:208 msgid "Unable to fetch resource details from this URL." msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/activity.po b/priv/gettext/ja/LC_MESSAGES/activity.po new file mode 100644 index 000000000..ab798e095 --- /dev/null +++ b/priv/gettext/ja/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: ja\n" +"Plural-Forms: nplurals=1\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po index 9ef615c0c..9ad67f5c8 100644 --- a/priv/gettext/ja/LC_MESSAGES/default.po +++ b/priv/gettext/ja/LC_MESSAGES/default.po @@ -1399,3 +1399,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/activity.po b/priv/gettext/nl/LC_MESSAGES/activity.po new file mode 100644 index 000000000..b909db773 --- /dev/null +++ b/priv/gettext/nl/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: nl\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po index 562e6e680..c37760476 100644 --- a/priv/gettext/nl/LC_MESSAGES/default.po +++ b/priv/gettext/nl/LC_MESSAGES/default.po @@ -1424,3 +1424,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/activity.po b/priv/gettext/nn/LC_MESSAGES/activity.po new file mode 100644 index 000000000..6a6c7ed80 --- /dev/null +++ b/priv/gettext/nn/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: nn\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/nn/LC_MESSAGES/default.po b/priv/gettext/nn/LC_MESSAGES/default.po index 9c5c62c2c..c3be2457b 100644 --- a/priv/gettext/nn/LC_MESSAGES/default.po +++ b/priv/gettext/nn/LC_MESSAGES/default.po @@ -1700,3 +1700,25 @@ msgstr "Mobilizon-tenaren ser ut til å vera nede i augeblinken." #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/oc/LC_MESSAGES/activity.po b/priv/gettext/oc/LC_MESSAGES/activity.po new file mode 100644 index 000000000..b3a4fccdc --- /dev/null +++ b/priv/gettext/oc/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: oc\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/oc/LC_MESSAGES/default.po b/priv/gettext/oc/LC_MESSAGES/default.po index 31b13a439..98f237bd6 100644 --- a/priv/gettext/oc/LC_MESSAGES/default.po +++ b/priv/gettext/oc/LC_MESSAGES/default.po @@ -1509,3 +1509,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/pl/LC_MESSAGES/activity.po b/priv/gettext/pl/LC_MESSAGES/activity.po new file mode 100644 index 000000000..ea35ca7a6 --- /dev/null +++ b/priv/gettext/pl/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: pl\n" +"Plural-Forms: nplurals=3\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/pl/LC_MESSAGES/default.po b/priv/gettext/pl/LC_MESSAGES/default.po index ca9b1186b..892ef9ff7 100644 --- a/priv/gettext/pl/LC_MESSAGES/default.po +++ b/priv/gettext/pl/LC_MESSAGES/default.po @@ -1525,3 +1525,25 @@ msgstr "Serwer Mobilizon wydaje się tymczasowo nie działać." #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/pt/LC_MESSAGES/activity.po b/priv/gettext/pt/LC_MESSAGES/activity.po new file mode 100644 index 000000000..39d3851de --- /dev/null +++ b/priv/gettext/pt/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: pt\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/pt/LC_MESSAGES/default.po b/priv/gettext/pt/LC_MESSAGES/default.po index c79a35bd5..ec7f21005 100644 --- a/priv/gettext/pt/LC_MESSAGES/default.po +++ b/priv/gettext/pt/LC_MESSAGES/default.po @@ -1404,3 +1404,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/activity.po b/priv/gettext/pt_BR/LC_MESSAGES/activity.po new file mode 100644 index 000000000..209ce5248 --- /dev/null +++ b/priv/gettext/pt_BR/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/pt_BR/LC_MESSAGES/default.po b/priv/gettext/pt_BR/LC_MESSAGES/default.po index b077d9baa..123703d89 100644 --- a/priv/gettext/pt_BR/LC_MESSAGES/default.po +++ b/priv/gettext/pt_BR/LC_MESSAGES/default.po @@ -1516,3 +1516,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/ru/LC_MESSAGES/activity.po b/priv/gettext/ru/LC_MESSAGES/activity.po new file mode 100644 index 000000000..33f6bf3db --- /dev/null +++ b/priv/gettext/ru/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: ru\n" +"Plural-Forms: nplurals=3\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/ru/LC_MESSAGES/default.po b/priv/gettext/ru/LC_MESSAGES/default.po index c256130af..56189720c 100644 --- a/priv/gettext/ru/LC_MESSAGES/default.po +++ b/priv/gettext/ru/LC_MESSAGES/default.po @@ -1741,3 +1741,25 @@ msgstr "Сервер Mobilizon %{instance} временно недоступен #, elixir-format msgid "Public feed for %{instance}" msgstr "Публичная лента для %{instance}" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/activity.po b/priv/gettext/sv/LC_MESSAGES/activity.po new file mode 100644 index 000000000..979ead3e4 --- /dev/null +++ b/priv/gettext/sv/LC_MESSAGES/activity.po @@ -0,0 +1,177 @@ +## "msgid"s in this file come from POT (.pot) files. +## +## Do not add, change, or remove "msgid"s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use "mix gettext.extract --merge" or "mix gettext.merge" +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: sv\n" +"Plural-Forms: nplurals=2\n" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:19 +msgid "%{member} accepted the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:26 +msgid "%{member} rejected the invitation to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:4 +msgid "%{member} requested to join the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:11 +msgid "%{member} was invited by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:40 +msgid "%{profile} added the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:49 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:46 +msgid "%{profile} archived the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:4 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:4 +msgid "%{profile} created the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:5 +msgid "%{profile} created the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:4 +msgid "%{profile} created the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:20 +msgid "%{profile} created the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:64 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:60 +msgid "%{profile} deleted the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:103 +msgid "%{profile} deleted the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:111 +msgid "%{profile} deleted the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:56 +msgid "%{profile} excluded member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:71 +msgid "%{profile} moved the folder %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:86 +msgid "%{profile} moved the resource %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:64 +msgid "%{profile} quit the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:34 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:32 +msgid "%{profile} renamed the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:37 +msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_resource_activity_item.html.eex:53 +msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_comment_activity_item.html.eex:19 +#: lib/web/templates/email/activity/_discussion_activity_item.html.eex:18 +msgid "%{profile} replied to the discussion %{discussion}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_group_activity_item.html.eex:19 +msgid "%{profile} updated the group %{group}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:48 +msgid "%{profile} updated the member %{member}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:4 +msgid "The event %{event} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:34 +msgid "The event %{event} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:19 +msgid "The event %{event} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:4 +msgid "The post %{post} was created by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:34 +msgid "The post %{post} was deleted by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_post_activity_item.html.eex:19 +msgid "The post %{post} was updated by %{profile}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_member_activity_item.html.eex:33 +msgid "%{member} joined the group." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:58 +msgid "%{profile} posted a comment on the event %{event}." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/activity/_event_activity_item.html.eex:43 +msgid "%{profile} replied to a comment on the event %{event}." +msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po index 4053509fb..133a74328 100644 --- a/priv/gettext/sv/LC_MESSAGES/default.po +++ b/priv/gettext/sv/LC_MESSAGES/default.po @@ -1432,3 +1432,25 @@ msgstr "" #: lib/service/export/feed.ex:73 msgid "Public feed for %{instance}" msgstr "" + +#, elixir-format +#: lib/web/email/activity.ex:23 +msgid "Activity notification for %{instance}" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:84 +#: lib/web/templates/email/email_direct_activity.text.eex:7 +msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:41 +#: lib/web/templates/email/email_direct_activity.text.eex:3 +msgid "There has been an activity!" +msgstr "" + +#, elixir-format +#: lib/web/templates/email/email_direct_activity.html.eex:39 +msgid "There has been some activity!" +msgstr "" diff --git a/test/service/workers/activity_builder_test.exs b/test/service/workers/activity_builder_test.exs new file mode 100644 index 000000000..955f989b1 --- /dev/null +++ b/test/service/workers/activity_builder_test.exs @@ -0,0 +1,61 @@ +defmodule Mobilizon.Service.Workers.ActivityBuilderTest do + @moduledoc """ + Test the ActivityBuilder module + """ + + alias Mobilizon.Activities.Activity + alias Mobilizon.Actors.Actor + alias Mobilizon.Service.Workers.ActivityBuilder + alias Mobilizon.Users.User + alias Mobilizon.Web.Email.Activity, as: EmailActivity + + use Mobilizon.DataCase + use Bamboo.Test + + import Mobilizon.Factory + + describe "Sends direct email notification to users" do + test "if the user has a profile member of a group" do + %User{} = user = insert(:user) + + %Actor{} = actor = insert(:actor, user: user) + + %Actor{type: :Group} = group = insert(:group) + insert(:member, parent: group, actor: actor, role: :member) + + %Activity{} = + activity = insert(:mobilizon_activity, group: group, inserted_at: DateTime.utc_now()) + + assert :ok == ActivityBuilder.notify_activity(activity) + + assert_delivered_email( + EmailActivity.direct_activity( + user.email, + [activity] + ) + ) + end + + test "unless if the user has a profile member of a group" do + %User{} = user = insert(:user) + + %Actor{} = actor = insert(:actor, user: user) + + %Actor{type: :Group} = group = insert(:group) + insert(:member, parent: group, actor: actor, role: :member) + + %Activity{} = + activity = + insert(:mobilizon_activity, group: group, inserted_at: DateTime.utc_now(), author: actor) + + assert :ok == ActivityBuilder.notify_activity(activity) + + refute_delivered_email( + EmailActivity.direct_activity( + user.email, + [activity] + ) + ) + end + end +end