Scale language selection for multilingual growth

This commit is contained in:
SimpleTest 2026-07-25 21:58:30 +03:00
parent 93bf508bdb
commit 13d0495446
20 changed files with 891 additions and 562 deletions

View File

@ -148,9 +148,28 @@ html {
background-color: var(--color-primary);
}
.locale-active {
color: var(--color-neutral-content) !important;
background-color: var(--color-neutral) !important;
.language-switcher-panel {
z-index: 70;
width: min(20rem, calc(100vw - 2rem));
}
.language-switcher-options {
overscroll-behavior: contain;
}
.language-switcher-option.active {
color: var(--color-primary-content);
background-color: var(--color-primary);
}
.language-switcher-option.active:hover,
.language-switcher-option.active:focus-visible {
color: var(--color-primary-content);
background-color: color-mix(in oklab, var(--color-primary) 88%, black);
}
[data-language-option][hidden] {
display: none;
}
.aid-map {

View File

@ -942,6 +942,93 @@ export const Hooks = {
}
},
LanguageSwitcher: {
mounted() {
this.summary = this.el.querySelector(":scope > summary")
this.search = this.el.querySelector("[data-language-search]")
this.options = [...this.el.querySelectorAll("[data-language-option]")]
this.empty = this.el.querySelector("[data-language-empty]")
this.optionsList = this.el.querySelector(".language-switcher-options")
this.filter = rawQuery => {
const query = rawQuery.trim().toLocaleLowerCase()
let visibleCount = 0
this.options.forEach(option => {
const visible = query === "" || (option.dataset.searchText || "").includes(query)
option.hidden = !visible
if (visible) visibleCount += 1
})
if (this.empty) this.empty.hidden = visibleCount !== 0
if (this.optionsList) this.optionsList.hidden = visibleCount === 0
}
this.close = ({restoreFocus = false} = {}) => {
if (!this.el.open) return
this.el.open = false
if (restoreFocus) this.summary?.focus()
}
this.syncExpanded = () => {
const expanded = this.el.open
this.summary?.setAttribute("aria-expanded", String(expanded))
if (expanded) {
requestAnimationFrame(() => {
this.search?.focus()
this.search?.select()
})
} else if (this.search) {
this.search.value = ""
this.filter("")
}
}
this.onInput = event => {
if (event.target !== this.search) return
this.filter(event.target.value)
}
this.onKeydown = event => {
if (event.key === "Escape" && this.el.open) {
event.preventDefault()
event.stopPropagation()
this.close({restoreFocus: true})
return
}
if (event.target === this.search && event.key === "ArrowDown") {
const firstVisibleLink = this.options
.find(option => !option.hidden)
?.querySelector("a")
if (firstVisibleLink) {
event.preventDefault()
firstVisibleLink.focus()
}
}
}
this.onPointerDown = event => {
if (this.el.open && !this.el.contains(event.target)) this.close()
}
this.el.addEventListener("toggle", this.syncExpanded)
this.el.addEventListener("input", this.onInput)
this.el.addEventListener("keydown", this.onKeydown)
document.addEventListener("pointerdown", this.onPointerDown)
this.syncExpanded()
},
destroyed() {
this.el.removeEventListener("toggle", this.syncExpanded)
this.el.removeEventListener("input", this.onInput)
this.el.removeEventListener("keydown", this.onKeydown)
document.removeEventListener("pointerdown", this.onPointerDown)
}
},
AccessibleDisclosure: {
mounted() {
this.summary = this.el.querySelector(":scope > summary")

View File

@ -2,6 +2,8 @@ defmodule WhoNeedHelp.Accounts.User do
use Ecto.Schema
import Ecto.Changeset
alias WhoNeedHelp.Locales
@primary_key {:id, :binary_id, autogenerate: true}
@foreign_key_type :binary_id
schema "users" do
@ -62,7 +64,7 @@ defmodule WhoNeedHelp.Accounts.User do
user
|> cast(attrs, [:email, :display_name, :terms_accepted, :locale])
|> validate_required([:display_name, :locale])
|> validate_inclusion(:locale, ~w(en uk ru))
|> validate_inclusion(:locale, Locales.codes())
|> validate_acceptance(:terms_accepted,
message: "you must confirm that you are 18+ and accept the rules"
)
@ -92,7 +94,7 @@ defmodule WhoNeedHelp.Accounts.User do
|> validate_required([:display_name, :locale, :location_visibility, :direct_message_policy])
|> validate_length(:display_name, min: 2, max: 80)
|> validate_length(:bio, max: 600)
|> validate_inclusion(:locale, ~w(en uk ru))
|> validate_inclusion(:locale, Locales.codes())
|> validate_length(:tip_url, max: 255)
|> validate_url(:tip_url)
end

View File

@ -92,11 +92,7 @@ defmodule WhoNeedHelp.Accounts.UserNotifier do
end)
end
defp with_user_locale(%User{locale: locale}, fun) when locale in ~w(en uk ru) do
Gettext.with_locale(WhoNeedHelpWeb.Gettext, locale, fun)
end
defp with_user_locale(_user, fun) do
Gettext.with_locale(WhoNeedHelpWeb.Gettext, "en", fun)
defp with_user_locale(%User{locale: locale}, fun) do
Gettext.with_locale(WhoNeedHelpWeb.Gettext, WhoNeedHelp.Locales.normalize(locale), fun)
end
end

View File

@ -0,0 +1,38 @@
defmodule WhoNeedHelp.Locales do
@moduledoc """
Central registry for interface locales supported by the application.
Native language names are intentionally not translated so that people can
recognize their language even when the current interface locale is unknown.
"""
@default "en"
@locales [
%{code: "en", short_name: "EN", native_name: "English"},
%{code: "uk", short_name: "UK", native_name: "Українська"},
%{code: "ru", short_name: "RU", native_name: "Русский"}
]
@codes Enum.map(@locales, & &1.code)
def all, do: @locales
def codes, do: @codes
def default, do: @default
def options, do: Enum.map(@locales, &{&1.native_name, &1.code})
def supported?(locale), do: locale in @codes
def normalize(locale) when is_binary(locale) do
locale
|> String.downcase()
|> String.split(~r/[-_]/, parts: 2)
|> List.first()
|> then(fn candidate -> if supported?(candidate), do: candidate, else: @default end)
end
def normalize(_locale), do: @default
def get(locale) do
normalized = normalize(locale)
Enum.find(@locales, &(&1.code == normalized))
end
end

View File

@ -30,11 +30,7 @@ defmodule WhoNeedHelp.Notifications.EmailNotifier do
end)
end
defp with_user_locale(%User{locale: locale}, fun) when locale in ~w(en uk ru) do
Gettext.with_locale(WhoNeedHelpWeb.Gettext, locale, fun)
end
defp with_user_locale(_user, fun) do
Gettext.with_locale(WhoNeedHelpWeb.Gettext, "en", fun)
defp with_user_locale(%User{locale: locale}, fun) do
Gettext.with_locale(WhoNeedHelpWeb.Gettext, WhoNeedHelp.Locales.normalize(locale), fun)
end
end

View File

@ -10,10 +10,9 @@ defmodule WhoNeedHelp.Notifications.Text do
use Gettext, backend: WhoNeedHelpWeb.Gettext
alias WhoNeedHelp.Locales
alias WhoNeedHelp.Notifications.Notification
@supported_locales ~w(en uk ru)
def render(%Notification{} = notification, locale) do
with_locale(locale, fn ->
notification
@ -148,6 +147,5 @@ defmodule WhoNeedHelp.Notifications.Text do
Gettext.with_locale(WhoNeedHelpWeb.Gettext, normalized_locale(locale), fun)
end
defp normalized_locale(locale) when locale in @supported_locales, do: locale
defp normalized_locale(_locale), do: "en"
defp normalized_locale(locale), do: Locales.normalize(locale)
end

View File

@ -72,7 +72,7 @@ defmodule WhoNeedHelpWeb.Layouts do
class="ml-1 flex items-center gap-1 border-l border-base-300 pl-2"
aria-label={gettext("Account and language")}
>
<.locale_switcher />
<.locale_switcher id="desktop-language-switcher" />
<.theme_toggle />
<%= if @current_scope do %>
@ -111,7 +111,7 @@ defmodule WhoNeedHelpWeb.Layouts do
<.icon name="hero-bars-3" class="size-6" />
</summary>
<div class="dropdown-content mt-3 w-[min(20rem,calc(100vw-2rem))] overflow-hidden rounded-box border border-base-300 bg-base-100 shadow-xl">
<div class="dropdown-content mt-3 w-[min(20rem,calc(100vw-2rem))] overflow-visible rounded-box border border-base-300 bg-base-100 shadow-xl">
<ul class="menu w-full p-2">
<.primary_navigation_links
current_scope={@current_scope}
@ -120,7 +120,7 @@ defmodule WhoNeedHelpWeb.Layouts do
</ul>
<div class="flex flex-wrap items-center justify-between gap-3 border-t border-base-300 px-4 py-3">
<.locale_switcher />
<.locale_switcher id="mobile-language-switcher" align={:start} />
<.theme_toggle />
</div>
@ -244,47 +244,104 @@ defmodule WhoNeedHelpWeb.Layouts do
"""
end
attr :id, :string, required: true
attr :align, :atom, default: :end, values: [:start, :end]
defp locale_switcher(assigns) do
current_locale =
WhoNeedHelpWeb.Gettext
|> Gettext.get_locale()
|> WhoNeedHelp.Locales.get()
assigns =
assigns
|> assign(:current_locale, current_locale)
|> assign(:locales, WhoNeedHelp.Locales.all())
~H"""
<div
class="join"
role="group"
aria-label={gettext("Account and language")}
<details
id={@id}
phx-hook="LanguageSwitcher"
class={["dropdown", @align == :end && "dropdown-end", @align == :start && "dropdown-start"]}
data-language-switcher
>
<a
href="?locale=en"
class={[
"btn btn-ghost btn-xs join-item",
Gettext.get_locale(WhoNeedHelpWeb.Gettext) == "en" && "btn-active locale-active"
]}
aria-label="English"
aria-current={Gettext.get_locale(WhoNeedHelpWeb.Gettext) == "en" && "page"}
<summary
class="btn btn-ghost btn-sm gap-1 px-2"
aria-label={gettext("Language: %{language}", language: @current_locale.native_name)}
aria-haspopup="true"
aria-expanded="false"
>
EN
</a>
<a
href="?locale=uk"
class={[
"btn btn-ghost btn-xs join-item",
Gettext.get_locale(WhoNeedHelpWeb.Gettext) == "uk" && "btn-active locale-active"
]}
aria-label="Українська"
aria-current={Gettext.get_locale(WhoNeedHelpWeb.Gettext) == "uk" && "page"}
>
UK
</a>
<a
href="?locale=ru"
class={[
"btn btn-ghost btn-xs join-item",
Gettext.get_locale(WhoNeedHelpWeb.Gettext) == "ru" && "btn-active locale-active"
]}
aria-label="Русский"
aria-current={Gettext.get_locale(WhoNeedHelpWeb.Gettext) == "ru" && "page"}
>
RU
</a>
<.icon name="hero-language" class="size-4" />
<span class="text-xs font-bold tracking-wide">{@current_locale.short_name}</span>
<.icon name="hero-chevron-down-micro" class="size-4 opacity-60" />
</summary>
<div class="language-switcher-panel dropdown-content mt-3 overflow-hidden rounded-box border border-base-300 bg-base-100 shadow-xl">
<div class="border-b border-base-300 px-4 py-3">
<h2 class="font-bold">{gettext("Language")}</h2>
<p class="mt-0.5 text-xs text-base-content/60">
{gettext("Choose the language used in the interface.")}
</p>
</div>
<div class="border-b border-base-300 p-3">
<label class="input input-bordered input-sm flex w-full items-center gap-2">
<.icon name="hero-magnifying-glass" class="size-4 shrink-0 opacity-60" />
<input
type="search"
class="grow"
placeholder={gettext("Search languages")}
aria-label={gettext("Search languages")}
autocomplete="off"
spellcheck="false"
data-language-search
/>
</label>
</div>
<ul
class="language-switcher-options menu max-h-72 w-full flex-nowrap overflow-y-auto p-2"
aria-label={gettext("Available languages")}
>
<li
:for={locale <- @locales}
data-language-option
data-search-text={
String.downcase("#{locale.native_name} #{locale.short_name} #{locale.code}")
}
>
<a
href={"?locale=#{locale.code}"}
class={[
"language-switcher-option",
locale.code == @current_locale.code && "active"
]}
lang={locale.code}
hreflang={locale.code}
aria-current={locale.code == @current_locale.code && "page"}
>
<span class="min-w-0 grow">
<span class="block truncate font-semibold">{locale.native_name}</span>
<span class="block text-xs uppercase opacity-55">{locale.short_name}</span>
</span>
<.icon
:if={locale.code == @current_locale.code}
name="hero-check"
class="size-5 shrink-0"
/>
</a>
</li>
</ul>
<p
class="px-4 py-6 text-center text-sm text-base-content/60"
data-language-empty
hidden
>
{gettext("No languages found")}
</p>
</div>
</details>
"""
end

View File

@ -3,7 +3,7 @@ defmodule WhoNeedHelpWeb.GoogleAuthController do
require Logger
alias WhoNeedHelp.{Accounts, GoogleAuth, ProductAnalytics, Repo, Trust}
alias WhoNeedHelp.{Accounts, GoogleAuth, Locales, ProductAnalytics, Repo, Trust}
alias WhoNeedHelp.Trust.RateLimiter
alias WhoNeedHelpWeb.{GoogleAuthPending, UserAuth}
@ -11,7 +11,6 @@ defmodule WhoNeedHelpWeb.GoogleAuthController do
@session_key "google_auth_flow"
@native_session_key "native_google_auth_flow"
@supported_locales ~w(en uk ru)
@native_flows ~w(login register link)
plug :put_no_store
@ -543,8 +542,7 @@ defmodule WhoNeedHelpWeb.GoogleAuthController do
defp callback_url(conn), do: url(conn, ~p"/auth/google/callback")
defp normalize_locale(locale) when locale in @supported_locales, do: locale
defp normalize_locale(_locale), do: "en"
defp normalize_locale(locale), do: Locales.normalize(locale)
defp normalize_google_registration_params(params, pending) do
%{

View File

@ -90,7 +90,7 @@
field={@registration_form[:locale]}
type="select"
label={gettext("Interface language")}
options={[{"English", "en"}, {"Українська", "uk"}, {"Русский", "ru"}]}
options={WhoNeedHelp.Locales.options()}
required
/>

View File

@ -3,12 +3,11 @@ defmodule WhoNeedHelpWeb.GoogleAuthPending do
import Plug.Conn
alias WhoNeedHelp.{Accounts, Repo, Trust}
alias WhoNeedHelp.{Accounts, Locales, Repo, Trust}
@session_key "pending_google_identity"
@token_salt "pending-google-identity"
@max_age_seconds 15 * 60
@supported_locales ~w(en uk ru)
def put(conn, identity_attrs, locale \\ "en") do
with {:ok, payload} <- normalize(identity_attrs, locale) do
@ -140,6 +139,5 @@ defmodule WhoNeedHelpWeb.GoogleAuthPending do
defp normalize_hosted_domain(_domain), do: nil
defp normalize_locale(locale) when locale in @supported_locales, do: locale
defp normalize_locale(_locale), do: "en"
defp normalize_locale(locale), do: Locales.normalize(locale)
end

View File

@ -152,11 +152,7 @@ defmodule WhoNeedHelpWeb.ProfileLive do
field={@form[:locale]}
type="select"
label={gettext("Interface language")}
options={[
{gettext("English"), "en"},
{"Українська", "uk"},
{"Русский", "ru"}
]}
options={WhoNeedHelp.Locales.options()}
/>
<.input
field={@form[:location_visibility]}

View File

@ -1,7 +1,7 @@
defmodule WhoNeedHelpWeb.Locale do
import Plug.Conn
@locales ~w(en uk ru)
alias WhoNeedHelp.Locales
def init(opts), do: opts
@ -10,9 +10,9 @@ defmodule WhoNeedHelpWeb.Locale do
conn.params["locale"] ||
get_session(conn, :locale) ||
get_in(conn.assigns, [:current_scope, Access.key(:user), Access.key(:locale)]) ||
"en"
Locales.default()
locale = if locale in @locales, do: locale, else: "en"
locale = Locales.normalize(locale)
Gettext.put_locale(WhoNeedHelpWeb.Gettext, locale)
put_session(conn, :locale, locale)
end

View File

@ -332,14 +332,13 @@ defmodule WhoNeedHelpWeb.UserAuth do
defp live_scope(_session), do: nil
defp set_live_locale(_scope, %{"locale" => locale}) when locale in ~w(en uk ru) do
Gettext.put_locale(WhoNeedHelpWeb.Gettext, locale)
defp set_live_locale(scope, session) do
locale =
case session do
%{"locale" => locale} -> locale
_other -> get_in(scope, [Access.key(:user), Access.key(:locale)])
end
defp set_live_locale(%Scope{user: %{locale: locale}}, _session) when locale in ~w(en uk ru) do
Gettext.put_locale(WhoNeedHelpWeb.Gettext, locale)
Gettext.put_locale(WhoNeedHelpWeb.Gettext, WhoNeedHelp.Locales.normalize(locale))
end
defp set_live_locale(_scope, _session),
do: Gettext.put_locale(WhoNeedHelpWeb.Gettext, "en")
end

View File

@ -12,7 +12,7 @@ msgid ""
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:142
#: lib/who_need_help_web/components/layouts.ex:330
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/controllers/user_settings_controller.ex:115
#, elixir-autogen, elixir-format
msgid "Account settings"
@ -30,8 +30,8 @@ msgstr ""
msgid "Ask for help"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:380
#: lib/who_need_help_web/components/layouts.ex:395
#: lib/who_need_help_web/components/layouts.ex:437
#: lib/who_need_help_web/components/layouts.ex:452
#, elixir-autogen, elixir-format
msgid "Attempting to reconnect"
msgstr ""
@ -52,13 +52,13 @@ msgid "Log in"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:157
#: lib/who_need_help_web/components/layouts.ex:345
#: lib/who_need_help_web/components/layouts.ex:402
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:130
#: lib/who_need_help_web/components/layouts.ex:318
#: lib/who_need_help_web/components/layouts.ex:375
#: lib/who_need_help_web/live/profile_live.ex:16
#, elixir-autogen, elixir-format
msgid "Profile"
@ -76,12 +76,12 @@ msgstr ""
msgid "Requests"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/components/layouts.ex:444
#, elixir-autogen, elixir-format
msgid "Something went wrong!"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:372
#: lib/who_need_help_web/components/layouts.ex:429
#, elixir-autogen, elixir-format
msgid "We can't find the internet"
msgstr ""
@ -157,7 +157,6 @@ msgid "Account Settings"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:73
#: lib/who_need_help_web/components/layouts.ex:252
#, elixir-autogen, elixir-format
msgid "Account and language"
msgstr ""
@ -222,7 +221,7 @@ msgstr ""
msgid "Activity type"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:338
#: lib/who_need_help_web/live/profile_live.ex:334
#, elixir-autogen, elixir-format
msgid "Add unverified link"
msgstr ""
@ -290,7 +289,7 @@ msgstr ""
msgid "Approximate public meeting area"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:167
#: lib/who_need_help_web/live/profile_live.ex:163
#: lib/who_need_help_web/live/request_live/show.ex:996
#, elixir-autogen, elixir-format
msgid "Approximate publicly"
@ -331,7 +330,7 @@ msgstr ""
msgid "Block this user"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:344
#: lib/who_need_help_web/live/profile_live.ex:340
#, elixir-autogen, elixir-format
msgid "Blocked users"
msgstr ""
@ -597,7 +596,7 @@ msgstr ""
msgid "Decline"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:164
#: lib/who_need_help_web/live/profile_live.ex:160
#, elixir-autogen, elixir-format
msgid "Default location visibility"
msgstr ""
@ -607,7 +606,7 @@ msgstr ""
msgid "Describe the public plan, approximate duration, and who might enjoy it."
msgstr ""
#: lib/who_need_help/notifications/text.ex:144
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help_web/live/moderation_live.ex:261
#: lib/who_need_help_web/live/moderation_live.ex:447
#: lib/who_need_help_web/live/moderation_live.ex:529
@ -664,11 +663,6 @@ msgstr ""
msgid "Email confirmation and social links are not identity guarantees. Manually attached social links are marked unverified. Check the person's history, unique interactions, handover evidence, and revealed reviews, and meet only where you feel safe."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "English"
msgstr ""
#: lib/who_need_help_web/live/moderation_live.ex:591
#, elixir-autogen, elixir-format
msgid "English description"
@ -694,7 +688,7 @@ msgstr ""
msgid "Exact coordinates are shown only to participants you approve."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:168
#: lib/who_need_help_web/live/profile_live.ex:164
#, elixir-autogen, elixir-format
msgid "Exact for active match"
msgstr ""
@ -704,7 +698,7 @@ msgstr ""
msgid "Exact only for active match"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:169
#: lib/who_need_help_web/live/profile_live.ex:165
#: lib/who_need_help_web/live/request_live/show.ex:999
#, elixir-autogen, elixir-format
msgid "Exact publicly"
@ -743,7 +737,7 @@ msgstr ""
msgid "GitHub profile verified."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:266
#: lib/who_need_help_web/live/profile_live.ex:262
#, elixir-autogen, elixir-format
msgid "GitHub verification is unavailable until the operator configures its OAuth credentials. No manually entered link is treated as verified."
msgstr ""
@ -753,7 +747,7 @@ msgstr ""
msgid "HANDOVER CODE FOR THE HELPER"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:335
#: lib/who_need_help_web/live/profile_live.ex:331
#, elixir-autogen, elixir-format
msgid "Handle (optional)"
msgstr ""
@ -812,7 +806,7 @@ msgid "Hi %{email},\n\nYou can log into your account by visiting the URL below:\
msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:306
#: lib/who_need_help_web/live/profile_live.ex:166
#: lib/who_need_help_web/live/profile_live.ex:162
#: lib/who_need_help_web/live/request_live/show.ex:997
#, elixir-autogen, elixir-format
msgid "Hidden"
@ -991,7 +985,7 @@ msgstr ""
msgid "Manage your account email address and password settings"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:248
#: lib/who_need_help_web/live/profile_live.ex:244
#, elixir-autogen, elixir-format
msgid "Manually added links are public and marked unverified. A verified badge is only granted after completing a provider authorization flow."
msgstr ""
@ -1064,7 +1058,7 @@ msgid "Message the approved group"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:151
#: lib/who_need_help_web/components/layouts.ex:339
#: lib/who_need_help_web/components/layouts.ex:396
#: lib/who_need_help_web/live/moderation_live.ex:9
#: lib/who_need_help_web/live/moderation_live.ex:329
#, elixir-autogen, elixir-format
@ -1099,7 +1093,7 @@ msgstr ""
msgid "Need roadside help in a safe location"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:317
#: lib/who_need_help_web/live/profile_live.ex:313
#, elixir-autogen, elixir-format
msgid "Network"
msgstr ""
@ -1148,12 +1142,12 @@ msgstr ""
msgid "No reports."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:274
#: lib/who_need_help_web/live/profile_live.ex:270
#, elixir-autogen, elixir-format
msgid "No social links added."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:217
#: lib/who_need_help_web/live/profile_live.ex:213
#: lib/who_need_help_web/live/public_profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "None revealed yet."
@ -1195,7 +1189,7 @@ msgstr ""
msgid "Only the organizer and approved participants can read or send these messages."
msgstr ""
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help/notifications/text.ex:140
#: lib/who_need_help_web/controllers/content_removal_html.ex:21
#: lib/who_need_help_web/controllers/support_html.ex:16
#: lib/who_need_help_web/live/activity_live/index.ex:314
@ -1221,7 +1215,7 @@ msgstr ""
msgid "Open proposals"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:174
#: lib/who_need_help_web/live/profile_live.ex:170
#, elixir-autogen, elixir-format
msgid "Optional external thank-you link"
msgstr ""
@ -1258,7 +1252,7 @@ msgstr ""
#: lib/who_need_help_web/controllers/support_html/new.html.heex:38
#: lib/who_need_help_web/live/activity_live/show.ex:750
#: lib/who_need_help_web/live/moderation_live.ex:255
#: lib/who_need_help_web/live/profile_live.ex:324
#: lib/who_need_help_web/live/profile_live.ex:320
#: lib/who_need_help_web/live/public_profile_live.ex:53
#: lib/who_need_help_web/live/report_live.ex:116
#: lib/who_need_help_web/live/request_live/show.ex:983
@ -1389,12 +1383,12 @@ msgstr ""
msgid "Public map visibility"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:330
#: lib/who_need_help_web/live/profile_live.ex:326
#, elixir-autogen, elixir-format
msgid "Public profile URL"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:185
#: lib/who_need_help_web/live/profile_live.ex:181
#: lib/who_need_help_web/live/public_profile_live.ex:124
#, elixir-autogen, elixir-format
msgid "Public reputation"
@ -1479,7 +1473,7 @@ msgstr ""
msgid "Rejection note"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:308
#: lib/who_need_help_web/live/profile_live.ex:304
#, elixir-autogen, elixir-format
msgid "Remove"
msgstr ""
@ -1565,7 +1559,7 @@ msgstr ""
msgid "Resolution note"
msgstr ""
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help_web/controllers/support_html.ex:19
#: lib/who_need_help_web/live/moderation_live.ex:260
#: lib/who_need_help_web/live/moderation_live.ex:446
@ -1598,7 +1592,7 @@ msgstr ""
msgid "Reviewed"
msgstr ""
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help_web/controllers/content_removal_html.ex:23
#: lib/who_need_help_web/controllers/support_html.ex:17
#: lib/who_need_help_web/live/moderation_live.ex:259
@ -1655,7 +1649,7 @@ msgstr ""
msgid "Save Password"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:180
#: lib/who_need_help_web/live/profile_live.ex:176
#, elixir-autogen, elixir-format
msgid "Save profile"
msgstr ""
@ -1750,7 +1744,7 @@ msgstr ""
msgid "Social link was not found."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:246
#: lib/who_need_help_web/live/profile_live.ex:242
#, elixir-autogen, elixir-format
msgid "Social links"
msgstr ""
@ -1885,7 +1879,7 @@ msgstr ""
msgid "The pharmacy closes soon and I cannot leave home. The item is already paid for."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:178
#: lib/who_need_help_web/live/profile_live.ex:174
#, elixir-autogen, elixir-format
msgid "The platform never handles, requires, splits, or guarantees a payment."
msgstr ""
@ -1993,7 +1987,7 @@ msgstr ""
msgid "Too many actions in the configured time window."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:126
#: lib/who_need_help_web/controllers/google_auth_controller.ex:125
#: lib/who_need_help_web/controllers/user_registration_controller.ex:61
#, elixir-autogen, elixir-format
msgid "Too many registration attempts in the configured time window."
@ -2004,7 +1998,7 @@ msgstr ""
msgid "Too many requests in the configured time window."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:176
#: lib/who_need_help_web/controllers/google_auth_controller.ex:175
#: lib/who_need_help_web/controllers/user_session_controller.ex:117
#, elixir-autogen, elixir-format
msgid "Too many sign-in emails in the configured time window."
@ -2030,7 +2024,7 @@ msgstr ""
msgid "Ukrainian name (optional)"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:358
#: lib/who_need_help_web/live/profile_live.ex:354
#, elixir-autogen, elixir-format
msgid "Unblock"
msgstr ""
@ -2068,12 +2062,12 @@ msgstr ""
msgid "Use a public first meeting point. Do not publish a home address, access code, travel document, or other sensitive information."
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:434
#: lib/who_need_help_web/components/layouts.ex:491
#, elixir-autogen, elixir-format
msgid "Use dark theme"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:425
#: lib/who_need_help_web/components/layouts.ex:482
#, elixir-autogen, elixir-format
msgid "Use light theme"
msgstr ""
@ -2088,7 +2082,7 @@ msgstr ""
msgid "Use private chat and optional live location sharing."
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:416
#: lib/who_need_help_web/components/layouts.ex:473
#, elixir-autogen, elixir-format
msgid "Use system theme"
msgstr ""
@ -2126,7 +2120,7 @@ msgstr ""
msgid "User unblocked."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:258
#: lib/who_need_help_web/live/profile_live.ex:254
#, elixir-autogen, elixir-format
msgid "Verify GitHub"
msgstr ""
@ -2146,7 +2140,7 @@ msgstr ""
msgid "View scoped evidence"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:215
#: lib/who_need_help_web/live/profile_live.ex:211
#, elixir-autogen, elixir-format
msgid "Visible reviews"
msgstr ""
@ -2156,8 +2150,8 @@ msgstr ""
msgid "Waiting for a nearby volunteer."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:350
#: lib/who_need_help_web/controllers/google_auth_controller.ex:436
#: lib/who_need_help_web/controllers/google_auth_controller.ex:349
#: lib/who_need_help_web/controllers/google_auth_controller.ex:435
#: lib/who_need_help_web/controllers/user_session_controller.ex:41
#: lib/who_need_help_web/controllers/user_session_controller.ex:65
#, elixir-autogen, elixir-format
@ -2272,7 +2266,7 @@ msgstr ""
msgid "You cannot restrict your own moderator account."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:346
#: lib/who_need_help_web/live/profile_live.ex:342
#, elixir-autogen, elixir-format
msgid "You have not blocked anyone."
msgstr ""
@ -2348,7 +2342,7 @@ msgstr ""
msgid "by %{name}"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:194
#: lib/who_need_help_web/live/profile_live.ex:190
#: lib/who_need_help_web/live/public_profile_live.ex:133
#: lib/who_need_help_web/live/request_live/index.ex:606
#: lib/who_need_help_web/live/request_live/show.ex:1374
@ -2397,7 +2391,7 @@ msgstr ""
msgid "proximity supported"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:209
#: lib/who_need_help_web/live/profile_live.ex:205
#: lib/who_need_help_web/live/public_profile_live.ex:145
#: lib/who_need_help_web/live/request_live/show.ex:1382
#, elixir-autogen, elixir-format
@ -2419,7 +2413,7 @@ msgstr ""
msgid "to your account now."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:199
#: lib/who_need_help_web/live/profile_live.ex:195
#: lib/who_need_help_web/live/public_profile_live.ex:137
#, elixir-autogen, elixir-format
msgid "unique people"
@ -2428,7 +2422,7 @@ msgstr ""
#: lib/who_need_help_web/live/activity_live/show.ex:426
#: lib/who_need_help_web/live/activity_live/show.ex:641
#: lib/who_need_help_web/live/activity_live/show.ex:702
#: lib/who_need_help_web/live/profile_live.ex:290
#: lib/who_need_help_web/live/profile_live.ex:286
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/show.ex:1094
#: lib/who_need_help_web/live/request_live/show.ex:1477
@ -2444,7 +2438,7 @@ msgstr ""
#: lib/who_need_help_web/live/activity_live/show.ex:425
#: lib/who_need_help_web/live/activity_live/show.ex:640
#: lib/who_need_help_web/live/activity_live/show.ex:701
#: lib/who_need_help_web/live/profile_live.ex:289
#: lib/who_need_help_web/live/profile_live.ex:285
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:614
#: lib/who_need_help_web/live/request_live/show.ex:1093
@ -2542,8 +2536,8 @@ msgstr ""
#: lib/who_need_help_web/live/moderation_live.ex:651
#: lib/who_need_help_web/live/moderation_live.ex:750
#: lib/who_need_help_web/live/product_analytics_live.ex:86
#: lib/who_need_help_web/live/profile_live.ex:237
#: lib/who_need_help_web/live/profile_live.ex:367
#: lib/who_need_help_web/live/profile_live.ex:233
#: lib/who_need_help_web/live/profile_live.ex:363
#: lib/who_need_help_web/live/public_profile_live.ex:178
#: lib/who_need_help_web/live/report_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:671
@ -2696,7 +2690,7 @@ msgstr ""
msgid "A Google account is connected. You can use it to sign in."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:383
#: lib/who_need_help_web/controllers/google_auth_controller.ex:382
#, elixir-autogen, elixir-format
msgid "A different Google account is already connected."
msgstr ""
@ -2726,13 +2720,13 @@ msgstr ""
msgid "Email me a sign-in link"
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:391
#: lib/who_need_help_web/controllers/google_auth_controller.ex:390
#, elixir-autogen, elixir-format
msgid "Google account connection session is invalid."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:213
#: lib/who_need_help_web/controllers/google_auth_controller.ex:283
#: lib/who_need_help_web/controllers/google_auth_controller.ex:212
#: lib/who_need_help_web/controllers/google_auth_controller.ex:282
#, elixir-autogen, elixir-format
msgid "Google did not provide a verified email address."
msgstr ""
@ -2742,38 +2736,38 @@ msgstr ""
msgid "Google sign-in"
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:373
#: lib/who_need_help_web/controllers/google_auth_controller.ex:372
#, elixir-autogen, elixir-format
msgid "Google sign-in connected."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:316
#: lib/who_need_help_web/controllers/google_auth_controller.ex:315
#, elixir-autogen, elixir-format
msgid "Google sign-in could not be started."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:218
#: lib/who_need_help_web/controllers/google_auth_controller.ex:288
#: lib/who_need_help_web/controllers/google_auth_controller.ex:295
#: lib/who_need_help_web/controllers/google_auth_controller.ex:217
#: lib/who_need_help_web/controllers/google_auth_controller.ex:287
#: lib/who_need_help_web/controllers/google_auth_controller.ex:294
#, elixir-autogen, elixir-format
msgid "Google sign-in failed. Please try again."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:321
#: lib/who_need_help_web/controllers/google_auth_controller.ex:320
#, elixir-autogen, elixir-format
msgid "Google sign-in is not configured yet."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:88
#: lib/who_need_help_web/controllers/google_auth_controller.ex:203
#: lib/who_need_help_web/controllers/google_auth_controller.ex:273
#: lib/who_need_help_web/controllers/google_auth_controller.ex:530
#: lib/who_need_help_web/controllers/google_auth_controller.ex:87
#: lib/who_need_help_web/controllers/google_auth_controller.ex:202
#: lib/who_need_help_web/controllers/google_auth_controller.ex:272
#: lib/who_need_help_web/controllers/google_auth_controller.ex:529
#, elixir-autogen, elixir-format
msgid "Google sign-in session expired. Please start again."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:207
#: lib/who_need_help_web/controllers/google_auth_controller.ex:277
#: lib/who_need_help_web/controllers/google_auth_controller.ex:206
#: lib/who_need_help_web/controllers/google_auth_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Google sign-in session is invalid."
msgstr ""
@ -2793,18 +2787,18 @@ msgstr ""
msgid "Sign up with Google"
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:378
#: lib/who_need_help_web/controllers/google_auth_controller.ex:377
#, elixir-autogen, elixir-format
msgid "That Google account belongs to another local account."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:37
#: lib/who_need_help_web/controllers/google_auth_controller.ex:151
#: lib/who_need_help_web/controllers/google_auth_controller.ex:36
#: lib/who_need_help_web/controllers/google_auth_controller.ex:150
#, elixir-autogen, elixir-format
msgid "The Google registration form is invalid."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:536
#: lib/who_need_help_web/controllers/google_auth_controller.ex:535
#, elixir-autogen, elixir-format
msgid "This Google account cannot be used right now."
msgstr ""
@ -2824,7 +2818,7 @@ msgstr ""
msgid "We will send a one-time sign-in link. No password is required."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:106
#: lib/who_need_help_web/controllers/google_auth_controller.ex:105
#, elixir-autogen, elixir-format
msgid "Your account was created with Google."
msgstr ""
@ -2849,12 +2843,12 @@ msgstr ""
msgid "Disconnect Google sign-in from this account?"
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:52
#: lib/who_need_help_web/controllers/google_auth_controller.ex:51
#, elixir-autogen, elixir-format
msgid "Google sign-in disconnected."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:57
#: lib/who_need_help_web/controllers/google_auth_controller.ex:56
#, elixir-autogen, elixir-format
msgid "No Google account is connected."
msgstr ""
@ -3328,7 +3322,7 @@ msgid "Support operations"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:154
#: lib/who_need_help_web/components/layouts.ex:342
#: lib/who_need_help_web/components/layouts.ex:399
#, elixir-autogen, elixir-format
msgid "Support queue"
msgstr ""
@ -3846,7 +3840,7 @@ msgstr ""
msgid "Confirm access once so nobody can attach Google to your account using only a matching email address."
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:492
#: lib/who_need_help_web/controllers/google_auth_controller.ex:491
#: lib/who_need_help_web/controllers/google_auth_html/complete.html.heex:10
#: lib/who_need_help_web/controllers/user_session_html/new.html.heex:82
#, elixir-autogen, elixir-format
@ -3903,8 +3897,8 @@ msgstr ""
msgid "This email already has an account"
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:118
#: lib/who_need_help_web/controllers/google_auth_controller.ex:140
#: lib/who_need_help_web/controllers/google_auth_controller.ex:117
#: lib/who_need_help_web/controllers/google_auth_controller.ex:139
#, elixir-autogen, elixir-format
msgid "This email already has an account. Confirm it once to connect Google."
msgstr ""
@ -3920,7 +3914,7 @@ msgstr ""
msgid "Verified"
msgstr ""
#: lib/who_need_help_web/controllers/google_auth_controller.ex:165
#: lib/who_need_help_web/controllers/google_auth_controller.ex:164
#, elixir-autogen, elixir-format
msgid "We sent a verification link to %{email}. Open it to finish connecting Google."
msgstr ""
@ -5044,7 +5038,7 @@ msgid "Nearby requests by email"
msgstr ""
#: lib/who_need_help/notifications/email_notifier.ex:21
#: lib/who_need_help/notifications/text.ex:32
#: lib/who_need_help/notifications/text.ex:31
#, elixir-autogen, elixir-format
msgid "New help request nearby"
msgstr ""
@ -5097,7 +5091,7 @@ msgid "Notification text never contains chat messages or exact coordinates."
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:133
#: lib/who_need_help_web/components/layouts.ex:321
#: lib/who_need_help_web/components/layouts.ex:378
#: lib/who_need_help_web/live/notification_live.ex:15
#: lib/who_need_help_web/live/notification_live.ex:225
#, elixir-autogen, elixir-format
@ -5110,7 +5104,7 @@ msgid "Notifications and nearby alerts"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:148
#: lib/who_need_help_web/components/layouts.ex:336
#: lib/who_need_help_web/components/layouts.ex:393
#, elixir-autogen, elixir-format
msgid "Operations"
msgstr ""
@ -5267,7 +5261,7 @@ msgstr ""
msgid "The saved center is private and is used only to find matching requests."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:187
#: lib/who_need_help_web/live/profile_live.ex:183
#: lib/who_need_help_web/live/public_profile_live.ex:126
#, elixir-autogen, elixir-format
msgid "These are activity signals, not an identity, background, qualification, or safety check."
@ -5345,7 +5339,7 @@ msgstr ""
msgid "Your nearby alerts"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:204
#: lib/who_need_help_web/live/profile_live.ex:200
#: lib/who_need_help_web/live/public_profile_live.ex:141
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
@ -5632,7 +5626,7 @@ msgid "Support request received"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:139
#: lib/who_need_help_web/components/layouts.ex:327
#: lib/who_need_help_web/components/layouts.ex:384
#, elixir-autogen, elixir-format
msgid "Support requests"
msgstr ""
@ -5774,7 +5768,7 @@ msgid "Your original request"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:136
#: lib/who_need_help_web/components/layouts.ex:324
#: lib/who_need_help_web/components/layouts.ex:381
#: lib/who_need_help_web/live/report_live.ex:12
#: lib/who_need_help_web/live/report_live.ex:42
#, elixir-autogen, elixir-format
@ -5796,137 +5790,137 @@ msgstr ""
msgid "matched conversation"
msgstr ""
#: lib/who_need_help/notifications/text.ex:39
#: lib/who_need_help/notifications/text.ex:38
#, elixir-autogen, elixir-format
msgid "A helper responded"
msgstr ""
#: lib/who_need_help/notifications/text.ex:33
#: lib/who_need_help/notifications/text.ex:32
#, elixir-autogen, elixir-format
msgid "A request matching one of your nearby-help alerts is available."
msgstr ""
#: lib/who_need_help/notifications/text.ex:102
#: lib/who_need_help/notifications/text.ex:101
#, elixir-autogen, elixir-format
msgid "Both participants confirmed completion and the handover was verified."
msgstr ""
#: lib/who_need_help/notifications/text.ex:116
#: lib/who_need_help/notifications/text.ex:115
#, elixir-autogen, elixir-format
msgid "Both participants submitted a review. Open Who Need Help to see it."
msgstr ""
#: lib/who_need_help/notifications/text.ex:94
#: lib/who_need_help/notifications/text.ex:93
#, elixir-autogen, elixir-format
msgid "Handover code verified"
msgstr ""
#: lib/who_need_help/notifications/text.ex:101
#: lib/who_need_help/notifications/text.ex:100
#, elixir-autogen, elixir-format
msgid "Help completed"
msgstr ""
#: lib/who_need_help/notifications/text.ex:108
#: lib/who_need_help/notifications/text.ex:107
#, elixir-autogen, elixir-format
msgid "New message"
msgstr ""
#: lib/who_need_help/notifications/text.ex:88
#: lib/who_need_help/notifications/text.ex:87
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to coordinate the handover safely."
msgstr ""
#: lib/who_need_help/notifications/text.ex:81
#: lib/who_need_help/notifications/text.ex:80
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to follow the request status."
msgstr ""
#: lib/who_need_help/notifications/text.ex:109
#: lib/who_need_help/notifications/text.ex:108
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to read the conversation."
msgstr ""
#: lib/who_need_help/notifications/text.ex:74
#: lib/who_need_help/notifications/text.ex:73
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest request status."
msgstr ""
#: lib/who_need_help/notifications/text.ex:133
#: lib/who_need_help/notifications/text.ex:132
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest update."
msgstr ""
#: lib/who_need_help/notifications/text.ex:40
#: lib/who_need_help/notifications/text.ex:39
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to see the request update."
msgstr ""
#: lib/who_need_help/notifications/text.ex:56
#: lib/who_need_help/notifications/text.ex:55
#, elixir-autogen, elixir-format
msgid "Request cancelled"
msgstr ""
#: lib/who_need_help/notifications/text.ex:66
#: lib/who_need_help/notifications/text.ex:65
#, elixir-autogen, elixir-format
msgid "Request closed after the helper withdrew"
msgstr ""
#: lib/who_need_help/notifications/text.ex:73
#: lib/who_need_help/notifications/text.ex:72
#, elixir-autogen, elixir-format
msgid "Request updated"
msgstr ""
#: lib/who_need_help/notifications/text.ex:132
#: lib/who_need_help/notifications/text.ex:131
#, elixir-autogen, elixir-format
msgid "Support request updated"
msgstr ""
#: lib/who_need_help/notifications/text.ex:95
#: lib/who_need_help/notifications/text.ex:94
#, elixir-autogen, elixir-format
msgid "The helper verified the one-time handover code."
msgstr ""
#: lib/who_need_help/notifications/text.ex:67
#: lib/who_need_help/notifications/text.ex:66
#, elixir-autogen, elixir-format
msgid "The helper withdrew after the request expired, so it was not reopened."
msgstr ""
#: lib/who_need_help/notifications/text.ex:126
#: lib/who_need_help/notifications/text.ex:125
#, elixir-autogen, elixir-format
msgid "The latest moderation status is %{status}."
msgstr ""
#: lib/who_need_help/notifications/text.ex:47
#: lib/who_need_help/notifications/text.ex:46
#, elixir-autogen, elixir-format
msgid "The previous helper withdrew, so the request is open again."
msgstr ""
#: lib/who_need_help/notifications/text.ex:57
#: lib/who_need_help/notifications/text.ex:56
#, elixir-autogen, elixir-format
msgid "The requester cancelled this request. Open Who Need Help for details."
msgstr ""
#: lib/who_need_help/notifications/text.ex:87
#: lib/who_need_help/notifications/text.ex:86
#, elixir-autogen, elixir-format
msgid "Your helper arrived"
msgstr ""
#: lib/who_need_help/notifications/text.ex:80
#: lib/who_need_help/notifications/text.ex:79
#, elixir-autogen, elixir-format
msgid "Your helper started"
msgstr ""
#: lib/who_need_help/notifications/text.ex:125
#: lib/who_need_help/notifications/text.ex:124
#, elixir-autogen, elixir-format
msgid "Your report was updated"
msgstr ""
#: lib/who_need_help/notifications/text.ex:46
#: lib/who_need_help/notifications/text.ex:45
#, elixir-autogen, elixir-format
msgid "Your request needs a new helper"
msgstr ""
#: lib/who_need_help/notifications/text.ex:115
#: lib/who_need_help/notifications/text.ex:114
#, elixir-autogen, elixir-format
msgid "Your review is now visible"
msgstr ""
@ -6554,3 +6548,34 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Where should it appear?"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:304
#, elixir-autogen, elixir-format
msgid "Available languages"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:283
#, elixir-autogen, elixir-format
msgid "Choose the language used in the interface."
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:281
#, elixir-autogen, elixir-format
msgid "Language"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:270
#, elixir-autogen, elixir-format
msgid "Language: %{language}"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:341
#, elixir-autogen, elixir-format
msgid "No languages found"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:293
#: lib/who_need_help_web/components/layouts.ex:294
#, elixir-autogen, elixir-format
msgid "Search languages"
msgstr ""

View File

@ -12,7 +12,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/who_need_help_web/components/layouts.ex:142
#: lib/who_need_help_web/components/layouts.ex:330
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/controllers/user_settings_controller.ex:115
#, elixir-autogen, elixir-format
msgid "Account settings"
@ -30,8 +30,8 @@ msgstr "Actions"
msgid "Ask for help"
msgstr "Ask for help"
#: lib/who_need_help_web/components/layouts.ex:380
#: lib/who_need_help_web/components/layouts.ex:395
#: lib/who_need_help_web/components/layouts.ex:437
#: lib/who_need_help_web/components/layouts.ex:452
#, elixir-autogen, elixir-format
msgid "Attempting to reconnect"
msgstr "Attempting to reconnect"
@ -52,13 +52,13 @@ msgid "Log in"
msgstr "Log in"
#: lib/who_need_help_web/components/layouts.ex:157
#: lib/who_need_help_web/components/layouts.ex:345
#: lib/who_need_help_web/components/layouts.ex:402
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr "Log out"
#: lib/who_need_help_web/components/layouts.ex:130
#: lib/who_need_help_web/components/layouts.ex:318
#: lib/who_need_help_web/components/layouts.ex:375
#: lib/who_need_help_web/live/profile_live.ex:16
#, elixir-autogen, elixir-format
msgid "Profile"
@ -76,12 +76,12 @@ msgstr "Register"
msgid "Requests"
msgstr "Requests"
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/components/layouts.ex:444
#, elixir-autogen, elixir-format
msgid "Something went wrong!"
msgstr "Something went wrong!"
#: lib/who_need_help_web/components/layouts.ex:372
#: lib/who_need_help_web/components/layouts.ex:429
#, elixir-autogen, elixir-format
msgid "We can't find the internet"
msgstr "We can't find the internet"
@ -157,7 +157,6 @@ msgid "Account Settings"
msgstr "Account Settings"
#: lib/who_need_help_web/components/layouts.ex:73
#: lib/who_need_help_web/components/layouts.ex:252
#, elixir-autogen, elixir-format
msgid "Account and language"
msgstr "Account and language"
@ -222,7 +221,7 @@ msgstr "Activity restored."
msgid "Activity type"
msgstr "Activity type"
#: lib/who_need_help_web/live/profile_live.ex:338
#: lib/who_need_help_web/live/profile_live.ex:334
#, elixir-autogen, elixir-format
msgid "Add unverified link"
msgstr "Add unverified link"
@ -290,7 +289,7 @@ msgstr "Approximate area"
msgid "Approximate public meeting area"
msgstr "Approximate public meeting area"
#: lib/who_need_help_web/live/profile_live.ex:167
#: lib/who_need_help_web/live/profile_live.ex:163
#: lib/who_need_help_web/live/request_live/show.ex:996
#, elixir-autogen, elixir-format
msgid "Approximate publicly"
@ -331,7 +330,7 @@ msgstr "Block organizer"
msgid "Block this user"
msgstr "Block this user"
#: lib/who_need_help_web/live/profile_live.ex:344
#: lib/who_need_help_web/live/profile_live.ex:340
#, elixir-autogen, elixir-format
msgid "Blocked users"
msgstr "Blocked users"
@ -597,7 +596,7 @@ msgstr "Decisions and access to reported chat evidence are written to the audit
msgid "Decline"
msgstr "Decline"
#: lib/who_need_help_web/live/profile_live.ex:164
#: lib/who_need_help_web/live/profile_live.ex:160
#, elixir-autogen, elixir-format
msgid "Default location visibility"
msgstr "Default location visibility"
@ -607,7 +606,7 @@ msgstr "Default location visibility"
msgid "Describe the public plan, approximate duration, and who might enjoy it."
msgstr "Describe the public plan, approximate duration, and who might enjoy it."
#: lib/who_need_help/notifications/text.ex:144
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help_web/live/moderation_live.ex:261
#: lib/who_need_help_web/live/moderation_live.ex:447
#: lib/who_need_help_web/live/moderation_live.ex:529
@ -664,11 +663,6 @@ msgstr "Email changed successfully."
msgid "Email confirmation and social links are not identity guarantees. Manually attached social links are marked unverified. Check the person's history, unique interactions, handover evidence, and revealed reviews, and meet only where you feel safe."
msgstr "Email confirmation and social links are not identity guarantees. Manually attached social links are marked unverified. Check the person's history, unique interactions, handover evidence, and revealed reviews, and meet only where you feel safe."
#: lib/who_need_help_web/live/profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "English"
msgstr "English"
#: lib/who_need_help_web/live/moderation_live.ex:591
#, elixir-autogen, elixir-format
msgid "English description"
@ -694,7 +688,7 @@ msgstr "Exact address after matching"
msgid "Exact coordinates are shown only to participants you approve."
msgstr "Exact coordinates are shown only to participants you approve."
#: lib/who_need_help_web/live/profile_live.ex:168
#: lib/who_need_help_web/live/profile_live.ex:164
#, elixir-autogen, elixir-format
msgid "Exact for active match"
msgstr "Exact for active match"
@ -704,7 +698,7 @@ msgstr "Exact for active match"
msgid "Exact only for active match"
msgstr "Exact only for active match"
#: lib/who_need_help_web/live/profile_live.ex:169
#: lib/who_need_help_web/live/profile_live.ex:165
#: lib/who_need_help_web/live/request_live/show.ex:999
#, elixir-autogen, elixir-format
msgid "Exact publicly"
@ -743,7 +737,7 @@ msgstr "Free help and thanks"
msgid "GitHub profile verified."
msgstr "GitHub profile verified."
#: lib/who_need_help_web/live/profile_live.ex:266
#: lib/who_need_help_web/live/profile_live.ex:262
#, elixir-autogen, elixir-format
msgid "GitHub verification is unavailable until the operator configures its OAuth credentials. No manually entered link is treated as verified."
msgstr "GitHub verification is unavailable until the operator configures its OAuth credentials. No manually entered link is treated as verified."
@ -753,7 +747,7 @@ msgstr "GitHub verification is unavailable until the operator configures its OAu
msgid "HANDOVER CODE FOR THE HELPER"
msgstr "HANDOVER CODE FOR THE HELPER"
#: lib/who_need_help_web/live/profile_live.ex:335
#: lib/who_need_help_web/live/profile_live.ex:331
#, elixir-autogen, elixir-format
msgid "Handle (optional)"
msgstr "Handle (optional)"
@ -812,7 +806,7 @@ msgid "Hi %{email},\n\nYou can log into your account by visiting the URL below:\
msgstr "Hi %{email},\n\nYou can log into your account by visiting the URL below:\n\n%{url}\n\nIf you didn't request this email, please ignore this."
#: lib/who_need_help_web/live/activity_live/new.ex:306
#: lib/who_need_help_web/live/profile_live.ex:166
#: lib/who_need_help_web/live/profile_live.ex:162
#: lib/who_need_help_web/live/request_live/show.ex:997
#, elixir-autogen, elixir-format
msgid "Hidden"
@ -991,7 +985,7 @@ msgstr "Main Codex session ID"
msgid "Manage your account email address and password settings"
msgstr "Manage your account email address and password settings"
#: lib/who_need_help_web/live/profile_live.ex:248
#: lib/who_need_help_web/live/profile_live.ex:244
#, elixir-autogen, elixir-format
msgid "Manually added links are public and marked unverified. A verified badge is only granted after completing a provider authorization flow."
msgstr "Manually added links are public and marked unverified. A verified badge is only granted after completing a provider authorization flow."
@ -1064,7 +1058,7 @@ msgid "Message the approved group"
msgstr "Message the approved group"
#: lib/who_need_help_web/components/layouts.ex:151
#: lib/who_need_help_web/components/layouts.ex:339
#: lib/who_need_help_web/components/layouts.ex:396
#: lib/who_need_help_web/live/moderation_live.ex:9
#: lib/who_need_help_web/live/moderation_live.ex:329
#, elixir-autogen, elixir-format
@ -1099,7 +1093,7 @@ msgstr "Nearby help"
msgid "Need roadside help in a safe location"
msgstr "Need roadside help in a safe location"
#: lib/who_need_help_web/live/profile_live.ex:317
#: lib/who_need_help_web/live/profile_live.ex:313
#, elixir-autogen, elixir-format
msgid "Network"
msgstr "Network"
@ -1148,12 +1142,12 @@ msgstr "No proposals yet."
msgid "No reports."
msgstr "No reports."
#: lib/who_need_help_web/live/profile_live.ex:274
#: lib/who_need_help_web/live/profile_live.ex:270
#, elixir-autogen, elixir-format
msgid "No social links added."
msgstr "No social links added."
#: lib/who_need_help_web/live/profile_live.ex:217
#: lib/who_need_help_web/live/profile_live.ex:213
#: lib/who_need_help_web/live/public_profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "None revealed yet."
@ -1195,7 +1189,7 @@ msgstr "Only the conversation linked to this report is displayed."
msgid "Only the organizer and approved participants can read or send these messages."
msgstr "Only the organizer and approved participants can read or send these messages."
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help/notifications/text.ex:140
#: lib/who_need_help_web/controllers/content_removal_html.ex:21
#: lib/who_need_help_web/controllers/support_html.ex:16
#: lib/who_need_help_web/live/activity_live/index.ex:314
@ -1221,7 +1215,7 @@ msgstr "Open abuse signals"
msgid "Open proposals"
msgstr "Open proposals"
#: lib/who_need_help_web/live/profile_live.ex:174
#: lib/who_need_help_web/live/profile_live.ex:170
#, elixir-autogen, elixir-format
msgid "Optional external thank-you link"
msgstr "Optional external thank-you link"
@ -1258,7 +1252,7 @@ msgstr "Organizer social links"
#: lib/who_need_help_web/controllers/support_html/new.html.heex:38
#: lib/who_need_help_web/live/activity_live/show.ex:750
#: lib/who_need_help_web/live/moderation_live.ex:255
#: lib/who_need_help_web/live/profile_live.ex:324
#: lib/who_need_help_web/live/profile_live.ex:320
#: lib/who_need_help_web/live/public_profile_live.ex:53
#: lib/who_need_help_web/live/report_live.ex:116
#: lib/who_need_help_web/live/request_live/show.ex:983
@ -1389,12 +1383,12 @@ msgstr "Public location can be hidden, approximate, or explicitly exact. Live tr
msgid "Public map visibility"
msgstr "Public map visibility"
#: lib/who_need_help_web/live/profile_live.ex:330
#: lib/who_need_help_web/live/profile_live.ex:326
#, elixir-autogen, elixir-format
msgid "Public profile URL"
msgstr "Public profile URL"
#: lib/who_need_help_web/live/profile_live.ex:185
#: lib/who_need_help_web/live/profile_live.ex:181
#: lib/who_need_help_web/live/public_profile_live.ex:124
#, elixir-autogen, elixir-format
msgid "Public reputation"
@ -1479,7 +1473,7 @@ msgstr "Reject"
msgid "Rejection note"
msgstr "Rejection note"
#: lib/who_need_help_web/live/profile_live.ex:308
#: lib/who_need_help_web/live/profile_live.ex:304
#, elixir-autogen, elixir-format
msgid "Remove"
msgstr "Remove"
@ -1565,7 +1559,7 @@ msgstr "Requester: %{count} completed"
msgid "Resolution note"
msgstr "Resolution note"
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help_web/controllers/support_html.ex:19
#: lib/who_need_help_web/live/moderation_live.ex:260
#: lib/who_need_help_web/live/moderation_live.ex:446
@ -1598,7 +1592,7 @@ msgstr "Review saved. It appears after both participants review."
msgid "Reviewed"
msgstr "Reviewed"
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help_web/controllers/content_removal_html.ex:23
#: lib/who_need_help_web/controllers/support_html.ex:17
#: lib/who_need_help_web/live/moderation_live.ex:259
@ -1655,7 +1649,7 @@ msgstr "Save"
msgid "Save Password"
msgstr "Save Password"
#: lib/who_need_help_web/live/profile_live.ex:180
#: lib/who_need_help_web/live/profile_live.ex:176
#, elixir-autogen, elixir-format
msgid "Save profile"
msgstr "Save profile"
@ -1750,7 +1744,7 @@ msgstr "Social link added as unverified."
msgid "Social link was not found."
msgstr "Social link was not found."
#: lib/who_need_help_web/live/profile_live.ex:246
#: lib/who_need_help_web/live/profile_live.ex:242
#, elixir-autogen, elixir-format
msgid "Social links"
msgstr "Social links"
@ -1885,7 +1879,7 @@ msgstr "The organizer has not approved your request yet."
msgid "The pharmacy closes soon and I cannot leave home. The item is already paid for."
msgstr "The pharmacy closes soon and I cannot leave home. The item is already paid for."
#: lib/who_need_help_web/live/profile_live.ex:178
#: lib/who_need_help_web/live/profile_live.ex:174
#, elixir-autogen, elixir-format
msgid "The platform never handles, requires, splits, or guarantees a payment."
msgstr "The platform never handles, requires, splits, or guarantees a payment."
@ -1993,7 +1987,7 @@ msgstr "Today"
msgid "Too many actions in the configured time window."
msgstr "Too many actions in the configured time window."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:126
#: lib/who_need_help_web/controllers/google_auth_controller.ex:125
#: lib/who_need_help_web/controllers/user_registration_controller.ex:61
#, elixir-autogen, elixir-format
msgid "Too many registration attempts in the configured time window."
@ -2004,7 +1998,7 @@ msgstr "Too many registration attempts in the configured time window."
msgid "Too many requests in the configured time window."
msgstr "Too many requests in the configured time window."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:176
#: lib/who_need_help_web/controllers/google_auth_controller.ex:175
#: lib/who_need_help_web/controllers/user_session_controller.ex:117
#, elixir-autogen, elixir-format
msgid "Too many sign-in emails in the configured time window."
@ -2030,7 +2024,7 @@ msgstr "Ukrainian description (optional)"
msgid "Ukrainian name (optional)"
msgstr "Ukrainian name (optional)"
#: lib/who_need_help_web/live/profile_live.ex:358
#: lib/who_need_help_web/live/profile_live.ex:354
#, elixir-autogen, elixir-format
msgid "Unblock"
msgstr "Unblock"
@ -2068,12 +2062,12 @@ msgstr "Urgent help"
msgid "Use a public first meeting point. Do not publish a home address, access code, travel document, or other sensitive information."
msgstr "Use a public first meeting point. Do not publish a home address, access code, travel document, or other sensitive information."
#: lib/who_need_help_web/components/layouts.ex:434
#: lib/who_need_help_web/components/layouts.ex:491
#, elixir-autogen, elixir-format
msgid "Use dark theme"
msgstr "Use dark theme"
#: lib/who_need_help_web/components/layouts.ex:425
#: lib/who_need_help_web/components/layouts.ex:482
#, elixir-autogen, elixir-format
msgid "Use light theme"
msgstr "Use light theme"
@ -2088,7 +2082,7 @@ msgstr "Use my current foreground location"
msgid "Use private chat and optional live location sharing."
msgstr "Use private chat and optional live location sharing."
#: lib/who_need_help_web/components/layouts.ex:416
#: lib/who_need_help_web/components/layouts.ex:473
#, elixir-autogen, elixir-format
msgid "Use system theme"
msgstr "Use system theme"
@ -2126,7 +2120,7 @@ msgstr "User status updated."
msgid "User unblocked."
msgstr "User unblocked."
#: lib/who_need_help_web/live/profile_live.ex:258
#: lib/who_need_help_web/live/profile_live.ex:254
#, elixir-autogen, elixir-format
msgid "Verify GitHub"
msgstr "Verify GitHub"
@ -2146,7 +2140,7 @@ msgstr "Verify the handover"
msgid "View scoped evidence"
msgstr "View scoped evidence"
#: lib/who_need_help_web/live/profile_live.ex:215
#: lib/who_need_help_web/live/profile_live.ex:211
#, elixir-autogen, elixir-format
msgid "Visible reviews"
msgstr "Visible reviews"
@ -2156,8 +2150,8 @@ msgstr "Visible reviews"
msgid "Waiting for a nearby volunteer."
msgstr "Waiting for a nearby volunteer."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:350
#: lib/who_need_help_web/controllers/google_auth_controller.ex:436
#: lib/who_need_help_web/controllers/google_auth_controller.ex:349
#: lib/who_need_help_web/controllers/google_auth_controller.ex:435
#: lib/who_need_help_web/controllers/user_session_controller.ex:41
#: lib/who_need_help_web/controllers/user_session_controller.ex:65
#, elixir-autogen, elixir-format
@ -2272,7 +2266,7 @@ msgstr "You cannot report your own content."
msgid "You cannot restrict your own moderator account."
msgstr "You cannot restrict your own moderator account."
#: lib/who_need_help_web/live/profile_live.ex:346
#: lib/who_need_help_web/live/profile_live.ex:342
#, elixir-autogen, elixir-format
msgid "You have not blocked anyone."
msgstr "You have not blocked anyone."
@ -2348,7 +2342,7 @@ msgstr "before confirming."
msgid "by %{name}"
msgstr "by %{name}"
#: lib/who_need_help_web/live/profile_live.ex:194
#: lib/who_need_help_web/live/profile_live.ex:190
#: lib/who_need_help_web/live/public_profile_live.ex:133
#: lib/who_need_help_web/live/request_live/index.ex:606
#: lib/who_need_help_web/live/request_live/show.ex:1374
@ -2397,7 +2391,7 @@ msgstr "people"
msgid "proximity supported"
msgstr "proximity supported"
#: lib/who_need_help_web/live/profile_live.ex:209
#: lib/who_need_help_web/live/profile_live.ex:205
#: lib/who_need_help_web/live/public_profile_live.ex:145
#: lib/who_need_help_web/live/request_live/show.ex:1382
#, elixir-autogen, elixir-format
@ -2419,7 +2413,7 @@ msgstr "the mailbox page"
msgid "to your account now."
msgstr "to your account now."
#: lib/who_need_help_web/live/profile_live.ex:199
#: lib/who_need_help_web/live/profile_live.ex:195
#: lib/who_need_help_web/live/public_profile_live.ex:137
#, elixir-autogen, elixir-format
msgid "unique people"
@ -2428,7 +2422,7 @@ msgstr "unique people"
#: lib/who_need_help_web/live/activity_live/show.ex:426
#: lib/who_need_help_web/live/activity_live/show.ex:641
#: lib/who_need_help_web/live/activity_live/show.ex:702
#: lib/who_need_help_web/live/profile_live.ex:290
#: lib/who_need_help_web/live/profile_live.ex:286
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/show.ex:1094
#: lib/who_need_help_web/live/request_live/show.ex:1477
@ -2444,7 +2438,7 @@ msgstr "urgent"
#: lib/who_need_help_web/live/activity_live/show.ex:425
#: lib/who_need_help_web/live/activity_live/show.ex:640
#: lib/who_need_help_web/live/activity_live/show.ex:701
#: lib/who_need_help_web/live/profile_live.ex:289
#: lib/who_need_help_web/live/profile_live.ex:285
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:614
#: lib/who_need_help_web/live/request_live/show.ex:1093
@ -2542,8 +2536,8 @@ msgstr "Load earlier messages"
#: lib/who_need_help_web/live/moderation_live.ex:651
#: lib/who_need_help_web/live/moderation_live.ex:750
#: lib/who_need_help_web/live/product_analytics_live.ex:86
#: lib/who_need_help_web/live/profile_live.ex:237
#: lib/who_need_help_web/live/profile_live.ex:367
#: lib/who_need_help_web/live/profile_live.ex:233
#: lib/who_need_help_web/live/profile_live.ex:363
#: lib/who_need_help_web/live/public_profile_live.ex:178
#: lib/who_need_help_web/live/report_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:671
@ -2696,7 +2690,7 @@ msgstr "Too many email-change requests in the configured time window."
msgid "A Google account is connected. You can use it to sign in."
msgstr "A Google account is connected. You can use it to sign in."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:383
#: lib/who_need_help_web/controllers/google_auth_controller.ex:382
#, elixir-autogen, elixir-format
msgid "A different Google account is already connected."
msgstr "A different Google account is already connected."
@ -2726,13 +2720,13 @@ msgstr "Create account and email me a link"
msgid "Email me a sign-in link"
msgstr "Email me a sign-in link"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:391
#: lib/who_need_help_web/controllers/google_auth_controller.ex:390
#, elixir-autogen, elixir-format
msgid "Google account connection session is invalid."
msgstr "Google account connection session is invalid."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:213
#: lib/who_need_help_web/controllers/google_auth_controller.ex:283
#: lib/who_need_help_web/controllers/google_auth_controller.ex:212
#: lib/who_need_help_web/controllers/google_auth_controller.ex:282
#, elixir-autogen, elixir-format
msgid "Google did not provide a verified email address."
msgstr "Google did not provide a verified email address."
@ -2742,38 +2736,38 @@ msgstr "Google did not provide a verified email address."
msgid "Google sign-in"
msgstr "Google sign-in"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:373
#: lib/who_need_help_web/controllers/google_auth_controller.ex:372
#, elixir-autogen, elixir-format
msgid "Google sign-in connected."
msgstr "Google sign-in connected."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:316
#: lib/who_need_help_web/controllers/google_auth_controller.ex:315
#, elixir-autogen, elixir-format
msgid "Google sign-in could not be started."
msgstr "Google sign-in could not be started."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:218
#: lib/who_need_help_web/controllers/google_auth_controller.ex:288
#: lib/who_need_help_web/controllers/google_auth_controller.ex:295
#: lib/who_need_help_web/controllers/google_auth_controller.ex:217
#: lib/who_need_help_web/controllers/google_auth_controller.ex:287
#: lib/who_need_help_web/controllers/google_auth_controller.ex:294
#, elixir-autogen, elixir-format
msgid "Google sign-in failed. Please try again."
msgstr "Google sign-in failed. Please try again."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:321
#: lib/who_need_help_web/controllers/google_auth_controller.ex:320
#, elixir-autogen, elixir-format
msgid "Google sign-in is not configured yet."
msgstr "Google sign-in is not configured yet."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:88
#: lib/who_need_help_web/controllers/google_auth_controller.ex:203
#: lib/who_need_help_web/controllers/google_auth_controller.ex:273
#: lib/who_need_help_web/controllers/google_auth_controller.ex:530
#: lib/who_need_help_web/controllers/google_auth_controller.ex:87
#: lib/who_need_help_web/controllers/google_auth_controller.ex:202
#: lib/who_need_help_web/controllers/google_auth_controller.ex:272
#: lib/who_need_help_web/controllers/google_auth_controller.ex:529
#, elixir-autogen, elixir-format
msgid "Google sign-in session expired. Please start again."
msgstr "Google sign-in session expired. Please start again."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:207
#: lib/who_need_help_web/controllers/google_auth_controller.ex:277
#: lib/who_need_help_web/controllers/google_auth_controller.ex:206
#: lib/who_need_help_web/controllers/google_auth_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Google sign-in session is invalid."
msgstr "Google sign-in session is invalid."
@ -2793,18 +2787,18 @@ msgstr "Sending link..."
msgid "Sign up with Google"
msgstr "Sign up with Google"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:378
#: lib/who_need_help_web/controllers/google_auth_controller.ex:377
#, elixir-autogen, elixir-format
msgid "That Google account belongs to another local account."
msgstr "That Google account belongs to another local account."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:37
#: lib/who_need_help_web/controllers/google_auth_controller.ex:151
#: lib/who_need_help_web/controllers/google_auth_controller.ex:36
#: lib/who_need_help_web/controllers/google_auth_controller.ex:150
#, elixir-autogen, elixir-format, fuzzy
msgid "The Google registration form is invalid."
msgstr "The Google registration form is invalid."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:536
#: lib/who_need_help_web/controllers/google_auth_controller.ex:535
#, elixir-autogen, elixir-format
msgid "This Google account cannot be used right now."
msgstr "This Google account cannot be used right now."
@ -2824,7 +2818,7 @@ msgstr "Use a password instead"
msgid "We will send a one-time sign-in link. No password is required."
msgstr "We will send a one-time sign-in link. No password is required."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:106
#: lib/who_need_help_web/controllers/google_auth_controller.ex:105
#, elixir-autogen, elixir-format
msgid "Your account was created with Google."
msgstr "Your account was created with Google."
@ -2849,12 +2843,12 @@ msgstr "Disconnect Google"
msgid "Disconnect Google sign-in from this account?"
msgstr "Disconnect Google sign-in from this account?"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:52
#: lib/who_need_help_web/controllers/google_auth_controller.ex:51
#, elixir-autogen, elixir-format
msgid "Google sign-in disconnected."
msgstr "Google sign-in disconnected."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:57
#: lib/who_need_help_web/controllers/google_auth_controller.ex:56
#, elixir-autogen, elixir-format
msgid "No Google account is connected."
msgstr "No Google account is connected."
@ -3328,7 +3322,7 @@ msgid "Support operations"
msgstr "Support operations"
#: lib/who_need_help_web/components/layouts.ex:154
#: lib/who_need_help_web/components/layouts.ex:342
#: lib/who_need_help_web/components/layouts.ex:399
#, elixir-autogen, elixir-format
msgid "Support queue"
msgstr "Support queue"
@ -3846,7 +3840,7 @@ msgstr "Cancel and use another sign-in method"
msgid "Confirm access once so nobody can attach Google to your account using only a matching email address."
msgstr "Confirm access once so nobody can attach Google to your account using only a matching email address."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:492
#: lib/who_need_help_web/controllers/google_auth_controller.ex:491
#: lib/who_need_help_web/controllers/google_auth_html/complete.html.heex:10
#: lib/who_need_help_web/controllers/user_session_html/new.html.heex:82
#, elixir-autogen, elixir-format
@ -3903,8 +3897,8 @@ msgstr "Sign in to %{email} once to connect Google. You can use the email link o
msgid "This email already has an account"
msgstr "This email already has an account"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:118
#: lib/who_need_help_web/controllers/google_auth_controller.ex:140
#: lib/who_need_help_web/controllers/google_auth_controller.ex:117
#: lib/who_need_help_web/controllers/google_auth_controller.ex:139
#, elixir-autogen, elixir-format
msgid "This email already has an account. Confirm it once to connect Google."
msgstr "This email already has an account. Confirm it once to connect Google."
@ -3920,7 +3914,7 @@ msgstr "Use my password instead"
msgid "Verified"
msgstr "Verified"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:165
#: lib/who_need_help_web/controllers/google_auth_controller.ex:164
#, elixir-autogen, elixir-format
msgid "We sent a verification link to %{email}. Open it to finish connecting Google."
msgstr "We sent a verification link to %{email}. Open it to finish connecting Google."
@ -5044,7 +5038,7 @@ msgid "Nearby requests by email"
msgstr ""
#: lib/who_need_help/notifications/email_notifier.ex:21
#: lib/who_need_help/notifications/text.ex:32
#: lib/who_need_help/notifications/text.ex:31
#, elixir-autogen, elixir-format
msgid "New help request nearby"
msgstr ""
@ -5097,7 +5091,7 @@ msgid "Notification text never contains chat messages or exact coordinates."
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:133
#: lib/who_need_help_web/components/layouts.ex:321
#: lib/who_need_help_web/components/layouts.ex:378
#: lib/who_need_help_web/live/notification_live.ex:15
#: lib/who_need_help_web/live/notification_live.ex:225
#, elixir-autogen, elixir-format
@ -5110,7 +5104,7 @@ msgid "Notifications and nearby alerts"
msgstr ""
#: lib/who_need_help_web/components/layouts.ex:148
#: lib/who_need_help_web/components/layouts.ex:336
#: lib/who_need_help_web/components/layouts.ex:393
#, elixir-autogen, elixir-format
msgid "Operations"
msgstr ""
@ -5267,7 +5261,7 @@ msgstr ""
msgid "The saved center is private and is used only to find matching requests."
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:187
#: lib/who_need_help_web/live/profile_live.ex:183
#: lib/who_need_help_web/live/public_profile_live.ex:126
#, elixir-autogen, elixir-format
msgid "These are activity signals, not an identity, background, qualification, or safety check."
@ -5345,7 +5339,7 @@ msgstr ""
msgid "Your nearby alerts"
msgstr ""
#: lib/who_need_help_web/live/profile_live.ex:204
#: lib/who_need_help_web/live/profile_live.ex:200
#: lib/who_need_help_web/live/public_profile_live.ex:141
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
@ -5632,7 +5626,7 @@ msgid "Support request received"
msgstr "Support request received"
#: lib/who_need_help_web/components/layouts.ex:139
#: lib/who_need_help_web/components/layouts.ex:327
#: lib/who_need_help_web/components/layouts.ex:384
#, elixir-autogen, elixir-format, fuzzy
msgid "Support requests"
msgstr "Support requests"
@ -5774,7 +5768,7 @@ msgid "Your original request"
msgstr "Your original request"
#: lib/who_need_help_web/components/layouts.ex:136
#: lib/who_need_help_web/components/layouts.ex:324
#: lib/who_need_help_web/components/layouts.ex:381
#: lib/who_need_help_web/live/report_live.ex:12
#: lib/who_need_help_web/live/report_live.ex:42
#, elixir-autogen, elixir-format
@ -5796,137 +5790,137 @@ msgstr ""
msgid "matched conversation"
msgstr ""
#: lib/who_need_help/notifications/text.ex:39
#: lib/who_need_help/notifications/text.ex:38
#, elixir-autogen, elixir-format
msgid "A helper responded"
msgstr "A helper responded"
#: lib/who_need_help/notifications/text.ex:33
#: lib/who_need_help/notifications/text.ex:32
#, elixir-autogen, elixir-format
msgid "A request matching one of your nearby-help alerts is available."
msgstr "A request matching one of your nearby-help alerts is available."
#: lib/who_need_help/notifications/text.ex:102
#: lib/who_need_help/notifications/text.ex:101
#, elixir-autogen, elixir-format
msgid "Both participants confirmed completion and the handover was verified."
msgstr "Both participants confirmed completion and the handover was verified."
#: lib/who_need_help/notifications/text.ex:116
#: lib/who_need_help/notifications/text.ex:115
#, elixir-autogen, elixir-format
msgid "Both participants submitted a review. Open Who Need Help to see it."
msgstr "Both participants submitted a review. Open Who Need Help to see it."
#: lib/who_need_help/notifications/text.ex:94
#: lib/who_need_help/notifications/text.ex:93
#, elixir-autogen, elixir-format
msgid "Handover code verified"
msgstr "Handover code verified"
#: lib/who_need_help/notifications/text.ex:101
#: lib/who_need_help/notifications/text.ex:100
#, elixir-autogen, elixir-format
msgid "Help completed"
msgstr "Help completed"
#: lib/who_need_help/notifications/text.ex:108
#: lib/who_need_help/notifications/text.ex:107
#, elixir-autogen, elixir-format
msgid "New message"
msgstr "New message"
#: lib/who_need_help/notifications/text.ex:88
#: lib/who_need_help/notifications/text.ex:87
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to coordinate the handover safely."
msgstr "Open Who Need Help to coordinate the handover safely."
#: lib/who_need_help/notifications/text.ex:81
#: lib/who_need_help/notifications/text.ex:80
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to follow the request status."
msgstr "Open Who Need Help to follow the request status."
#: lib/who_need_help/notifications/text.ex:109
#: lib/who_need_help/notifications/text.ex:108
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to read the conversation."
msgstr "Open Who Need Help to read the conversation."
#: lib/who_need_help/notifications/text.ex:74
#: lib/who_need_help/notifications/text.ex:73
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest request status."
msgstr "Open Who Need Help to review the latest request status."
#: lib/who_need_help/notifications/text.ex:133
#: lib/who_need_help/notifications/text.ex:132
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest update."
msgstr "Open Who Need Help to review the latest update."
#: lib/who_need_help/notifications/text.ex:40
#: lib/who_need_help/notifications/text.ex:39
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to see the request update."
msgstr "Open Who Need Help to see the request update."
#: lib/who_need_help/notifications/text.ex:56
#: lib/who_need_help/notifications/text.ex:55
#, elixir-autogen, elixir-format
msgid "Request cancelled"
msgstr "Request cancelled"
#: lib/who_need_help/notifications/text.ex:66
#: lib/who_need_help/notifications/text.ex:65
#, elixir-autogen, elixir-format
msgid "Request closed after the helper withdrew"
msgstr "Request closed after the helper withdrew"
#: lib/who_need_help/notifications/text.ex:73
#: lib/who_need_help/notifications/text.ex:72
#, elixir-autogen, elixir-format
msgid "Request updated"
msgstr "Request updated"
#: lib/who_need_help/notifications/text.ex:132
#: lib/who_need_help/notifications/text.ex:131
#, elixir-autogen, elixir-format
msgid "Support request updated"
msgstr "Support request updated"
#: lib/who_need_help/notifications/text.ex:95
#: lib/who_need_help/notifications/text.ex:94
#, elixir-autogen, elixir-format
msgid "The helper verified the one-time handover code."
msgstr "The helper verified the one-time handover code."
#: lib/who_need_help/notifications/text.ex:67
#: lib/who_need_help/notifications/text.ex:66
#, elixir-autogen, elixir-format
msgid "The helper withdrew after the request expired, so it was not reopened."
msgstr "The helper withdrew after the request expired, so it was not reopened."
#: lib/who_need_help/notifications/text.ex:126
#: lib/who_need_help/notifications/text.ex:125
#, elixir-autogen, elixir-format
msgid "The latest moderation status is %{status}."
msgstr "The latest moderation status is %{status}."
#: lib/who_need_help/notifications/text.ex:47
#: lib/who_need_help/notifications/text.ex:46
#, elixir-autogen, elixir-format
msgid "The previous helper withdrew, so the request is open again."
msgstr "The previous helper withdrew, so the request is open again."
#: lib/who_need_help/notifications/text.ex:57
#: lib/who_need_help/notifications/text.ex:56
#, elixir-autogen, elixir-format
msgid "The requester cancelled this request. Open Who Need Help for details."
msgstr "The requester cancelled this request. Open Who Need Help for details."
#: lib/who_need_help/notifications/text.ex:87
#: lib/who_need_help/notifications/text.ex:86
#, elixir-autogen, elixir-format
msgid "Your helper arrived"
msgstr "Your helper arrived"
#: lib/who_need_help/notifications/text.ex:80
#: lib/who_need_help/notifications/text.ex:79
#, elixir-autogen, elixir-format
msgid "Your helper started"
msgstr "Your helper started"
#: lib/who_need_help/notifications/text.ex:125
#: lib/who_need_help/notifications/text.ex:124
#, elixir-autogen, elixir-format
msgid "Your report was updated"
msgstr "Your report was updated"
#: lib/who_need_help/notifications/text.ex:46
#: lib/who_need_help/notifications/text.ex:45
#, elixir-autogen, elixir-format
msgid "Your request needs a new helper"
msgstr "Your request needs a new helper"
#: lib/who_need_help/notifications/text.ex:115
#: lib/who_need_help/notifications/text.ex:114
#, elixir-autogen, elixir-format
msgid "Your review is now visible"
msgstr "Your review is now visible"
@ -6554,3 +6548,34 @@ msgstr "What are you proposing?"
#, elixir-autogen, elixir-format
msgid "Where should it appear?"
msgstr "Where should it appear?"
#: lib/who_need_help_web/components/layouts.ex:304
#, elixir-autogen, elixir-format
msgid "Available languages"
msgstr "Available languages"
#: lib/who_need_help_web/components/layouts.ex:283
#, elixir-autogen, elixir-format
msgid "Choose the language used in the interface."
msgstr "Choose the language used in the interface."
#: lib/who_need_help_web/components/layouts.ex:281
#, elixir-autogen, elixir-format
msgid "Language"
msgstr "Language"
#: lib/who_need_help_web/components/layouts.ex:270
#, elixir-autogen, elixir-format
msgid "Language: %{language}"
msgstr "Language: %{language}"
#: lib/who_need_help_web/components/layouts.ex:341
#, elixir-autogen, elixir-format
msgid "No languages found"
msgstr "No languages found"
#: lib/who_need_help_web/components/layouts.ex:293
#: lib/who_need_help_web/components/layouts.ex:294
#, elixir-autogen, elixir-format
msgid "Search languages"
msgstr "Search languages"

View File

@ -12,7 +12,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100 != 11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10||n%100>=20) ? 1 : 2);\n"
#: lib/who_need_help_web/components/layouts.ex:142
#: lib/who_need_help_web/components/layouts.ex:330
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/controllers/user_settings_controller.ex:115
#, elixir-autogen, elixir-format
msgid "Account settings"
@ -30,8 +30,8 @@ msgstr "Действия"
msgid "Ask for help"
msgstr "Попросить о помощи"
#: lib/who_need_help_web/components/layouts.ex:380
#: lib/who_need_help_web/components/layouts.ex:395
#: lib/who_need_help_web/components/layouts.ex:437
#: lib/who_need_help_web/components/layouts.ex:452
#, elixir-autogen, elixir-format
msgid "Attempting to reconnect"
msgstr "Пытаемся восстановить соединение"
@ -52,13 +52,13 @@ msgid "Log in"
msgstr "Войти"
#: lib/who_need_help_web/components/layouts.ex:157
#: lib/who_need_help_web/components/layouts.ex:345
#: lib/who_need_help_web/components/layouts.ex:402
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr "Выйти"
#: lib/who_need_help_web/components/layouts.ex:130
#: lib/who_need_help_web/components/layouts.ex:318
#: lib/who_need_help_web/components/layouts.ex:375
#: lib/who_need_help_web/live/profile_live.ex:16
#, elixir-autogen, elixir-format
msgid "Profile"
@ -76,12 +76,12 @@ msgstr "Регистрация"
msgid "Requests"
msgstr "Заявки"
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/components/layouts.ex:444
#, elixir-autogen, elixir-format
msgid "Something went wrong!"
msgstr "Что-то пошло не так!"
#: lib/who_need_help_web/components/layouts.ex:372
#: lib/who_need_help_web/components/layouts.ex:429
#, elixir-autogen, elixir-format
msgid "We can't find the internet"
msgstr "Нет соединения с интернетом"
@ -162,7 +162,6 @@ msgid "Account Settings"
msgstr "Настройки аккаунта"
#: lib/who_need_help_web/components/layouts.ex:73
#: lib/who_need_help_web/components/layouts.ex:252
#, elixir-autogen, elixir-format
msgid "Account and language"
msgstr "Аккаунт и язык"
@ -233,7 +232,7 @@ msgstr "Активность восстановлена."
msgid "Activity type"
msgstr "Тип активности"
#: lib/who_need_help_web/live/profile_live.ex:338
#: lib/who_need_help_web/live/profile_live.ex:334
#, elixir-autogen, elixir-format
msgid "Add unverified link"
msgstr "Добавить неподтверждённую ссылку"
@ -301,7 +300,7 @@ msgstr "Примерный район"
msgid "Approximate public meeting area"
msgstr "Примерный публичный район встречи"
#: lib/who_need_help_web/live/profile_live.ex:167
#: lib/who_need_help_web/live/profile_live.ex:163
#: lib/who_need_help_web/live/request_live/show.ex:996
#, elixir-autogen, elixir-format
msgid "Approximate publicly"
@ -347,7 +346,7 @@ msgstr "Заблокировать организатора"
msgid "Block this user"
msgstr "Заблокировать пользователя"
#: lib/who_need_help_web/live/profile_live.ex:344
#: lib/who_need_help_web/live/profile_live.ex:340
#, elixir-autogen, elixir-format
msgid "Blocked users"
msgstr "Блокированные пользователи"
@ -620,7 +619,7 @@ msgstr ""
msgid "Decline"
msgstr "Отклонить"
#: lib/who_need_help_web/live/profile_live.ex:164
#: lib/who_need_help_web/live/profile_live.ex:160
#, elixir-autogen, elixir-format
msgid "Default location visibility"
msgstr "Видимость местоположения по умолчанию"
@ -632,7 +631,7 @@ msgstr ""
"Опишите публичный план, примерную продолжительность и кому он может быть "
"интересен."
#: lib/who_need_help/notifications/text.ex:144
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help_web/live/moderation_live.ex:261
#: lib/who_need_help_web/live/moderation_live.ex:447
#: lib/who_need_help_web/live/moderation_live.ex:529
@ -697,11 +696,6 @@ msgstr ""
"передачи и открытые отзывы и встречайтесь только там, где чувствуете себя "
"безопасно."
#: lib/who_need_help_web/live/profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Английский"
#: lib/who_need_help_web/live/moderation_live.ex:591
#, elixir-autogen, elixir-format
msgid "English description"
@ -727,7 +721,7 @@ msgstr "Точный адрес после назначения помощник
msgid "Exact coordinates are shown only to participants you approve."
msgstr "Точные координаты показаны только участникам, которых вы одобряете."
#: lib/who_need_help_web/live/profile_live.ex:168
#: lib/who_need_help_web/live/profile_live.ex:164
#, elixir-autogen, elixir-format
msgid "Exact for active match"
msgstr "Точно — для активной заявки"
@ -737,7 +731,7 @@ msgstr "Точно — для активной заявки"
msgid "Exact only for active match"
msgstr "Точно только для активной заявки"
#: lib/who_need_help_web/live/profile_live.ex:169
#: lib/who_need_help_web/live/profile_live.ex:165
#: lib/who_need_help_web/live/request_live/show.ex:999
#, elixir-autogen, elixir-format
msgid "Exact publicly"
@ -776,7 +770,7 @@ msgstr "Бесплатная помощь и благодарность"
msgid "GitHub profile verified."
msgstr "Профиль GitHub подтверждён."
#: lib/who_need_help_web/live/profile_live.ex:266
#: lib/who_need_help_web/live/profile_live.ex:262
#, elixir-autogen, elixir-format
msgid "GitHub verification is unavailable until the operator configures its OAuth credentials. No manually entered link is treated as verified."
msgstr ""
@ -788,7 +782,7 @@ msgstr ""
msgid "HANDOVER CODE FOR THE HELPER"
msgstr "КОД ПЕРЕДАЧИ ДЛЯ ПОМОЩНИКА"
#: lib/who_need_help_web/live/profile_live.ex:335
#: lib/who_need_help_web/live/profile_live.ex:331
#, elixir-autogen, elixir-format
msgid "Handle (optional)"
msgstr "Имя пользователя (необязательно)"
@ -872,7 +866,7 @@ msgstr ""
"Если вы не запрашивали это письмо, просто проигнорируйте его."
#: lib/who_need_help_web/live/activity_live/new.ex:306
#: lib/who_need_help_web/live/profile_live.ex:166
#: lib/who_need_help_web/live/profile_live.ex:162
#: lib/who_need_help_web/live/request_live/show.ex:997
#, elixir-autogen, elixir-format
msgid "Hidden"
@ -1068,7 +1062,7 @@ msgstr ""
"Управляйте адресом электронной почты вашей учетной записи и настройками "
"пароля"
#: lib/who_need_help_web/live/profile_live.ex:248
#: lib/who_need_help_web/live/profile_live.ex:244
#, elixir-autogen, elixir-format
msgid "Manually added links are public and marked unverified. A verified badge is only granted after completing a provider authorization flow."
msgstr ""
@ -1150,7 +1144,7 @@ msgid "Message the approved group"
msgstr "Написать одобренной группе"
#: lib/who_need_help_web/components/layouts.ex:151
#: lib/who_need_help_web/components/layouts.ex:339
#: lib/who_need_help_web/components/layouts.ex:396
#: lib/who_need_help_web/live/moderation_live.ex:9
#: lib/who_need_help_web/live/moderation_live.ex:329
#, elixir-autogen, elixir-format
@ -1185,7 +1179,7 @@ msgstr "Помощь рядом"
msgid "Need roadside help in a safe location"
msgstr "Нужна помощь на дороге в безопасном месте"
#: lib/who_need_help_web/live/profile_live.ex:317
#: lib/who_need_help_web/live/profile_live.ex:313
#, elixir-autogen, elixir-format
msgid "Network"
msgstr "Сеть"
@ -1234,12 +1228,12 @@ msgstr "Предложений пока нет."
msgid "No reports."
msgstr "Жалоб нет."
#: lib/who_need_help_web/live/profile_live.ex:274
#: lib/who_need_help_web/live/profile_live.ex:270
#, elixir-autogen, elixir-format
msgid "No social links added."
msgstr "Ссылки на соцсети не добавлены."
#: lib/who_need_help_web/live/profile_live.ex:217
#: lib/who_need_help_web/live/profile_live.ex:213
#: lib/who_need_help_web/live/public_profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "None revealed yet."
@ -1285,7 +1279,7 @@ msgstr ""
"Только организатор и одобренные участники могут читать или отправлять эти "
"сообщения."
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help/notifications/text.ex:140
#: lib/who_need_help_web/controllers/content_removal_html.ex:21
#: lib/who_need_help_web/controllers/support_html.ex:16
#: lib/who_need_help_web/live/activity_live/index.ex:314
@ -1311,7 +1305,7 @@ msgstr "Открытые сигналы о злоупотреблениях"
msgid "Open proposals"
msgstr "Открытые предложения"
#: lib/who_need_help_web/live/profile_live.ex:174
#: lib/who_need_help_web/live/profile_live.ex:170
#, elixir-autogen, elixir-format
msgid "Optional external thank-you link"
msgstr "Необязательная внешняя ссылка для благодарности"
@ -1348,7 +1342,7 @@ msgstr "Ссылки организатора на соцсети"
#: lib/who_need_help_web/controllers/support_html/new.html.heex:38
#: lib/who_need_help_web/live/activity_live/show.ex:750
#: lib/who_need_help_web/live/moderation_live.ex:255
#: lib/who_need_help_web/live/profile_live.ex:324
#: lib/who_need_help_web/live/profile_live.ex:320
#: lib/who_need_help_web/live/public_profile_live.ex:53
#: lib/who_need_help_web/live/report_live.ex:116
#: lib/who_need_help_web/live/request_live/show.ex:983
@ -1490,12 +1484,12 @@ msgstr ""
msgid "Public map visibility"
msgstr "Видимость на публичной карте"
#: lib/who_need_help_web/live/profile_live.ex:330
#: lib/who_need_help_web/live/profile_live.ex:326
#, elixir-autogen, elixir-format
msgid "Public profile URL"
msgstr "URL публичного профиля"
#: lib/who_need_help_web/live/profile_live.ex:185
#: lib/who_need_help_web/live/profile_live.ex:181
#: lib/who_need_help_web/live/public_profile_live.ex:124
#, elixir-autogen, elixir-format
msgid "Public reputation"
@ -1582,7 +1576,7 @@ msgstr "Отклонить"
msgid "Rejection note"
msgstr "Примечание об отклонении"
#: lib/who_need_help_web/live/profile_live.ex:308
#: lib/who_need_help_web/live/profile_live.ex:304
#, elixir-autogen, elixir-format
msgid "Remove"
msgstr "Удалить"
@ -1670,7 +1664,7 @@ msgstr "Автор заявки: %{count} завершено"
msgid "Resolution note"
msgstr "Примечание к решению"
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help_web/controllers/support_html.ex:19
#: lib/who_need_help_web/live/moderation_live.ex:260
#: lib/who_need_help_web/live/moderation_live.ex:446
@ -1704,7 +1698,7 @@ msgstr ""
msgid "Reviewed"
msgstr "Проверено"
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help_web/controllers/content_removal_html.ex:23
#: lib/who_need_help_web/controllers/support_html.ex:17
#: lib/who_need_help_web/live/moderation_live.ex:259
@ -1764,7 +1758,7 @@ msgstr "Сохранить"
msgid "Save Password"
msgstr "Сохранить пароль"
#: lib/who_need_help_web/live/profile_live.ex:180
#: lib/who_need_help_web/live/profile_live.ex:176
#, elixir-autogen, elixir-format
msgid "Save profile"
msgstr "Сохранить профиль"
@ -1863,7 +1857,7 @@ msgstr "Ссылка на соцсеть добавлена как неподт
msgid "Social link was not found."
msgstr "Ссылка на соцсеть не найдена."
#: lib/who_need_help_web/live/profile_live.ex:246
#: lib/who_need_help_web/live/profile_live.ex:242
#, elixir-autogen, elixir-format
msgid "Social links"
msgstr "Ссылки на соцсети"
@ -1999,7 +1993,7 @@ msgid "The pharmacy closes soon and I cannot leave home. The item is already pai
msgstr ""
"Аптека скоро закрывается, а я не могу выйти из дома. Товар уже оплачен."
#: lib/who_need_help_web/live/profile_live.ex:178
#: lib/who_need_help_web/live/profile_live.ex:174
#, elixir-autogen, elixir-format
msgid "The platform never handles, requires, splits, or guarantees a payment."
msgstr ""
@ -2116,7 +2110,7 @@ msgstr "Сегодня"
msgid "Too many actions in the configured time window."
msgstr "Слишком много действий за настроенный промежуток времени."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:126
#: lib/who_need_help_web/controllers/google_auth_controller.ex:125
#: lib/who_need_help_web/controllers/user_registration_controller.ex:61
#, elixir-autogen, elixir-format
msgid "Too many registration attempts in the configured time window."
@ -2127,7 +2121,7 @@ msgstr "Слишком много попыток регистрации за н
msgid "Too many requests in the configured time window."
msgstr "Слишком много запросов за настроенный промежуток времени."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:176
#: lib/who_need_help_web/controllers/google_auth_controller.ex:175
#: lib/who_need_help_web/controllers/user_session_controller.ex:117
#, elixir-autogen, elixir-format
msgid "Too many sign-in emails in the configured time window."
@ -2153,7 +2147,7 @@ msgstr "Описание на украинском (необязательно)"
msgid "Ukrainian name (optional)"
msgstr "Название на украинском (необязательно)"
#: lib/who_need_help_web/live/profile_live.ex:358
#: lib/who_need_help_web/live/profile_live.ex:354
#, elixir-autogen, elixir-format
msgid "Unblock"
msgstr "Разблокировать"
@ -2194,12 +2188,12 @@ msgstr ""
"адрес, код доступа, документ для поездки или другую чувствительную "
"информацию."
#: lib/who_need_help_web/components/layouts.ex:434
#: lib/who_need_help_web/components/layouts.ex:491
#, elixir-autogen, elixir-format
msgid "Use dark theme"
msgstr "Включить тёмную тему"
#: lib/who_need_help_web/components/layouts.ex:425
#: lib/who_need_help_web/components/layouts.ex:482
#, elixir-autogen, elixir-format
msgid "Use light theme"
msgstr "Включить светлую тему"
@ -2216,7 +2210,7 @@ msgstr ""
"Используйте приватный чат и, по желанию, передачу геопозиции в реальном "
"времени."
#: lib/who_need_help_web/components/layouts.ex:416
#: lib/who_need_help_web/components/layouts.ex:473
#, elixir-autogen, elixir-format
msgid "Use system theme"
msgstr "Использовать системную тему"
@ -2254,7 +2248,7 @@ msgstr "Обновлен статус пользователя."
msgid "User unblocked."
msgstr "Пользователь разблокирован."
#: lib/who_need_help_web/live/profile_live.ex:258
#: lib/who_need_help_web/live/profile_live.ex:254
#, elixir-autogen, elixir-format
msgid "Verify GitHub"
msgstr "Подтвердить через GitHub"
@ -2274,7 +2268,7 @@ msgstr "Подтвердите передачу"
msgid "View scoped evidence"
msgstr "Просмотреть связанные доказательства"
#: lib/who_need_help_web/live/profile_live.ex:215
#: lib/who_need_help_web/live/profile_live.ex:211
#, elixir-autogen, elixir-format
msgid "Visible reviews"
msgstr "Открытые отзывы"
@ -2284,8 +2278,8 @@ msgstr "Открытые отзывы"
msgid "Waiting for a nearby volunteer."
msgstr "Ожидаем помощника поблизости."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:350
#: lib/who_need_help_web/controllers/google_auth_controller.ex:436
#: lib/who_need_help_web/controllers/google_auth_controller.ex:349
#: lib/who_need_help_web/controllers/google_auth_controller.ex:435
#: lib/who_need_help_web/controllers/user_session_controller.ex:41
#: lib/who_need_help_web/controllers/user_session_controller.ex:65
#, elixir-autogen, elixir-format
@ -2407,7 +2401,7 @@ msgstr "Нельзя жаловаться на собственный конте
msgid "You cannot restrict your own moderator account."
msgstr "Вы не можете ограничить свою учетную запись модератора."
#: lib/who_need_help_web/live/profile_live.ex:346
#: lib/who_need_help_web/live/profile_live.ex:342
#, elixir-autogen, elixir-format
msgid "You have not blocked anyone."
msgstr "Вы никого не блокировали."
@ -2488,7 +2482,7 @@ msgstr "перед подтверждением."
msgid "by %{name}"
msgstr "автор: %{name}"
#: lib/who_need_help_web/live/profile_live.ex:194
#: lib/who_need_help_web/live/profile_live.ex:190
#: lib/who_need_help_web/live/public_profile_live.ex:133
#: lib/who_need_help_web/live/request_live/index.ex:606
#: lib/who_need_help_web/live/request_live/show.ex:1374
@ -2537,7 +2531,7 @@ msgstr "люди"
msgid "proximity supported"
msgstr "близость подтверждена"
#: lib/who_need_help_web/live/profile_live.ex:209
#: lib/who_need_help_web/live/profile_live.ex:205
#: lib/who_need_help_web/live/public_profile_live.ex:145
#: lib/who_need_help_web/live/request_live/show.ex:1382
#, elixir-autogen, elixir-format
@ -2559,7 +2553,7 @@ msgstr "страница почтового ящика"
msgid "to your account now."
msgstr "в свою учётную запись сейчас."
#: lib/who_need_help_web/live/profile_live.ex:199
#: lib/who_need_help_web/live/profile_live.ex:195
#: lib/who_need_help_web/live/public_profile_live.ex:137
#, elixir-autogen, elixir-format
msgid "unique people"
@ -2568,7 +2562,7 @@ msgstr "Уникальные люди"
#: lib/who_need_help_web/live/activity_live/show.ex:426
#: lib/who_need_help_web/live/activity_live/show.ex:641
#: lib/who_need_help_web/live/activity_live/show.ex:702
#: lib/who_need_help_web/live/profile_live.ex:290
#: lib/who_need_help_web/live/profile_live.ex:286
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/show.ex:1094
#: lib/who_need_help_web/live/request_live/show.ex:1477
@ -2584,7 +2578,7 @@ msgstr "срочно"
#: lib/who_need_help_web/live/activity_live/show.ex:425
#: lib/who_need_help_web/live/activity_live/show.ex:640
#: lib/who_need_help_web/live/activity_live/show.ex:701
#: lib/who_need_help_web/live/profile_live.ex:289
#: lib/who_need_help_web/live/profile_live.ex:285
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:614
#: lib/who_need_help_web/live/request_live/show.ex:1093
@ -2682,8 +2676,8 @@ msgstr "Загрузить предыдущие сообщения"
#: lib/who_need_help_web/live/moderation_live.ex:651
#: lib/who_need_help_web/live/moderation_live.ex:750
#: lib/who_need_help_web/live/product_analytics_live.ex:86
#: lib/who_need_help_web/live/profile_live.ex:237
#: lib/who_need_help_web/live/profile_live.ex:367
#: lib/who_need_help_web/live/profile_live.ex:233
#: lib/who_need_help_web/live/profile_live.ex:363
#: lib/who_need_help_web/live/public_profile_live.ex:178
#: lib/who_need_help_web/live/report_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:671
@ -2836,7 +2830,7 @@ msgstr "Слишком много запросов на смену email за н
msgid "A Google account is connected. You can use it to sign in."
msgstr "Аккаунт Google подключён. Теперь с его помощью можно входить."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:383
#: lib/who_need_help_web/controllers/google_auth_controller.ex:382
#, elixir-autogen, elixir-format
msgid "A different Google account is already connected."
msgstr "Уже подключён другой аккаунт Google."
@ -2866,13 +2860,13 @@ msgstr "Создать аккаунт и отправить ссылку на em
msgid "Email me a sign-in link"
msgstr "Отправить ссылку для входа на email"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:391
#: lib/who_need_help_web/controllers/google_auth_controller.ex:390
#, elixir-autogen, elixir-format
msgid "Google account connection session is invalid."
msgstr "Сессия подключения аккаунта Google недействительна."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:213
#: lib/who_need_help_web/controllers/google_auth_controller.ex:283
#: lib/who_need_help_web/controllers/google_auth_controller.ex:212
#: lib/who_need_help_web/controllers/google_auth_controller.ex:282
#, elixir-autogen, elixir-format
msgid "Google did not provide a verified email address."
msgstr "Google не предоставил подтверждённый адрес email."
@ -2882,38 +2876,38 @@ msgstr "Google не предоставил подтверждённый адре
msgid "Google sign-in"
msgstr "Вход через Google"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:373
#: lib/who_need_help_web/controllers/google_auth_controller.ex:372
#, elixir-autogen, elixir-format
msgid "Google sign-in connected."
msgstr "Вход через Google подключён."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:316
#: lib/who_need_help_web/controllers/google_auth_controller.ex:315
#, elixir-autogen, elixir-format
msgid "Google sign-in could not be started."
msgstr "Не удалось начать вход через Google."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:218
#: lib/who_need_help_web/controllers/google_auth_controller.ex:288
#: lib/who_need_help_web/controllers/google_auth_controller.ex:295
#: lib/who_need_help_web/controllers/google_auth_controller.ex:217
#: lib/who_need_help_web/controllers/google_auth_controller.ex:287
#: lib/who_need_help_web/controllers/google_auth_controller.ex:294
#, elixir-autogen, elixir-format
msgid "Google sign-in failed. Please try again."
msgstr "Не удалось войти через Google. Попробуйте ещё раз."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:321
#: lib/who_need_help_web/controllers/google_auth_controller.ex:320
#, elixir-autogen, elixir-format
msgid "Google sign-in is not configured yet."
msgstr "Вход через Google пока не настроен."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:88
#: lib/who_need_help_web/controllers/google_auth_controller.ex:203
#: lib/who_need_help_web/controllers/google_auth_controller.ex:273
#: lib/who_need_help_web/controllers/google_auth_controller.ex:530
#: lib/who_need_help_web/controllers/google_auth_controller.ex:87
#: lib/who_need_help_web/controllers/google_auth_controller.ex:202
#: lib/who_need_help_web/controllers/google_auth_controller.ex:272
#: lib/who_need_help_web/controllers/google_auth_controller.ex:529
#, elixir-autogen, elixir-format
msgid "Google sign-in session expired. Please start again."
msgstr "Сессия входа через Google истекла. Начните заново."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:207
#: lib/who_need_help_web/controllers/google_auth_controller.ex:277
#: lib/who_need_help_web/controllers/google_auth_controller.ex:206
#: lib/who_need_help_web/controllers/google_auth_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Google sign-in session is invalid."
msgstr "Сессия входа через Google недействительна."
@ -2933,18 +2927,18 @@ msgstr "Отправляем ссылку..."
msgid "Sign up with Google"
msgstr "Зарегистрироваться через Google"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:378
#: lib/who_need_help_web/controllers/google_auth_controller.ex:377
#, elixir-autogen, elixir-format
msgid "That Google account belongs to another local account."
msgstr "Этот аккаунт Google принадлежит другой локальной учётной записи."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:37
#: lib/who_need_help_web/controllers/google_auth_controller.ex:151
#: lib/who_need_help_web/controllers/google_auth_controller.ex:36
#: lib/who_need_help_web/controllers/google_auth_controller.ex:150
#, elixir-autogen, elixir-format
msgid "The Google registration form is invalid."
msgstr "Форма регистрации через Google заполнена неверно."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:536
#: lib/who_need_help_web/controllers/google_auth_controller.ex:535
#, elixir-autogen, elixir-format
msgid "This Google account cannot be used right now."
msgstr "Этот аккаунт Google сейчас нельзя использовать."
@ -2964,7 +2958,7 @@ msgstr "Войти по паролю"
msgid "We will send a one-time sign-in link. No password is required."
msgstr "Мы отправим одноразовую ссылку для входа. Пароль не требуется."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:106
#: lib/who_need_help_web/controllers/google_auth_controller.ex:105
#, elixir-autogen, elixir-format
msgid "Your account was created with Google."
msgstr "Ваша учётная запись создана через Google."
@ -2989,12 +2983,12 @@ msgstr "Отключить Google"
msgid "Disconnect Google sign-in from this account?"
msgstr "Отключить вход через Google для этой учётной записи?"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:52
#: lib/who_need_help_web/controllers/google_auth_controller.ex:51
#, elixir-autogen, elixir-format
msgid "Google sign-in disconnected."
msgstr "Вход через Google отключён."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:57
#: lib/who_need_help_web/controllers/google_auth_controller.ex:56
#, elixir-autogen, elixir-format
msgid "No Google account is connected."
msgstr "Аккаунт Google не подключён."
@ -3468,7 +3462,7 @@ msgid "Support operations"
msgstr "Рабочее место поддержки"
#: lib/who_need_help_web/components/layouts.ex:154
#: lib/who_need_help_web/components/layouts.ex:342
#: lib/who_need_help_web/components/layouts.ex:399
#, elixir-autogen, elixir-format
msgid "Support queue"
msgstr "Очередь поддержки"
@ -3986,7 +3980,7 @@ msgstr "Отменить и выбрать другой способ входа"
msgid "Confirm access once so nobody can attach Google to your account using only a matching email address."
msgstr "Один раз подтвердите доступ, чтобы никто не смог привязать Google к вашему аккаунту лишь по совпадающему email."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:492
#: lib/who_need_help_web/controllers/google_auth_controller.ex:491
#: lib/who_need_help_web/controllers/google_auth_html/complete.html.heex:10
#: lib/who_need_help_web/controllers/user_session_html/new.html.heex:82
#, elixir-autogen, elixir-format
@ -4043,8 +4037,8 @@ msgstr "Один раз войдите в %{email}, чтобы подключи
msgid "This email already has an account"
msgstr "Для этого email уже есть аккаунт"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:118
#: lib/who_need_help_web/controllers/google_auth_controller.ex:140
#: lib/who_need_help_web/controllers/google_auth_controller.ex:117
#: lib/who_need_help_web/controllers/google_auth_controller.ex:139
#, elixir-autogen, elixir-format
msgid "This email already has an account. Confirm it once to connect Google."
msgstr "Для этого email уже есть аккаунт. Один раз подтвердите его, чтобы подключить Google."
@ -4060,7 +4054,7 @@ msgstr "Использовать пароль"
msgid "Verified"
msgstr "Подтверждено"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:165
#: lib/who_need_help_web/controllers/google_auth_controller.ex:164
#, elixir-autogen, elixir-format
msgid "We sent a verification link to %{email}. Open it to finish connecting Google."
msgstr "Мы отправили ссылку для подтверждения на %{email}. Откройте её, чтобы завершить подключение Google."
@ -5186,7 +5180,7 @@ msgid "Nearby requests by email"
msgstr "Заявки поблизости по почте"
#: lib/who_need_help/notifications/email_notifier.ex:21
#: lib/who_need_help/notifications/text.ex:32
#: lib/who_need_help/notifications/text.ex:31
#, elixir-autogen, elixir-format
msgid "New help request nearby"
msgstr "Новая заявка на помощь поблизости"
@ -5239,7 +5233,7 @@ msgid "Notification text never contains chat messages or exact coordinates."
msgstr "Текст уведомления никогда не содержит сообщения из чата или точные координаты."
#: lib/who_need_help_web/components/layouts.ex:133
#: lib/who_need_help_web/components/layouts.ex:321
#: lib/who_need_help_web/components/layouts.ex:378
#: lib/who_need_help_web/live/notification_live.ex:15
#: lib/who_need_help_web/live/notification_live.ex:225
#, elixir-autogen, elixir-format
@ -5252,7 +5246,7 @@ msgid "Notifications and nearby alerts"
msgstr "Уведомления и помощь поблизости"
#: lib/who_need_help_web/components/layouts.ex:148
#: lib/who_need_help_web/components/layouts.ex:336
#: lib/who_need_help_web/components/layouts.ex:393
#, elixir-autogen, elixir-format
msgid "Operations"
msgstr "Операции"
@ -5409,7 +5403,7 @@ msgstr "Заявка не связана с аккаунтом."
msgid "The saved center is private and is used only to find matching requests."
msgstr "Сохранённый центр скрыт и используется только для поиска подходящих заявок."
#: lib/who_need_help_web/live/profile_live.ex:187
#: lib/who_need_help_web/live/profile_live.ex:183
#: lib/who_need_help_web/live/public_profile_live.ex:126
#, elixir-autogen, elixir-format
msgid "These are activity signals, not an identity, background, qualification, or safety check."
@ -5487,7 +5481,7 @@ msgstr "Браузер запросит разрешение на уведомл
msgid "Your nearby alerts"
msgstr "Ваши уведомления поблизости"
#: lib/who_need_help_web/live/profile_live.ex:204
#: lib/who_need_help_web/live/profile_live.ex:200
#: lib/who_need_help_web/live/public_profile_live.ex:141
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
@ -5774,7 +5768,7 @@ msgid "Support request received"
msgstr "Обращение в поддержку получено"
#: lib/who_need_help_web/components/layouts.ex:139
#: lib/who_need_help_web/components/layouts.ex:327
#: lib/who_need_help_web/components/layouts.ex:384
#, elixir-autogen, elixir-format
msgid "Support requests"
msgstr "Обращения в поддержку"
@ -5916,7 +5910,7 @@ msgid "Your original request"
msgstr "Ваше исходное обращение"
#: lib/who_need_help_web/components/layouts.ex:136
#: lib/who_need_help_web/components/layouts.ex:324
#: lib/who_need_help_web/components/layouts.ex:381
#: lib/who_need_help_web/live/report_live.ex:12
#: lib/who_need_help_web/live/report_live.ex:42
#, elixir-autogen, elixir-format
@ -5938,137 +5932,137 @@ msgstr "сообщение согласованного чата"
msgid "matched conversation"
msgstr "согласованный чат"
#: lib/who_need_help/notifications/text.ex:39
#: lib/who_need_help/notifications/text.ex:38
#, elixir-autogen, elixir-format
msgid "A helper responded"
msgstr "Помощник откликнулся"
#: lib/who_need_help/notifications/text.ex:33
#: lib/who_need_help/notifications/text.ex:32
#, elixir-autogen, elixir-format
msgid "A request matching one of your nearby-help alerts is available."
msgstr "Появилась заявка, соответствующая одной из ваших подписок поблизости."
#: lib/who_need_help/notifications/text.ex:102
#: lib/who_need_help/notifications/text.ex:101
#, elixir-autogen, elixir-format
msgid "Both participants confirmed completion and the handover was verified."
msgstr "Оба участника подтвердили завершение, а передача была проверена."
#: lib/who_need_help/notifications/text.ex:116
#: lib/who_need_help/notifications/text.ex:115
#, elixir-autogen, elixir-format
msgid "Both participants submitted a review. Open Who Need Help to see it."
msgstr "Оба участника оставили отзывы. Откройте Who Need Help, чтобы посмотреть их."
#: lib/who_need_help/notifications/text.ex:94
#: lib/who_need_help/notifications/text.ex:93
#, elixir-autogen, elixir-format
msgid "Handover code verified"
msgstr "Код передачи подтверждён"
#: lib/who_need_help/notifications/text.ex:101
#: lib/who_need_help/notifications/text.ex:100
#, elixir-autogen, elixir-format
msgid "Help completed"
msgstr "Помощь завершена"
#: lib/who_need_help/notifications/text.ex:108
#: lib/who_need_help/notifications/text.ex:107
#, elixir-autogen, elixir-format
msgid "New message"
msgstr "Новое сообщение"
#: lib/who_need_help/notifications/text.ex:88
#: lib/who_need_help/notifications/text.ex:87
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to coordinate the handover safely."
msgstr "Откройте Who Need Help, чтобы безопасно согласовать передачу."
#: lib/who_need_help/notifications/text.ex:81
#: lib/who_need_help/notifications/text.ex:80
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to follow the request status."
msgstr "Откройте Who Need Help, чтобы следить за статусом заявки."
#: lib/who_need_help/notifications/text.ex:109
#: lib/who_need_help/notifications/text.ex:108
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to read the conversation."
msgstr "Откройте Who Need Help, чтобы прочитать переписку."
#: lib/who_need_help/notifications/text.ex:74
#: lib/who_need_help/notifications/text.ex:73
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest request status."
msgstr "Откройте Who Need Help, чтобы посмотреть текущий статус заявки."
#: lib/who_need_help/notifications/text.ex:133
#: lib/who_need_help/notifications/text.ex:132
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest update."
msgstr "Откройте Who Need Help, чтобы посмотреть последнее обновление."
#: lib/who_need_help/notifications/text.ex:40
#: lib/who_need_help/notifications/text.ex:39
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to see the request update."
msgstr "Откройте Who Need Help, чтобы посмотреть обновление заявки."
#: lib/who_need_help/notifications/text.ex:56
#: lib/who_need_help/notifications/text.ex:55
#, elixir-autogen, elixir-format
msgid "Request cancelled"
msgstr "Заявка отменена"
#: lib/who_need_help/notifications/text.ex:66
#: lib/who_need_help/notifications/text.ex:65
#, elixir-autogen, elixir-format
msgid "Request closed after the helper withdrew"
msgstr "Заявка закрыта после отказа помощника"
#: lib/who_need_help/notifications/text.ex:73
#: lib/who_need_help/notifications/text.ex:72
#, elixir-autogen, elixir-format
msgid "Request updated"
msgstr "Заявка обновлена"
#: lib/who_need_help/notifications/text.ex:132
#: lib/who_need_help/notifications/text.ex:131
#, elixir-autogen, elixir-format
msgid "Support request updated"
msgstr "Обращение в поддержку обновлено"
#: lib/who_need_help/notifications/text.ex:95
#: lib/who_need_help/notifications/text.ex:94
#, elixir-autogen, elixir-format
msgid "The helper verified the one-time handover code."
msgstr "Помощник проверил одноразовый код передачи."
#: lib/who_need_help/notifications/text.ex:67
#: lib/who_need_help/notifications/text.ex:66
#, elixir-autogen, elixir-format
msgid "The helper withdrew after the request expired, so it was not reopened."
msgstr "Помощник отказался после истечения срока заявки, поэтому она не была открыта повторно."
#: lib/who_need_help/notifications/text.ex:126
#: lib/who_need_help/notifications/text.ex:125
#, elixir-autogen, elixir-format
msgid "The latest moderation status is %{status}."
msgstr "Текущий статус модерации: %{status}."
#: lib/who_need_help/notifications/text.ex:47
#: lib/who_need_help/notifications/text.ex:46
#, elixir-autogen, elixir-format
msgid "The previous helper withdrew, so the request is open again."
msgstr "Предыдущий помощник отказался, поэтому заявка снова открыта."
#: lib/who_need_help/notifications/text.ex:57
#: lib/who_need_help/notifications/text.ex:56
#, elixir-autogen, elixir-format
msgid "The requester cancelled this request. Open Who Need Help for details."
msgstr "Заказчик отменил заявку. Откройте Who Need Help, чтобы узнать подробности."
#: lib/who_need_help/notifications/text.ex:87
#: lib/who_need_help/notifications/text.ex:86
#, elixir-autogen, elixir-format
msgid "Your helper arrived"
msgstr "Ваш помощник прибыл"
#: lib/who_need_help/notifications/text.ex:80
#: lib/who_need_help/notifications/text.ex:79
#, elixir-autogen, elixir-format
msgid "Your helper started"
msgstr "Ваш помощник начал выполнять заявку"
#: lib/who_need_help/notifications/text.ex:125
#: lib/who_need_help/notifications/text.ex:124
#, elixir-autogen, elixir-format
msgid "Your report was updated"
msgstr "Ваша жалоба обновлена"
#: lib/who_need_help/notifications/text.ex:46
#: lib/who_need_help/notifications/text.ex:45
#, elixir-autogen, elixir-format
msgid "Your request needs a new helper"
msgstr "Вашей заявке нужен новый помощник"
#: lib/who_need_help/notifications/text.ex:115
#: lib/who_need_help/notifications/text.ex:114
#, elixir-autogen, elixir-format
msgid "Your review is now visible"
msgstr "Теперь ваш отзыв виден"
@ -6697,3 +6691,34 @@ msgstr "Что вы предлагаете?"
#, elixir-autogen, elixir-format
msgid "Where should it appear?"
msgstr "Где это должно появиться?"
#: lib/who_need_help_web/components/layouts.ex:304
#, elixir-autogen, elixir-format
msgid "Available languages"
msgstr "Доступные языки"
#: lib/who_need_help_web/components/layouts.ex:283
#, elixir-autogen, elixir-format
msgid "Choose the language used in the interface."
msgstr "Выберите язык интерфейса."
#: lib/who_need_help_web/components/layouts.ex:281
#, elixir-autogen, elixir-format
msgid "Language"
msgstr "Язык"
#: lib/who_need_help_web/components/layouts.ex:270
#, elixir-autogen, elixir-format
msgid "Language: %{language}"
msgstr "Язык: %{language}"
#: lib/who_need_help_web/components/layouts.ex:341
#, elixir-autogen, elixir-format
msgid "No languages found"
msgstr "Языки не найдены"
#: lib/who_need_help_web/components/layouts.ex:293
#: lib/who_need_help_web/components/layouts.ex:294
#, elixir-autogen, elixir-format
msgid "Search languages"
msgstr "Поиск языков"

View File

@ -12,7 +12,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100 != 11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10||n%100>=20) ? 1 : 2);\n"
#: lib/who_need_help_web/components/layouts.ex:142
#: lib/who_need_help_web/components/layouts.ex:330
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/controllers/user_settings_controller.ex:115
#, elixir-autogen, elixir-format
msgid "Account settings"
@ -30,8 +30,8 @@ msgstr "Дії"
msgid "Ask for help"
msgstr "Попросити допомоги"
#: lib/who_need_help_web/components/layouts.ex:380
#: lib/who_need_help_web/components/layouts.ex:395
#: lib/who_need_help_web/components/layouts.ex:437
#: lib/who_need_help_web/components/layouts.ex:452
#, elixir-autogen, elixir-format
msgid "Attempting to reconnect"
msgstr "Спроба повторного з’єднання"
@ -52,13 +52,13 @@ msgid "Log in"
msgstr "Вхід"
#: lib/who_need_help_web/components/layouts.ex:157
#: lib/who_need_help_web/components/layouts.ex:345
#: lib/who_need_help_web/components/layouts.ex:402
#, elixir-autogen, elixir-format
msgid "Log out"
msgstr "Вийти"
#: lib/who_need_help_web/components/layouts.ex:130
#: lib/who_need_help_web/components/layouts.ex:318
#: lib/who_need_help_web/components/layouts.ex:375
#: lib/who_need_help_web/live/profile_live.ex:16
#, elixir-autogen, elixir-format
msgid "Profile"
@ -76,12 +76,12 @@ msgstr "Зареєструватися"
msgid "Requests"
msgstr "Запити"
#: lib/who_need_help_web/components/layouts.ex:387
#: lib/who_need_help_web/components/layouts.ex:444
#, elixir-autogen, elixir-format
msgid "Something went wrong!"
msgstr "Щось пішло не так!"
#: lib/who_need_help_web/components/layouts.ex:372
#: lib/who_need_help_web/components/layouts.ex:429
#, elixir-autogen, elixir-format
msgid "We can't find the internet"
msgstr "Немає з’єднання з інтернетом"
@ -162,7 +162,6 @@ msgid "Account Settings"
msgstr "Параметри облікового запису"
#: lib/who_need_help_web/components/layouts.ex:73
#: lib/who_need_help_web/components/layouts.ex:252
#, elixir-autogen, elixir-format
msgid "Account and language"
msgstr "Акаунт і мова"
@ -233,7 +232,7 @@ msgstr "Активність відновлено."
msgid "Activity type"
msgstr "Тип активності"
#: lib/who_need_help_web/live/profile_live.ex:338
#: lib/who_need_help_web/live/profile_live.ex:334
#, elixir-autogen, elixir-format
msgid "Add unverified link"
msgstr "Додати непідтверджене посилання"
@ -301,7 +300,7 @@ msgstr "Орієнтовний район"
msgid "Approximate public meeting area"
msgstr "Орієнтовний публічний район зустрічі"
#: lib/who_need_help_web/live/profile_live.ex:167
#: lib/who_need_help_web/live/profile_live.ex:163
#: lib/who_need_help_web/live/request_live/show.ex:996
#, elixir-autogen, elixir-format
msgid "Approximate publicly"
@ -347,7 +346,7 @@ msgstr "Заблокувати організатора"
msgid "Block this user"
msgstr "Заблокувати користувача"
#: lib/who_need_help_web/live/profile_live.ex:344
#: lib/who_need_help_web/live/profile_live.ex:340
#, elixir-autogen, elixir-format
msgid "Blocked users"
msgstr "Заблоковані користувачі"
@ -621,7 +620,7 @@ msgstr ""
msgid "Decline"
msgstr "Відхилити"
#: lib/who_need_help_web/live/profile_live.ex:164
#: lib/who_need_help_web/live/profile_live.ex:160
#, elixir-autogen, elixir-format
msgid "Default location visibility"
msgstr "Типова видимість геопозиції"
@ -632,7 +631,7 @@ msgid "Describe the public plan, approximate duration, and who might enjoy it."
msgstr ""
"Опишіть публічний план, приблизну тривалість і кому він може бути цікавим."
#: lib/who_need_help/notifications/text.ex:144
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help_web/live/moderation_live.ex:261
#: lib/who_need_help_web/live/moderation_live.ex:447
#: lib/who_need_help_web/live/moderation_live.ex:529
@ -696,11 +695,6 @@ msgstr ""
"Перевіряйте історію людини, унікальні взаємодії, підтвердження передачі та "
"відкриті відгуки й зустрічайтеся лише там, де почуваєтеся безпечно."
#: lib/who_need_help_web/live/profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Англійська"
#: lib/who_need_help_web/live/moderation_live.ex:591
#, elixir-autogen, elixir-format
msgid "English description"
@ -726,7 +720,7 @@ msgstr "Точна адреса після призначення помічни
msgid "Exact coordinates are shown only to participants you approve."
msgstr "Точні координати показуються лише схваленим вами учасникам."
#: lib/who_need_help_web/live/profile_live.ex:168
#: lib/who_need_help_web/live/profile_live.ex:164
#, elixir-autogen, elixir-format
msgid "Exact for active match"
msgstr "Точно — для активної заявки"
@ -736,7 +730,7 @@ msgstr "Точно — для активної заявки"
msgid "Exact only for active match"
msgstr "Точно лише для активної заявки"
#: lib/who_need_help_web/live/profile_live.ex:169
#: lib/who_need_help_web/live/profile_live.ex:165
#: lib/who_need_help_web/live/request_live/show.ex:999
#, elixir-autogen, elixir-format
msgid "Exact publicly"
@ -775,7 +769,7 @@ msgstr "Безкоштовна допомога й подяка"
msgid "GitHub profile verified."
msgstr "Профіль GitHub підтверджено."
#: lib/who_need_help_web/live/profile_live.ex:266
#: lib/who_need_help_web/live/profile_live.ex:262
#, elixir-autogen, elixir-format
msgid "GitHub verification is unavailable until the operator configures its OAuth credentials. No manually entered link is treated as verified."
msgstr ""
@ -787,7 +781,7 @@ msgstr ""
msgid "HANDOVER CODE FOR THE HELPER"
msgstr "КОД ПЕРЕДАЧІ ДЛЯ ПОМІЧНИКА"
#: lib/who_need_help_web/live/profile_live.ex:335
#: lib/who_need_help_web/live/profile_live.ex:331
#, elixir-autogen, elixir-format
msgid "Handle (optional)"
msgstr "Ім’я користувача (необов’язково)"
@ -871,7 +865,7 @@ msgstr ""
"Якщо ви не запитували цей лист, просто проігноруйте його."
#: lib/who_need_help_web/live/activity_live/new.ex:306
#: lib/who_need_help_web/live/profile_live.ex:166
#: lib/who_need_help_web/live/profile_live.ex:162
#: lib/who_need_help_web/live/request_live/show.ex:997
#, elixir-autogen, elixir-format
msgid "Hidden"
@ -1064,7 +1058,7 @@ msgstr "Ідентифікатор основного сеансу Codex"
msgid "Manage your account email address and password settings"
msgstr "Керуйте електронною поштою та паролем облікового запису"
#: lib/who_need_help_web/live/profile_live.ex:248
#: lib/who_need_help_web/live/profile_live.ex:244
#, elixir-autogen, elixir-format
msgid "Manually added links are public and marked unverified. A verified badge is only granted after completing a provider authorization flow."
msgstr ""
@ -1146,7 +1140,7 @@ msgid "Message the approved group"
msgstr "Надіслати повідомлення схваленій групі"
#: lib/who_need_help_web/components/layouts.ex:151
#: lib/who_need_help_web/components/layouts.ex:339
#: lib/who_need_help_web/components/layouts.ex:396
#: lib/who_need_help_web/live/moderation_live.ex:9
#: lib/who_need_help_web/live/moderation_live.ex:329
#, elixir-autogen, elixir-format
@ -1181,7 +1175,7 @@ msgstr "Допомога поруч"
msgid "Need roadside help in a safe location"
msgstr "Потрібна допомога на узбіччі дороги"
#: lib/who_need_help_web/live/profile_live.ex:317
#: lib/who_need_help_web/live/profile_live.ex:313
#, elixir-autogen, elixir-format
msgid "Network"
msgstr "Мережа"
@ -1230,12 +1224,12 @@ msgstr "Пропозицій ще немає."
msgid "No reports."
msgstr "Скарг немає."
#: lib/who_need_help_web/live/profile_live.ex:274
#: lib/who_need_help_web/live/profile_live.ex:270
#, elixir-autogen, elixir-format
msgid "No social links added."
msgstr "Не додано соціальних посилань."
#: lib/who_need_help_web/live/profile_live.ex:217
#: lib/who_need_help_web/live/profile_live.ex:213
#: lib/who_need_help_web/live/public_profile_live.ex:156
#, elixir-autogen, elixir-format
msgid "None revealed yet."
@ -1281,7 +1275,7 @@ msgstr ""
"Тільки організатор і схвалені учасники можуть читати або надсилати ці "
"повідомлення."
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help/notifications/text.ex:140
#: lib/who_need_help_web/controllers/content_removal_html.ex:21
#: lib/who_need_help_web/controllers/support_html.ex:16
#: lib/who_need_help_web/live/activity_live/index.ex:314
@ -1307,7 +1301,7 @@ msgstr "Відкриті сигнали про зловживання"
msgid "Open proposals"
msgstr "Відкриті пропозиції"
#: lib/who_need_help_web/live/profile_live.ex:174
#: lib/who_need_help_web/live/profile_live.ex:170
#, elixir-autogen, elixir-format
msgid "Optional external thank-you link"
msgstr "Необов’язкове зовнішнє посилання для подяки"
@ -1344,7 +1338,7 @@ msgstr "Посилання організатора на соцмережі"
#: lib/who_need_help_web/controllers/support_html/new.html.heex:38
#: lib/who_need_help_web/live/activity_live/show.ex:750
#: lib/who_need_help_web/live/moderation_live.ex:255
#: lib/who_need_help_web/live/profile_live.ex:324
#: lib/who_need_help_web/live/profile_live.ex:320
#: lib/who_need_help_web/live/public_profile_live.ex:53
#: lib/who_need_help_web/live/report_live.ex:116
#: lib/who_need_help_web/live/request_live/show.ex:983
@ -1486,12 +1480,12 @@ msgstr ""
msgid "Public map visibility"
msgstr "Видимість на публічній мапі"
#: lib/who_need_help_web/live/profile_live.ex:330
#: lib/who_need_help_web/live/profile_live.ex:326
#, elixir-autogen, elixir-format
msgid "Public profile URL"
msgstr "URL публічного профілю"
#: lib/who_need_help_web/live/profile_live.ex:185
#: lib/who_need_help_web/live/profile_live.ex:181
#: lib/who_need_help_web/live/public_profile_live.ex:124
#, elixir-autogen, elixir-format
msgid "Public reputation"
@ -1578,7 +1572,7 @@ msgstr "Відхилити"
msgid "Rejection note"
msgstr "Примітка про відхилення"
#: lib/who_need_help_web/live/profile_live.ex:308
#: lib/who_need_help_web/live/profile_live.ex:304
#, elixir-autogen, elixir-format
msgid "Remove"
msgstr "Вилучити"
@ -1666,7 +1660,7 @@ msgstr "Автор заявки: %{count} завершено"
msgid "Resolution note"
msgstr "Примітка до рішення"
#: lib/who_need_help/notifications/text.ex:143
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help_web/controllers/support_html.ex:19
#: lib/who_need_help_web/live/moderation_live.ex:260
#: lib/who_need_help_web/live/moderation_live.ex:446
@ -1701,7 +1695,7 @@ msgstr ""
msgid "Reviewed"
msgstr "Перевірено"
#: lib/who_need_help/notifications/text.ex:142
#: lib/who_need_help/notifications/text.ex:141
#: lib/who_need_help_web/controllers/content_removal_html.ex:23
#: lib/who_need_help_web/controllers/support_html.ex:17
#: lib/who_need_help_web/live/moderation_live.ex:259
@ -1761,7 +1755,7 @@ msgstr "Зберегти"
msgid "Save Password"
msgstr "Зберегти пароль"
#: lib/who_need_help_web/live/profile_live.ex:180
#: lib/who_need_help_web/live/profile_live.ex:176
#, elixir-autogen, elixir-format
msgid "Save profile"
msgstr "Зберегти профіль"
@ -1860,7 +1854,7 @@ msgstr "Посилання на соцмережу додано як непід
msgid "Social link was not found."
msgstr "Посилання на соцмережу не знайдено."
#: lib/who_need_help_web/live/profile_live.ex:246
#: lib/who_need_help_web/live/profile_live.ex:242
#, elixir-autogen, elixir-format
msgid "Social links"
msgstr "Соціальні посилання"
@ -1996,7 +1990,7 @@ msgid "The pharmacy closes soon and I cannot leave home. The item is already pai
msgstr ""
"Аптека скоро зачиняється, а я не можу вийти з дому. Товар уже оплачено."
#: lib/who_need_help_web/live/profile_live.ex:178
#: lib/who_need_help_web/live/profile_live.ex:174
#, elixir-autogen, elixir-format
msgid "The platform never handles, requires, splits, or guarantees a payment."
msgstr ""
@ -2113,7 +2107,7 @@ msgstr "Сьогодні"
msgid "Too many actions in the configured time window."
msgstr "Забагато дій протягом налаштованого проміжку часу."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:126
#: lib/who_need_help_web/controllers/google_auth_controller.ex:125
#: lib/who_need_help_web/controllers/user_registration_controller.ex:61
#, elixir-autogen, elixir-format
msgid "Too many registration attempts in the configured time window."
@ -2124,7 +2118,7 @@ msgstr "Забагато спроб реєстрації протягом нал
msgid "Too many requests in the configured time window."
msgstr "Забагато запитів протягом налаштованого проміжку часу."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:176
#: lib/who_need_help_web/controllers/google_auth_controller.ex:175
#: lib/who_need_help_web/controllers/user_session_controller.ex:117
#, elixir-autogen, elixir-format
msgid "Too many sign-in emails in the configured time window."
@ -2150,7 +2144,7 @@ msgstr "Опис українською (необов’язково)"
msgid "Ukrainian name (optional)"
msgstr "Назва українською (необов’язково)"
#: lib/who_need_help_web/live/profile_live.ex:358
#: lib/who_need_help_web/live/profile_live.ex:354
#, elixir-autogen, elixir-format
msgid "Unblock"
msgstr "Розблокувати"
@ -2190,12 +2184,12 @@ msgstr ""
"Призначайте першу зустріч у громадському місці. Не публікуйте домашню "
"адресу, код доступу, документ для подорожі чи іншу чутливу інформацію."
#: lib/who_need_help_web/components/layouts.ex:434
#: lib/who_need_help_web/components/layouts.ex:491
#, elixir-autogen, elixir-format
msgid "Use dark theme"
msgstr "Увімкнути темну тему"
#: lib/who_need_help_web/components/layouts.ex:425
#: lib/who_need_help_web/components/layouts.ex:482
#, elixir-autogen, elixir-format
msgid "Use light theme"
msgstr "Увімкнути світлу тему"
@ -2212,7 +2206,7 @@ msgstr ""
"Користуйтеся приватним чатом і, за бажанням, передаванням геопозиції в "
"реальному часі."
#: lib/who_need_help_web/components/layouts.ex:416
#: lib/who_need_help_web/components/layouts.ex:473
#, elixir-autogen, elixir-format
msgid "Use system theme"
msgstr "Використати системну тему"
@ -2250,7 +2244,7 @@ msgstr "Статус користувача оновлено."
msgid "User unblocked."
msgstr "Користувача розблоковано."
#: lib/who_need_help_web/live/profile_live.ex:258
#: lib/who_need_help_web/live/profile_live.ex:254
#, elixir-autogen, elixir-format
msgid "Verify GitHub"
msgstr "Підтвердити через GitHub"
@ -2270,7 +2264,7 @@ msgstr "Підтвердьте передачу"
msgid "View scoped evidence"
msgstr "Переглянути пов’язані докази"
#: lib/who_need_help_web/live/profile_live.ex:215
#: lib/who_need_help_web/live/profile_live.ex:211
#, elixir-autogen, elixir-format
msgid "Visible reviews"
msgstr "Відкриті відгуки"
@ -2280,8 +2274,8 @@ msgstr "Відкриті відгуки"
msgid "Waiting for a nearby volunteer."
msgstr "Очікуємо помічника поруч."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:350
#: lib/who_need_help_web/controllers/google_auth_controller.ex:436
#: lib/who_need_help_web/controllers/google_auth_controller.ex:349
#: lib/who_need_help_web/controllers/google_auth_controller.ex:435
#: lib/who_need_help_web/controllers/user_session_controller.ex:41
#: lib/who_need_help_web/controllers/user_session_controller.ex:65
#, elixir-autogen, elixir-format
@ -2402,7 +2396,7 @@ msgstr "Не можна скаржитися на власний вміст."
msgid "You cannot restrict your own moderator account."
msgstr "Не можна обмежити власний обліковий запис модератора."
#: lib/who_need_help_web/live/profile_live.ex:346
#: lib/who_need_help_web/live/profile_live.ex:342
#, elixir-autogen, elixir-format
msgid "You have not blocked anyone."
msgstr "Ви нікого не заблокували."
@ -2482,7 +2476,7 @@ msgstr "перед підтвердженням."
msgid "by %{name}"
msgstr "автор: %{name}"
#: lib/who_need_help_web/live/profile_live.ex:194
#: lib/who_need_help_web/live/profile_live.ex:190
#: lib/who_need_help_web/live/public_profile_live.ex:133
#: lib/who_need_help_web/live/request_live/index.ex:606
#: lib/who_need_help_web/live/request_live/show.ex:1374
@ -2531,7 +2525,7 @@ msgstr "люди"
msgid "proximity supported"
msgstr "близькість підтверджено"
#: lib/who_need_help_web/live/profile_live.ex:209
#: lib/who_need_help_web/live/profile_live.ex:205
#: lib/who_need_help_web/live/public_profile_live.ex:145
#: lib/who_need_help_web/live/request_live/show.ex:1382
#, elixir-autogen, elixir-format
@ -2553,7 +2547,7 @@ msgstr "сторінка поштової скриньки"
msgid "to your account now."
msgstr "до свого облікового запису зараз."
#: lib/who_need_help_web/live/profile_live.ex:199
#: lib/who_need_help_web/live/profile_live.ex:195
#: lib/who_need_help_web/live/public_profile_live.ex:137
#, elixir-autogen, elixir-format
msgid "unique people"
@ -2562,7 +2556,7 @@ msgstr "унікальні люди"
#: lib/who_need_help_web/live/activity_live/show.ex:426
#: lib/who_need_help_web/live/activity_live/show.ex:641
#: lib/who_need_help_web/live/activity_live/show.ex:702
#: lib/who_need_help_web/live/profile_live.ex:290
#: lib/who_need_help_web/live/profile_live.ex:286
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/show.ex:1094
#: lib/who_need_help_web/live/request_live/show.ex:1477
@ -2578,7 +2572,7 @@ msgstr "терміново"
#: lib/who_need_help_web/live/activity_live/show.ex:425
#: lib/who_need_help_web/live/activity_live/show.ex:640
#: lib/who_need_help_web/live/activity_live/show.ex:701
#: lib/who_need_help_web/live/profile_live.ex:289
#: lib/who_need_help_web/live/profile_live.ex:285
#: lib/who_need_help_web/live/public_profile_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:614
#: lib/who_need_help_web/live/request_live/show.ex:1093
@ -2676,8 +2670,8 @@ msgstr "Завантажити попередні повідомлення"
#: lib/who_need_help_web/live/moderation_live.ex:651
#: lib/who_need_help_web/live/moderation_live.ex:750
#: lib/who_need_help_web/live/product_analytics_live.ex:86
#: lib/who_need_help_web/live/profile_live.ex:237
#: lib/who_need_help_web/live/profile_live.ex:367
#: lib/who_need_help_web/live/profile_live.ex:233
#: lib/who_need_help_web/live/profile_live.ex:363
#: lib/who_need_help_web/live/public_profile_live.ex:178
#: lib/who_need_help_web/live/report_live.ex:98
#: lib/who_need_help_web/live/request_live/index.ex:671
@ -2830,7 +2824,7 @@ msgstr "Забагато запитів на зміну email протягом
msgid "A Google account is connected. You can use it to sign in."
msgstr "Обліковий запис Google підключено. Тепер за його допомогою можна входити."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:383
#: lib/who_need_help_web/controllers/google_auth_controller.ex:382
#, elixir-autogen, elixir-format
msgid "A different Google account is already connected."
msgstr "Уже підключено інший обліковий запис Google."
@ -2860,13 +2854,13 @@ msgstr "Створити обліковий запис і надіслати п
msgid "Email me a sign-in link"
msgstr "Надіслати посилання для входу на email"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:391
#: lib/who_need_help_web/controllers/google_auth_controller.ex:390
#, elixir-autogen, elixir-format
msgid "Google account connection session is invalid."
msgstr "Сесія підключення облікового запису Google недійсна."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:213
#: lib/who_need_help_web/controllers/google_auth_controller.ex:283
#: lib/who_need_help_web/controllers/google_auth_controller.ex:212
#: lib/who_need_help_web/controllers/google_auth_controller.ex:282
#, elixir-autogen, elixir-format
msgid "Google did not provide a verified email address."
msgstr "Google не надав підтверджену адресу email."
@ -2876,38 +2870,38 @@ msgstr "Google не надав підтверджену адресу email."
msgid "Google sign-in"
msgstr "Вхід через Google"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:373
#: lib/who_need_help_web/controllers/google_auth_controller.ex:372
#, elixir-autogen, elixir-format
msgid "Google sign-in connected."
msgstr "Вхід через Google підключено."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:316
#: lib/who_need_help_web/controllers/google_auth_controller.ex:315
#, elixir-autogen, elixir-format
msgid "Google sign-in could not be started."
msgstr "Не вдалося розпочати вхід через Google."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:218
#: lib/who_need_help_web/controllers/google_auth_controller.ex:288
#: lib/who_need_help_web/controllers/google_auth_controller.ex:295
#: lib/who_need_help_web/controllers/google_auth_controller.ex:217
#: lib/who_need_help_web/controllers/google_auth_controller.ex:287
#: lib/who_need_help_web/controllers/google_auth_controller.ex:294
#, elixir-autogen, elixir-format
msgid "Google sign-in failed. Please try again."
msgstr "Не вдалося увійти через Google. Спробуйте ще раз."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:321
#: lib/who_need_help_web/controllers/google_auth_controller.ex:320
#, elixir-autogen, elixir-format
msgid "Google sign-in is not configured yet."
msgstr "Вхід через Google ще не налаштовано."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:88
#: lib/who_need_help_web/controllers/google_auth_controller.ex:203
#: lib/who_need_help_web/controllers/google_auth_controller.ex:273
#: lib/who_need_help_web/controllers/google_auth_controller.ex:530
#: lib/who_need_help_web/controllers/google_auth_controller.ex:87
#: lib/who_need_help_web/controllers/google_auth_controller.ex:202
#: lib/who_need_help_web/controllers/google_auth_controller.ex:272
#: lib/who_need_help_web/controllers/google_auth_controller.ex:529
#, elixir-autogen, elixir-format
msgid "Google sign-in session expired. Please start again."
msgstr "Сесія входу через Google завершилася. Почніть заново."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:207
#: lib/who_need_help_web/controllers/google_auth_controller.ex:277
#: lib/who_need_help_web/controllers/google_auth_controller.ex:206
#: lib/who_need_help_web/controllers/google_auth_controller.ex:276
#, elixir-autogen, elixir-format
msgid "Google sign-in session is invalid."
msgstr "Сесія входу через Google недійсна."
@ -2927,18 +2921,18 @@ msgstr "Надсилаємо посилання..."
msgid "Sign up with Google"
msgstr "Зареєструватися через Google"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:378
#: lib/who_need_help_web/controllers/google_auth_controller.ex:377
#, elixir-autogen, elixir-format
msgid "That Google account belongs to another local account."
msgstr "Цей обліковий запис Google належить іншому локальному обліковому запису."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:37
#: lib/who_need_help_web/controllers/google_auth_controller.ex:151
#: lib/who_need_help_web/controllers/google_auth_controller.ex:36
#: lib/who_need_help_web/controllers/google_auth_controller.ex:150
#, elixir-autogen, elixir-format
msgid "The Google registration form is invalid."
msgstr "Форму реєстрації через Google заповнено неправильно."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:536
#: lib/who_need_help_web/controllers/google_auth_controller.ex:535
#, elixir-autogen, elixir-format
msgid "This Google account cannot be used right now."
msgstr "Цей обліковий запис Google зараз не можна використовувати."
@ -2958,7 +2952,7 @@ msgstr "Увійти за паролем"
msgid "We will send a one-time sign-in link. No password is required."
msgstr "Ми надішлемо одноразове посилання для входу. Пароль не потрібен."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:106
#: lib/who_need_help_web/controllers/google_auth_controller.ex:105
#, elixir-autogen, elixir-format
msgid "Your account was created with Google."
msgstr "Ваш обліковий запис створено через Google."
@ -2983,12 +2977,12 @@ msgstr "Відключити Google"
msgid "Disconnect Google sign-in from this account?"
msgstr "Відключити вхід через Google для цього облікового запису?"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:52
#: lib/who_need_help_web/controllers/google_auth_controller.ex:51
#, elixir-autogen, elixir-format
msgid "Google sign-in disconnected."
msgstr "Вхід через Google відключено."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:57
#: lib/who_need_help_web/controllers/google_auth_controller.ex:56
#, elixir-autogen, elixir-format
msgid "No Google account is connected."
msgstr "Обліковий запис Google не підключено."
@ -3462,7 +3456,7 @@ msgid "Support operations"
msgstr "Робоче місце підтримки"
#: lib/who_need_help_web/components/layouts.ex:154
#: lib/who_need_help_web/components/layouts.ex:342
#: lib/who_need_help_web/components/layouts.ex:399
#, elixir-autogen, elixir-format
msgid "Support queue"
msgstr "Черга підтримки"
@ -3980,7 +3974,7 @@ msgstr "Скасувати й вибрати інший спосіб входу"
msgid "Confirm access once so nobody can attach Google to your account using only a matching email address."
msgstr "Один раз підтвердьте доступ, щоб ніхто не зміг прив’язати Google до вашого облікового запису лише за збігом email."
#: lib/who_need_help_web/controllers/google_auth_controller.ex:492
#: lib/who_need_help_web/controllers/google_auth_controller.ex:491
#: lib/who_need_help_web/controllers/google_auth_html/complete.html.heex:10
#: lib/who_need_help_web/controllers/user_session_html/new.html.heex:82
#, elixir-autogen, elixir-format
@ -4037,8 +4031,8 @@ msgstr "Один раз увійдіть до %{email}, щоб підключи
msgid "This email already has an account"
msgstr "Для цього email уже є обліковий запис"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:118
#: lib/who_need_help_web/controllers/google_auth_controller.ex:140
#: lib/who_need_help_web/controllers/google_auth_controller.ex:117
#: lib/who_need_help_web/controllers/google_auth_controller.ex:139
#, elixir-autogen, elixir-format
msgid "This email already has an account. Confirm it once to connect Google."
msgstr "Для цього email уже є обліковий запис. Один раз підтвердьте його, щоб підключити Google."
@ -4054,7 +4048,7 @@ msgstr "Скористатися паролем"
msgid "Verified"
msgstr "Підтверджено"
#: lib/who_need_help_web/controllers/google_auth_controller.ex:165
#: lib/who_need_help_web/controllers/google_auth_controller.ex:164
#, elixir-autogen, elixir-format
msgid "We sent a verification link to %{email}. Open it to finish connecting Google."
msgstr "Ми надіслали посилання для підтвердження на %{email}. Відкрийте його, щоб завершити підключення Google."
@ -5180,7 +5174,7 @@ msgid "Nearby requests by email"
msgstr "Заявки поблизу поштою"
#: lib/who_need_help/notifications/email_notifier.ex:21
#: lib/who_need_help/notifications/text.ex:32
#: lib/who_need_help/notifications/text.ex:31
#, elixir-autogen, elixir-format
msgid "New help request nearby"
msgstr "Нова заявка на допомогу поблизу"
@ -5233,7 +5227,7 @@ msgid "Notification text never contains chat messages or exact coordinates."
msgstr "Текст сповіщення ніколи не містить повідомлень із чату або точних координат."
#: lib/who_need_help_web/components/layouts.ex:133
#: lib/who_need_help_web/components/layouts.ex:321
#: lib/who_need_help_web/components/layouts.ex:378
#: lib/who_need_help_web/live/notification_live.ex:15
#: lib/who_need_help_web/live/notification_live.ex:225
#, elixir-autogen, elixir-format
@ -5246,7 +5240,7 @@ msgid "Notifications and nearby alerts"
msgstr "Сповіщення та допомога поблизу"
#: lib/who_need_help_web/components/layouts.ex:148
#: lib/who_need_help_web/components/layouts.ex:336
#: lib/who_need_help_web/components/layouts.ex:393
#, elixir-autogen, elixir-format
msgid "Operations"
msgstr "Операції"
@ -5403,7 +5397,7 @@ msgstr "Заявка не пов’язана з обліковим записо
msgid "The saved center is private and is used only to find matching requests."
msgstr "Збережений центр прихований і використовується лише для пошуку відповідних заявок."
#: lib/who_need_help_web/live/profile_live.ex:187
#: lib/who_need_help_web/live/profile_live.ex:183
#: lib/who_need_help_web/live/public_profile_live.ex:126
#, elixir-autogen, elixir-format
msgid "These are activity signals, not an identity, background, qualification, or safety check."
@ -5481,7 +5475,7 @@ msgstr "Браузер попросить дозвіл на сповіщення
msgid "Your nearby alerts"
msgstr "Ваші сповіщення поблизу"
#: lib/who_need_help_web/live/profile_live.ex:204
#: lib/who_need_help_web/live/profile_live.ex:200
#: lib/who_need_help_web/live/public_profile_live.ex:141
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
@ -5768,7 +5762,7 @@ msgid "Support request received"
msgstr "Звернення до підтримки отримано"
#: lib/who_need_help_web/components/layouts.ex:139
#: lib/who_need_help_web/components/layouts.ex:327
#: lib/who_need_help_web/components/layouts.ex:384
#, elixir-autogen, elixir-format
msgid "Support requests"
msgstr "Звернення до підтримки"
@ -5910,7 +5904,7 @@ msgid "Your original request"
msgstr "Ваше початкове звернення"
#: lib/who_need_help_web/components/layouts.ex:136
#: lib/who_need_help_web/components/layouts.ex:324
#: lib/who_need_help_web/components/layouts.ex:381
#: lib/who_need_help_web/live/report_live.ex:12
#: lib/who_need_help_web/live/report_live.ex:42
#, elixir-autogen, elixir-format
@ -5932,137 +5926,137 @@ msgstr "повідомлення узгодженого чату"
msgid "matched conversation"
msgstr "узгоджений чат"
#: lib/who_need_help/notifications/text.ex:39
#: lib/who_need_help/notifications/text.ex:38
#, elixir-autogen, elixir-format
msgid "A helper responded"
msgstr "Помічник відгукнувся"
#: lib/who_need_help/notifications/text.ex:33
#: lib/who_need_help/notifications/text.ex:32
#, elixir-autogen, elixir-format
msgid "A request matching one of your nearby-help alerts is available."
msgstr "З’явився запит, що відповідає одному з ваших сповіщень поблизу."
#: lib/who_need_help/notifications/text.ex:102
#: lib/who_need_help/notifications/text.ex:101
#, elixir-autogen, elixir-format
msgid "Both participants confirmed completion and the handover was verified."
msgstr "Обидва учасники підтвердили завершення, а передачу було перевірено."
#: lib/who_need_help/notifications/text.ex:116
#: lib/who_need_help/notifications/text.ex:115
#, elixir-autogen, elixir-format
msgid "Both participants submitted a review. Open Who Need Help to see it."
msgstr "Обидва учасники залишили відгуки. Відкрийте Who Need Help, щоб переглянути їх."
#: lib/who_need_help/notifications/text.ex:94
#: lib/who_need_help/notifications/text.ex:93
#, elixir-autogen, elixir-format
msgid "Handover code verified"
msgstr "Код передачі підтверджено"
#: lib/who_need_help/notifications/text.ex:101
#: lib/who_need_help/notifications/text.ex:100
#, elixir-autogen, elixir-format
msgid "Help completed"
msgstr "Допомогу завершено"
#: lib/who_need_help/notifications/text.ex:108
#: lib/who_need_help/notifications/text.ex:107
#, elixir-autogen, elixir-format
msgid "New message"
msgstr "Нове повідомлення"
#: lib/who_need_help/notifications/text.ex:88
#: lib/who_need_help/notifications/text.ex:87
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to coordinate the handover safely."
msgstr "Відкрийте Who Need Help, щоб безпечно узгодити передачу."
#: lib/who_need_help/notifications/text.ex:81
#: lib/who_need_help/notifications/text.ex:80
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to follow the request status."
msgstr "Відкрийте Who Need Help, щоб стежити за статусом запиту."
#: lib/who_need_help/notifications/text.ex:109
#: lib/who_need_help/notifications/text.ex:108
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to read the conversation."
msgstr "Відкрийте Who Need Help, щоб прочитати листування."
#: lib/who_need_help/notifications/text.ex:74
#: lib/who_need_help/notifications/text.ex:73
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest request status."
msgstr "Відкрийте Who Need Help, щоб переглянути поточний статус запиту."
#: lib/who_need_help/notifications/text.ex:133
#: lib/who_need_help/notifications/text.ex:132
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to review the latest update."
msgstr "Відкрийте Who Need Help, щоб переглянути останнє оновлення."
#: lib/who_need_help/notifications/text.ex:40
#: lib/who_need_help/notifications/text.ex:39
#, elixir-autogen, elixir-format
msgid "Open Who Need Help to see the request update."
msgstr "Відкрийте Who Need Help, щоб переглянути оновлення запиту."
#: lib/who_need_help/notifications/text.ex:56
#: lib/who_need_help/notifications/text.ex:55
#, elixir-autogen, elixir-format
msgid "Request cancelled"
msgstr "Запит скасовано"
#: lib/who_need_help/notifications/text.ex:66
#: lib/who_need_help/notifications/text.ex:65
#, elixir-autogen, elixir-format
msgid "Request closed after the helper withdrew"
msgstr "Запит закрито після відмови помічника"
#: lib/who_need_help/notifications/text.ex:73
#: lib/who_need_help/notifications/text.ex:72
#, elixir-autogen, elixir-format
msgid "Request updated"
msgstr "Запит оновлено"
#: lib/who_need_help/notifications/text.ex:132
#: lib/who_need_help/notifications/text.ex:131
#, elixir-autogen, elixir-format
msgid "Support request updated"
msgstr "Звернення до підтримки оновлено"
#: lib/who_need_help/notifications/text.ex:95
#: lib/who_need_help/notifications/text.ex:94
#, elixir-autogen, elixir-format
msgid "The helper verified the one-time handover code."
msgstr "Помічник перевірив одноразовий код передачі."
#: lib/who_need_help/notifications/text.ex:67
#: lib/who_need_help/notifications/text.ex:66
#, elixir-autogen, elixir-format
msgid "The helper withdrew after the request expired, so it was not reopened."
msgstr "Помічник відмовився після завершення строку запиту, тому його не відкрито повторно."
#: lib/who_need_help/notifications/text.ex:126
#: lib/who_need_help/notifications/text.ex:125
#, elixir-autogen, elixir-format
msgid "The latest moderation status is %{status}."
msgstr "Поточний статус модерації: %{status}."
#: lib/who_need_help/notifications/text.ex:47
#: lib/who_need_help/notifications/text.ex:46
#, elixir-autogen, elixir-format
msgid "The previous helper withdrew, so the request is open again."
msgstr "Попередній помічник відмовився, тому запит знову відкритий."
#: lib/who_need_help/notifications/text.ex:57
#: lib/who_need_help/notifications/text.ex:56
#, elixir-autogen, elixir-format
msgid "The requester cancelled this request. Open Who Need Help for details."
msgstr "Замовник скасував запит. Відкрийте Who Need Help, щоб дізнатися подробиці."
#: lib/who_need_help/notifications/text.ex:87
#: lib/who_need_help/notifications/text.ex:86
#, elixir-autogen, elixir-format
msgid "Your helper arrived"
msgstr "Ваш помічник прибув"
#: lib/who_need_help/notifications/text.ex:80
#: lib/who_need_help/notifications/text.ex:79
#, elixir-autogen, elixir-format
msgid "Your helper started"
msgstr "Ваш помічник почав виконувати запит"
#: lib/who_need_help/notifications/text.ex:125
#: lib/who_need_help/notifications/text.ex:124
#, elixir-autogen, elixir-format
msgid "Your report was updated"
msgstr "Вашу скаргу оновлено"
#: lib/who_need_help/notifications/text.ex:46
#: lib/who_need_help/notifications/text.ex:45
#, elixir-autogen, elixir-format
msgid "Your request needs a new helper"
msgstr "Вашому запиту потрібен новий помічник"
#: lib/who_need_help/notifications/text.ex:115
#: lib/who_need_help/notifications/text.ex:114
#, elixir-autogen, elixir-format
msgid "Your review is now visible"
msgstr "Тепер ваш відгук видно"
@ -6691,3 +6685,34 @@ msgstr "Що ви пропонуєте?"
#, elixir-autogen, elixir-format
msgid "Where should it appear?"
msgstr "Де це має з’явитися?"
#: lib/who_need_help_web/components/layouts.ex:304
#, elixir-autogen, elixir-format
msgid "Available languages"
msgstr "Доступні мови"
#: lib/who_need_help_web/components/layouts.ex:283
#, elixir-autogen, elixir-format
msgid "Choose the language used in the interface."
msgstr "Виберіть мову інтерфейсу."
#: lib/who_need_help_web/components/layouts.ex:281
#, elixir-autogen, elixir-format
msgid "Language"
msgstr "Мова"
#: lib/who_need_help_web/components/layouts.ex:270
#, elixir-autogen, elixir-format
msgid "Language: %{language}"
msgstr "Мова: %{language}"
#: lib/who_need_help_web/components/layouts.ex:341
#, elixir-autogen, elixir-format
msgid "No languages found"
msgstr "Мов не знайдено"
#: lib/who_need_help_web/components/layouts.ex:293
#: lib/who_need_help_web/components/layouts.ex:294
#, elixir-autogen, elixir-format
msgid "Search languages"
msgstr "Пошук мов"

View File

@ -0,0 +1,22 @@
defmodule WhoNeedHelp.LocalesTest do
use ExUnit.Case, async: true
alias WhoNeedHelp.Locales
test "keeps supported locale metadata in one ordered registry" do
assert Locales.codes() == ["en", "uk", "ru"]
assert Locales.options() == [
{"English", "en"},
{"Українська", "uk"},
{"Русский", "ru"}
]
end
test "normalizes regional locale tags and falls back to English" do
assert Locales.normalize("uk-UA") == "uk"
assert Locales.normalize("RU_ru") == "ru"
assert Locales.normalize("unsupported") == "en"
assert Locales.normalize(nil) == "en"
end
end

View File

@ -44,6 +44,29 @@ defmodule WhoNeedHelpWeb.PageControllerTest do
assert Enum.empty?(LazyHTML.query(document, "body > nav[aria-label='Account and language']"))
assert Enum.count(LazyHTML.query(document, "header details[data-language-switcher]")) == 2
assert Enum.count(
LazyHTML.query(
document,
"header details[data-language-switcher] input[data-language-search]"
)
) == 2
assert Enum.count(
LazyHTML.query(
document,
"header details[data-language-switcher] a[href='?locale=en'][aria-current='page']"
)
) == 2
assert Enum.count(
LazyHTML.query(
document,
"header details[data-language-switcher] li[data-language-option]"
)
) == 6
assert Enum.count(LazyHTML.query(document, "header img[src='/images/logo.svg'][alt='']")) == 1
assert Enum.count(LazyHTML.query(document, "head link[rel='icon'][href='/images/logo.svg']")) ==