diff --git a/config/config.exs b/config/config.exs
index d46ebffd2..f1bd2df5a 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -124,16 +124,6 @@ config :mobilizon, Mobilizon.Web.Email.Mailer,
# ssl: false,
# can be `:always` or `:never`
tls: :never,
- allowed_tls_versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
- tls_options: [
- verify: :verify_peer,
- versions: [:"tlsv1.2", :"tlsv1.3"],
- cacerts: if System.get_env("SSL_CERT_FILE") != nil and :public_key.cacerts_load(System.get_env("SSL_CERT_FILE")) == :ok do
- :public_key.cacerts_get()
- end,
- server_name_indication: ~c"localhost",
- depth: 99
- ],
retries: 1,
# can be `true`
no_mx_lookups: false
@@ -393,8 +383,7 @@ config :mobilizon, Mobilizon.Service.GlobalSearch.SearchMobilizon,
config :mobilizon, Mobilizon.Service.AntiSpam, service: Mobilizon.Service.AntiSpam.Akismet
-config :mobilizon, Mobilizon.Service.SiteMap,
- path: System.get_env("MOBILIZON_SITEMAP_PATH", "/var/lib/mobilizon/sitemap")
+config :mobilizon, Mobilizon.Service.SiteMap, path: "/var/lib/mobilizon/sitemap"
# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
diff --git a/config/docker.exs b/config/docker.exs
index cef88c266..d48dda9e3 100644
--- a/config/docker.exs
+++ b/config/docker.exs
@@ -2,6 +2,28 @@
import Config
+{:ok, _} = Application.ensure_all_started(:tls_certificate_check)
+
+loglevels = [
+ :emergency,
+ :alert,
+ :critical,
+ :error,
+ :warning,
+ :notice,
+ :info,
+ :debug
+]
+
+loglevel_env = System.get_env("MOBILIZON_LOGLEVEL", "error")
+
+loglevel =
+ if loglevel_env in Enum.map(loglevels, &to_string/1) do
+ String.to_existing_atom(loglevel_env)
+ else
+ :error
+ end
+
listen_ip = System.get_env("MOBILIZON_INSTANCE_LISTEN_IP", "0.0.0.0")
listen_ip =
@@ -43,22 +65,18 @@ config :mobilizon, Mobilizon.Storage.Repo,
ssl: System.get_env("MOBILIZON_DATABASE_SSL", "false") == "true",
pool_size: 10
+config :logger, level: loglevel
+
config :mobilizon, Mobilizon.Web.Email.Mailer,
adapter: Swoosh.Adapters.SMTP,
relay: System.get_env("MOBILIZON_SMTP_SERVER", "localhost"),
port: System.get_env("MOBILIZON_SMTP_PORT", "25"),
username: System.get_env("MOBILIZON_SMTP_USERNAME", nil),
password: System.get_env("MOBILIZON_SMTP_PASSWORD", nil),
- tls: System.get_env("MOBILIZON_SMTP_TLS", :if_available),
- allowed_tls_versions: [:"tlsv1.2", :"tlsv1.3"],
- tls_options: [
- verify: :verify_peer,
- versions: [:"tlsv1.2", :"tlsv1.3"],
- cacerts: :public_key.cacerts_get(),
- server_name_indication: ~c"#{System.get_env("MOBILIZON_SMTP_SERVER", "localhost")}",
- depth: 99
- ],
- ssl: System.get_env("MOBILIZON_SMTP_SSL", false),
+ tls: System.get_env("MOBILIZON_SMTP_TLS", "if_available"),
+ tls_options:
+ :tls_certificate_check.options(System.get_env("MOBILIZON_SMTP_SERVER", "localhost")),
+ ssl: System.get_env("MOBILIZON_SMTP_SSL", "false"),
retries: 1,
no_mx_lookups: false,
auth: :if_available
@@ -86,4 +104,4 @@ config :mobilizon, :exports,
config :tz_world,
data_dir: System.get_env("MOBILIZON_TIMEZONES_DIR", "/var/lib/mobilizon/timezones")
-config :tzdata, :data_dir, System.get_env("MOBILIZON_TIMEZONES_DIR", "/var/lib/mobilizon/tzdata")
+config :tzdata, :data_dir, System.get_env("MOBILIZON_TZDATA_DIR", "/var/lib/mobilizon/tzdata")
diff --git a/lib/federation/activity_pub/types/resources.ex b/lib/federation/activity_pub/types/resources.ex
index f38d2c8ac..fd1831e68 100644
--- a/lib/federation/activity_pub/types/resources.ex
+++ b/lib/federation/activity_pub/types/resources.ex
@@ -8,6 +8,7 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Resources do
alias Mobilizon.Federation.ActivityStream.Convertible
alias Mobilizon.Resources.Resource
alias Mobilizon.Service.Activity.Resource, as: ResourceActivity
+ alias Mobilizon.Service.Formatter.HTML
alias Mobilizon.Service.RichMedia.Parser
require Logger
@@ -20,21 +21,8 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Resources do
@spec create(map(), map()) ::
{:ok, Resource.t(), ActivityStream.t()}
| {:error, Ecto.Changeset.t() | :creator_not_found | :group_not_found}
- def create(%{type: type} = args, additional) do
- args =
- case type do
- :folder ->
- args
-
- _ ->
- case Parser.parse(Map.get(args, :resource_url)) do
- {:ok, metadata} ->
- Map.put(args, :metadata, metadata)
-
- _ ->
- args
- end
- end
+ def create(args, additional) do
+ args = prepare_args(args)
with {:ok,
%Resource{actor_id: group_id, creator_id: creator_id, parent_id: parent_id} = resource} <-
@@ -76,7 +64,7 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Resources do
additional
)
when old_parent_id != parent_id do
- move(old_resource, args, additional)
+ move(old_resource, prepare_args(args), additional)
end
# Simple rename
@@ -218,4 +206,23 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Resources do
defp parents(old_parent_id, new_parent_id) do
{:ok, Resources.get_resource(old_parent_id), Resources.get_resource(new_parent_id)}
end
+
+ defp prepare_args(args) do
+ args =
+ case Map.get(args, :type, :link) do
+ :folder ->
+ args
+
+ _ ->
+ case Parser.parse(Map.get(args, :resource_url)) do
+ {:ok, metadata} ->
+ Map.put(args, :metadata, metadata)
+
+ _ ->
+ args
+ end
+ end
+
+ Map.update(args, :description, nil, &HTML.strip_tags/1)
+ end
end
diff --git a/lib/federation/activity_pub/utils.ex b/lib/federation/activity_pub/utils.ex
index 51441fc05..38c9a574e 100644
--- a/lib/federation/activity_pub/utils.ex
+++ b/lib/federation/activity_pub/utils.ex
@@ -680,19 +680,22 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do
@doc """
Converts PEM encoded keys to a public key representation
"""
- @spec pem_to_public_key_pem(String.t()) :: String.t()
+ @spec pem_to_public_key_pem(String.t()) :: String.t() | {:error, :no_publickey_found}
def pem_to_public_key_pem(pem) do
- public_key = pem_to_public_key(pem)
- public_key = :public_key.pem_entry_encode(:RSAPublicKey, public_key)
- :public_key.pem_encode([public_key])
+ case :public_key.pem_decode(pem) do
+ [key_code] ->
+ public_key = pem_to_public_key(key_code)
+ public_key = :public_key.pem_entry_encode(:RSAPublicKey, public_key)
+ :public_key.pem_encode([public_key])
+
+ _ ->
+ {:error, :no_publickey_found}
+ end
end
@spec pem_to_public_key(String.t()) :: {:RSAPublicKey, any(), any()}
- defp pem_to_public_key(pem) do
- [key_code] = :public_key.pem_decode(pem)
- key = :public_key.pem_entry_decode(key_code)
-
- case key do
+ defp pem_to_public_key(key_code) do
+ case :public_key.pem_entry_decode(key_code) do
{:RSAPrivateKey, _, modulus, exponent, _, _, _, _, _, _, _} ->
{:RSAPublicKey, modulus, exponent}
diff --git a/lib/federation/activity_stream/converter/actor.ex b/lib/federation/activity_stream/converter/actor.ex
index db9a4b91a..c44216116 100644
--- a/lib/federation/activity_stream/converter/actor.ex
+++ b/lib/federation/activity_stream/converter/actor.ex
@@ -112,19 +112,11 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Actor do
},
"discoverable" => actor.visibility == :public,
"openness" => actor.openness,
- "manuallyApprovesFollowers" => actor.manually_approves_followers,
- "publicKey" => %{
- "id" => "#{actor.url}#main-key",
- "owner" => actor.url,
- "publicKeyPem" =>
- if(is_nil(actor.domain) and not is_nil(actor.keys),
- do: Utils.pem_to_public_key_pem(actor.keys),
- else: actor.keys
- )
- }
+ "manuallyApprovesFollowers" => actor.manually_approves_followers
}
actor_data
+ |> add_keys(actor)
|> add_endpoints(actor)
|> maybe_add_members(actor)
|> maybe_add_avatar_picture(actor)
@@ -132,6 +124,28 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Actor do
|> maybe_add_physical_address(actor)
end
+ @spec add_keys(map(), ActorModel.t()) :: map()
+ defp add_keys(actor_data, %ActorModel{} = actor) do
+ keys =
+ if is_nil(actor.domain) and not is_nil(actor.keys) do
+ case Utils.pem_to_public_key_pem(actor.keys) do
+ {:error, :no_publickey_found} ->
+ raise "No publickey found in private keys"
+
+ public_key when is_binary(public_key) ->
+ public_key
+ end
+ else
+ actor.keys
+ end
+
+ Map.put(actor_data, "publicKey", %{
+ "id" => "#{actor.url}#main-key",
+ "owner" => actor.url,
+ "publicKeyPem" => keys
+ })
+ end
+
defp add_endpoints(%{"endpoints" => endpoints} = actor_data, %ActorModel{} = actor) do
new_endpoints = %{
"members" => actor.members_url,
diff --git a/lib/federation/activity_stream/converter/flag.ex b/lib/federation/activity_stream/converter/flag.ex
index 347ee8d00..1d4944524 100644
--- a/lib/federation/activity_stream/converter/flag.ex
+++ b/lib/federation/activity_stream/converter/flag.ex
@@ -60,6 +60,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Flag do
"actor" => Relay.get_actor().url,
"id" => report.url,
"content" => report.content,
+ "mediaType" => "text/plain",
"object" => object
}
end
diff --git a/lib/graphql/schema/resource.ex b/lib/graphql/schema/resource.ex
index 18ee1e980..22562c1d1 100644
--- a/lib/graphql/schema/resource.ex
+++ b/lib/graphql/schema/resource.ex
@@ -22,7 +22,12 @@ defmodule Mobilizon.GraphQL.Schema.ResourceType do
field(:inserted_at, :naive_datetime, description: "The resource's creation date")
field(:updated_at, :naive_datetime, description: "The resource's last update date")
field(:published_at, :naive_datetime, description: "The resource's publication date")
- field(:type, :string, description: "The resource's type (if it's a folder)")
+
+ field(:type, :string,
+ default_value: "link",
+ description: "The resource's type (if it's a folder)"
+ )
+
field(:path, :string, description: "The resource's path")
field(:parent, :resource,
diff --git a/lib/mix/tasks/mobilizon/common.ex b/lib/mix/tasks/mobilizon/common.ex
index 07b8c871b..89f795051 100644
--- a/lib/mix/tasks/mobilizon/common.ex
+++ b/lib/mix/tasks/mobilizon/common.ex
@@ -16,7 +16,7 @@ defmodule Mix.Tasks.Mobilizon.Common do
if mix_task?(), do: Mix.Task.run("app.config")
unless System.get_env("DEBUG") || @env == :test do
- Logger.configure(level: :error)
+ Logger.configure(level: loglevel())
end
Application.put_env(:phoenix, :serve_endpoints, false, persistent: true)
@@ -144,4 +144,25 @@ defmodule Mix.Tasks.Mobilizon.Common do
defp format_name("Elixir.Mix.Tasks.Mobilizon." <> task_name) do
String.downcase(task_name)
end
+
+ @loglevels [
+ :emergency,
+ :alert,
+ :critical,
+ :error,
+ :warning,
+ :notice,
+ :info,
+ :debug
+ ]
+
+ defp loglevel do
+ loglevel_env = System.get_env("MOBILIZON_LOGLEVEL", "error")
+
+ if loglevel_env in Enum.map(@loglevels, &to_string/1) do
+ String.to_existing_atom(loglevel_env)
+ else
+ :error
+ end
+ end
end
diff --git a/lib/mix/tasks/mobilizon/maintenance/test_emails.ex b/lib/mix/tasks/mobilizon/maintenance/test_emails.ex
new file mode 100644
index 000000000..54e31aa7d
--- /dev/null
+++ b/lib/mix/tasks/mobilizon/maintenance/test_emails.ex
@@ -0,0 +1,65 @@
+defmodule Mix.Tasks.Mobilizon.Maintenance.TestEmails do
+ @moduledoc """
+ Task to send an email to check if the configuration is running properly
+ """
+ use Mix.Task
+ import Mix.Tasks.Mobilizon.Common
+ alias Mobilizon.Config
+ alias Mobilizon.Web.Email
+
+ @shortdoc "Send an email to check if the configuration is running properly"
+
+ @impl Mix.Task
+ def run(options) do
+ {options, args, []} =
+ OptionParser.parse(
+ options,
+ strict: [
+ locale: :string,
+ help: :boolean
+ ],
+ aliases: [
+ l: :locale,
+ h: :help
+ ]
+ )
+
+ if Keyword.get(options, :help, false) do
+ show_help()
+ end
+
+ if Enum.empty?(args) do
+ shell_error("mobilizon.maintenance.test_emails requires an email as argument")
+ end
+
+ start_mobilizon()
+
+ default_language = Config.default_language()
+
+ args
+ |> hd()
+ |> String.trim()
+ |> Email.Admin.email_configuration_test(
+ locale: Keyword.get(options, :locale, default_language)
+ )
+ |> Email.Mailer.send_email()
+ end
+
+ defp show_help do
+ shell_info("""
+ mobilizon.maintenance.test_emails [-h/--help] [email]
+
+ This command allows to send an email to an address in order to verify if email works
+
+ Options:
+
+ -l/--locale
+ Locale for the mail message (en_US, de_DE, …)
+
+ -h/--help
+ Show the help
+ """)
+
+ shutdown(error_code: 0)
+ end
+end
diff --git a/lib/mobilizon/resources/resource.ex b/lib/mobilizon/resources/resource.ex
index e8f19caa2..6b09cb0af 100644
--- a/lib/mobilizon/resources/resource.ex
+++ b/lib/mobilizon/resources/resource.ex
@@ -18,7 +18,7 @@ defmodule Mobilizon.Resources.Resource do
summary: String.t(),
url: String.t(),
resource_url: String.t(),
- type: atom(),
+ type: TypeEnum.t(),
metadata: Metadata.t(),
children: list(__MODULE__),
parent: __MODULE__,
diff --git a/lib/web/email/admin.ex b/lib/web/email/admin.ex
index 03601164a..7e09acf9a 100644
--- a/lib/web/email/admin.ex
+++ b/lib/web/email/admin.ex
@@ -132,4 +132,24 @@ defmodule Mobilizon.Web.Email.Admin do
offer_unsupscription: false
})
end
+
+ @spec email_configuration_test(String.t(), Keyword.t()) :: Swoosh.Email.t()
+ def email_configuration_test(email, options) do
+ locale = Keyword.get(options, :locale, "en")
+ Gettext.put_locale(locale)
+
+ subject =
+ gettext(
+ "Email configuration test for %{instance}",
+ instance: Config.instance_name()
+ )
+
+ [to: email, subject: subject]
+ |> Email.base_email()
+ |> render_body(:email_configuration_test, %{
+ locale: locale,
+ subject: subject,
+ offer_unsupscription: false
+ })
+ end
end
diff --git a/lib/web/templates/email/email_configuration_test.html.heex b/lib/web/templates/email/email_configuration_test.html.heex
new file mode 100644
index 000000000..8c20806cb
--- /dev/null
+++ b/lib/web/templates/email/email_configuration_test.html.heex
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+ <%= gettext("Well done!") %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%= gettext(
+ "If you received this email, the email configuration seems to be correct."
+ ) %>
+
+
+
+
+
+
+
diff --git a/lib/web/templates/email/email_configuration_test.text.eex b/lib/web/templates/email/email_configuration_test.text.eex
new file mode 100644
index 000000000..0ad20c79c
--- /dev/null
+++ b/lib/web/templates/email/email_configuration_test.text.eex
@@ -0,0 +1,3 @@
+<%= gettext "Well done!" %>
+==
+<%= gettext "If you received this email, the email configuration seems to be correct." %>
diff --git a/lib/web/templates/email/report.html.heex b/lib/web/templates/email/report.html.heex
index 0a8ad5bbe..002e81ac5 100644
--- a/lib/web/templates/email/report.html.heex
+++ b/lib/web/templates/email/report.html.heex
@@ -192,7 +192,7 @@
>
<%= gettext("Reasons for report") %>
- <%= @report.content |> raw %>
+ <%= @report.content %>
6.1"},
+ {:tls_certificate_check, "~> 1.20"},
# 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 14967a383..0b6d85be8 100644
--- a/mix.lock
+++ b/mix.lock
@@ -139,6 +139,7 @@
"telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},
"tesla": {:hex, :tesla, "1.8.0", "d511a4f5c5e42538d97eef7c40ec4f3e44effdc5068206f42ed859e09e51d1fd", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:finch, "~> 0.13", [hex: :finch, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:gun, ">= 1.0.0", [hex: :gun, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "4.4.2", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:msgpax, "~> 2.3", [hex: :msgpax, repo: "hexpm", optional: true]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "10501f360cd926a309501287470372af1a6e1cbed0f43949203a4c13300bc79f"},
"timex": {:hex, :timex, "3.7.11", "bb95cb4eb1d06e27346325de506bcc6c30f9c6dea40d1ebe390b262fad1862d1", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.20", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.1", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa"},
+ "tls_certificate_check": {:hex, :tls_certificate_check, "1.20.0", "1ac0c53f95e201feb8d398ef9d764ae74175231289d89f166ba88a7f50cd8e73", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "ab57b74b1a63dc5775650699a3ec032ec0065005eff1f020818742b7312a8426"},
"tz_world": {:hex, :tz_world, "1.3.1", "dedb8373fce594098909ff36d37f5e5e30e47cb40ef846d1dfc91eb39f7ebaaf", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.5", [hex: :certifi, repo: "hexpm", optional: true]}, {:geo, "~> 1.0 or ~> 2.0 or ~> 3.3", [hex: :geo, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "901ed2b4a4430ecab3765244da4a19e6f19141867c2ab3753924919b87ed2224"},
"tzdata": {:hex, :tzdata, "1.1.1", "20c8043476dfda8504952d00adac41c6eda23912278add38edc140ae0c5bcc46", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "a69cec8352eafcd2e198dea28a34113b60fdc6cb57eb5ad65c10292a6ba89787"},
"ueberauth": {:hex, :ueberauth, "0.10.5", "806adb703df87e55b5615cf365e809f84c20c68aa8c08ff8a416a5a6644c4b02", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "3efd1f31d490a125c7ed453b926f7c31d78b97b8a854c755f5c40064bf3ac9e1"},
diff --git a/mix.nix b/mix.nix
index a21b75926..60d212d7f 100644
--- a/mix.nix
+++ b/mix.nix
@@ -1789,6 +1789,19 @@ let
beamDeps = [ combine gettext tzdata ];
};
+ tls_certificate_check = buildRebar3 rec {
+ name = "tls_certificate_check";
+ version = "1.20.0";
+
+ src = fetchHex {
+ pkg = "tls_certificate_check";
+ version = "${version}";
+ sha256 = "ab57b74b1a63dc5775650699a3ec032ec0065005eff1f020818742b7312a8426";
+ };
+
+ beamDeps = [ ssl_verify_fun ];
+ };
+
tz_world = buildMix rec {
name = "tz_world";
version = "1.3.1";
diff --git a/priv/gettext/ar/LC_MESSAGES/default.po b/priv/gettext/ar/LC_MESSAGES/default.po
index f559fc99a..0656231a0 100644
--- a/priv/gettext/ar/LC_MESSAGES/default.po
+++ b/priv/gettext/ar/LC_MESSAGES/default.po
@@ -103,7 +103,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -133,7 +133,7 @@ msgstr ""
msgid "Warning"
msgstr "تنبيه"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -997,7 +997,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1311,7 +1311,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2021,11 +2021,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/ar/LC_MESSAGES/errors.po b/priv/gettext/ar/LC_MESSAGES/errors.po
index e0a0e6c74..e4efbe032 100644
--- a/priv/gettext/ar/LC_MESSAGES/errors.po
+++ b/priv/gettext/ar/LC_MESSAGES/errors.po
@@ -1197,23 +1197,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1239,17 +1239,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1259,7 +1259,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1269,7 +1269,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1286,22 +1286,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1311,17 +1311,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1331,27 +1331,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1387,7 +1387,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/be/LC_MESSAGES/default.po b/priv/gettext/be/LC_MESSAGES/default.po
index aa6ebf2d0..c7b3902e0 100644
--- a/priv/gettext/be/LC_MESSAGES/default.po
+++ b/priv/gettext/be/LC_MESSAGES/default.po
@@ -101,7 +101,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -977,7 +977,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1291,7 +1291,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -1998,11 +1998,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/be/LC_MESSAGES/errors.po b/priv/gettext/be/LC_MESSAGES/errors.po
index 2496d8cd9..dfd7e8329 100644
--- a/priv/gettext/be/LC_MESSAGES/errors.po
+++ b/priv/gettext/be/LC_MESSAGES/errors.po
@@ -1171,23 +1171,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1213,17 +1213,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1233,7 +1233,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1243,7 +1243,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1260,22 +1260,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1285,17 +1285,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1305,27 +1305,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1361,7 +1361,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/ca/LC_MESSAGES/default.po b/priv/gettext/ca/LC_MESSAGES/default.po
index 2817a279f..83921993b 100644
--- a/priv/gettext/ca/LC_MESSAGES/default.po
+++ b/priv/gettext/ca/LC_MESSAGES/default.po
@@ -110,7 +110,7 @@ msgstr ""
"Has creat un compte a %{host} amb aquesta adreça de mail. Estàs a un clic d"
"'activar-lo. Si no l'has creat tu, ignora aquest mail."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "T'han aprovat la participació a %{title}"
@@ -140,7 +140,7 @@ msgstr "Algú ha soŀlicitat a %{instance} una contrasenya nova."
msgid "Warning"
msgstr "Alerta"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Confirma que participaràs a l'activitat %{title}"
@@ -1165,7 +1165,7 @@ msgstr "Què fan avui?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1533,7 +1533,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Aquesta és una web de proves per provar la beta de Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2256,11 +2256,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/ca/LC_MESSAGES/errors.po b/priv/gettext/ca/LC_MESSAGES/errors.po
index 7a3c776e3..1bba8fcc0 100644
--- a/priv/gettext/ca/LC_MESSAGES/errors.po
+++ b/priv/gettext/ca/LC_MESSAGES/errors.po
@@ -1172,23 +1172,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1214,17 +1214,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1234,7 +1234,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1244,7 +1244,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1261,22 +1261,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1286,17 +1286,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1306,27 +1306,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1362,7 +1362,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/cs/LC_MESSAGES/default.po b/priv/gettext/cs/LC_MESSAGES/default.po
index 3b47f3a09..c7430749a 100644
--- a/priv/gettext/cs/LC_MESSAGES/default.po
+++ b/priv/gettext/cs/LC_MESSAGES/default.po
@@ -111,7 +111,7 @@ msgstr ""
"aktivace vás dělí jediné kliknutí. Pokud jste to nebyli vy, ignorujte prosím "
"tento e-mail."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Vaše účast na události %{title} byla schválena"
@@ -141,7 +141,7 @@ msgstr "Vyžádali jste si nové heslo pro svůj účet na %{instance}."
msgid "Warning"
msgstr "Upozornění"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Potvrďte svou účast na události %{title}"
@@ -1180,7 +1180,7 @@ msgstr "Co se dnes děje?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1596,7 +1596,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Jde o demonstrační web pro testování Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2349,11 +2349,30 @@ msgid "Participant registration date"
msgstr "Status účastníka"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/cs/LC_MESSAGES/errors.po b/priv/gettext/cs/LC_MESSAGES/errors.po
index 773e9a98d..155943dfc 100644
--- a/priv/gettext/cs/LC_MESSAGES/errors.po
+++ b/priv/gettext/cs/LC_MESSAGES/errors.po
@@ -1199,25 +1199,25 @@ msgstr "Chyba při odebírání tokenu"
msgid "Impossible to create application."
msgstr "Nelze vytvořit aplikaci."
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
"Odeslány nesprávné parametry. V závislosti na použitém typu grantu je třeba "
"zadat alespoň parametry grant_type a client_id."
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr "Zadání neplatných pověření klienta"
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr "Zadán neplatný token obnovení"
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr "Nebyla nalezena žádná aplikace s tímto client_id"
@@ -1243,17 +1243,17 @@ msgstr "Není oprávněn přistupovat k objektu %{objekt}"
msgid "Not authorized to access this %{object_type}"
msgstr "Není oprávněn k přístupu k tomuto %{object_type}"
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr "Zpomalte prosím tempo svých požadavků"
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr "Na žádost o povolení se stále čeká"
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr "Zadané client_id nebo přiřazený device_code jsou neplatné"
@@ -1263,7 +1263,7 @@ msgstr "Zadané client_id nebo přiřazený device_code jsou neplatné"
msgid "The device user code was not provided before approving the application"
msgstr "Před schválením žádosti nebyl uveden kód uživatele zařízení"
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr "Platnost daného device_code vypršela"
@@ -1273,7 +1273,7 @@ msgstr "Platnost daného device_code vypršela"
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr "Zadané redirect_uri není v seznamu povolených URI pro přesměrování"
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr "Daný rozsah není v seznamu deklarovaných rozsahů aplikace"
@@ -1290,22 +1290,22 @@ msgstr "Platnost daného kódu uživatele vypršela"
msgid "The given user code is invalid"
msgstr "Zadaný kód uživatele je neplatný"
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr "Zadané client_id neodpovídá zadanému kódu"
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr "Zadaný client_secret je neplatný"
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr "Poskytnutý kód je neplatný nebo jeho platnost vypršela"
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1316,17 +1316,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr "Parametr rozsah není seznam platných rozsahů oddělený mezerou"
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr "Uživatel odmítl požadovanou autorizaci"
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr "Toto přesměrování URI není povoleno"
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format
msgid "Token not found"
msgstr "Token nebyl nalezen"
@@ -1336,28 +1336,28 @@ msgstr "Token nebyl nalezen"
msgid "Too many requests"
msgstr "Příliš mnoho požadavků"
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr "Nelze vytvořit kód zařízení"
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr "Nelze odvolat token"
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
"Chcete-li získat kód zařízení, musíte jako parametry předat client_id a scope"
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr "Pro autorizaci aplikace je třeba zadat platnou redirect_uri"
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1394,7 +1394,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index 59c4ec14b..bba08e717 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -113,7 +113,7 @@ msgstr ""
"nur ein Klick von der Aktivierung entfernt. Wenn Sie das nicht waren, "
"ignorieren Sie diese E-Mail bitte."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Ihre Teilnahme an der Veranstaltung %{title}wurde akzeptiert"
@@ -144,7 +144,7 @@ msgstr ""
msgid "Warning"
msgstr "Warnung"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Meine Teilnahme an der Veranstaltung %{title} zusagen"
@@ -1207,7 +1207,7 @@ msgstr "Was gibt’s heute?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1643,7 +1643,7 @@ msgstr ""
"testen."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2420,11 +2420,30 @@ msgid "Participant registration date"
msgstr "Teilnehmerstatus"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po
index f468762b1..21e17a9a8 100644
--- a/priv/gettext/de/LC_MESSAGES/errors.po
+++ b/priv/gettext/de/LC_MESSAGES/errors.po
@@ -1216,23 +1216,23 @@ msgstr "Fehler beim Speichern des Reports"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1258,17 +1258,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1278,7 +1278,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1288,7 +1288,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1305,22 +1305,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1330,17 +1330,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Veranstaltung nicht gefunden"
@@ -1350,27 +1350,27 @@ msgstr "Veranstaltung nicht gefunden"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1406,7 +1406,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index 52fadf538..b7984ecc1 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -86,7 +86,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -116,7 +116,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -956,7 +956,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1270,7 +1270,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -1976,11 +1976,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index 88e1359cb..6fd213077 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -109,7 +109,7 @@ msgstr "Resetting your password is easy. Just press the button below and follow
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 "You created an account on %{host} with this email address. You are one click away from activating it."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Your participation to event %{title} has been approved"
@@ -139,7 +139,7 @@ msgstr "You requested a new password for your account on %{instance}."
msgid "Warning"
msgstr "Warning"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Confirm your participation to event %{title}"
@@ -1009,7 +1009,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1323,7 +1323,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "This is a demonstration site to test the beta version of Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2071,11 +2071,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po
index 0fad580b7..a53b425f8 100644
--- a/priv/gettext/en/LC_MESSAGES/errors.po
+++ b/priv/gettext/en/LC_MESSAGES/errors.po
@@ -1175,23 +1175,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1217,17 +1217,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1237,7 +1237,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1247,7 +1247,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1264,22 +1264,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1289,17 +1289,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1309,27 +1309,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1365,7 +1365,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot
index f2bc71484..43ce04214 100644
--- a/priv/gettext/errors.pot
+++ b/priv/gettext/errors.pot
@@ -1172,23 +1172,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1214,17 +1214,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1234,7 +1234,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1244,7 +1244,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1261,22 +1261,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1286,17 +1286,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format
msgid "Token not found"
msgstr ""
@@ -1306,27 +1306,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1362,7 +1362,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po
index 5a0789a23..90574afca 100644
--- a/priv/gettext/es/LC_MESSAGES/default.po
+++ b/priv/gettext/es/LC_MESSAGES/default.po
@@ -112,7 +112,7 @@ msgstr ""
"Has creado una cuenta en %{host} con esta dirección de correo electrónico. "
"Estás a un clic de activarlo. Si no eras tú, ignora este correo electrónico."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Su participación en el evento %{title} ha sido aprobada"
@@ -142,7 +142,7 @@ msgstr "Solicitó una nueva contraseña para su cuenta en %{instance}."
msgid "Warning"
msgstr "Advertencia"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Confirme su participación en el evento %{title}"
@@ -1178,7 +1178,7 @@ msgstr "Qué pasa hoy?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1596,7 +1596,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Este es un sitio de demostración para probar Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2353,11 +2353,30 @@ msgid "Participant registration date"
msgstr "Fecha de registro del participante"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po
index 44c8bbe33..e5dc3ffdb 100644
--- a/priv/gettext/es/LC_MESSAGES/errors.po
+++ b/priv/gettext/es/LC_MESSAGES/errors.po
@@ -1202,23 +1202,23 @@ msgstr "Error al guardar el informe"
msgid "Impossible to create application."
msgstr "Imposible crear una aplicación"
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
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:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr "Se han provisto credenciales de cliente no válidas"
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr "Se ha provisto un token de refrescado inválido"
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr "No se ha encontrado una aplicación con este client_id"
@@ -1244,17 +1244,17 @@ msgstr "No está autorizado a acceder al objeto %{object}"
msgid "Not authorized to access this %{object_type}"
msgstr "No está autorizado a acceder a este %{object_type}"
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr "Por favor reduce la frecuencia de tus peticiones"
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr "La solicitud de autorización todavía está pendiente"
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr "El client_id provisto o el device_code asociado es inválido"
@@ -1264,7 +1264,7 @@ msgstr "El client_id provisto o el device_code asociado es inválido"
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1274,7 +1274,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1291,22 +1291,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1316,17 +1316,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Token no encontrado"
@@ -1336,27 +1336,27 @@ msgstr "Token no encontrado"
msgid "Too many requests"
msgstr "Demasiadas peticiones"
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1392,7 +1392,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po
index 592633dec..2b01c700c 100644
--- a/priv/gettext/fi/LC_MESSAGES/default.po
+++ b/priv/gettext/fi/LC_MESSAGES/default.po
@@ -111,7 +111,7 @@ msgstr ""
"yhdellä napsautuksella. Jos et luonut tiliä itse, voit jättää tämän viestin "
"huomiotta."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Osallistumisesi tapahtumaan %{title} on hyväksytty"
@@ -141,7 +141,7 @@ msgstr "Pyysit uutta salasanaa tilillesi palvelimella %{instance}."
msgid "Warning"
msgstr "Varoitus"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Vahvista osallistumisesi tapahtumaan %{title}"
@@ -1159,7 +1159,7 @@ msgstr "Mitä tänään tapahtuu?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1570,7 +1570,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Tämä on koekäyttöön tarkoitettu Mobilizonin esittelysivu."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2293,11 +2293,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/fi/LC_MESSAGES/errors.po b/priv/gettext/fi/LC_MESSAGES/errors.po
index 34ba77eb9..478c1105b 100644
--- a/priv/gettext/fi/LC_MESSAGES/errors.po
+++ b/priv/gettext/fi/LC_MESSAGES/errors.po
@@ -1178,23 +1178,23 @@ msgstr "Virhe raporttia tallennettaessa"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1220,17 +1220,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1250,7 +1250,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1267,22 +1267,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1292,17 +1292,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Tapahtumaa ei löydy"
@@ -1312,27 +1312,27 @@ msgstr "Tapahtumaa ei löydy"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1368,7 +1368,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po
index b0e81f70f..f99961124 100644
--- a/priv/gettext/fr/LC_MESSAGES/default.po
+++ b/priv/gettext/fr/LC_MESSAGES/default.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-12-01 09:02+0100\n"
+"PO-Revision-Date: 2023-12-06 18:50+0100\n"
"Last-Translator: Thomas Citharel \n"
"Language-Team: French \n"
"Language: fr\n"
@@ -88,7 +88,7 @@ msgstr "Réinitialiser votre mot de passe est facile. Cliquez simplement sur le
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 "Vous avez créé un compte sur %{host} avec cette adresse email. Vous êtes à un clic de l'activer."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
msgid "Your participation to event %{title} has been approved"
msgstr "Votre participation à l'événement %{title} a été approuvée"
@@ -112,7 +112,7 @@ msgstr "Vous avez demandé un nouveau mot de passe pour votre compte sur %{insta
msgid "Warning"
msgstr "Attention"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
msgid "Confirm your participation to event %{title}"
msgstr "Confirmer ma participation à l'événement %{title}"
@@ -784,7 +784,7 @@ msgstr "Voir l'événement mis à jour sur : %{link}"
msgid "What's up today?"
msgstr "Quoi de neuf aujourd'hui ?"
-#: lib/web/templates/email/event_participation_approved.html.heex:98 lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:98 lib/web/templates/email/event_participation_confirmed.text.eex:6
+#: lib/web/templates/email/event_participation_approved.html.heex:98 lib/web/templates/email/event_participation_approved.text.eex:11 lib/web/templates/email/event_participation_confirmed.html.heex:140 lib/web/templates/email/event_participation_confirmed.text.eex:6
msgid "Would you wish to update or cancel your attendance, simply access the event page through the link above and click on the Attending button."
msgstr "Si vous souhaitez mettre à jour ou annuler votre participation, il vous suffit d'accéder à la page de l'événement par le lien ci-dessus et de cliquer sur le bouton Participer."
@@ -1028,7 +1028,7 @@ msgstr "Nous sommes désolé·e·s, mais quelque chose s’est mal passé de not
msgid "This is a demonstration site to test Mobilizon."
msgstr "Ceci est un site de démonstration permettant de tester Mobilizon."
-#: lib/service/metadata/actor.ex:86 lib/service/metadata/actor.ex:92 lib/service/metadata/instance.ex:60 lib/service/metadata/instance.ex:66
+#: lib/service/metadata/actor.ex:86 lib/service/metadata/actor.ex:93 lib/service/metadata/instance.ex:60 lib/service/metadata/instance.ex:66
msgid "%{name}'s feed"
msgstr "Flux de %{name}"
@@ -1559,10 +1559,22 @@ msgstr "Événements signalés"
msgid "Participant registration date"
msgstr "Date d'inscription du participant"
-#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113 lib/web/templates/email/event_participation_confirmed.html.heex:122
msgid "Cancel my attendance"
msgstr "Annuler ma participation"
-#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90 lib/web/templates/email/event_participation_confirmed.html.heex:99
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr "Si vous souhaitez annuler votre participation, il vous suffit de cliquer sur le lien ci-dessous."
+
+#: lib/web/email/admin.ex:142
+msgid "Email configuration test for %{instance}"
+msgstr "Test de configuration des e-mails pour %{instance}"
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47 lib/web/templates/email/email_configuration_test.text.eex:3
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr "Si vous avez reçu cet e-mail, la configuration des e-mails semble correcte."
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18 lib/web/templates/email/email_configuration_test.text.eex:1
+msgid "Well done!"
+msgstr "Bien joué !"
diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po
index db7828675..b18e13cd3 100644
--- a/priv/gettext/fr/LC_MESSAGES/errors.po
+++ b/priv/gettext/fr/LC_MESSAGES/errors.po
@@ -1174,25 +1174,25 @@ msgstr "Erreur lors de la révocation du jeton"
msgid "Impossible to create application."
msgstr "Impossible de créer l'application."
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
"Paramètres envoyés incorrects. Vous devez au moins fournir les paramètres grant_type et client_id, en fonction du type d’autorisation "
"utilisée."
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr "Les identifiants clients fournis sont invalides"
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr "Le jeton de rafraîchissement fourni est invalide"
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr "Aucune application n'a été trouvée avec ce client_id"
@@ -1218,17 +1218,17 @@ msgstr "Non autorisé à accéder à l'objet %{object}"
msgid "Not authorized to access this %{object_type}"
msgstr "Non autorisé à accéder à ce %{object_type}"
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr "Merci de réduire le rythme de vos requêtes"
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr "La requête d'autorisation est toujours en attente"
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr "Le client_id fourni ou device_code associé n'est pas valide"
@@ -1238,7 +1238,7 @@ msgstr "Le client_id fourni ou device_code associé n'est pas valide"
msgid "The device user code was not provided before approving the application"
msgstr "Le code utilisateur de l'appareil n'a pas été fourni avant l'approbation de la demande"
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr "Le device_code donné a expiré"
@@ -1248,7 +1248,7 @@ msgstr "Le device_code donné a expiré"
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr "Le redirect_uri donné ne figure pas dans la liste des URI de redirection autorisées"
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr "Le champ d'application donné n'est pas dans la liste des champs d'application déclarés par l'application"
@@ -1265,22 +1265,22 @@ msgstr "Le code utilisateur donné a expiré"
msgid "The given user code is invalid"
msgstr "Le code utilisateur donné n'est pas valide"
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr "Le client_id fourni ne correspond pas au code fourni"
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr "Le client_secret fourni n'est pas valide"
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr "Le code fourni n'est pas valide ou a expiré"
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr "Le champ d'application fourni n'est pas valide ou n'est pas inclus dans les champs d'application déclarés de l'application"
@@ -1290,17 +1290,17 @@ msgstr "Le champ d'application fourni n'est pas valide ou n'est pas inclus dans
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr "Le paramètre scope n'est pas une liste de champs d'application valides séparés par des espaces"
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr "L'utilisateur a refusé l'autorisation demandée"
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr "Cette URI de redirection n'est pas autorisée"
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format
msgid "Token not found"
msgstr "Jeton non trouvé"
@@ -1310,27 +1310,27 @@ msgstr "Jeton non trouvé"
msgid "Too many requests"
msgstr "Trop de requêtes"
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr "Impossible de produire un device code"
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr "Impossible de révoquer le jeton"
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr "Pour obtenir un code d'appareil, vous devez passer en paramètre le client_id et le scope"
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr "Vous devez fournir un redirect_uri valide pour autoriser une application"
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr "Vous devez spécifier client_id, redirect_uri, scope et state pour autoriser une application"
@@ -1366,7 +1366,7 @@ msgstr "Le même abonnement push a déjà été enregistré"
msgid "This instance is pending follow approval"
msgstr "Cette instance est en attente d'une approbation de suivi"
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr "L'ID de fuseau horaire %{timezone} est invalide"
diff --git a/priv/gettext/gd/LC_MESSAGES/default.po b/priv/gettext/gd/LC_MESSAGES/default.po
index 3861efd6e..a40afd486 100644
--- a/priv/gettext/gd/LC_MESSAGES/default.po
+++ b/priv/gettext/gd/LC_MESSAGES/default.po
@@ -107,7 +107,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -137,7 +137,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -989,7 +989,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1303,7 +1303,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2011,11 +2011,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/gd/LC_MESSAGES/errors.po b/priv/gettext/gd/LC_MESSAGES/errors.po
index 5903780d8..9fa4ea687 100644
--- a/priv/gettext/gd/LC_MESSAGES/errors.po
+++ b/priv/gettext/gd/LC_MESSAGES/errors.po
@@ -1178,23 +1178,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1220,17 +1220,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1250,7 +1250,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1267,22 +1267,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1292,17 +1292,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1312,27 +1312,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1368,7 +1368,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/gl/LC_MESSAGES/activity.po b/priv/gettext/gl/LC_MESSAGES/activity.po
index fa5d658ad..51189462a 100644
--- a/priv/gettext/gl/LC_MESSAGES/activity.po
+++ b/priv/gettext/gl/LC_MESSAGES/activity.po
@@ -8,218 +8,231 @@
## to merge POT files into PO files.
msgid ""
msgstr ""
+"PO-Revision-Date: 2023-12-07 09:54+0000\n"
+"Last-Translator: \"josé m.\" \n"
+"Language-Team: Galician \n"
"Language: gl\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.2.1\n"
#: lib/web/templates/email/activity/_member_activity_item.html.heex:14
#: lib/web/templates/email/activity/_member_activity_item.text.eex:12
#, elixir-autogen, elixir-format
msgid "%{member} accepted the invitation to join the group."
-msgstr ""
+msgstr "%{member} aceptou o convite para unirse ao grupo."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:19
#: lib/web/templates/email/activity/_member_activity_item.text.eex:17
#, elixir-autogen, elixir-format
msgid "%{member} rejected the invitation to join the group."
-msgstr ""
+msgstr "%{member} rexeitou o convite para unirse ao grupo."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:3
#: lib/web/templates/email/activity/_member_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{member} requested to join the group."
-msgstr ""
+msgstr "%{member} solicitou unirse ao grupo."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:8
#: lib/web/templates/email/activity/_member_activity_item.text.eex:6
#, elixir-autogen, elixir-format
msgid "%{member} was invited by %{profile}."
-msgstr ""
+msgstr "%{profile} convidou a %{member}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:30
#: lib/web/templates/email/activity/_member_activity_item.text.eex:27
#, elixir-autogen, elixir-format
msgid "%{profile} added the member %{member}."
-msgstr ""
+msgstr "%{profile} engadiu a %{member}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:27
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:19
#, elixir-autogen, elixir-format
msgid "%{profile} archived the discussion %{discussion}."
-msgstr ""
+msgstr "%{profile} arquivou a conversa %{discussion}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:3
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{profile} created the discussion %{discussion}."
-msgstr ""
+msgstr "%{profile} creou a conversa %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:4
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:2
#, elixir-autogen, elixir-format
msgid "%{profile} created the folder %{resource}."
-msgstr ""
+msgstr "%{profile} creou o cartafol %{resource}."
#: lib/web/templates/email/activity/_group_activity_item.html.heex:3
#: lib/web/templates/email/activity/_group_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{profile} created the group %{group}."
-msgstr ""
+msgstr "%{profile} creou o grupo %{group}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:13
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:8
#, elixir-autogen, elixir-format
msgid "%{profile} created the resource %{resource}."
-msgstr ""
+msgstr "%{profile} creou o recurso %{resource}."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:35
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:25
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the discussion %{discussion}."
-msgstr ""
+msgstr "%{profile} eliminou a conversa %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:76
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:40
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the folder %{resource}."
-msgstr ""
+msgstr "%{profile} eliminou o cartafol %{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:82
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:45
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the resource %{resource}."
-msgstr ""
+msgstr "%{profile} eliminou o recurso %{resource}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:48
#: lib/web/templates/email/activity/_member_activity_item.text.eex:45
#, elixir-autogen, elixir-format
msgid "%{profile} excluded member %{member}."
-msgstr ""
+msgstr "%{profile} excluíu a participante %{member}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:56
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:28
#, elixir-autogen, elixir-format
msgid "%{profile} moved the folder %{resource}."
-msgstr ""
+msgstr "%{profile} moveu o cartafol %{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:65
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:34
#, elixir-autogen, elixir-format
msgid "%{profile} moved the resource %{resource}."
-msgstr ""
+msgstr "%{profile} moveu o recurso %{resource}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:54
#: lib/web/templates/email/activity/_member_activity_item.text.eex:51
#, elixir-autogen, elixir-format
msgid "%{profile} quit the group."
-msgstr ""
+msgstr "%{profile} saiu do grupo."
#: lib/web/templates/email/activity/_discussion_activity_item.html.heex:19
#: lib/web/templates/email/activity/_discussion_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the discussion %{discussion}."
-msgstr ""
+msgstr "%{profile} cambiou o nome da conversa %{discussion}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:24
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:14
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource}."
msgstr ""
+"%{profile} cambioulle o nome ao cartafol de %{old_resource_title} a "
+"%{resource}."
#: lib/web/templates/email/activity/_resource_activity_item.html.heex:39
#: lib/web/templates/email/activity/_resource_activity_item.text.eex:21
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource}."
msgstr ""
+"%{profile} cambioulle o nome ao 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.text.eex:7
#, elixir-autogen, elixir-format
msgid "%{profile} replied to the discussion %{discussion}."
-msgstr ""
+msgstr "%{profile} respondeu na conversa %{discussion}."
#: lib/web/templates/email/activity/_group_activity_item.html.heex:12
#: lib/web/templates/email/activity/_group_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "%{profile} updated the group %{group}."
-msgstr ""
+msgstr "%{profile} actualizou o grupo %{group}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:42
#: lib/web/templates/email/activity/_member_activity_item.text.eex:39
#, elixir-autogen, elixir-format
msgid "%{profile} updated the member %{member}."
-msgstr ""
+msgstr "%{profile} actualizou a participante %{member}."
#: lib/service/activity/renderer/event.ex:22
#: lib/web/templates/email/activity/_event_activity_item.html.heex:3
#: lib/web/templates/email/activity/_event_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "The event %{event} was created by %{profile}."
-msgstr ""
+msgstr "%{profile} creou o evento %{event}."
#: lib/service/activity/renderer/event.ex:42
#: lib/web/templates/email/activity/_event_activity_item.html.heex:21
#: lib/web/templates/email/activity/_event_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "The event %{event} was deleted by %{profile}."
-msgstr ""
+msgstr "%{profile} eliminou o evento %{event}."
#: lib/service/activity/renderer/event.ex:32
#: lib/web/templates/email/activity/_event_activity_item.html.heex:12
#: lib/web/templates/email/activity/_event_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "The event %{event} was updated by %{profile}."
-msgstr ""
+msgstr "%{profile} actualizou o evento %{event}."
#: lib/web/templates/email/activity/_post_activity_item.html.heex:3
#: lib/web/templates/email/activity/_post_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "The post %{post} was created by %{profile}."
-msgstr ""
+msgstr "%{profile} creou a publicación %{post}."
#: lib/web/templates/email/activity/_post_activity_item.html.heex:21
#: lib/web/templates/email/activity/_post_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "The post %{post} was deleted by %{profile}."
-msgstr ""
+msgstr "%{profile} eliminou a publicación %{post}."
#: lib/web/templates/email/activity/_post_activity_item.html.heex:12
#: lib/web/templates/email/activity/_post_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "The post %{post} was updated by %{profile}."
-msgstr ""
+msgstr "%{profile} actualizou a publicación %{post}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:24
#: lib/web/templates/email/activity/_member_activity_item.text.eex:22
#, elixir-autogen, elixir-format
msgid "%{member} joined the group."
-msgstr ""
+msgstr "%{member} uníuse ao grupo."
#: lib/service/activity/renderer/event.ex:62
#: lib/web/templates/email/activity/_event_activity_item.html.heex:37
#: lib/web/templates/email/activity/_event_activity_item.text.eex:25
#, elixir-autogen, elixir-format
msgid "%{profile} posted a comment on the event %{event}."
-msgstr ""
+msgstr "%{profile} publicou un comentario no evento %{event}."
#: lib/service/activity/renderer/event.ex:53
#: lib/web/templates/email/activity/_event_activity_item.html.heex:28
#: lib/web/templates/email/activity/_event_activity_item.text.eex:19
#, elixir-autogen, elixir-format
msgid "%{profile} replied to a comment on the event %{event}."
-msgstr ""
+msgstr "%{profile} respondeu a un comentario no evento %{event}."
#: lib/web/templates/email/email_direct_activity.text.eex:27
#, elixir-autogen, elixir-format
msgid "Don't want to receive activity notifications? You may change frequency or disable them in your settings."
msgstr ""
+"Non queres recibir notificacións de actividade? Podes cambiar a frecuencia "
+"ou desactivalas nos axustes."
#: lib/web/templates/email/email_direct_activity.html.heex:230
#: lib/web/templates/email/email_direct_activity.text.eex:23
#, elixir-format
msgid "View one more activity"
msgid_plural "View %{count} more activities"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Ver unha actividade máis"
+msgstr[1] "Ver %{count} actividades máis"
#: lib/web/templates/email/email_direct_activity.html.heex:53
#: lib/web/templates/email/email_direct_activity.html.heex:60
@@ -228,303 +241,316 @@ msgstr[1] ""
#, elixir-format
msgid "There has been an activity!"
msgid_plural "There has been some activity!"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Houbo actividade!"
+msgstr[1] "Hai novidades!"
#: lib/service/activity/renderer/renderer.ex:46
#, elixir-autogen, elixir-format
msgid "Activity on %{instance}"
-msgstr ""
+msgstr "Actividade en %{instance}"
#: lib/service/activity/renderer/comment.ex:37
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:12
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:7
#, elixir-autogen, elixir-format
msgid "%{profile} has posted an announcement under event %{event}."
-msgstr ""
+msgstr "%{profile} publicou un anuncio no evento %{event}."
#: lib/service/activity/renderer/comment.ex:23
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:3
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:1
#, elixir-autogen, elixir-format
msgid "%{profile} mentionned you in a comment under event %{event}."
-msgstr ""
+msgstr "%{profile} mencionoute nun comentario no evento %{event}."
#: lib/web/templates/email/email_direct_activity.html.heex:260
#, 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}."
msgstr ""
+"Non queres recibir notificacións de actividade? Podes cambiar a frecuencia "
+"ou desactivalas nos %{tag_start}axustes%{tag_end}."
#: lib/web/templates/email/email_direct_activity.html.heex:51
#: lib/web/templates/email/email_direct_activity.text.eex:5
#, elixir-autogen, elixir-format
msgid "Here's your weekly activity recap"
-msgstr ""
+msgstr "Aquí tes o teu resumo semanal"
#: lib/web/email/activity.ex:151
#: lib/web/email/activity.ex:172
#, elixir-autogen, elixir-format
msgid "Activity notification for %{instance}"
-msgstr ""
+msgstr "Notificación de actividade en %{instance}"
#: lib/web/email/activity.ex:158
#, elixir-autogen, elixir-format
msgid "Daily activity recap for %{instance}"
-msgstr ""
+msgstr "Resumo diario de actividade en %{instance}"
#: lib/web/templates/email/email_direct_activity.html.heex:49
#: lib/web/templates/email/email_direct_activity.text.eex:4
#, elixir-autogen, elixir-format
msgid "Here's your daily activity recap"
-msgstr ""
+msgstr "Aquí tes o teu resumo diario de actividade"
#: lib/web/email/activity.ex:165
#, elixir-autogen, elixir-format
msgid "Weekly activity recap for %{instance}"
-msgstr ""
+msgstr "Resumo semanal de actividade en %{instance}"
#: lib/service/activity/renderer/comment.ex:65
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:31
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:19
#, elixir-autogen, elixir-format
msgid "%{profile} has posted a new comment under your event %{event}."
-msgstr ""
+msgstr "%{profile} publicou un novo comentario para o evento %{event}."
#: lib/service/activity/renderer/comment.ex:52
#: lib/web/templates/email/activity/_comment_activity_item.html.heex:22
#: lib/web/templates/email/activity/_comment_activity_item.text.eex:13
#, elixir-autogen, elixir-format
msgid "%{profile} has posted a new reply under your event %{event}."
-msgstr ""
+msgstr "%{profile} publicou unha nova resposta no teu evento %{event}."
#: lib/web/email/activity.ex:74
#, elixir-autogen, elixir-format
msgid "Announcement for your event %{event}"
-msgstr ""
+msgstr "Anuncio para o teu evento %{event}"
#: lib/service/activity/renderer/group.ex:22
#, elixir-autogen, elixir-format
msgid "The group %{group} was updated by %{profile}."
-msgstr ""
+msgstr "%{profile} actualizou o grupo %{group}."
#: lib/service/activity/renderer/post.ex:46
#, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was deleted by %{profile}."
-msgstr ""
+msgstr "%{profile} eliminou a publicación %{post} do grupo %{group}."
#: lib/service/activity/renderer/post.ex:30
#, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was published by %{profile}."
-msgstr ""
+msgstr "%{profile} publicou a publicación %{post} no grupo %{group}."
#: lib/service/activity/renderer/post.ex:38
#, elixir-autogen, elixir-format
msgid "The post %{post} from group %{group} was updated by %{profile}."
-msgstr ""
+msgstr "%{profile} actualizou a publicación %{post} do grupo %{group}."
#: lib/service/activity/renderer/member.ex:38
#, elixir-autogen, elixir-format
msgid "%{member} accepted the invitation to join the group %{group}."
-msgstr ""
+msgstr "%{member} aceptou o convite para unirse ao grupo %{group}."
#: lib/service/activity/renderer/member.ex:46
#, elixir-autogen, elixir-format
msgid "%{member} joined the group %{group}."
-msgstr ""
+msgstr "%{member} uníuse ao grupo %{group}."
#: lib/service/activity/renderer/member.ex:42
#, elixir-autogen, elixir-format
msgid "%{member} rejected the invitation to join the group %{group}."
-msgstr ""
+msgstr "%{member} rexeitou o convite para unirse ao grupo %{group}."
#: lib/service/activity/renderer/member.ex:30
#, elixir-autogen, elixir-format
msgid "%{member} requested to join the group %{group}."
-msgstr ""
+msgstr "%{member} solicitou unirse ao grupo %{group}."
#: lib/service/activity/renderer/member.ex:34
#, elixir-autogen, elixir-format
msgid "%{member} was invited by %{profile} to group %{group}."
-msgstr ""
+msgstr "%{member} foi convidada por %{profile} ao grupo %{group}."
#: lib/service/activity/renderer/member.ex:50
#, elixir-autogen, elixir-format
msgid "%{profile} added the member %{member} to group %{group}."
-msgstr ""
+msgstr "%{profile} engadiu a %{member} ao grupo %{group}."
#: lib/service/activity/renderer/member.ex:54
#, elixir-autogen, elixir-format
msgid "%{profile} approved the membership request from %{member} for group %{group}."
msgstr ""
+"%{profile} aprobou a solicitude de %{member} para unirse ao grupo %{group}."
#: lib/service/activity/renderer/resource.ex:32
#, elixir-autogen, elixir-format
msgid "%{profile} created the folder %{resource} in group %{group}."
-msgstr ""
+msgstr "%{profile} creou o cartafol %{resource} no grupo %{group}."
#: lib/service/activity/renderer/resource.ex:68
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the folder %{resource} in group %{group}."
-msgstr ""
+msgstr "%{profile} eliminou o cartafol %{resource} no grupo %{group}."
#: lib/service/activity/renderer/resource.ex:70
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the resource %{resource} in group %{group}."
-msgstr ""
+msgstr "%{profile} eliminou o recurso %{resource} no grupo %{group}."
#: lib/service/activity/renderer/member.ex:74
#, elixir-autogen, elixir-format
msgid "%{profile} excluded member %{member} from the group %{group}."
-msgstr ""
+msgstr "%{profile} quitou a %{member} do grupo %{group}."
#: lib/service/activity/renderer/resource.ex:60
#, elixir-autogen, elixir-format
msgid "%{profile} moved the folder %{resource} in group %{group}."
-msgstr ""
+msgstr "%{profile} moveu o cartafol %{resource} no grupo %{group}."
#: lib/service/activity/renderer/resource.ex:62
#, elixir-autogen, elixir-format
msgid "%{profile} moved the resource %{resource} in group %{group}."
-msgstr ""
+msgstr "%{profile} moveu o recurso %{resource} no grupo %{group}."
#: lib/service/activity/renderer/member.ex:78
#, elixir-autogen, elixir-format
msgid "%{profile} quit the group %{group}."
-msgstr ""
+msgstr "%{profile} saíu do grupo %{group}."
#: lib/service/activity/renderer/member.ex:62
#, elixir-autogen, elixir-format
msgid "%{profile} rejected the membership request from %{member} for group %{group}."
msgstr ""
+"%{profile} rexeitou a solicitude de membresía de %{member} no grupo %{group}."
#: lib/service/activity/renderer/resource.ex:44
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the folder from %{old_resource_title} to %{resource} in group %{group}."
msgstr ""
+"%{profile} cambioulle o nome ao cartafol de %{old_resource_title} a "
+"%{resource} no grupo %{group}."
#: lib/service/activity/renderer/resource.ex:50
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the resource from %{old_resource_title} to %{resource} in group %{group}."
msgstr ""
+"%{profile} cambioulle o nome ao recurso %{old_resource_title} a %{resource} "
+"no grupo %{group}."
#: lib/service/activity/renderer/member.ex:70
#, elixir-autogen, elixir-format
msgid "%{profile} updated the member %{member} in group %{group}."
-msgstr ""
+msgstr "%{profile} actualizou a participante %{member} no grupo %{group}."
#: lib/service/activity/renderer/resource.ex:34
#, elixir-autogen, elixir-format
msgid "%{profile} created the resource %{resource} in group %{group}."
-msgstr ""
+msgstr "%{profile} creou o recurso %{resource} no grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:85
#, elixir-autogen, elixir-format
msgid "%{profile} archived the discussion %{discussion} in group %{group}."
-msgstr ""
+msgstr "%{profile} arquivou a conversa %{discussion} no grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:25
#, elixir-autogen, elixir-format
msgid "%{profile} created the discussion %{discussion} in group %{group}."
-msgstr ""
+msgstr "%{profile} creou a conversa %{discussion} no grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:100
#, elixir-autogen, elixir-format
msgid "%{profile} deleted the discussion %{discussion} in group %{group}."
-msgstr ""
+msgstr "%{profile} eliminou a conversa %{discussion} no grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:55
#, elixir-autogen, elixir-format
msgid "%{profile} mentionned you in the discussion %{discussion} in group %{group}."
-msgstr ""
+msgstr "%{profile} mencionoute na conversa %{discussion} no grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:70
#, elixir-autogen, elixir-format
msgid "%{profile} renamed the discussion %{discussion} in group %{group}."
-msgstr ""
+msgstr "%{profile} cambiou o nome da conversa %{discussion} no grupo %{group}."
#: lib/service/activity/renderer/discussion.ex:40
#, elixir-autogen, elixir-format
msgid "%{profile} replied to the discussion %{discussion} in group %{group}."
-msgstr ""
+msgstr "%{profile} respondeu á conversa %{discussion} no grupo %{group}."
#: lib/web/templates/email/activity/_member_activity_item.html.heex:36
#: lib/web/templates/email/activity/_member_activity_item.text.eex:33
-#, elixir-autogen, elixir-format, fuzzy
+#, elixir-autogen, elixir-format
msgid "%{profile} approved the member %{member}."
-msgstr ""
+msgstr "%{profile} aprobou a membresía de %{member}."
#: lib/service/activity/renderer/event.ex:73
#: lib/web/templates/email/activity/_event_activity_item.html.heex:47
#: lib/web/templates/email/activity/_event_activity_item.text.eex:31
#, elixir-autogen, elixir-format
msgid "%{profile} joined your event %{event}."
-msgstr ""
+msgstr "%{profile} uníuse ao teu evento %{event}."
#: lib/web/views/email_view.ex:61
#, elixir-autogen, elixir-format
msgid "An anonymous profile"
-msgstr ""
+msgstr "Un perfil anónimo"
#: lib/web/templates/email/email_anonymous_activity.html.heex:107
#: lib/web/templates/email/email_anonymous_activity.text.eex:14
-#, elixir-autogen, elixir-format, fuzzy
+#, elixir-autogen, elixir-format
msgid "%{profile} has posted a private announcement about event %{event}."
-msgstr ""
+msgstr "%{profile} publicou un anuncio privado sobre o evento %{event}."
#: lib/web/templates/email/email_anonymous_activity.html.heex:50
#: lib/web/templates/email/email_anonymous_activity.text.eex:6
-#, elixir-autogen, elixir-format, fuzzy
+#, elixir-autogen, elixir-format
msgid "%{profile} has posted a public announcement under event %{event}."
-msgstr ""
+msgstr "%{profile} fixo un anuncio público para o evento %{event}."
#: lib/web/templates/email/activity/_conversation_activity_item.html.heex:3
-#, elixir-autogen, elixir-format, fuzzy
+#, elixir-autogen, elixir-format
msgid "%{profile} mentionned you in a %{conversation}."
-msgstr ""
+msgstr "%{profile} mencionoute nunha %{conversation}."
#: lib/web/templates/email/activity/_conversation_activity_item.text.eex:1
-#, elixir-autogen, elixir-format, fuzzy
+#, elixir-autogen, elixir-format
msgid "%{profile} mentionned you in a conversation."
-msgstr ""
+msgstr "%{profile} mencionoute nunha conversa."
#: lib/service/activity/renderer/conversation.ex:36
#, elixir-autogen, elixir-format
msgid "%{profile} replied to your message"
-msgstr ""
+msgstr "%{profile} respondeu á túa mensaxe"
#: lib/web/templates/email/activity/_conversation_activity_item.html.heex:10
-#, elixir-autogen, elixir-format, fuzzy
+#, elixir-autogen, elixir-format
msgid "%{profile} replied you in a %{conversation}."
-msgstr ""
+msgstr "%{profile} contestouche nunha %{conversation}."
#: lib/web/templates/email/activity/_conversation_activity_item.text.eex:6
#, elixir-autogen, elixir-format
msgid "%{profile} replied you in a conversation."
-msgstr ""
+msgstr "%{profile} respondeuche nunha conversa."
#: lib/service/activity/renderer/conversation.ex:49
#, elixir-autogen, elixir-format
msgid "%{profile} sent a private message about event %{event}"
-msgstr ""
+msgstr "%{profile} enviou unha mensaxe privada sobre o evento %{event}"
#: lib/service/activity/renderer/conversation.ex:23
#, elixir-autogen, elixir-format
msgid "%{profile} sent you a message"
-msgstr ""
+msgstr "%{profile} enviouche unha mensaxe"
#: lib/web/email/activity.ex:52
#, elixir-autogen, elixir-format
msgid "Informations about your event %{event}"
-msgstr ""
+msgstr "Informacións acerca do teu evento %{event}"
#: lib/web/templates/email/email_anonymous_activity.html.heex:118
#: lib/web/templates/email/email_anonymous_activity.text.eex:20
#, elixir-autogen, elixir-format
msgid "It might give details on how to join the event, so make sure to read it appropriately."
msgstr ""
+"Podería incluir detalles sobre como participar no evento, pon coidado en "
+"lelo con atención."
#: lib/web/templates/email/email_anonymous_activity.html.heex:156
#: lib/web/templates/email/email_anonymous_activity.text.eex:28
#, elixir-autogen, elixir-format
msgid "This information is sent privately to you as a person who registered for this event. Share the informations above with other people with caution."
msgstr ""
+"Esta información envíaseche de xeito privado como persoa participante neste "
+"evento. Considera o xeito en que compartes esta información con outras "
+"persoas."
diff --git a/priv/gettext/gl/LC_MESSAGES/default.po b/priv/gettext/gl/LC_MESSAGES/default.po
index 4da186222..90af06c4c 100644
--- a/priv/gettext/gl/LC_MESSAGES/default.po
+++ b/priv/gettext/gl/LC_MESSAGES/default.po
@@ -110,7 +110,7 @@ msgstr ""
"Creaches unha conta en %{host} con este enderezo de email. Só precisas "
"activalo. Se non foches ti, por favor ignora este email."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Foi aprobada a túa participación no evento %{title}"
@@ -141,7 +141,7 @@ msgstr ""
msgid "Warning"
msgstr "Aviso"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Confirma a túa participación no evento %{title}"
@@ -1156,7 +1156,7 @@ msgstr "Que temos para hoxe?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1565,7 +1565,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Este é un sitio web de exemplo para probar Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2289,11 +2289,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/gl/LC_MESSAGES/errors.po b/priv/gettext/gl/LC_MESSAGES/errors.po
index 1425fc960..13b3eba4c 100644
--- a/priv/gettext/gl/LC_MESSAGES/errors.po
+++ b/priv/gettext/gl/LC_MESSAGES/errors.po
@@ -1194,23 +1194,23 @@ msgstr "Erro ó gardar a denuncia"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1236,17 +1236,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1256,7 +1256,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1266,7 +1266,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1283,22 +1283,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1308,17 +1308,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Evento non atopado"
@@ -1328,27 +1328,27 @@ msgstr "Evento non atopado"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1384,7 +1384,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/he/LC_MESSAGES/default.po b/priv/gettext/he/LC_MESSAGES/default.po
index aab318fa0..909075445 100644
--- a/priv/gettext/he/LC_MESSAGES/default.po
+++ b/priv/gettext/he/LC_MESSAGES/default.po
@@ -100,7 +100,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -130,7 +130,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -982,7 +982,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1296,7 +1296,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2004,11 +2004,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/he/LC_MESSAGES/errors.po b/priv/gettext/he/LC_MESSAGES/errors.po
index b9a05eb1e..56913831b 100644
--- a/priv/gettext/he/LC_MESSAGES/errors.po
+++ b/priv/gettext/he/LC_MESSAGES/errors.po
@@ -1179,23 +1179,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1221,17 +1221,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1251,7 +1251,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1268,22 +1268,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1293,17 +1293,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1313,27 +1313,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1369,7 +1369,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/hr/LC_MESSAGES/default.po b/priv/gettext/hr/LC_MESSAGES/default.po
index 28845278c..dee565858 100644
--- a/priv/gettext/hr/LC_MESSAGES/default.po
+++ b/priv/gettext/hr/LC_MESSAGES/default.po
@@ -111,7 +111,7 @@ msgstr ""
"Stvorio/la si račun na %{host} s ovom e-mail adresom. Od aktivacije te "
"dijeli jedan klik. Ako to nisi bio/la ti, zanemari ovu e-mail poruku."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Tvoje sudjelovanje događaju %{title} je odobreno"
@@ -141,7 +141,7 @@ msgstr "Zatražio/la si novu lozinku za tvoj račun na %{instance}."
msgid "Warning"
msgstr "Upozorenje"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Potvrdi sudjeljovnje događaju %{title}"
@@ -1039,7 +1039,7 @@ msgstr "Što je danas na redu?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1385,7 +1385,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Ovo je demonstracijska stranica za isprobavanje Mobilizona."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2135,11 +2135,30 @@ msgid "Participant registration date"
msgstr "Stanje sudionika"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr "Otkaži moje prisustvovanje"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/hr/LC_MESSAGES/errors.po b/priv/gettext/hr/LC_MESSAGES/errors.po
index 1b3a3eab1..ff3cb95f6 100644
--- a/priv/gettext/hr/LC_MESSAGES/errors.po
+++ b/priv/gettext/hr/LC_MESSAGES/errors.po
@@ -1209,23 +1209,23 @@ msgstr "Greška tijekom spremanja izvještaja"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1251,17 +1251,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1271,7 +1271,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1281,7 +1281,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1298,22 +1298,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1323,17 +1323,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1343,27 +1343,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1399,7 +1399,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/hu/LC_MESSAGES/default.po b/priv/gettext/hu/LC_MESSAGES/default.po
index 3e775ad47..12995f1cf 100644
--- a/priv/gettext/hu/LC_MESSAGES/default.po
+++ b/priv/gettext/hu/LC_MESSAGES/default.po
@@ -118,7 +118,7 @@ msgstr ""
"kattintásnyira van az aktiválástól. Ha ez nem Ön volt, akkor hagyja "
"figyelmen kívül ezt a levelet."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "A(z) %{title} eseményen való részvételét jóváhagyták"
@@ -148,7 +148,7 @@ msgstr "Új jelszót kért a(z) %{instance} példányon lévő fiókjához."
msgid "Warning"
msgstr "Figyelmeztetés"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Erősítse meg a(z) %{title} eseményen való részvételét"
@@ -1066,7 +1066,7 @@ msgstr "Mi lesz ma?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1392,7 +1392,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Ez egy bemutató oldal a Mobilizon kipróbálásához."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2149,11 +2149,30 @@ msgid "Participant registration date"
msgstr "Résztvevő állapota"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/hu/LC_MESSAGES/errors.po b/priv/gettext/hu/LC_MESSAGES/errors.po
index 154715575..e8e2d72a4 100644
--- a/priv/gettext/hu/LC_MESSAGES/errors.po
+++ b/priv/gettext/hu/LC_MESSAGES/errors.po
@@ -1227,23 +1227,23 @@ msgstr "Hiba a jelentés mentésekor"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1269,17 +1269,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1289,7 +1289,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1299,7 +1299,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1316,22 +1316,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1341,17 +1341,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "A hozzászólás nem található"
@@ -1361,27 +1361,27 @@ msgstr "A hozzászólás nem található"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1417,7 +1417,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/id/LC_MESSAGES/default.po b/priv/gettext/id/LC_MESSAGES/default.po
index cb4287d65..eb48df415 100644
--- a/priv/gettext/id/LC_MESSAGES/default.po
+++ b/priv/gettext/id/LC_MESSAGES/default.po
@@ -105,7 +105,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Keikutsertaan Anda pada acara %{title} telah diterima"
@@ -135,7 +135,7 @@ msgstr ""
msgid "Warning"
msgstr "Peringatan"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Konfirmasi keikutsertaan Anda pada acara %{title}"
@@ -1003,7 +1003,7 @@ msgstr "Ada apa hari ini?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1320,7 +1320,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2025,11 +2025,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/id/LC_MESSAGES/errors.po b/priv/gettext/id/LC_MESSAGES/errors.po
index 14c98e27b..0256bd284 100644
--- a/priv/gettext/id/LC_MESSAGES/errors.po
+++ b/priv/gettext/id/LC_MESSAGES/errors.po
@@ -1166,23 +1166,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1208,17 +1208,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1228,7 +1228,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1238,7 +1238,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1255,22 +1255,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1280,17 +1280,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1300,27 +1300,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1356,7 +1356,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po
index 8931691fd..5704efc91 100644
--- a/priv/gettext/it/LC_MESSAGES/default.po
+++ b/priv/gettext/it/LC_MESSAGES/default.po
@@ -110,7 +110,7 @@ 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:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "La tua partecipazione all'evento %{title} è stata approvata"
@@ -140,7 +140,7 @@ msgstr "Hai richiesto una nuova password per il tuo account su %{instance}."
msgid "Warning"
msgstr "Avviso"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Conferma la tua partecipazione all'evento %{title}"
@@ -1187,7 +1187,7 @@ msgstr "Cosa succede oggi?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1612,7 +1612,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Questo è un sito di prova per testare Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2372,11 +2372,30 @@ msgid "Participant registration date"
msgstr "Stato partecipante"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/it/LC_MESSAGES/errors.po b/priv/gettext/it/LC_MESSAGES/errors.po
index a85d52b00..178e804b4 100644
--- a/priv/gettext/it/LC_MESSAGES/errors.po
+++ b/priv/gettext/it/LC_MESSAGES/errors.po
@@ -1202,23 +1202,23 @@ msgstr "Errore nel salvare la segnalazione"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1244,17 +1244,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1264,7 +1264,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1274,7 +1274,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1291,22 +1291,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1316,17 +1316,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Evento non trovato"
@@ -1336,27 +1336,27 @@ msgstr "Evento non trovato"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1392,7 +1392,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po
index ca7146e1f..aca43e360 100644
--- a/priv/gettext/ja/LC_MESSAGES/default.po
+++ b/priv/gettext/ja/LC_MESSAGES/default.po
@@ -102,7 +102,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -132,7 +132,7 @@ msgstr ""
msgid "Warning"
msgstr "警告"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -966,7 +966,7 @@ msgstr "今日の調子はいかがですか?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1282,7 +1282,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -1992,11 +1992,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/ja/LC_MESSAGES/errors.po b/priv/gettext/ja/LC_MESSAGES/errors.po
index 21601d0e8..40377a498 100644
--- a/priv/gettext/ja/LC_MESSAGES/errors.po
+++ b/priv/gettext/ja/LC_MESSAGES/errors.po
@@ -1166,23 +1166,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1208,17 +1208,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1228,7 +1228,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1238,7 +1238,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1255,22 +1255,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1280,17 +1280,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1300,27 +1300,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1356,7 +1356,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/ko/LC_MESSAGES/default.po b/priv/gettext/ko/LC_MESSAGES/default.po
index 42eeef3ca..a1b49a565 100644
--- a/priv/gettext/ko/LC_MESSAGES/default.po
+++ b/priv/gettext/ko/LC_MESSAGES/default.po
@@ -106,7 +106,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -136,7 +136,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1284,7 +1284,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -1989,11 +1989,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/ko/LC_MESSAGES/errors.po b/priv/gettext/ko/LC_MESSAGES/errors.po
index a3259e409..d6260f61f 100644
--- a/priv/gettext/ko/LC_MESSAGES/errors.po
+++ b/priv/gettext/ko/LC_MESSAGES/errors.po
@@ -1159,23 +1159,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1201,17 +1201,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1221,7 +1221,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1231,7 +1231,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1248,22 +1248,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1273,17 +1273,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format
msgid "Token not found"
msgstr ""
@@ -1293,27 +1293,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1349,7 +1349,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/nb_NO/LC_MESSAGES/default.po b/priv/gettext/nb_NO/LC_MESSAGES/default.po
index 27cb3d328..1fa3658f2 100644
--- a/priv/gettext/nb_NO/LC_MESSAGES/default.po
+++ b/priv/gettext/nb_NO/LC_MESSAGES/default.po
@@ -108,7 +108,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -138,7 +138,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -978,7 +978,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1292,7 +1292,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -1998,11 +1998,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/nb_NO/LC_MESSAGES/errors.po b/priv/gettext/nb_NO/LC_MESSAGES/errors.po
index 3c4dced4b..dc5c1d116 100644
--- a/priv/gettext/nb_NO/LC_MESSAGES/errors.po
+++ b/priv/gettext/nb_NO/LC_MESSAGES/errors.po
@@ -1165,23 +1165,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1207,17 +1207,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1227,7 +1227,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1237,7 +1237,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1254,22 +1254,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1279,17 +1279,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1299,27 +1299,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1355,7 +1355,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po
index 793b04154..5c20c272c 100644
--- a/priv/gettext/nl/LC_MESSAGES/default.po
+++ b/priv/gettext/nl/LC_MESSAGES/default.po
@@ -111,7 +111,7 @@ msgstr ""
"U hebt een account op %{host} gemaakt met dit emailadres. U bent op één "
"klik van de activering. Gelieve deze email te negeren als u dit niet was."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Uw deelname aan het evenement %{title} is goedgekeurd"
@@ -141,7 +141,7 @@ msgstr "U hebt een nieuw wachtwoord aangevraagd voor uw account op %{instance}."
msgid "Warning"
msgstr "Waarschuwing"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Bevestig uw deelname aan het evenement %{title}"
@@ -992,7 +992,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1312,7 +1312,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Dit is een demosite om de bètaversie van Mobilizon te testen."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2028,11 +2028,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/nl/LC_MESSAGES/errors.po b/priv/gettext/nl/LC_MESSAGES/errors.po
index 95334a705..523a10661 100644
--- a/priv/gettext/nl/LC_MESSAGES/errors.po
+++ b/priv/gettext/nl/LC_MESSAGES/errors.po
@@ -1165,23 +1165,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1207,17 +1207,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1227,7 +1227,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1237,7 +1237,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1254,22 +1254,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1279,17 +1279,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1299,27 +1299,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1355,7 +1355,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/nn/LC_MESSAGES/default.po b/priv/gettext/nn/LC_MESSAGES/default.po
index db4551a52..e2d619a43 100644
--- a/priv/gettext/nn/LC_MESSAGES/default.po
+++ b/priv/gettext/nn/LC_MESSAGES/default.po
@@ -111,7 +111,7 @@ msgstr ""
"klikk unna å aktivera kontoen. Viss du ikkje oppretta nokon konto, kan du "
"berre oversjå denne eposten."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Deltakinga di på hendinga %{title} er godkjent"
@@ -141,7 +141,7 @@ msgstr "Du ba om eit nytt passord for brukarkontoen din på %{instance}."
msgid "Warning"
msgstr "Åtvaring"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Stadfest at du vil delta på hendinga %{title}"
@@ -1151,7 +1151,7 @@ msgstr "Kva skjer i dag?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1566,7 +1566,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Dette er ei demoside for å prøva ut Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2321,11 +2321,30 @@ msgid "Participant registration date"
msgstr "Deltakarstatus"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/nn/LC_MESSAGES/errors.po b/priv/gettext/nn/LC_MESSAGES/errors.po
index 6b13457a7..a842f0712 100644
--- a/priv/gettext/nn/LC_MESSAGES/errors.po
+++ b/priv/gettext/nn/LC_MESSAGES/errors.po
@@ -1209,23 +1209,23 @@ msgstr "Greidde ikkje lagra rapporten"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1251,17 +1251,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1271,7 +1271,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1281,7 +1281,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1298,22 +1298,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1323,17 +1323,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Fann ikkje hendinga"
@@ -1343,27 +1343,27 @@ msgstr "Fann ikkje hendinga"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1399,7 +1399,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/oc/LC_MESSAGES/default.po b/priv/gettext/oc/LC_MESSAGES/default.po
index 7c3767bb7..9fe4ea1d5 100644
--- a/priv/gettext/oc/LC_MESSAGES/default.po
+++ b/priv/gettext/oc/LC_MESSAGES/default.po
@@ -103,7 +103,7 @@ msgstr "Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e se
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 "Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un clic de l’activar."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Vòstra participacion a l’eveniment %{title} es estada aprovada"
@@ -133,7 +133,7 @@ msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{instance}."
msgid "Warning"
msgstr "Avertiment"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Confirmatz vòstra participacion a l’eveniment %{title}"
@@ -1065,7 +1065,7 @@ msgstr "Qué de nòu uèi ?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1387,7 +1387,7 @@ msgstr ""
"Aquò es un site de demostracion per ensajar la version beta de Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2095,11 +2095,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/oc/LC_MESSAGES/errors.po b/priv/gettext/oc/LC_MESSAGES/errors.po
index 6683a7b83..86e10f9d7 100644
--- a/priv/gettext/oc/LC_MESSAGES/errors.po
+++ b/priv/gettext/oc/LC_MESSAGES/errors.po
@@ -1177,23 +1177,23 @@ msgstr "Error mentre que sauvant lo rapòrt"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1219,17 +1219,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1239,7 +1239,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1249,7 +1249,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1266,22 +1266,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1291,17 +1291,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Eveniment non trobat"
@@ -1311,27 +1311,27 @@ msgstr "Eveniment non trobat"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1367,7 +1367,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/pl/LC_MESSAGES/default.po b/priv/gettext/pl/LC_MESSAGES/default.po
index 55e55ff15..69bc7059a 100644
--- a/priv/gettext/pl/LC_MESSAGES/default.po
+++ b/priv/gettext/pl/LC_MESSAGES/default.po
@@ -113,7 +113,7 @@ msgstr ""
"jedno kliknięcie do aktywacji go. Jeżeli to nie Ty, po prostu zignoruj ten "
"e-mail."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Twój udział w wydarzeniu %{title} został zatwierdzony"
@@ -143,7 +143,7 @@ msgstr "Poprosiłeś(-aś) o nowe hasło do swojego konta na %{instance}."
msgid "Warning"
msgstr "Ostrzeżenie"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Potwierdź swoje uczestnictwo w wydarzeniu %{title}"
@@ -1192,7 +1192,7 @@ msgstr "Co dziś się wydarzy?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1617,7 +1617,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "To jest strona demonstracyjna pozwalająca na przetestowanie Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2385,11 +2385,30 @@ msgid "Participant registration date"
msgstr "Data rejestracji uczestnika"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/pl/LC_MESSAGES/errors.po b/priv/gettext/pl/LC_MESSAGES/errors.po
index 2103b31ea..3764693eb 100644
--- a/priv/gettext/pl/LC_MESSAGES/errors.po
+++ b/priv/gettext/pl/LC_MESSAGES/errors.po
@@ -1220,25 +1220,25 @@ msgstr "Błąd podczas unieważniania tokena"
msgid "Impossible to create application."
msgstr "Nie da się utworzyć aplikacji."
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
"Wysłano nieprawidłowe parametry. Należy podać co najmniej parametry "
"grant_type i client_id, w zależności od używanego typu grantu."
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr "Podano nieprawidłowe informacje uwierzytelniające klienta"
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr "Podano nieprawidłowy token odświeżania"
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr "Nie znaleziono aplikacji o tym identyfikatorze client_id"
@@ -1264,17 +1264,17 @@ msgstr "Brak uprawnień dostępu do obiektu %{object}"
msgid "Not authorized to access this %{object_type}"
msgstr "Brak uprawnień dostępu do tego %{object_type}"
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr "Prosimy o zwolnienie tempa wysyłania żądań"
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr "Żądanie autoryzacji jest nadal w toku"
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr "Nieprawidłowy identyfikator client_id lub powiązany kod device_code"
@@ -1284,7 +1284,7 @@ msgstr "Nieprawidłowy identyfikator client_id lub powiązany kod device_code"
msgid "The device user code was not provided before approving the application"
msgstr "Przed zatwierdzeniem aplikacji nie podano kodu użytkownika urządzenia"
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr "Podany kod device_code wygasł"
@@ -1295,7 +1295,7 @@ msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
"Podany redirect_uri nie znajduje się na liście dozwolonych URI przekierowania"
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1313,22 +1313,22 @@ msgstr "Podany kod użytkownika wygasł"
msgid "The given user code is invalid"
msgstr "Podany kod użytkownika jest nieprawidłowy"
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr "Identyfikator client_id nie pasuje do podanego kodu"
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr "Podany client_secret jest nieprawidłowy"
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr "Podany kod jest nieprawidłowy lub wygasł"
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1341,17 +1341,17 @@ msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
"Parametr scope nie jest rozdzieloną spacjami listą prawidłowych zakresów"
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr "Użytkownik odrzucił żądaną autoryzację"
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr "Ten URI przekierowania jest niedozwolony"
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format
msgid "Token not found"
msgstr "Nie znaleziono tokena"
@@ -1361,29 +1361,29 @@ msgstr "Nie znaleziono tokena"
msgid "Too many requests"
msgstr "Zbyt wiele żądań"
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr "Nie można wygenerować kodu urządzenia"
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr "Nie można unieważnić tokena"
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
"Aby uzyskać kod urządzenia, należy określić zarówno client_id, jak i scope "
"jako parametry"
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr "Aby autoryzować aplikację, należy podać prawidłowe redirect_uri"
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1423,7 +1423,7 @@ msgstr "Ta sama subskrypcja push została już zarejestrowana"
msgid "This instance is pending follow approval"
msgstr "Ta instancja oczekuje na zatwierdzenie obserwacji"
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr "Identyfikator strefy czasowej %{timezone} jest nieprawidłowy"
diff --git a/priv/gettext/pt/LC_MESSAGES/default.po b/priv/gettext/pt/LC_MESSAGES/default.po
index 739e68bf4..47319fc74 100644
--- a/priv/gettext/pt/LC_MESSAGES/default.po
+++ b/priv/gettext/pt/LC_MESSAGES/default.po
@@ -101,7 +101,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -131,7 +131,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -971,7 +971,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1285,7 +1285,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -1991,11 +1991,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/pt/LC_MESSAGES/errors.po b/priv/gettext/pt/LC_MESSAGES/errors.po
index 84791a5b0..8bb1a2c30 100644
--- a/priv/gettext/pt/LC_MESSAGES/errors.po
+++ b/priv/gettext/pt/LC_MESSAGES/errors.po
@@ -1165,23 +1165,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1207,17 +1207,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1227,7 +1227,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1237,7 +1237,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1254,22 +1254,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1279,17 +1279,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1299,27 +1299,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1355,7 +1355,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/default.po b/priv/gettext/pt_BR/LC_MESSAGES/default.po
index 7953fe2c4..efeb001bb 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/default.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/default.po
@@ -111,7 +111,7 @@ msgstr ""
"mail. Você está a um clique para ativar sua conta. Se não for você favor "
"ignorar este e-mail."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "A sua participação no evento %{title} foi aprovada"
@@ -141,7 +141,7 @@ msgstr "Você solicitou uma nova senha para sua conta em %{instance}."
msgid "Warning"
msgstr "Atenção"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Confirmar sua participação no evento %{title}"
@@ -1048,7 +1048,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1397,7 +1397,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Este é um site de demonstração para testar a versão beta do Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2103,11 +2103,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/pt_BR/LC_MESSAGES/errors.po b/priv/gettext/pt_BR/LC_MESSAGES/errors.po
index 0ce7e7cc1..7d34adb20 100644
--- a/priv/gettext/pt_BR/LC_MESSAGES/errors.po
+++ b/priv/gettext/pt_BR/LC_MESSAGES/errors.po
@@ -1172,23 +1172,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1214,17 +1214,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1234,7 +1234,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1244,7 +1244,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1261,22 +1261,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1286,17 +1286,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1306,27 +1306,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1362,7 +1362,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/ru/LC_MESSAGES/default.po b/priv/gettext/ru/LC_MESSAGES/default.po
index 938a6d579..8a78c61af 100644
--- a/priv/gettext/ru/LC_MESSAGES/default.po
+++ b/priv/gettext/ru/LC_MESSAGES/default.po
@@ -112,7 +112,7 @@ msgstr ""
"одном клике от его активации. Если это сделали не вы, просто проигнорируйте "
"это письмо."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Ваше участие в мероприятии %{title} было одобрено"
@@ -142,7 +142,7 @@ msgstr "Вы запросили новый пароль для своей уче
msgid "Warning"
msgstr "Предупреждение"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Подтвердите свое участие в мероприятии %{title}"
@@ -1182,7 +1182,7 @@ msgstr "Что будет сегодня?"
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1603,7 +1603,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr "Это демонстрационная площадка для тестирования Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2338,11 +2338,30 @@ msgid "Participant registration date"
msgstr "Статус участника"
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/ru/LC_MESSAGES/errors.po b/priv/gettext/ru/LC_MESSAGES/errors.po
index 795ee4c78..1726fc443 100644
--- a/priv/gettext/ru/LC_MESSAGES/errors.po
+++ b/priv/gettext/ru/LC_MESSAGES/errors.po
@@ -1222,23 +1222,23 @@ msgstr "При сохранении отчёта произошла ошибка
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1264,17 +1264,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1284,7 +1284,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1294,7 +1294,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1311,22 +1311,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1336,17 +1336,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr "Мероприятие не найдено"
@@ -1356,27 +1356,27 @@ msgstr "Мероприятие не найдено"
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1412,7 +1412,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po
index 6b32d663e..36241db40 100644
--- a/priv/gettext/sv/LC_MESSAGES/default.po
+++ b/priv/gettext/sv/LC_MESSAGES/default.po
@@ -112,7 +112,7 @@ msgstr ""
"bara ett klick för att aktivera den. Om det inte var du som gjorde det kan "
"du strunta i det här meddelandet."
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr "Din förfrågan om att få delta i evenemanget %{title} har godkännts"
@@ -142,7 +142,7 @@ msgstr "Du har bett om ett nytt lösenord för ditt konto på %{instance}."
msgid "Warning"
msgstr "Varning"
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr "Bekräfta ditt deltagande i eventet %{title}"
@@ -1028,7 +1028,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1345,7 +1345,7 @@ msgstr ""
"Detta är en webbplats för att visa upp och testa beta-versionen av Mobilizon."
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -2051,11 +2051,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/sv/LC_MESSAGES/errors.po b/priv/gettext/sv/LC_MESSAGES/errors.po
index 4cd3c5f09..062ae6a27 100644
--- a/priv/gettext/sv/LC_MESSAGES/errors.po
+++ b/priv/gettext/sv/LC_MESSAGES/errors.po
@@ -1177,23 +1177,23 @@ msgstr "Fel vid sparande av rapport"
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1219,17 +1219,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1239,7 +1239,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1249,7 +1249,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1266,22 +1266,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1291,17 +1291,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1311,27 +1311,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1367,7 +1367,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/priv/gettext/zh_Hant/LC_MESSAGES/default.po b/priv/gettext/zh_Hant/LC_MESSAGES/default.po
index f5f774094..75a7da65e 100644
--- a/priv/gettext/zh_Hant/LC_MESSAGES/default.po
+++ b/priv/gettext/zh_Hant/LC_MESSAGES/default.po
@@ -99,7 +99,7 @@ msgstr ""
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 ""
-#: lib/web/email/participation.ex:114
+#: lib/web/email/participation.ex:115
#, elixir-autogen, elixir-format
msgid "Your participation to event %{title} has been approved"
msgstr ""
@@ -129,7 +129,7 @@ msgstr ""
msgid "Warning"
msgstr ""
-#: lib/web/email/participation.ex:140
+#: lib/web/email/participation.ex:142
#, elixir-autogen, elixir-format
msgid "Confirm your participation to event %{title}"
msgstr ""
@@ -963,7 +963,7 @@ msgstr ""
#: lib/web/templates/email/event_participation_approved.html.heex:98
#: lib/web/templates/email/event_participation_approved.text.eex:11
-#: lib/web/templates/email/event_participation_confirmed.html.heex:98
+#: lib/web/templates/email/event_participation_confirmed.html.heex:140
#: lib/web/templates/email/event_participation_confirmed.text.eex:6
#, elixir-autogen, 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."
@@ -1277,7 +1277,7 @@ msgid "This is a demonstration site to test Mobilizon."
msgstr ""
#: lib/service/metadata/actor.ex:86
-#: lib/service/metadata/actor.ex:92
+#: lib/service/metadata/actor.ex:93
#: lib/service/metadata/instance.ex:60
#: lib/service/metadata/instance.ex:66
#, elixir-autogen, elixir-format
@@ -1982,11 +1982,30 @@ msgid "Participant registration date"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:113
+#: lib/web/templates/email/event_participation_confirmed.html.heex:122
#, elixir-autogen, elixir-format
msgid "Cancel my attendance"
msgstr ""
#: lib/web/templates/email/anonymous_participation_confirmation.html.heex:90
+#: lib/web/templates/email/event_participation_confirmed.html.heex:99
#, elixir-autogen, elixir-format
msgid "If you wish to cancel your participation, simply click on the link below."
msgstr ""
+
+#: lib/web/email/admin.ex:142
+#, elixir-autogen, elixir-format
+msgid "Email configuration test for %{instance}"
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:47
+#: lib/web/templates/email/email_configuration_test.text.eex:3
+#, elixir-autogen, elixir-format
+msgid "If you received this email, the email configuration seems to be correct."
+msgstr ""
+
+#: lib/web/templates/email/email_configuration_test.html.heex:18
+#: lib/web/templates/email/email_configuration_test.text.eex:1
+#, elixir-autogen, elixir-format
+msgid "Well done!"
+msgstr ""
diff --git a/priv/gettext/zh_Hant/LC_MESSAGES/errors.po b/priv/gettext/zh_Hant/LC_MESSAGES/errors.po
index 80afd7e67..f053fd21d 100644
--- a/priv/gettext/zh_Hant/LC_MESSAGES/errors.po
+++ b/priv/gettext/zh_Hant/LC_MESSAGES/errors.po
@@ -1159,23 +1159,23 @@ msgstr ""
msgid "Impossible to create application."
msgstr ""
-#: lib/web/controllers/application_controller.ex:355
+#: lib/web/controllers/application_controller.ex:353
#, 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."
msgstr ""
-#: lib/web/controllers/application_controller.ex:328
+#: lib/web/controllers/application_controller.ex:326
#, elixir-autogen, elixir-format
msgid "Invalid client credentials provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:336
+#: lib/web/controllers/application_controller.ex:334
#, elixir-autogen, elixir-format
msgid "Invalid refresh token provided"
msgstr ""
-#: lib/web/controllers/application_controller.ex:169
-#: lib/web/controllers/application_controller.ex:400
+#: lib/web/controllers/application_controller.ex:167
+#: lib/web/controllers/application_controller.ex:398
#, elixir-autogen, elixir-format
msgid "No application was found with this client_id"
msgstr ""
@@ -1201,17 +1201,17 @@ msgstr ""
msgid "Not authorized to access this %{object_type}"
msgstr ""
-#: lib/web/controllers/application_controller.ex:278
+#: lib/web/controllers/application_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Please slow down the rate of your requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:266
+#: lib/web/controllers/application_controller.ex:264
#, elixir-autogen, elixir-format
msgid "The authorization request is still pending"
msgstr ""
-#: lib/web/controllers/application_controller.ex:248
+#: lib/web/controllers/application_controller.ex:246
#, elixir-autogen, elixir-format
msgid "The client_id provided or the device_code associated is invalid"
msgstr ""
@@ -1221,7 +1221,7 @@ msgstr ""
msgid "The device user code was not provided before approving the application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:303
+#: lib/web/controllers/application_controller.ex:301
#, elixir-autogen, elixir-format
msgid "The given device_code has expired"
msgstr ""
@@ -1231,7 +1231,7 @@ msgstr ""
msgid "The given redirect_uri is not in the list of allowed redirect URIs"
msgstr ""
-#: lib/web/controllers/application_controller.ex:157
+#: lib/web/controllers/application_controller.ex:155
#, elixir-autogen, elixir-format
msgid "The given scope is not in the list of the app declared scopes"
msgstr ""
@@ -1248,22 +1248,22 @@ msgstr ""
msgid "The given user code is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:410
+#: lib/web/controllers/application_controller.ex:408
#, elixir-autogen, elixir-format
msgid "The provided client_id does not match the provided code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:413
+#: lib/web/controllers/application_controller.ex:411
#, elixir-autogen, elixir-format
msgid "The provided client_secret is invalid"
msgstr ""
-#: lib/web/controllers/application_controller.ex:406
+#: lib/web/controllers/application_controller.ex:404
#, elixir-autogen, elixir-format
msgid "The provided code is invalid or expired"
msgstr ""
-#: lib/web/controllers/application_controller.ex:417
+#: lib/web/controllers/application_controller.ex:415
#, elixir-autogen, elixir-format
msgid "The provided scope is invalid or not included in the app declared scopes"
msgstr ""
@@ -1273,17 +1273,17 @@ msgstr ""
msgid "The scope parameter is not a space separated list of valid scopes"
msgstr ""
-#: lib/web/controllers/application_controller.ex:291
+#: lib/web/controllers/application_controller.ex:289
#, elixir-autogen, elixir-format
msgid "The user rejected the requested authorization"
msgstr ""
-#: lib/web/controllers/application_controller.ex:403
+#: lib/web/controllers/application_controller.ex:401
#, elixir-autogen, elixir-format
msgid "This redirect URI is not allowed"
msgstr ""
-#: lib/web/controllers/application_controller.ex:380
+#: lib/web/controllers/application_controller.ex:378
#, elixir-autogen, elixir-format, fuzzy
msgid "Token not found"
msgstr ""
@@ -1293,27 +1293,27 @@ msgstr ""
msgid "Too many requests"
msgstr ""
-#: lib/web/controllers/application_controller.ex:183
+#: lib/web/controllers/application_controller.ex:181
#, elixir-autogen, elixir-format
msgid "Unable to produce device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:372
+#: lib/web/controllers/application_controller.ex:370
#, elixir-autogen, elixir-format
msgid "Unable to revoke token"
msgstr ""
-#: lib/web/controllers/application_controller.ex:197
+#: lib/web/controllers/application_controller.ex:195
#, elixir-autogen, elixir-format
msgid "You need to pass both client_id and scope as parameters to obtain a device code"
msgstr ""
-#: lib/web/controllers/application_controller.ex:135
+#: lib/web/controllers/application_controller.ex:133
#, elixir-autogen, elixir-format
msgid "You need to provide a valid redirect_uri to autorize an application"
msgstr ""
-#: lib/web/controllers/application_controller.ex:125
+#: lib/web/controllers/application_controller.ex:123
#, elixir-autogen, elixir-format
msgid "You need to specify client_id, redirect_uri, scope and state to autorize an application"
msgstr ""
@@ -1349,7 +1349,7 @@ msgstr ""
msgid "This instance is pending follow approval"
msgstr ""
-#: lib/graphql/schema/custom/timezone.ex:23
+#: lib/graphql/schema/custom/timezone.ex:25
#, elixir-autogen, elixir-format
msgid "Timezone ID %{timezone} is invalid"
msgstr ""
diff --git a/src/components/Event/FullAddressAutoComplete.vue b/src/components/Event/FullAddressAutoComplete.vue
index 6303400ea..3df4e9597 100644
--- a/src/components/Event/FullAddressAutoComplete.vue
+++ b/src/components/Event/FullAddressAutoComplete.vue
@@ -350,7 +350,7 @@ const asyncData = async (query: string): Promise => {
const result =
(await searchAddressLoad(undefined, queryVars)) ||
- (await searchAddressRefetch(queryVars))?.data
+ (await searchAddressRefetch(queryVars))?.data;
if (!result) {
isFetching.value = false;
diff --git a/src/components/Group/GroupCard.vue b/src/components/Group/GroupCard.vue
index 7ef9c2ed3..9b5151fc4 100644
--- a/src/components/Group/GroupCard.vue
+++ b/src/components/Group/GroupCard.vue
@@ -40,7 +40,7 @@