Merge remote-tracking branch 'origin'

This commit is contained in:
778a69cd 2023-09-28 12:27:34 +02:00
commit 61d98308f4
11 changed files with 225 additions and 192 deletions

View file

@ -131,7 +131,7 @@ config :mobilizon, Mobilizon.Web.Email.Mailer,
cacerts: if :public_key.cacerts_load(System.get_env("SSL_CERT_FILE")) == :ok do cacerts: if :public_key.cacerts_load(System.get_env("SSL_CERT_FILE")) == :ok do
:public_key.cacerts_get() :public_key.cacerts_get()
end, end,
server_name_indication: "localhost", server_name_indication: ~c"localhost",
depth: 99 depth: 99
], ],
retries: 1, retries: 1,

View file

@ -55,7 +55,7 @@ config :mobilizon, Mobilizon.Web.Email.Mailer,
verify: :verify_peer, verify: :verify_peer,
versions: [:"tlsv1.2", :"tlsv1.3"], versions: [:"tlsv1.2", :"tlsv1.3"],
cacerts: :public_key.cacerts_get(), cacerts: :public_key.cacerts_get(),
server_name_indication: System.get_env("MOBILIZON_SMTP_SERVER", "localhost"), server_name_indication: ~c"#{System.get_env("MOBILIZON_SMTP_SERVER", "localhost")}",
depth: 99 depth: 99
], ],
ssl: System.get_env("MOBILIZON_SMTP_SSL", "false"), ssl: System.get_env("MOBILIZON_SMTP_SSL", "false"),

View file

@ -58,6 +58,7 @@ RUN pip install weasyprint pyexcel-ods3
RUN mkdir -p /var/lib/mobilizon/uploads && chown nobody:nobody /var/lib/mobilizon/uploads RUN mkdir -p /var/lib/mobilizon/uploads && chown nobody:nobody /var/lib/mobilizon/uploads
RUN mkdir -p /var/lib/mobilizon/timezones && chown nobody:nobody /var/lib/mobilizon/timezones RUN mkdir -p /var/lib/mobilizon/timezones && chown nobody:nobody /var/lib/mobilizon/timezones
RUN mkdir -p /var/lib/mobilizon/tzdata && chown nobody:nobody /var/lib/mobilizon/tzdata RUN mkdir -p /var/lib/mobilizon/tzdata && chown nobody:nobody /var/lib/mobilizon/tzdata
RUN mkdir -p /var/lib/mobilizon/sitemap && chown nobody:nobody /var/lib/mobilizon/sitemap
RUN mkdir -p /var/lib/mobilizon/uploads/exports/{csv,pdf,ods} && chown -R nobody:nobody /var/lib/mobilizon/uploads/exports RUN mkdir -p /var/lib/mobilizon/uploads/exports/{csv,pdf,ods} && chown -R nobody:nobody /var/lib/mobilizon/uploads/exports
# Get timezone geodata # Get timezone geodata

View file

@ -178,7 +178,7 @@ onBeforeMount(() => {
const username = getValueFromMeta("auth-user-suggested-actor-username"); const username = getValueFromMeta("auth-user-suggested-actor-username");
const name = getValueFromMeta("auth-user-suggested-actor-name"); const name = getValueFromMeta("auth-user-suggested-actor-name");
if (username) { if (username) {
identity.value.preferredUsername = username; identity.value.preferredUsername = convertToUsername(username);
} }
if (name) { if (name) {
identity.value.name = name; identity.value.name = name;

View file

@ -49,10 +49,17 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do
%Actor{} = local_actor = get_actor() %Actor{} = local_actor = get_actor()
with {:ok, target_instance} <- fetch_actor(address), with {:ok, target_instance} <- fetch_actor(address),
{:ok, %Actor{} = target_actor} <- {:ok, %Actor{id: target_actor_id} = target_actor} <-
ActivityPubActor.get_or_fetch_actor_by_url(target_instance), ActivityPubActor.get_or_fetch_actor_by_url(target_instance),
{:ok, activity, follow} <- Follows.follow(local_actor, target_actor) do {:ok, activity, follow} <- Follows.follow(local_actor, target_actor) do
Logger.info("Relay: followed instance #{target_instance}; id=#{activity.data["id"]}") Logger.info("Relay: followed instance #{target_instance}; id=#{activity.data["id"]}")
Background.enqueue("refresh_profile", %{
"actor_id" => target_actor_id
})
Logger.info("Relay: schedule refreshing instance #{target_instance} after follow")
{:ok, activity, follow} {:ok, activity, follow}
else else
{:error, :person_no_follow} -> {:error, :person_no_follow} ->

View file

@ -979,19 +979,19 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
end end
# If the object has been announced by a group let's use one of our members to fetch it # If the object has been announced by a group let's use one of our members to fetch it
@spec fetch_object_optionnally_authenticated(String.t(), Actor.t() | any()) :: @spec fetch_object_optionally_authenticated(String.t(), Actor.t() | any()) ::
{:ok, struct()} | {:error, any()} {:ok, struct()} | {:error, any()}
defp fetch_object_optionnally_authenticated(url, %Actor{type: :Group, id: group_id}) do defp fetch_object_optionally_authenticated(url, %Actor{type: :Group, id: group_id}) do
case Actors.get_single_group_member_actor(group_id) do case Actors.get_single_group_member_actor(group_id) do
%Actor{} = actor -> %Actor{} = actor ->
ActivityPub.fetch_object_from_url(url, on_behalf_of: actor, force: true) ActivityPub.fetch_object_from_url(url, on_behalf_of: actor, force: true)
_err -> _err ->
fetch_object_optionnally_authenticated(url, nil) fetch_object_optionally_authenticated(url, nil)
end end
end end
defp fetch_object_optionnally_authenticated(url, _), defp fetch_object_optionally_authenticated(url, _),
do: ActivityPub.fetch_object_from_url(url, force: true) do: ActivityPub.fetch_object_from_url(url, force: true)
defp eventually_create_share(object, entity, actor_id) do defp eventually_create_share(object, entity, actor_id) do
@ -1121,7 +1121,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
if Utils.are_same_origin?(url, Endpoint.url()) do if Utils.are_same_origin?(url, Endpoint.url()) do
ActivityPub.fetch_object_from_url(url, force: false) ActivityPub.fetch_object_from_url(url, force: false)
else else
fetch_object_optionnally_authenticated(url, actor) fetch_object_optionally_authenticated(url, actor)
end end
end end

View file

@ -175,25 +175,25 @@ defmodule Mobilizon.Web.ActivityPubController do
end end
def errors(conn, {:error, :not_found}) do def errors(conn, {:error, :not_found}) do
conn send_resp(conn, 404, "Not found")
|> put_status(404) end
|> json("Not found")
def errors(conn, {:error, :bad_request}) do
send_resp(conn, 400, "Bad request")
end end
def errors(conn, e) do def errors(conn, e) do
Logger.debug(inspect(e)) Logger.debug(inspect(e))
conn send_resp(conn, 500, "Unknown Error")
|> put_status(500)
|> json("Unknown Error")
end end
@spec actor_collection(Conn.t(), String.t(), map()) :: Conn.t() @spec actor_collection(Conn.t(), String.t(), map()) :: Conn.t()
defp actor_collection(conn, collection, %{"name" => name, "page" => page}) do defp actor_collection(conn, collection, %{"name" => name, "page" => page}) do
with {page, ""} <- Integer.parse(page), with {:page, {page, ""}} <- {:page, Integer.parse(page)},
page <- max(page, 1), page <- max(page, 1),
%Actor{} = actor <- Actors.get_local_actor_by_name_with_preload(name) do {:actor, %Actor{} = actor} <- {:actor, Actors.get_local_actor_by_name_with_preload(name)} do
conn conn
|> put_resp_content_type("application/activity+json") |> put_resp_content_type("application/activity+json")
|> json( |> json(
@ -203,11 +203,18 @@ defmodule Mobilizon.Web.ActivityPubController do
actor_applicant: Map.get(conn.assigns, :actor) actor_applicant: Map.get(conn.assigns, :actor)
}) })
) )
else
{:page, _} ->
{:error, :bad_request}
{:actor, _} ->
{:error, :not_found}
end end
end end
defp actor_collection(conn, collection, %{"name" => name}) do defp actor_collection(conn, collection, %{"name" => name}) do
with %Actor{} = actor <- Actors.get_local_actor_by_name_with_preload(name) do case Actors.get_local_actor_by_name_with_preload(name) do
%Actor{} = actor ->
conn conn
|> put_resp_content_type("application/activity+json") |> put_resp_content_type("application/activity+json")
|> json( |> json(
@ -216,6 +223,9 @@ defmodule Mobilizon.Web.ActivityPubController do
actor_applicant: Map.get(conn.assigns, :actor) actor_applicant: Map.get(conn.assigns, :actor)
}) })
) )
_ ->
{:error, :not_found}
end end
end end

View file

@ -6,7 +6,7 @@ defmodule Mobilizon.Web.ActivityPub.ActorView do
alias Mobilizon.Discussions.Discussion alias Mobilizon.Discussions.Discussion
alias Mobilizon.Events.Event alias Mobilizon.Events.Event
alias Mobilizon.Federation.ActivityPub alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Utils} alias Mobilizon.Federation.ActivityPub.{Activity, Relay, Utils}
alias Mobilizon.Federation.ActivityStream.Convertible alias Mobilizon.Federation.ActivityStream.Convertible
alias Mobilizon.Posts.Post alias Mobilizon.Posts.Post
alias Mobilizon.Resources.Resource alias Mobilizon.Resources.Resource
@ -124,7 +124,21 @@ defmodule Mobilizon.Web.ActivityPub.ActorView do
end end
defp fetch_collection(:outbox, actor, page) do defp fetch_collection(:outbox, actor, page) do
# In the specific case of the relay outbox collection we need to expose public activities as "Announce"
if Relay.get_actor().id == actor.id do
%{total: total, elements: elements} =
ActivityPub.fetch_public_activities_for_actor(actor, page) ActivityPub.fetch_public_activities_for_actor(actor, page)
%{
total: total,
elements:
Enum.map(elements, fn object ->
Utils.make_announce_data(actor, item(object), nil, true)
end)
}
else
ActivityPub.fetch_public_activities_for_actor(actor, page)
end
end end
defp fetch_collection(_, _, _), do: @private_visibility_empty_collection defp fetch_collection(_, _, _), do: @private_visibility_empty_collection
@ -202,6 +216,7 @@ defmodule Mobilizon.Web.ActivityPub.ActorView do
def item(%Post{} = post), do: Convertible.model_to_as(post) def item(%Post{} = post), do: Convertible.model_to_as(post)
def item(%Event{} = event), do: Convertible.model_to_as(event) def item(%Event{} = event), do: Convertible.model_to_as(event)
def item(%TodoList{} = todo_list), do: Convertible.model_to_as(todo_list) def item(%TodoList{} = todo_list), do: Convertible.model_to_as(todo_list)
def item(item), do: item
@spec actor_applicant_group_member?(Actor.t(), Actor.t()) :: boolean() @spec actor_applicant_group_member?(Actor.t(), Actor.t()) :: boolean()
defp actor_applicant_group_member?(%Actor{id: group_id}, %Actor{id: actor_applicant_id}), defp actor_applicant_group_member?(%Actor{id: group_id}, %Actor{id: actor_applicant_id}),

View file

@ -70,7 +70,7 @@ msgstr "%{profile} creó la carpeta %{resource}."
#: lib/web/templates/email/activity/_group_activity_item.text.eex:1 #: lib/web/templates/email/activity/_group_activity_item.text.eex:1
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} created the group %{group}." msgid "%{profile} created the group %{group}."
msgstr "%{profile} crfeó el grupo %{group}." msgstr "%{profile} creó el grupo %{group}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:15 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:15
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:8 #: lib/web/templates/email/activity/_resource_activity_item.text.eex:8
@ -88,19 +88,19 @@ msgstr "%{profile} eliminó la discusión %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:40 #: lib/web/templates/email/activity/_resource_activity_item.text.eex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} deleted the folder %{resource}." msgid "%{profile} deleted the folder %{resource}."
msgstr "%{profile} borró la carpeta %{resource}." msgstr "%{profile} eliminó la carpeta %{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:94 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:94
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:45 #: lib/web/templates/email/activity/_resource_activity_item.text.eex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} deleted the resource %{resource}." msgid "%{profile} deleted the resource %{resource}."
msgstr "%{profile} eliminado el recurso %{resource}." msgstr "%{profile} eliminó el recurso %{resource}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48 #: lib/web/templates/email/activity/_member_activity_item.html.heex:48
#: lib/web/templates/email/activity/_member_activity_item.text.eex:45 #: lib/web/templates/email/activity/_member_activity_item.text.eex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} excluded member %{member}." msgid "%{profile} excluded member %{member}."
msgstr "%{profile }miembro excluido %{member}." msgstr "%{profile} excluyó al miembro %{member}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:64 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:64
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:28 #: lib/web/templates/email/activity/_resource_activity_item.text.eex:28
@ -118,27 +118,27 @@ msgstr "%{profile} movió el recurso %{resource}."
#: lib/web/templates/email/activity/_member_activity_item.text.eex:51 #: lib/web/templates/email/activity/_member_activity_item.text.eex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} quit the group." msgid "%{profile} quit the group."
msgstr "%{profile} abandona el grupo." msgstr "%{profile} abandonó el grupo."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:19 #: lib/web/templates/email/activity/_discussion_activity_item.html.heex:19
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:13 #: lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} renamed the discussion %{discussion}." msgid "%{profile} renamed the discussion %{discussion}."
msgstr "%{profile} renombrado la discusión %{discussion}." msgstr "%{profile} renombró la discusión %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:28 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:28
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:14 #: lib/web/templates/email/activity/_resource_activity_item.text.eex:14
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}." msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
msgstr "" msgstr ""
"%{profile} ha renombrado la carpeta de %{old_resource_title} a %{resource}." "%{profile} renombró la carpeta de %{old_resource_title} a %{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:45 #: lib/web/templates/email/activity/_resource_activity_item.html.heex:45
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:21 #: lib/web/templates/email/activity/_resource_activity_item.text.eex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}." msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
msgstr "" msgstr ""
"%{profile} ha renombrado el recurso de %{old_resource_title} a %{resource}." "%{profile} renombró el recurso de %{old_resource_title} a %{resource}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:11 #: lib/web/templates/email/activity/_discussion_activity_item.html.heex:11
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7 #: lib/web/templates/email/activity/_discussion_activity_item.text.eex:7
@ -221,8 +221,8 @@ msgstr "%{profile} respondió a un comentario sobre el evento %{event}."
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings." msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings."
msgstr "" msgstr ""
"¿No quieres recibir notificaciones de actividad? Puede cambiar la frecuencia " "¿No quieres recibir notificaciones de actividad? Puedes cambiar la frecuencia "
"o deshabilitarlos en su configuración." "o deshabilitarlos en tu configuración."
#: lib/web/templates/email/email_direct_activity.html.heex:218 #: lib/web/templates/email/email_direct_activity.html.heex:218
#: lib/web/templates/email/email_direct_activity.text.eex:23 #: lib/web/templates/email/email_direct_activity.text.eex:23
@ -230,7 +230,7 @@ msgstr ""
msgid "View one more activity" msgid "View one more activity"
msgid_plural "View %{count} more activities" msgid_plural "View %{count} more activities"
msgstr[0] "Ver una actividad más" msgstr[0] "Ver una actividad más"
msgstr[1] "Ver %{count} actividades mas" msgstr[1] "Ver %{count} actividades más"
#: lib/web/templates/email/email_direct_activity.html.heex:53 #: lib/web/templates/email/email_direct_activity.html.heex:53
#: lib/web/templates/email/email_direct_activity.html.heex:60 #: lib/web/templates/email/email_direct_activity.html.heex:60
@ -240,7 +240,7 @@ msgstr[1] "Ver %{count} actividades mas"
msgid "There has been an activity!" msgid "There has been an activity!"
msgid_plural "There has been some activity!" msgid_plural "There has been some activity!"
msgstr[0] "¡Ha habido una actividad!" msgstr[0] "¡Ha habido una actividad!"
msgstr[1] "¡Ha habido algopúnas actividades!" msgstr[1] "¡Ha habido algunas actividades!"
#: lib/service/activity/renderer/renderer.ex:46 #: lib/service/activity/renderer/renderer.ex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -254,7 +254,7 @@ msgstr "Actividad en %{instance}"
#: lib/web/templates/email/email_anonymous_activity.text.eex:5 #: lib/web/templates/email/email_anonymous_activity.text.eex:5
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} has posted an announcement under event %{event}." msgid "%{profile} has posted an announcement under event %{event}."
msgstr "%{profile} ha publicado un anuncio en el evento %{event}." msgstr "%{profile} publicó un anuncio en el evento %{event}."
#: lib/service/activity/renderer/comment.ex:24 #: lib/service/activity/renderer/comment.ex:24
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:3 #: lib/web/templates/email/activity/_comment_activity_item.html.heex:3
@ -267,14 +267,14 @@ msgstr "%{profile} te mencionó en un comentario en el evento %{event}."
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}." msgid "Don't want to receive activity notifications? You may change frequency or disable them in %{tag_start}your settings%{tag_end}."
msgstr "" msgstr ""
"¿No quieres recibir notificaciones de actividad? Puede cambiar la frecuencia " "¿No quieres recibir notificaciones de actividad? Puedes cambiar la frecuencia "
"o deshabilitarlos en su configuración." "o deshabilitarlos en tu configuración."
#: lib/web/templates/email/email_direct_activity.html.heex:51 #: lib/web/templates/email/email_direct_activity.html.heex:51
#: lib/web/templates/email/email_direct_activity.text.eex:5 #: lib/web/templates/email/email_direct_activity.text.eex:5
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here's your weekly activity recap" msgid "Here's your weekly activity recap"
msgstr "Aquí está su resumen de actividad semanal" msgstr "Aquí está tu resumen de actividad semanal"
#: lib/web/email/activity.ex:121 #: lib/web/email/activity.ex:121
#: lib/web/email/activity.ex:142 #: lib/web/email/activity.ex:142
@ -291,7 +291,7 @@ msgstr "Resumen de actividad diaria en %{instance}"
#: lib/web/templates/email/email_direct_activity.text.eex:4 #: lib/web/templates/email/email_direct_activity.text.eex:4
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Here's your daily activity recap" msgid "Here's your daily activity recap"
msgstr "Aquí está su resumen de actividad diaria" msgstr "Aquí está tu resumen de actividad diaria"
#: lib/web/email/activity.ex:135 #: lib/web/email/activity.ex:135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -315,27 +315,27 @@ msgstr "%{profile} ha publicado una nueva respuesta en tu evento %{event}."
#: lib/web/email/activity.ex:46 #: lib/web/email/activity.ex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Announcement for your event %{event}" msgid "Announcement for your event %{event}"
msgstr "Anuncio para su evento %{event}" msgstr "Anuncio para tu evento %{event}"
#: lib/service/activity/renderer/group.ex:23 #: lib/service/activity/renderer/group.ex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The group %{group} was updated by %{profile}." msgid "The group %{group} was updated by %{profile}."
msgstr "El post %{post} fue actualizado por %{profile}." msgstr "El grupo %{group} fue actualizado por %{profile}."
#: lib/service/activity/renderer/post.ex:47 #: lib/service/activity/renderer/post.ex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was deleted by %{profile}." msgid "The post %{post} from group %{group} was deleted by %{profile}."
msgstr "El post %{post} del grupo %{group} fue actualizado por %{profile}." msgstr "La publicación %{post} del grupo %{group} fue actualizada por %{profile}."
#: lib/service/activity/renderer/post.ex:31 #: lib/service/activity/renderer/post.ex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was published by %{profile}." msgid "The post %{post} from group %{group} was published by %{profile}."
msgstr "El post %{post} del grupo %{group} fue actualizado por %{profile}." msgstr "La publicación %{post} del grupo %{group} fue actualizada por %{profile}."
#: lib/service/activity/renderer/post.ex:39 #: lib/service/activity/renderer/post.ex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was updated by %{profile}." msgid "The post %{post} from group %{group} was updated by %{profile}."
msgstr "El post %{post} del grupo %{group} fue actualizado por %{profile}." msgstr "La publicación %{post} del grupo %{group} fue actualizada por %{profile}."
#: lib/service/activity/renderer/member.ex:39 #: lib/service/activity/renderer/member.ex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -355,117 +355,117 @@ msgstr "%{member} rechazó la invitación para unirse al grupo."
#: lib/service/activity/renderer/member.ex:31 #: lib/service/activity/renderer/member.ex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{member} requested to join the group %{group}." msgid "%{member} requested to join the group %{group}."
msgstr "%{member} solicitó unirse al grupo." msgstr "%{member} solicitó unirse al grupo %{group}."
#: lib/service/activity/renderer/member.ex:35 #: lib/service/activity/renderer/member.ex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{member} was invited by %{profile} to group %{group}." msgid "%{member} was invited by %{profile} to group %{group}."
msgstr "%{member} fue invitado por %{profile}." msgstr "%{member} fue invitado por %{profile} al grupo %{group}."
#: lib/service/activity/renderer/member.ex:51 #: lib/service/activity/renderer/member.ex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} added the member %{member} to group %{group}." msgid "%{profile} added the member %{member} to group %{group}."
msgstr "%{profile} agregó el miembro %{member}." msgstr "%{profile} agregó el miembro %{member} al grupo %{group}."
#: lib/service/activity/renderer/member.ex:55 #: lib/service/activity/renderer/member.ex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} approved the membership request from %{member} for group %{group}." msgid "%{profile} approved the membership request from %{member} for group %{group}."
msgstr "%{profile} actualizado el miembro %{member}." msgstr "%{profile} ha aprobado el pedido de adhesión de %{member} al grupo %{group}."
#: lib/service/activity/renderer/resource.ex:33 #: lib/service/activity/renderer/resource.ex:33
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} created the folder %{resource} in group %{group}." msgid "%{profile} created the folder %{resource} in group %{group}."
msgstr "%{profile} creó la carpeta %{resource}." msgstr "%{profile} creó la carpeta %{resource} en el grupo %{group}."
#: lib/service/activity/renderer/resource.ex:69 #: lib/service/activity/renderer/resource.ex:69
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} deleted the folder %{resource} in group %{group}." msgid "%{profile} deleted the folder %{resource} in group %{group}."
msgstr "%{profile} borró la carpeta %{resource}." msgstr "%{profile} borró la carpeta %{resource} del grupo %{group}."
#: lib/service/activity/renderer/resource.ex:71 #: lib/service/activity/renderer/resource.ex:71
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} deleted the resource %{resource} in group %{group}." msgid "%{profile} deleted the resource %{resource} in group %{group}."
msgstr "%{profile} eliminado el recurso %{resource}." msgstr "%{profile} eliminado el recurso %{resource} del grupo %{group}."
#: lib/service/activity/renderer/member.ex:75 #: lib/service/activity/renderer/member.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} excluded member %{member} from the group %{group}." msgid "%{profile} excluded member %{member} from the group %{group}."
msgstr "%{profile }miembro excluido %{member}." msgstr "%{profile} excluyó al miembro %{member} del grupo %{group}."
#: lib/service/activity/renderer/resource.ex:61 #: lib/service/activity/renderer/resource.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} moved the folder %{resource} in group %{group}." msgid "%{profile} moved the folder %{resource} in group %{group}."
msgstr "%{profile} movió la carpeta %{resource}." msgstr "%{profile} movió la carpeta %{resource} en el grupo %{group}."
#: lib/service/activity/renderer/resource.ex:63 #: lib/service/activity/renderer/resource.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} moved the resource %{resource} in group %{group}." msgid "%{profile} moved the resource %{resource} in group %{group}."
msgstr "%{profile} movió el recurso %{resource}." msgstr "%{profile} movió el recurso %{resource} en el grupo %{group}."
#: lib/service/activity/renderer/member.ex:79 #: lib/service/activity/renderer/member.ex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} quit the group %{group}." msgid "%{profile} quit the group %{group}."
msgstr "%{profile} abandona el grupo." msgstr "%{profile} salió del grupo %{group}."
#: lib/service/activity/renderer/member.ex:63 #: lib/service/activity/renderer/member.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} rejected the membership request from %{member} for group %{group}." msgid "%{profile} rejected the membership request from %{member} for group %{group}."
msgstr "%{profile} rechazó la solicitud de inscripción de %{member}." msgstr "%{profile} rechazó la solicitud de adhesión de %{member} al grupo %{group}."
#: lib/service/activity/renderer/resource.ex:45 #: lib/service/activity/renderer/resource.ex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource} in group %{group}." msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource} in group %{group}."
msgstr "" msgstr ""
"%{profile} ha renombrado la carpeta de %{old_resource_title} a %{resource}." "%{profile} renombró la carpeta de %{old_resource_title} a %{resource} en el grupo %{group}."
#: lib/service/activity/renderer/resource.ex:51 #: lib/service/activity/renderer/resource.ex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} in group %{group}." msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} in group %{group}."
msgstr "" msgstr ""
"%{profile} ha renombrado el recurso de %{old_resource_title} a %{resource}." "%{profile} renombró el recurso de %{old_resource_title} a %{resource} en el grupo %{group}."
#: lib/service/activity/renderer/member.ex:71 #: lib/service/activity/renderer/member.ex:71
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} updated the member %{member} in group %{group}." msgid "%{profile} updated the member %{member} in group %{group}."
msgstr "%{profile} actualizado el miembro %{member}." msgstr "%{profile} actualizó el miembro %{member} en el grupo %{group}."
#: lib/service/activity/renderer/resource.ex:35 #: lib/service/activity/renderer/resource.ex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} created the resource %{resource} in group %{group}." msgid "%{profile} created the resource %{resource} in group %{group}."
msgstr "%{profile} creó el recurso %{resource}." msgstr "%{profile} creó el recurso %{resource} en el grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:86 #: lib/service/activity/renderer/discussion.ex:86
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} archived the discussion %{discussion} in group %{group}." msgid "%{profile} archived the discussion %{discussion} in group %{group}."
msgstr "%{profile} archivó la discusión %{discussion}." msgstr "%{profile} archivó la discusión %{discussion} en el grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:26 #: lib/service/activity/renderer/discussion.ex:26
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} created the discussion %{discussion} in group %{group}." msgid "%{profile} created the discussion %{discussion} in group %{group}."
msgstr "%{profile} creó la discusión %{discussion} del grupo %{group}." msgstr "%{profile} creó la discusión %{discussion} en el grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:101 #: lib/service/activity/renderer/discussion.ex:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} deleted the discussion %{discussion} in group %{group}." msgid "%{profile} deleted the discussion %{discussion} in group %{group}."
msgstr "%{profile} eliminó la discusión %{discussion} en el grupo %{group}." msgstr "%{profile} eliminó la discusión %{discussion} del grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:56 #: lib/service/activity/renderer/discussion.ex:56
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} mentionned you in the discussion %{discussion} in group %{group}." msgid "%{profile} mentionned you in the discussion %{discussion} in group %{group}."
msgstr "%{profile} te mencionó en la %{discusión} grupo de discusión %{group}." msgstr "%{profile} te mencionó en la discusión %{discussion} en el grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:71 #: lib/service/activity/renderer/discussion.ex:71
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} renamed the discussion %{discussion} in group %{group}." msgid "%{profile} renamed the discussion %{discussion} in group %{group}."
msgstr "%{profile} renombrado la discusión %{discussion} del grupo% {group}.." msgstr "%{profile} renombró la discusión %{discussion} en el grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:41 #: lib/service/activity/renderer/discussion.ex:41
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} replied to the discussion %{discussion} in group %{group}." msgid "%{profile} replied to the discussion %{discussion} in group %{group}."
msgstr "%{profile} respondió a la discusión %{discussion}en el grupo %{group}." msgstr "%{profile} respondió a la discusión %{discussion} del grupo %{group}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:36 #: lib/web/templates/email/activity/_member_activity_item.html.heex:36
#: lib/web/templates/email/activity/_member_activity_item.text.eex:33 #: lib/web/templates/email/activity/_member_activity_item.text.eex:33
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{profile} approved the member %{member}." msgid "%{profile} approved the member %{member}."
msgstr "%{profile} agregó el miembro %{member}." msgstr "%{profile} aprobó al miembro %{member}."

View file

@ -1012,8 +1012,8 @@ msgid "Hi there! It seems like you wanted to change the email address linked to
msgstr "" msgstr ""
"¡Hola! Parece que desea cambiar la dirección de correo electrónico vinculada " "¡Hola! Parece que desea cambiar la dirección de correo electrónico vinculada "
"a su cuenta en <b>%{instance} </b>. Si aún desea hacerlo, haga clic en el " "a su cuenta en <b>%{instance} </b>. Si aún desea hacerlo, haga clic en el "
"botón de abajo para confirmar el cambio. Luego podrá iniciar sesión en% " "botón de abajo para confirmar el cambio. Luego podrá iniciar sesión en "
"{instance} con esta nueva dirección de correo electrónico." "%{instance} con esta nueva dirección de correo electrónico."
#: lib/web/templates/email/email_changed_old.text.eex:3 #: lib/web/templates/email/email_changed_old.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1250,7 +1250,7 @@ msgstr ""
msgid "<b>%{inviter}</b> just invited you to join their group %{link_start}<b>%{group}</b>%{link_end}" msgid "<b>%{inviter}</b> just invited you to join their group %{link_start}<b>%{group}</b>%{link_end}"
msgstr "" msgstr ""
"<b>%{inviter}</b> le acaba de invitar a unirse a su grupo %{link_start}<b>" "<b>%{inviter}</b> le acaba de invitar a unirse a su grupo %{link_start}<b>"
"%{group </b>%{link_end}" "%{group}</b>%{link_end}"
#: lib/web/templates/email/group_member_removal.html.heex:47 #: lib/web/templates/email/group_member_removal.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1678,7 +1678,7 @@ msgstr ""
#: lib/web/email/actor.ex:43 #: lib/web/email/actor.ex:43
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your participation to %{event} has been cancelled!" msgid "Your participation to %{event} has been cancelled!"
msgstr "Su participación en el evento %{title} ¡ha sido cancelada!" msgstr "Su participación en el evento %{event} ¡ha sido cancelada!"
#: lib/web/templates/email/actor_suspension_participants.html.heex:50 #: lib/web/templates/email/actor_suspension_participants.html.heex:50
#: lib/web/templates/email/actor_suspension_participants.text.eex:3 #: lib/web/templates/email/actor_suspension_participants.text.eex:3
@ -1747,7 +1747,7 @@ msgstr "Moderador"
#: lib/service/export/participants/common.ex:37 #: lib/service/export/participants/common.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Not approved" msgid "Not approved"
msgstr "Sin aprovar" msgstr "Sin aprobar"
#: lib/service/export/participants/common.ex:40 #: lib/service/export/participants/common.ex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1772,7 +1772,7 @@ msgstr "Comienza en"
#: lib/web/templates/export/event_participants.html.heex:125 #: lib/web/templates/export/event_participants.html.heex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ends on" msgid "Ends on"
msgstr "Final" msgstr "Termina en"
#: lib/web/templates/export/event_participants.html.heex:132 #: lib/web/templates/export/event_participants.html.heex:132
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1782,7 +1782,7 @@ msgstr "Número de participantes"
#: lib/web/templates/export/event_participants.html.heex:120 #: lib/web/templates/export/event_participants.html.heex:120
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Participants for %{event}" msgid "Participants for %{event}"
msgstr "Participación aprobada" msgstr "Participantes para %{event}"
#: lib/service/export/participants/common.ex:88 #: lib/service/export/participants/common.ex:88
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1812,7 +1812,7 @@ msgstr "%{date_time} (en tu zona horaria% {timezone} %{offset})"
#: lib/web/templates/email/notification_each_week.text.eex:1 #: lib/web/templates/email/notification_each_week.text.eex:1
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "On the agenda this week" msgid "On the agenda this week"
msgstr "Un evento programado para hoy" msgstr "En la agenda para esta semana"
#: lib/web/templates/email/participation/event_card.html.heex:113 #: lib/web/templates/email/participation/event_card.html.heex:113
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1834,12 +1834,12 @@ msgstr "Gestiona tu participación"
#: lib/web/templates/email/date/event_tz_date_range.text.eex:1 #: lib/web/templates/email/date/event_tz_date_range.text.eex:1
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "On %{date} from %{start_time} to %{end_time}" msgid "On %{date} from %{start_time} to %{end_time}"
msgstr "El %{date} del % {start_time} al %{end_time}" msgstr "El %{date} desde %{start_time} hasta %{end_time}"
#: lib/web/templates/email/participation/event_card.html.heex:132 #: lib/web/templates/email/participation/event_card.html.heex:132
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Read more" msgid "Read more"
msgstr "Lee mas" msgstr "Leer mas"
#: lib/web/templates/email/participation/card/_metadata.html.heex:121 #: lib/web/templates/email/participation/card/_metadata.html.heex:121
#: lib/web/templates/email/participation/card/_metadata.text.eex:2 #: lib/web/templates/email/participation/card/_metadata.text.eex:2
@ -1886,7 +1886,7 @@ msgstr "Gestiona tu participación:"
#: lib/web/templates/email/participation/card/_title.text.eex:3 #: lib/web/templates/email/participation/card/_title.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Organizer: %{organizer}" msgid "Organizer: %{organizer}"
msgstr "Organizador: %{organizer}" msgstr "Organiza: %{organizer}"
#: lib/web/templates/email/participation/event_card.html.heex:91 #: lib/web/templates/email/participation/event_card.html.heex:91
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1943,36 +1943,36 @@ msgstr "¡Vas!"
#: lib/web/email/member.ex:61 #: lib/web/email/member.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your membership request for group %{group} has been approved" msgid "Your membership request for group %{group} has been approved"
msgstr "Su solicitud de adesión para el grupo %{group} ha sido aprobada" msgstr "Tu solicitud de adhesión para el grupo %{group} ha sido aprobada"
#: lib/web/email/member.ex:88 #: lib/web/email/member.ex:88
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your membership request for group %{group} has been rejected" msgid "Your membership request for group %{group} has been rejected"
msgstr "Su solicitud de adesión para el grupo %{group} ha sido rechazada" msgstr "Tu solicitud de adhesión para el grupo %{group} ha sido rechazada"
#: lib/web/templates/email/group_membership_rejection.text.eex:3 #: lib/web/templates/email/group_membership_rejection.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your membership request for group %{group} has been rejected." msgid "Your membership request for group %{group} has been rejected."
msgstr "Su solicitud de adesión para el grupo %{group} ha sido rechazada." msgstr "Tu solicitud de adhesión para el grupo %{group} ha sido rechazada."
#: lib/web/templates/email/group_membership_rejection.html.heex:47 #: lib/web/templates/email/group_membership_rejection.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected." msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been rejected."
msgstr "" msgstr ""
"Su solicitud de membresía para el grupo %{link_start}<b>% {group}</b>% " "Tu solicitud de adhesión para el grupo %{link_start}<b>%{group}</"
"{link_end} ha sido rechazada." "b>%{link_end} ha sido rechazada."
#: lib/web/templates/email/group_membership_approval.text.eex:3 #: lib/web/templates/email/group_membership_approval.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your membership request for group %{group} has been approved." msgid "Your membership request for group %{group} has been approved."
msgstr "Su solicitud de adesión para el grupo% {group} ha sido aprobada." msgstr "Tu solicitud de adhesión para el grupo %{group} ha sido aprobada."
#: lib/web/templates/email/group_membership_approval.html.heex:47 #: lib/web/templates/email/group_membership_approval.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved." msgid "Your membership request for group %{link_start}<b>%{group}</b>%{link_end} has been approved."
msgstr "" msgstr ""
"Su solicitud de adesión para el grupo %{link_start}<b>%{group}</b>" "Tu solicitud de adhesión para el grupo %{link_start}<b>%{group}</"
"%{link_end} ha sido aprobada." "b>%{link_end} ha sido aprobada."
#: lib/web/templates/email/pending_participation_notification.html.heex:47 #: lib/web/templates/email/pending_participation_notification.html.heex:47
#: lib/web/templates/email/pending_participation_notification.text.eex:4 #: lib/web/templates/email/pending_participation_notification.text.eex:4
@ -1988,12 +1988,12 @@ msgstr[1] ""
#: lib/web/templates/email/admin_user_role_changed.text.eex:1 #: lib/web/templates/email/admin_user_role_changed.text.eex:1
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "An administrator changed your role" msgid "An administrator changed your role"
msgstr "Un administrador cambió su rol" msgstr "Un administrador cambió tu rol"
#: lib/web/email/admin.ex:122 #: lib/web/email/admin.ex:122
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "An administrator confirmed your account on %{instance}" msgid "An administrator confirmed your account on %{instance}"
msgstr "Un administrador confirmó su cuenta en %{instance}" msgstr "Un administrador confirmó tu cuenta en %{instance}"
#: lib/web/templates/email/admin_user_email_changed_new.html.heex:18 #: lib/web/templates/email/admin_user_email_changed_new.html.heex:18
#: lib/web/templates/email/admin_user_email_changed_new.text.eex:1 #: lib/web/templates/email/admin_user_email_changed_new.text.eex:1
@ -2001,74 +2001,74 @@ msgstr "Un administrador confirmó su cuenta en %{instance}"
#: lib/web/templates/email/admin_user_email_changed_old.text.eex:1 #: lib/web/templates/email/admin_user_email_changed_old.text.eex:1
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "An administrator manually changed the email attached to your account" msgid "An administrator manually changed the email attached to your account"
msgstr "Un administrador confirmó su cuenta en %{instance}" msgstr "Un administrador confirmó tu cuenta en %{instance}"
#: lib/web/email/admin.ex:43 #: lib/web/email/admin.ex:43
#: lib/web/email/admin.ex:70 #: lib/web/email/admin.ex:70
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "An administrator manually changed the email attached to your account on %{instance}" msgid "An administrator manually changed the email attached to your account on %{instance}"
msgstr "" msgstr ""
"Un administrador cambió manualmente el correo electrónico adjunto a su " "Un administrador cambió manualmente el correo electrónico adjunto a tu "
"cuenta en %{instance}" "cuenta en %{instance}"
#: lib/web/templates/email/admin_user_confirmation.html.heex:18 #: lib/web/templates/email/admin_user_confirmation.html.heex:18
#: lib/web/templates/email/admin_user_confirmation.text.eex:1 #: lib/web/templates/email/admin_user_confirmation.text.eex:1
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "An administrator manually confirmed your account" msgid "An administrator manually confirmed your account"
msgstr "Un administrador confirmó manualmente su cuenta" msgstr "Un administrador confirmó manualmente tu cuenta"
#: lib/web/email/admin.ex:98 #: lib/web/email/admin.ex:98
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "An administrator updated your role on %{instance}" msgid "An administrator updated your role on %{instance}"
msgstr "Un administrador actualizó su rol en %{instance}" msgstr "Un administrador actualizó tu rol en %{instance}"
#: lib/web/templates/email/email_changed_new.text.eex:3 #: lib/web/templates/email/email_changed_new.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, 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." 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 "" msgstr ""
"¡Hola! Parece que desea cambiar la dirección de correo electrónico vinculada " "¡Hola! Parece que deseas cambiar la dirección de correo electrónico vinculada "
"a su cuenta en %{instance} . Si aún desea hacerlo, haga clic en el botón de " "a tu cuenta en %{instance}. Si aún deseas hacerlo, haz clic en el botón de "
"abajo para confirmar el cambio. Luego podrá iniciar sesión en% {instance} " "abajo para confirmar el cambio. Luego podrás iniciar sesión en %{instance} con "
"con esta nueva dirección de correo electrónico." "esta nueva dirección de correo electrónico."
#: lib/web/templates/email/admin_user_email_changed_new.text.eex:3 #: lib/web/templates/email/admin_user_email_changed_new.text.eex:3
#: lib/web/templates/email/admin_user_email_changed_old.text.eex:3 #: lib/web/templates/email/admin_user_email_changed_old.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}." msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually changed your account email from %{old_email} (this one) to %{new_email}."
msgstr "" msgstr ""
"Hola ! Solo queríamos informarle que un administrador de %{instance} acaba " "¡Hola! Solo queríamos informarte que un administrador de %{instance}, acaba "
"de cambiar manualmente el correo electrónico de su cuenta de %{old_email} " "de cambiar manualmente el correo electrónico de su cuenta de %{old_email} "
"(este) a %{new_mail}." "(éste) a %{new_email}."
#: lib/web/templates/email/admin_user_confirmation.text.eex:3 #: lib/web/templates/email/admin_user_confirmation.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account." msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just manually confirmed your account."
msgstr "" msgstr ""
"¡Hola! Solo queríamos informarle que un administrador de %{instance} acaba " "¡Hola! Solo queríamos informarte que un administrador de %{instance} acaba "
"de confirmar manualmente su cuenta." "de confirmar manualmente su cuenta."
#: lib/web/templates/email/admin_user_email_changed_old.html.heex:47 #: lib/web/templates/email/admin_user_email_changed_old.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just manually changed your account email from <b>%{old_email}</b> (this one) to <b>%{new_email}</b>." msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just manually changed your account email from <b>%{old_email}</b> (this one) to <b>%{new_email}</b>."
msgstr "" msgstr ""
"¡Hola! Solo queríamos informarle que un administrador de<b>%{instance}</b> " "¡Hola! Solo queríamos informarte que un administrador de <b>%{instance}</b>, "
"cambió manualmente el correo electrónico de su cuenta de <b>%{old_email}</b> " "cambió manualmente el correo electrónico de tu cuenta de <b>%{old_email}</b> "
"(este) a <b>%{new_email}</b>." "(este) a <b>%{new_email}</b>."
#: lib/web/templates/email/admin_user_email_changed_new.html.heex:47 #: lib/web/templates/email/admin_user_email_changed_new.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just manually changed your account email from <b>%{old_email}</b> to <b>%{new_email}</b> (this one)." msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just manually changed your account email from <b>%{old_email}</b> to <b>%{new_email}</b> (this one)."
msgstr "" msgstr ""
"¡Hola! Solo queríamos informarles que un administrador de <b>%{instance}</b> " "¡Hola! Solo queríamos informarte que un administrador de <b>%{instance}</b> "
"acaba de cambiar manualmente el correo electrónico de su cuenta de <b>" "acaba de cambiar manualmente el correo electrónico de tu cuenta de <b>"
"%{old_email}</b> a <b>%{new_email}</b> (Éste)." "%{old_email}</b> a <b>%{new_email}</b> (éste)."
#: lib/web/templates/email/admin_user_confirmation.html.heex:47 #: lib/web/templates/email/admin_user_confirmation.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just manually confirmed your account." msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just manually confirmed your account."
msgstr "" msgstr ""
"¡Hola! Solo queríamos informarle que un administrador de <b>%{instance}</b> " "¡Hola! Solo queríamos informarte que un administrador de <b>%{instance}</b> "
"acaba de confirmar manualmente su cuenta." "acaba de confirmar manualmente tu cuenta."
#: lib/web/templates/email/admin_user_confirmation.html.heex:96 #: lib/web/templates/email/admin_user_confirmation.html.heex:96
#: lib/web/templates/email/admin_user_email_changed_new.html.heex:62 #: lib/web/templates/email/admin_user_email_changed_new.html.heex:62
@ -2077,7 +2077,7 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}." msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods %{start_link}on the instance's about page%{end_link}."
msgstr "" msgstr ""
"Si algo no le parece correcto, comuníquese con el administrador de la " "Si algo no te parece correcto, comunícate con el administrador de la "
"instancia a través de los métodos de contacto %{start_link}en la página de " "instancia a través de los métodos de contacto %{start_link}en la página de "
"información de la instancia%{end_link}." "información de la instancia%{end_link}."
@ -2088,14 +2088,14 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}." msgid "If something doesn't feel right to you, please contact the instance administrator through the contact methods on the instance's about page: %{about_page}."
msgstr "" msgstr ""
"Si algo no le parece correcto, comuníquese con el administrador de la " "Si algo no te parece correcto, comuníquese con el administrador de la "
"instancia a través de los métodos de contacto en la página acerca de la " "instancia a través de los métodos de contacto en la página acerca de la "
"instancia: %{about_page}." "instancia: %{about_page}."
#: lib/web/templates/email/admin_user_confirmation.html.heex:79 #: lib/web/templates/email/admin_user_confirmation.html.heex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Login on %{instance}" msgid "Login on %{instance}"
msgstr "Inicia sesión en {instancia}" msgstr "Inicia sesión en %{instance}"
#: lib/web/templates/email/admin_user_role_changed.html.heex:72 #: lib/web/templates/email/admin_user_role_changed.html.heex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -2110,7 +2110,7 @@ msgstr "Nuevo rol:"
#: lib/web/templates/email/admin_user_role_changed.html.heex:64 #: lib/web/templates/email/admin_user_role_changed.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Old role" msgid "Old role"
msgstr "Viejo papel" msgstr "Viejo rol"
#: lib/web/templates/email/admin_user_role_changed.text.eex:5 #: lib/web/templates/email/admin_user_role_changed.text.eex:5
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -2126,26 +2126,26 @@ msgstr "Usuario"
#: lib/web/templates/email/admin_user_confirmation.html.heex:62 #: lib/web/templates/email/admin_user_confirmation.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You may now login using your credentials on the service." msgid "You may now login using your credentials on the service."
msgstr "Ahora puede iniciar sesión con sus credenciales en el servicio." msgstr "Ahora puedes iniciar sesión con tus credenciales en el servicio."
#: lib/web/templates/email/admin_user_confirmation.text.eex:5 #: lib/web/templates/email/admin_user_confirmation.text.eex:5
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You may now login using your credentials on the service:" msgid "You may now login using your credentials on the service:"
msgstr "Ahora puede iniciar sesión con sus credenciales en el servicio:" msgstr "Ahora puedes iniciar sesión con tus credenciales en el servicio:"
#: lib/web/templates/email/admin_user_role_changed.text.eex:3 #: lib/web/templates/email/admin_user_role_changed.text.eex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role." msgid "Hi there! We just wanted to inform you that an administrator from %{instance} just changed your account role."
msgstr "" msgstr ""
"¡Hola! Solo queríamos informarle que un administrador de <b%>{instance}</b> " "¡Hola! Solo queríamos informarte que un administrador de <b>%{instance}</b> "
"acaba de cambiar el rol de su cuenta." "acaba de cambiar el rol de tu cuenta."
#: lib/web/templates/email/admin_user_role_changed.html.heex:47 #: lib/web/templates/email/admin_user_role_changed.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role." msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr "" msgstr ""
"¡Hola! Solo queríamos informarle que un administrador de <b>{instance}</b> " "¡Hola! Solo queríamos informarte que un administrador de <b>%{instance}</b> "
"acaba de cambiar el rol de su cuenta." "acaba de cambiar el rol de tu cuenta."
#: lib/web/templates/email/instance_follow.text.eex:5 #: lib/web/templates/email/instance_follow.text.eex:5
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -2168,7 +2168,7 @@ msgstr "Si acepta, este perfil recibirá todos sus eventos públicos."
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "To accept this invitation, head over to the profile's admin page." msgid "To accept this invitation, head over to the profile's admin page."
msgstr "" msgstr ""
"Para aceptar esta invitación, diríjase a la página de administración del " "Para aceptar esta invitación, diríjete a la página de administración del "
"perfil." "perfil."
#: lib/web/templates/email/instance_follow.html.heex:110 #: lib/web/templates/email/instance_follow.html.heex:110
@ -2255,7 +2255,7 @@ msgstr "LGBTQ"
#: lib/mobilizon/events/categories.ex:92 #: lib/mobilizon/events/categories.ex:92
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Language & Culture" msgid "Language & Culture"
msgstr "Lenguage y cultura" msgstr "Lenguaje y cultura"
#: lib/mobilizon/events/categories.ex:96 #: lib/mobilizon/events/categories.ex:96
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -2340,7 +2340,7 @@ msgstr "Activar mi cuenta:"
#: lib/web/email/follow.ex:49 #: lib/web/email/follow.ex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Instance %{domain} requests to follow your instance" msgid "Instance %{domain} requests to follow your instance"
msgstr "La instancia %{name} (%{domain}) solicita seguir tu instancia" msgstr "La instancia %{domain} solicita seguir tu instancia"
#: lib/web/templates/email/instance_follow.html.heex:68 #: lib/web/templates/email/instance_follow.html.heex:68
#: lib/web/templates/email/instance_follow.text.eex:7 #: lib/web/templates/email/instance_follow.text.eex:7
@ -2354,4 +2354,4 @@ msgstr ""
#: lib/web/templates/email/group_member_removal.text.eex:1 #: lib/web/templates/email/group_member_removal.text.eex:1
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Until next time!" msgid "Until next time!"
msgstr "¡Hasta la proxima vez!" msgstr "¡Hasta la próxima vez!"

View file

@ -21,7 +21,7 @@ msgstr ""
#: lib/mobilizon/discussions/discussion.ex:69 #: lib/mobilizon/discussions/discussion.ex:69
#, elixir-autogen #, elixir-autogen
msgid "can't be blank" msgid "can't be blank"
msgstr "no pueden estar vacíos" msgstr "no puede estar vacíos"
msgid "has already been taken" msgid "has already been taken"
msgstr "ya se ha tomado" msgstr "ya se ha tomado"
@ -36,13 +36,13 @@ msgid "has invalid format"
msgstr "tiene formato no válido" msgstr "tiene formato no válido"
msgid "has an invalid entry" msgid "has an invalid entry"
msgstr "tiene una entrada inválida" msgstr "tiene una entrada no válida"
msgid "is reserved" msgid "is reserved"
msgstr "Está reservado" msgstr "está reservado"
msgid "does not match confirmation" msgid "does not match confirmation"
msgstr "la confirmación no coincide" msgstr "no coincide con la confirmación"
msgid "is still associated with this entry" msgid "is still associated with this entry"
msgstr "todavía está asociado con esta entrada" msgstr "todavía está asociado con esta entrada"
@ -57,8 +57,8 @@ msgstr[1] "debe tener% {count} caracteres"
msgid "should have %{count} item(s)" msgid "should have %{count} item(s)"
msgid_plural "should have %{count} item(s)" msgid_plural "should have %{count} item(s)"
msgstr[0] "debería tener un artículo" msgstr[0] "debe tener un artículo"
msgstr[1] "debería tener% {count} artículos" msgstr[1] "debe tener %{count} artículos"
msgid "should be at least %{count} character(s)" msgid "should be at least %{count} character(s)"
msgid_plural "should be at least %{count} character(s)" msgid_plural "should be at least %{count} character(s)"
@ -228,7 +228,7 @@ msgstr "Este usuario ha sido inhabilitado"
#: lib/graphql/resolvers/user.ex:283 #: lib/graphql/resolvers/user.ex:283
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unable to validate user" msgid "Unable to validate user"
msgstr "No se puede validar al usuario" msgstr "No se puede validar el usuario"
#: lib/graphql/resolvers/user.ex:554 #: lib/graphql/resolvers/user.ex:554
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -258,7 +258,7 @@ msgstr "No puedes unirte a este grupo"
#: lib/graphql/resolvers/group.ex:132 #: lib/graphql/resolvers/group.ex:132
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You may not list groups unless moderator." msgid "You may not list groups unless moderator."
msgstr "No puedes enumerar grupos a menos que seas moderador." msgstr "No puedes listar grupos a menos que seas moderador."
#: lib/graphql/resolvers/user.ex:519 #: lib/graphql/resolvers/user.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -283,7 +283,7 @@ msgstr "Debes iniciar sesión para eliminar su cuenta"
#: lib/graphql/resolvers/group.ex:316 #: lib/graphql/resolvers/group.ex:316
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You need to be logged-in to join a group" msgid "You need to be logged-in to join a group"
msgstr "Debes iniciar sesión para eliminar su cuenta" msgstr "Debes iniciar sesión para unirte a un grupo"
#: lib/graphql/resolvers/group.ex:355 #: lib/graphql/resolvers/group.ex:355
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -411,7 +411,7 @@ msgstr "Evento no encontrado"
#: lib/graphql/resolvers/participant.ex:336 #: lib/graphql/resolvers/participant.ex:336
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Event with this ID %{id} doesn't exist" msgid "Event with this ID %{id} doesn't exist"
msgstr "El evento con este ID%{id} no existe" msgstr "El evento con el ID %{id} no existe"
#: lib/graphql/resolvers/participant.ex:103 #: lib/graphql/resolvers/participant.ex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -530,7 +530,7 @@ msgstr "Este token no es válido"
#: lib/graphql/resolvers/todos.ex:243 #: lib/graphql/resolvers/todos.ex:243
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Todo doesn't exist" msgid "Todo doesn't exist"
msgstr "Todo no existe" msgstr "La tarea pendiente no existe"
#: lib/graphql/resolvers/todos.ex:77 #: lib/graphql/resolvers/todos.ex:77
#: lib/graphql/resolvers/todos.ex:211 #: lib/graphql/resolvers/todos.ex:211
@ -568,7 +568,7 @@ msgstr "Ya eres participante de este evento"
#: lib/graphql/resolvers/member.ex:87 #: lib/graphql/resolvers/member.ex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You are not a member of this group" msgid "You are not a member of this group"
msgstr "no eres un miembro de este grupo" msgstr "No eres un miembro de este grupo"
#: lib/graphql/resolvers/member.ex:157 #: lib/graphql/resolvers/member.ex:157
#: lib/graphql/resolvers/member.ex:173 #: lib/graphql/resolvers/member.ex:173
@ -641,7 +641,7 @@ msgstr "No tienes permiso para eliminar este token"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You need to be logged-in and a moderator to list action logs" msgid "You need to be logged-in and a moderator to list action logs"
msgstr "" msgstr ""
"Debe iniciar sesión y un moderador para enumerar los registros de acción" "Debe iniciar sesión y un moderador para listar los registros de acción"
#: lib/graphql/resolvers/report.ex:36 #: lib/graphql/resolvers/report.ex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1150,53 +1150,53 @@ msgstr "El nuevo correo electrónico no parece ser válido"
#: lib/graphql/resolvers/comment.ex:65 #: lib/graphql/resolvers/comment.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This comment was detected as spam." msgid "This comment was detected as spam."
msgstr "" msgstr "Este comentario fue detectado como spam."
#: lib/graphql/resolvers/event.ex:293 #: lib/graphql/resolvers/event.ex:293
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This event was detected as spam." msgid "This event was detected as spam."
msgstr "" msgstr "Este evento fue detectado como spam."
#: lib/graphql/api/reports.ex:66 #: lib/graphql/api/reports.ex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unsupported status for a report" msgid "Unsupported status for a report"
msgstr "" msgstr "Estado incompatible para el informe"
#: lib/graphql/api/reports.ex:127 #: lib/graphql/api/reports.ex:127
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You can only remove your own notes" msgid "You can only remove your own notes"
msgstr "" msgstr "Solo puedes eliminar tus propias notas"
#: lib/graphql/api/reports.ex:94 #: lib/graphql/api/reports.ex:94
#: lib/graphql/api/reports.ex:121 #: lib/graphql/api/reports.ex:121
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You need to be a moderator or an administrator to create a note on a report" msgid "You need to be a moderator or an administrator to create a note on a report"
msgstr "" msgstr "Debes ser un moderador o administrador para crear una nota en un informe"
#: lib/graphql/resolvers/person.ex:330 #: lib/graphql/resolvers/person.ex:330
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your profile was detected as spam." msgid "Your profile was detected as spam."
msgstr "" msgstr "Tu perfil fue detectado como spam."
#: lib/graphql/resolvers/user.ex:191 #: lib/graphql/resolvers/user.ex:191
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your registration has been detected as spam and cannot be processed." msgid "Your registration has been detected as spam and cannot be processed."
msgstr "" msgstr "Tu registro fue detectado como spam y no puede ser procesado."
#: lib/web/controllers/application_controller.ex:86 #: lib/web/controllers/application_controller.ex:86
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All of name, scope and redirect_uri parameters are required to create an application" msgid "All of name, scope and redirect_uri parameters are required to create an application"
msgstr "" msgstr "Los parámetros name, scope y redirect_uri son requeridos para crear una aplicación"
#: lib/graphql/error.ex:118 #: lib/graphql/error.ex:118
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Application not found" msgid "Application not found"
msgstr "" msgstr "Aplicación no encontrada"
#: lib/graphql/error.ex:121 #: lib/graphql/error.ex:121
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Application token not found" msgid "Application token not found"
msgstr "" msgstr "Token de aplicación no encontrado"
#: lib/graphql/resolvers/application.ex:89 #: lib/graphql/resolvers/application.ex:89
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
@ -1206,64 +1206,64 @@ msgstr "Error al guardar el informe"
#: lib/web/controllers/application_controller.ex:59 #: lib/web/controllers/application_controller.ex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Impossible to create application." msgid "Impossible to create application."
msgstr "" msgstr "Imposible crear una aplicación"
#: lib/web/controllers/application_controller.ex:356 #: lib/web/controllers/application_controller.ex:356
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Incorrect parameters sent. You need to provide at least the grant_type and client_id parameters, depending on the grant type being used." msgid "Incorrect parameters sent. You need to provide at least the grant_type and client_id parameters, depending on the grant type being used."
msgstr "" msgstr "Se enviaron parámetros incorrectos. Debes proporcionar al menos los parámetros grant_type y client_id, dependiendo del grant_type que se esté usando."
#: lib/web/controllers/application_controller.ex:329 #: lib/web/controllers/application_controller.ex:329
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid client credentials provided" msgid "Invalid client credentials provided"
msgstr "" msgstr "Se han provisto credenciales de cliente no válidas"
#: lib/web/controllers/application_controller.ex:337 #: lib/web/controllers/application_controller.ex:337
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid refresh token provided" msgid "Invalid refresh token provided"
msgstr "" msgstr "Se ha provisto un token de refrescado inválido"
#: lib/web/controllers/application_controller.ex:170 #: lib/web/controllers/application_controller.ex:170
#: lib/web/controllers/application_controller.ex:401 #: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No application was found with this client_id" msgid "No application was found with this client_id"
msgstr "" msgstr "No se ha encontrado una aplicación con este client_id"
#: lib/graphql/resolvers/application.ex:37 #: lib/graphql/resolvers/application.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No application with this client_id was found" msgid "No application with this client_id was found"
msgstr "" msgstr "No se ha encontrado una aplicación con este client_id"
#: lib/graphql/authorization.ex:80 #: lib/graphql/authorization.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Not authorized to access field %{field}" msgid "Not authorized to access field %{field}"
msgstr "" msgstr "No está autorizado a acceder al campo %{field}"
#: lib/graphql/authorization.ex:70 #: lib/graphql/authorization.ex:70
#: lib/graphql/authorization.ex:75 #: lib/graphql/authorization.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Not authorized to access object %{object}" msgid "Not authorized to access object %{object}"
msgstr "" msgstr "No está autorizado a acceder al objeto %{object}"
#: lib/graphql/authorization.ex:63 #: lib/graphql/authorization.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Not authorized to access this %{object_type}" msgid "Not authorized to access this %{object_type}"
msgstr "" msgstr "No está autorizado a acceder a este %{object_type}"
#: lib/web/controllers/application_controller.ex:279 #: lib/web/controllers/application_controller.ex:279
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests" msgid "Please slow down the rate of your requests"
msgstr "" msgstr "Por favor reduce la frecuencia de tus peticiones"
#: lib/web/controllers/application_controller.ex:267 #: lib/web/controllers/application_controller.ex:267
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The authorization request is still pending" msgid "The authorization request is still pending"
msgstr "" msgstr "La solicitud de autorización todavía está pendiente"
#: lib/web/controllers/application_controller.ex:249 #: lib/web/controllers/application_controller.ex:249
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid" msgid "The client_id provided or the device_code associated is invalid"
msgstr "" msgstr "El client_id provisto o el device_code asociado es inválido"
#: lib/graphql/resolvers/application.ex:133 #: lib/graphql/resolvers/application.ex:133
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -1335,12 +1335,12 @@ msgstr ""
#: lib/web/controllers/application_controller.ex:381 #: lib/web/controllers/application_controller.ex:381
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Token not found" msgid "Token not found"
msgstr "Evento no encontrado" msgstr "Token no encontrado"
#: lib/web/controllers/application_controller.ex:72 #: lib/web/controllers/application_controller.ex:72
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Too many requests" msgid "Too many requests"
msgstr "" msgstr "Demasiadas peticiones"
#: lib/web/controllers/application_controller.ex:184 #: lib/web/controllers/application_controller.ex:184
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format