From 28940f96211d85d14b8a2eb7533b68fee64807a1 Mon Sep 17 00:00:00 2001 From: SimpleTest Date: Sat, 25 Jul 2026 22:41:19 +0300 Subject: [PATCH] Complete Russian and Ukrainian localization --- .../mobile/WhoNeedHelpMessagingService.java | 2 +- .../app/src/main/res/values-ru/strings.xml | 25 ++ .../app/src/main/res/values-uk/strings.xml | 25 ++ android/app/src/main/res/values/strings.xml | 1 + assets/js/app.js | 2 +- assets/js/hooks.js | 60 +++-- .../components/layouts/root.html.heex | 10 +- .../live/activity_live/new.ex | 3 + .../live/notification_live.ex | 27 ++ priv/gettext/default.pot | 248 ++++++++++++------ priv/gettext/en/LC_MESSAGES/default.po | 248 ++++++++++++------ priv/gettext/ru/LC_MESSAGES/default.po | 248 ++++++++++++------ priv/gettext/uk/LC_MESSAGES/default.po | 248 ++++++++++++------ .../live/mutual_aid_live_test.exs | 12 + 14 files changed, 789 insertions(+), 370 deletions(-) create mode 100644 android/app/src/main/res/values-ru/strings.xml create mode 100644 android/app/src/main/res/values-uk/strings.xml diff --git a/android/app/src/main/java/org/whoneedhelp/mobile/WhoNeedHelpMessagingService.java b/android/app/src/main/java/org/whoneedhelp/mobile/WhoNeedHelpMessagingService.java index 8cfb133..f23ccce 100644 --- a/android/app/src/main/java/org/whoneedhelp/mobile/WhoNeedHelpMessagingService.java +++ b/android/app/src/main/java/org/whoneedhelp/mobile/WhoNeedHelpMessagingService.java @@ -45,7 +45,7 @@ public final class WhoNeedHelpMessagingService extends FirebaseMessagingService } String title = limited(data.get("title"), getString(R.string.app_name), 120); - String body = limited(data.get("body"), "Open Who Need Help for the update.", 240); + String body = limited(data.get("body"), getString(R.string.updates_default_body), 240); String notificationId = limited(data.get("notification_id"), route, 160); createChannel(); diff --git a/android/app/src/main/res/values-ru/strings.xml b/android/app/src/main/res/values-ru/strings.xml new file mode 100644 index 0000000..a732fc0 --- /dev/null +++ b/android/app/src/main/res/values-ru/strings.xml @@ -0,0 +1,25 @@ + + + Who Need Help + Нет приложения, которое может открыть эту ссылку. + Страница недоступна + Не удалось загрузить Who Need Help. Проверьте подключение и повторите попытку. + Повторить + Закрыть + Безопасное подключение было отклонено. + Этот тип ссылки не поддерживается. + Геолокация активной помощи + Видимая передача геолокации для активной принятой заявки. + Передача текущей геолокации + Who Need Help может продолжать передачу, когда приложение свёрнуто. + Остановить передачу + Остановка передачи геолокации + Ожидаем подтверждения удаления текущей позиции с сервера. + Не удалось подтвердить остановку + Новые обновления приостановлены. Нажмите «Остановить передачу», чтобы повторить удаление текущей позиции. + Геолокация недоступна + Включите геолокацию устройства, вернитесь к заявке и повторите попытку. + Обновления заявок о помощи + Приватные уведомления о заявках, сообщениях и помощи поблизости. + Откройте Who Need Help, чтобы просмотреть обновление. + diff --git a/android/app/src/main/res/values-uk/strings.xml b/android/app/src/main/res/values-uk/strings.xml new file mode 100644 index 0000000..59481c0 --- /dev/null +++ b/android/app/src/main/res/values-uk/strings.xml @@ -0,0 +1,25 @@ + + + Who Need Help + Немає застосунку, який може відкрити це посилання. + Сторінка недоступна + Не вдалося завантажити Who Need Help. Перевірте з’єднання та повторіть спробу. + Повторити + Закрити + Захищене з’єднання було відхилено. + Цей тип посилання не підтримується. + Геолокація активної допомоги + Видима передача геолокації для активної прийнятої заявки. + Передача поточної геолокації + Who Need Help може продовжувати передачу, коли застосунок згорнуто. + Зупинити передачу + Зупинення передачі геолокації + Очікуємо підтвердження видалення поточної позиції із сервера. + Не вдалося підтвердити зупинення + Нові оновлення призупинено. Натисніть «Зупинити передачу», щоб повторити видалення поточної позиції. + Геолокація недоступна + Увімкніть геолокацію пристрою, поверніться до заявки та повторіть спробу. + Оновлення заявок про допомогу + Приватні сповіщення про заявки, повідомлення та допомогу поблизу. + Відкрийте Who Need Help, щоб переглянути оновлення. + diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index db81873..c7eb571 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -21,4 +21,5 @@ Enable device location, then return to the request and try again. Help request updates Private request, message, and nearby-help notifications. + Open Who Need Help to view the update. diff --git a/assets/js/app.js b/assets/js/app.js index 2032bf8..e507d5c 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -180,7 +180,7 @@ window.addEventListener("wnh:native-google-error", () => { const status = form.querySelector("[data-native-google-status]") if (status instanceof HTMLElement) { status.textContent = - form.dataset.nativeGoogleError || "Google sign-in could not be completed." + form.dataset.nativeGoogleError || document.documentElement.dataset.googleSignInError || "" status.classList.add("text-error") } }) diff --git a/assets/js/hooks.js b/assets/js/hooks.js index 26a220b..5f18335 100644 --- a/assets/js/hooks.js +++ b/assets/js/hooks.js @@ -3,6 +3,7 @@ import maplibregl from "maplibre-gl" const trackingMinTimeMs = 5000 const uiLocale = () => document.documentElement.lang || undefined +const uiText = key => document.documentElement.dataset[key] || "" const mapLocaleByLanguage = { ru: { @@ -74,7 +75,7 @@ const mapUiLocale = () => { return mapLocaleByLanguage[language] || {} } -const mapRegionLabel = () => mapUiLocale()["Map.Title"] || "Map" +const mapRegionLabel = () => uiText("mapLabel") || mapUiLocale()["Map.Title"] || "" const defaultStyle = { version: 8, @@ -216,7 +217,7 @@ const mapRetryButton = (element, retry) => { button.type = "button" button.className = "btn btn-sm btn-outline map-retry-button" button.dataset.mapRetry = "true" - button.textContent = element.dataset.mapRetryLabel || "Try map again" + button.textContent = element.dataset.mapRetryLabel || uiText("mapRetryLabel") button.addEventListener("click", retry, {once: true}) return button } @@ -232,7 +233,7 @@ const mapRecenterControl = (element, recenter) => { return { onAdd() { - const label = element.dataset.mapRecenterLabel || "Show location on map" + const label = element.dataset.mapRecenterLabel || uiText("mapRecenterLabel") const iconNamespace = "http://www.w3.org/2000/svg" container = document.createElement("div") @@ -444,7 +445,7 @@ const createAidMap = element => { link.textContent = state.element.dataset.itemLabel || state.element.dataset.requestLabel || - "Open request" + uiText("openRequestLabel") content.append(link) } @@ -589,7 +590,7 @@ const createAidMap = element => { const markerElement = marker.getElement() markerElement.dataset.markerType = point.type || "request" - markerElement.setAttribute("aria-label", point.title || "Map marker") + markerElement.setAttribute("aria-label", point.title || uiText("mapMarkerLabel")) if (point.id) { markerElement.dataset.requestId = point.id @@ -1087,6 +1088,7 @@ export const Hooks = { this.native = typeof window.WhoNeedHelpAndroid?.postMessage === "function" this.statusMessage = null this.buttonEnabled = null + this.message = key => this.el.dataset[key] || "" if (this.native && this.button) this.button.disabled = false @@ -1191,15 +1193,17 @@ export const Hooks = { provider: "fcm", token: detail.token, installation_id: detail.installation_id, - device_label: String(detail.device_label || "Android · FCM").slice(0, 120), + device_label: String( + detail.device_label || this.el.dataset.deviceAndroidLabel || "Android · FCM" + ).slice(0, 120), user_agent: navigator.userAgent.slice(0, 500) }) this.setButtonState(true) - this.setStatus("Push notifications are enabled on this Android device.") + this.setStatus(this.message("statusAndroidEnabled")) } catch (error) { console.warn("Android push registration failed", error) this.setButtonState(false) - this.setStatus("The Android push token could not be saved. Please try again.") + this.setStatus(this.message("statusAndroidSaveFailed")) } finally { if (this.button) this.button.disabled = false } @@ -1210,8 +1214,8 @@ export const Hooks = { this.setButtonState(false) this.setStatus( reason === "permission_denied" - ? "Notification permission was not granted." - : "Android push notifications are not available yet." + ? this.message("statusPermissionDenied") + : this.message("statusAndroidUnavailable") ) if (this.button) this.button.disabled = false } @@ -1227,7 +1231,7 @@ export const Hooks = { if (this.native) { this.postNative({action: "disable_push"}) this.setButtonState(false) - this.setStatus("Push notifications are disabled on this device.") + this.setStatus(this.message("statusDisabled")) return } @@ -1239,7 +1243,7 @@ export const Hooks = { console.warn("Browser push unsubscribe failed", error) } finally { this.setButtonState(false) - this.setStatus("Push notifications are disabled on this device.") + this.setStatus(this.message("statusDisabled")) } } @@ -1248,13 +1252,13 @@ export const Hooks = { if (this.native) { this.button.disabled = true - this.setStatus("Waiting for Android notification permission and token…") + this.setStatus(this.message("statusAndroidWaiting")) this.postNative({action: "enable_push"}) return } if (!publicKey || !("serviceWorker" in navigator) || !("PushManager" in window)) { - this.setStatus("Push notifications are unavailable in this browser.") + this.setStatus(this.message("statusBrowserUnavailable")) return } @@ -1263,7 +1267,7 @@ export const Hooks = { try { const permission = await Notification.requestPermission() if (permission !== "granted") { - this.setStatus("Notification permission was not granted.") + this.setStatus(this.message("statusPermissionDenied")) return } @@ -1278,14 +1282,16 @@ export const Hooks = { installation_id: this.installationId(), p256dh: json.keys?.p256dh, auth_secret: json.keys?.auth, - device_label: `${navigator.platform || "Browser"} · Web Push`.slice(0, 120), + device_label: + `${navigator.platform || this.el.dataset.deviceBrowserLabel || ""} · Web Push` + .slice(0, 120), user_agent: navigator.userAgent.slice(0, 500) }) this.setButtonState(true) - this.setStatus("Push notifications are enabled on this device.") + this.setStatus(this.message("statusBrowserEnabled")) } catch (error) { console.warn("Push notification registration failed", error) - this.setStatus("Push notifications could not be enabled.") + this.setStatus(this.message("statusBrowserEnableFailed")) } finally { this.button.disabled = false } @@ -1305,7 +1311,7 @@ export const Hooks = { if (!this.native || !this.activeServerDevice()) return this.setButtonState(true) - this.setStatus("Push notifications are enabled on this Android device.") + this.setStatus(this.message("statusAndroidEnabled")) } this.restoreWebState = async () => { @@ -1313,12 +1319,12 @@ export const Hooks = { const publicKey = String(this.el.dataset.vapidPublicKey || "") if (!publicKey || !("serviceWorker" in navigator) || !("PushManager" in window)) { - this.setStatus("Push notifications are unavailable in this browser.") + this.setStatus(this.message("statusBrowserUnavailable")) return } if (Notification.permission === "denied") { - this.setStatus("Notification permission was not granted.") + this.setStatus(this.message("statusPermissionDenied")) return } @@ -1334,13 +1340,13 @@ export const Hooks = { if (subscription && currentKey && activeServerDevice) { this.setButtonState(true) - this.setStatus("Push notifications are enabled on this device.") + this.setStatus(this.message("statusBrowserEnabled")) } else if (subscription && !currentKey) { this.setStatus( - "Push keys changed. Enable notifications to reconnect this device securely." + this.message("statusKeysChanged") ) } else if (subscription || activeServerDevice) { - this.setStatus("This browser has a push subscription. Enable it to reconnect this device.") + this.setStatus(this.message("statusReconnectRequired")) } } catch (error) { console.warn("Push notification state could not be restored", error) @@ -2202,7 +2208,7 @@ export const Hooks = { const longitudeInput = document.querySelector(this.el.dataset.longitudeTarget) if (!latitudeInput || !longitudeInput || !navigator.geolocation) { - this.el.textContent = "Location is unavailable" + this.el.textContent = this.el.dataset.unavailableLabel this.el.classList.add("btn-error") return } @@ -2213,11 +2219,11 @@ export const Hooks = { longitudeInput.value = position.coords.longitude latitudeInput.dispatchEvent(new Event("input", {bubbles: true})) longitudeInput.dispatchEvent(new Event("input", {bubbles: true})) - this.el.textContent = "Location added" + this.el.textContent = this.el.dataset.addedLabel this.el.classList.add("btn-success") }, () => { - this.el.textContent = "Location permission denied" + this.el.textContent = this.el.dataset.permissionDeniedLabel this.el.classList.add("btn-error") }, {enableHighAccuracy: true, timeout: 10000} diff --git a/lib/who_need_help_web/components/layouts/root.html.heex b/lib/who_need_help_web/components/layouts/root.html.heex index ac223ef..4b3ae0d 100644 --- a/lib/who_need_help_web/components/layouts/root.html.heex +++ b/lib/who_need_help_web/components/layouts/root.html.heex @@ -2,6 +2,12 @@ @@ -14,7 +20,9 @@ name="description" content={ assigns[:page_description] || - "Who Need Help connects adults who need urgent local help with nearby volunteers." + gettext( + "Who Need Help connects adults who need urgent local help with nearby volunteers." + ) } /> <.live_title diff --git a/lib/who_need_help_web/live/activity_live/new.ex b/lib/who_need_help_web/live/activity_live/new.ex index 1743a3b..c93a0e7 100644 --- a/lib/who_need_help_web/live/activity_live/new.ex +++ b/lib/who_need_help_web/live/activity_live/new.ex @@ -313,6 +313,9 @@ defmodule WhoNeedHelpWeb.ActivityLive.New do id="activity-location-picker" data-latitude-target="#activity-latitude" data-longitude-target="#activity-longitude" + data-unavailable-label={gettext("Location is unavailable in this browser.")} + data-added-label={gettext("Location added.")} + data-permission-denied-label={gettext("Location permission was denied.")} class="btn btn-outline btn-sm" > {gettext("Use my current foreground location")} diff --git a/lib/who_need_help_web/live/notification_live.ex b/lib/who_need_help_web/live/notification_live.ex index 465433a..6af1b99 100644 --- a/lib/who_need_help_web/live/notification_live.ex +++ b/lib/who_need_help_web/live/notification_live.ex @@ -338,6 +338,33 @@ defmodule WhoNeedHelpWeb.NotificationLive do id="push-device-registration" phx-hook="PushNotifications" data-vapid-public-key={@web_push_public_key || ""} + data-status-android-enabled={ + gettext("Push notifications are enabled on this Android device.") + } + data-status-android-save-failed={ + gettext("The Android push token could not be saved. Please try again.") + } + data-status-permission-denied={gettext("Notification permission was not granted.")} + data-status-android-unavailable={ + gettext("Android push notifications are not available yet.") + } + data-status-disabled={gettext("Push notifications are disabled on this device.")} + data-status-android-waiting={ + gettext("Waiting for Android notification permission and token…") + } + data-status-browser-unavailable={ + gettext("Push notifications are unavailable in this browser.") + } + data-status-browser-enabled={gettext("Push notifications are enabled on this device.")} + data-status-browser-enable-failed={gettext("Push notifications could not be enabled.")} + data-status-keys-changed={ + gettext("Push keys changed. Enable notifications to reconnect this device securely.") + } + data-status-reconnect-required={ + gettext("This browser has a push subscription. Enable it to reconnect this device.") + } + data-device-android-label="Android · FCM" + data-device-browser-label={gettext("Web browser")} class="rounded-3xl border border-base-300 bg-base-100 p-5 sm:p-6" >

{gettext("Delivery channels and quiet hours")}

diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 0141dc3..1480e20 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -37,7 +37,7 @@ msgid "Attempting to reconnect" msgstr "" #: lib/who_need_help_web/components/layouts.ex:236 -#: lib/who_need_help_web/live/notification_live.ex:691 +#: lib/who_need_help_web/live/notification_live.ex:718 #, elixir-autogen, elixir-format msgid "Categories" msgstr "" @@ -173,7 +173,7 @@ msgstr "" #: lib/who_need_help_web/live/moderation_live.ex:266 #: lib/who_need_help_web/live/moderation_live.ex:702 -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Active" msgstr "" @@ -641,8 +641,8 @@ msgstr "" #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:104 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:137 #: lib/who_need_help_web/controllers/user_settings_html/edit.html.heex:15 -#: lib/who_need_help_web/live/notification_live.ex:441 -#: lib/who_need_help_web/live/notification_live.ex:495 +#: lib/who_need_help_web/live/notification_live.ex:468 +#: lib/who_need_help_web/live/notification_live.ex:522 #, elixir-autogen, elixir-format msgid "Email" msgstr "" @@ -683,7 +683,7 @@ msgstr "" msgid "Exact address after matching" msgstr "" -#: lib/who_need_help_web/live/activity_live/new.ex:321 +#: lib/who_need_help_web/live/activity_live/new.ex:324 #, elixir-autogen, elixir-format msgid "Exact coordinates are shown only to participants you approve." msgstr "" @@ -845,7 +845,7 @@ msgstr "" msgid "I confirm this is not an emergency, there is no immediate danger, and the requested task is lawful." msgstr "" -#: lib/who_need_help_web/live/activity_live/new.ex:345 +#: lib/who_need_help_web/live/activity_live/new.ex:348 #, elixir-autogen, elixir-format msgid "I will approve participants individually, keep sensitive details in the approved group, and use an appropriate public first meeting point." msgstr "" @@ -910,8 +910,8 @@ msgstr "" msgid "Join requests close" msgstr "" -#: lib/who_need_help_web/live/activity_live/new.ex:329 -#: lib/who_need_help_web/live/notification_live.ex:659 +#: lib/who_need_help_web/live/activity_live/new.ex:332 +#: lib/who_need_help_web/live/notification_live.ex:686 #: lib/who_need_help_web/live/request_live/new.ex:668 #, elixir-autogen, elixir-format msgid "Latitude" @@ -968,8 +968,8 @@ msgstr "" msgid "Logged out successfully." msgstr "" -#: lib/who_need_help_web/live/activity_live/new.ex:336 -#: lib/who_need_help_web/live/notification_live.ex:673 +#: lib/who_need_help_web/live/activity_live/new.ex:339 +#: lib/who_need_help_web/live/notification_live.ex:700 #: lib/who_need_help_web/live/request_live/new.ex:682 #, elixir-autogen, elixir-format msgid "Longitude" @@ -1163,7 +1163,7 @@ msgstr "" msgid "Not for emergencies" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:721 +#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/request_live/index.ex:297 #: lib/who_need_help_web/live/request_live/index.ex:298 #: lib/who_need_help_web/live/request_live/index.ex:409 @@ -1399,7 +1399,7 @@ msgstr "" msgid "Publish a clear public plan. Join requests stay pending until you approve them." msgstr "" -#: lib/who_need_help_web/live/activity_live/new.ex:357 +#: lib/who_need_help_web/live/activity_live/new.ex:360 #, elixir-autogen, elixir-format msgid "Publish activity" msgstr "" @@ -1414,7 +1414,7 @@ msgstr "" msgid "Publish request" msgstr "" -#: lib/who_need_help_web/live/activity_live/new.ex:355 +#: lib/who_need_help_web/live/activity_live/new.ex:358 #: lib/who_need_help_web/live/request_live/new.ex:742 #, elixir-autogen, elixir-format msgid "Publishing…" @@ -1654,7 +1654,7 @@ msgstr "" msgid "Save profile" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:723 +#: lib/who_need_help_web/live/notification_live.ex:750 #: lib/who_need_help_web/live/request_live/index.ex:301 #: lib/who_need_help_web/live/request_live/index.ex:302 #: lib/who_need_help_web/live/request_live/index.ex:411 @@ -1713,7 +1713,7 @@ msgstr "" msgid "Signal updated." msgstr "" -#: lib/who_need_help_web/components/layouts/root.html.heex:40 +#: lib/who_need_help_web/components/layouts/root.html.heex:48 #, elixir-autogen, elixir-format msgid "Skip to main content" msgstr "" @@ -1967,7 +1967,7 @@ msgstr "" msgid "To see sent emails, visit" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:722 +#: lib/who_need_help_web/live/notification_live.ex:749 #: lib/who_need_help_web/live/request_live/index.ex:299 #: lib/who_need_help_web/live/request_live/index.ex:300 #: lib/who_need_help_web/live/request_live/index.ex:410 @@ -2044,7 +2044,7 @@ msgstr "" msgid "Update email instructions" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:716 +#: lib/who_need_help_web/live/notification_live.ex:743 #: lib/who_need_help_web/live/request_live/index.ex:406 #: lib/who_need_help_web/live/request_live/new.ex:447 #, elixir-autogen, elixir-format @@ -2072,7 +2072,7 @@ msgstr "" msgid "Use light theme" msgstr "" -#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/activity_live/new.ex:321 #, elixir-autogen, elixir-format msgid "Use my current foreground location" msgstr "" @@ -4038,7 +4038,7 @@ msgstr "" msgid "Date" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:656 +#: lib/who_need_help_web/live/notification_live.ex:683 #: lib/who_need_help_web/live/request_live/new.ex:660 #, elixir-autogen, elixir-format msgid "Enter coordinates manually" @@ -4125,13 +4125,15 @@ msgstr "" msgid "In 3 hours" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:574 +#: lib/who_need_help_web/live/activity_live/new.ex:316 +#: lib/who_need_help_web/live/notification_live.ex:601 #: lib/who_need_help_web/live/request_live/new.ex:484 #, elixir-autogen, elixir-format msgid "Location is unavailable in this browser." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:576 +#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/notification_live.ex:603 #: lib/who_need_help_web/live/request_live/new.ex:486 #, elixir-autogen, elixir-format msgid "Location permission was denied." @@ -4383,7 +4385,7 @@ msgstr "" msgid "Use another email" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:609 +#: lib/who_need_help_web/live/notification_live.ex:636 #: lib/who_need_help_web/live/request_live/new.ex:595 #, elixir-autogen, elixir-format msgid "Use my location" @@ -4566,6 +4568,7 @@ msgstr "" msgid "Load more in this area" msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:5 #: lib/who_need_help_web/live/request_live/index.ex:475 #, elixir-autogen, elixir-format msgid "Map" @@ -4597,6 +4600,7 @@ msgstr "" msgid "Only requests from the selected map area will be loaded." msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:8 #: lib/who_need_help_web/live/request_live/index.ex:585 #, elixir-autogen, elixir-format msgid "Open request" @@ -4634,11 +4638,12 @@ msgstr "" msgid "Together" msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:6 #: lib/who_need_help_web/controllers/page_html/home.html.heex:160 #: lib/who_need_help_web/live/activity_live/index.ex:496 #: lib/who_need_help_web/live/activity_live/show.ex:545 -#: lib/who_need_help_web/live/notification_live.ex:575 -#: lib/who_need_help_web/live/notification_live.ex:594 +#: lib/who_need_help_web/live/notification_live.ex:602 +#: lib/who_need_help_web/live/notification_live.ex:621 #: lib/who_need_help_web/live/request_live/index.ex:584 #: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:563 @@ -4684,7 +4689,7 @@ msgstr[1] "" msgid "A request matching one of your nearby-help alerts is available.\n\nOpen Who Need Help to review the public details:\n%{url}\n\nYou can change nearby alerts and email delivery in Notification settings." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:439 +#: lib/who_need_help_web/live/notification_live.ex:466 #, elixir-autogen, elixir-format msgid "Acceptance, arrival, completion, and cancellation" msgstr "" @@ -4694,22 +4699,22 @@ msgstr "" msgid "Active or unresolved product state must be handled first." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:570 +#: lib/who_need_help_web/live/notification_live.ex:597 #, elixir-autogen, elixir-format msgid "Alert area selected." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:569 +#: lib/who_need_help_web/live/notification_live.ex:596 #, elixir-autogen, elixir-format msgid "Alert area selected. Drag the pin to move it." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:549 +#: lib/who_need_help_web/live/notification_live.ex:576 #, elixir-autogen, elixir-format msgid "Alert name" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:612 +#: lib/who_need_help_web/live/notification_live.ex:639 #, elixir-autogen, elixir-format msgid "Alert radius" msgstr "" @@ -4720,12 +4725,12 @@ msgstr "" msgid "Alert was not found." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:445 +#: lib/who_need_help_web/live/notification_live.ex:472 #, elixir-autogen, elixir-format msgid "Allow email notifications" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:424 +#: lib/who_need_help_web/live/notification_live.ex:451 #, elixir-autogen, elixir-format msgid "Allow push notifications" msgstr "" @@ -4740,17 +4745,17 @@ msgstr "" msgid "Automatic erasure is disabled: no jurisdiction-specific retention and anonymisation policy is configured. Do not mark the case resolved until the approved data action is completed and recorded." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:740 +#: lib/who_need_help_web/live/notification_live.ex:767 #, elixir-autogen, elixir-format msgid "Available days" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:773 +#: lib/who_need_help_web/live/notification_live.ex:800 #, elixir-autogen, elixir-format msgid "Available from (optional)" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:778 +#: lib/who_need_help_web/live/notification_live.ex:805 #, elixir-autogen, elixir-format msgid "Available until (optional)" msgstr "" @@ -4776,23 +4781,23 @@ msgstr "" msgid "Cancelling…" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:537 +#: lib/who_need_help_web/live/notification_live.ex:564 #, elixir-autogen, elixir-format msgid "Choose an area, categories, urgency, and the times when you are available." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:784 +#: lib/who_need_help_web/live/notification_live.ex:811 #, elixir-autogen, elixir-format msgid "Choose at least one way to receive this nearby alert." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:568 -#: lib/who_need_help_web/live/notification_live.ex:649 +#: lib/who_need_help_web/live/notification_live.ex:595 +#: lib/who_need_help_web/live/notification_live.ex:676 #, elixir-autogen, elixir-format msgid "Choose the private center of your alert area." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:599 +#: lib/who_need_help_web/live/notification_live.ex:626 #, elixir-autogen, elixir-format msgid "Click the map or drag the green pin to move your private alert area" msgstr "" @@ -4818,12 +4823,12 @@ msgstr "" msgid "Count" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:535 +#: lib/who_need_help_web/live/notification_live.ex:562 #, elixir-autogen, elixir-format msgid "Create a nearby alert" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:799 +#: lib/who_need_help_web/live/notification_live.ex:826 #, elixir-autogen, elixir-format msgid "Create nearby alert" msgstr "" @@ -4833,22 +4838,22 @@ msgstr "" msgid "Daily aggregate counters only. No user ID, email, coordinate, request text, chat text, medicine name, or device credential is stored here." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:524 +#: lib/who_need_help_web/live/notification_live.ex:551 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:521 +#: lib/who_need_help_web/live/notification_live.ex:548 #, elixir-autogen, elixir-format msgid "Delete this nearby alert?" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:782 +#: lib/who_need_help_web/live/notification_live.ex:809 #, elixir-autogen, elixir-format msgid "Delivery channels" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:343 +#: lib/who_need_help_web/live/notification_live.ex:370 #, elixir-autogen, elixir-format msgid "Delivery channels and quiet hours" msgstr "" @@ -4863,7 +4868,7 @@ msgstr "" msgid "Dimension" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:397 +#: lib/who_need_help_web/live/notification_live.ex:424 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" @@ -4873,19 +4878,19 @@ msgstr "" msgid "Download my data" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:571 -#: lib/who_need_help_web/live/notification_live.ex:572 +#: lib/who_need_help_web/live/notification_live.ex:598 +#: lib/who_need_help_web/live/notification_live.ex:599 #, elixir-autogen, elixir-format msgid "Drag to move the alert area" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:795 +#: lib/who_need_help_web/live/notification_live.ex:822 #, elixir-autogen, elixir-format msgid "Email notification" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:358 -#: lib/who_need_help_web/live/notification_live.ex:361 +#: lib/who_need_help_web/live/notification_live.ex:385 +#: lib/who_need_help_web/live/notification_live.ex:388 #, elixir-autogen, elixir-format msgid "Enable push on this device" msgstr "" @@ -4895,12 +4900,12 @@ msgstr "" msgid "Follow request updates and choose which nearby needs should reach this device." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:749 +#: lib/who_need_help_web/live/notification_live.ex:776 #, elixir-autogen, elixir-format msgid "Fri" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:458 +#: lib/who_need_help_web/live/notification_live.ex:485 #, elixir-autogen, elixir-format msgid "From" msgstr "" @@ -4910,6 +4915,7 @@ msgstr "" msgid "Google could not be connected. Please try again." msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:10 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:79 #, elixir-autogen, elixir-format msgid "Google sign-in could not be completed. Please try again." @@ -4950,7 +4956,7 @@ msgstr "" msgid "Helper's live location" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:555 +#: lib/who_need_help_web/live/notification_live.ex:582 #, elixir-autogen, elixir-format msgid "Home area" msgstr "" @@ -4971,7 +4977,7 @@ msgstr "" msgid "Inbox" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:693 +#: lib/who_need_help_web/live/notification_live.ex:720 #, elixir-autogen, elixir-format msgid "Leave every category unchecked to receive all matching requests." msgstr "" @@ -5011,7 +5017,7 @@ msgstr "" msgid "Metric" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:745 +#: lib/who_need_help_web/live/notification_live.ex:772 #, elixir-autogen, elixir-format msgid "Mon" msgstr "" @@ -5026,13 +5032,13 @@ msgstr "" msgid "Nearby alert deleted." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:429 +#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/request_live/index.ex:362 #, elixir-autogen, elixir-format msgid "Nearby requests" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:450 +#: lib/who_need_help_web/live/notification_live.ex:477 #, elixir-autogen, elixir-format msgid "Nearby requests by email" msgstr "" @@ -5043,7 +5049,7 @@ msgstr "" msgid "New help request nearby" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:434 +#: lib/who_need_help_web/live/notification_live.ex:461 #, elixir-autogen, elixir-format msgid "New private messages" msgstr "" @@ -5058,7 +5064,7 @@ msgstr "" msgid "No aggregate events recorded yet." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:476 +#: lib/who_need_help_web/live/notification_live.ex:503 #, elixir-autogen, elixir-format msgid "No nearby alerts configured yet." msgstr "" @@ -5085,7 +5091,7 @@ msgstr "" msgid "Notification preferences saved." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:345 +#: lib/who_need_help_web/live/notification_live.ex:372 #, elixir-autogen, elixir-format msgid "Notification text never contains chat messages or exact coordinates." msgstr "" @@ -5109,17 +5115,17 @@ msgstr "" msgid "Operations" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:638 +#: lib/who_need_help_web/live/notification_live.ex:665 #, elixir-autogen, elixir-format msgid "Other users never see this saved point." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Pause" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Paused" msgstr "" @@ -5129,12 +5135,12 @@ msgstr "" msgid "Plans changed" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:554 +#: lib/who_need_help_web/live/notification_live.ex:581 #, elixir-autogen, elixir-format msgid "Private area label" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:637 +#: lib/who_need_help_web/live/notification_live.ex:664 #, elixir-autogen, elixir-format msgid "Private matching center" msgstr "" @@ -5151,17 +5157,17 @@ msgstr "" msgid "Progress" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:492 +#: lib/who_need_help_web/live/notification_live.ex:519 #, elixir-autogen, elixir-format msgid "Push" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:359 +#: lib/who_need_help_web/live/notification_live.ex:386 #, elixir-autogen, elixir-format msgid "Push enabled on this device" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:790 +#: lib/who_need_help_web/live/notification_live.ex:817 #, elixir-autogen, elixir-format msgid "Push notification" msgstr "" @@ -5201,7 +5207,7 @@ msgstr "" msgid "Requester's live location" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Resume" msgstr "" @@ -5211,12 +5217,12 @@ msgstr "" msgid "Run deletion preflight" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:750 +#: lib/who_need_help_web/live/notification_live.ex:777 #, elixir-autogen, elixir-format msgid "Sat" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:461 +#: lib/who_need_help_web/live/notification_live.ex:488 #, elixir-autogen, elixir-format msgid "Save preferences" msgstr "" @@ -5231,7 +5237,7 @@ msgstr "" msgid "Stay available without refreshing" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:751 +#: lib/who_need_help_web/live/notification_live.ex:778 #, elixir-autogen, elixir-format msgid "Sun" msgstr "" @@ -5241,7 +5247,7 @@ msgstr "" msgid "The linked account no longer exists." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:592 +#: lib/who_need_help_web/live/notification_live.ex:619 #, elixir-autogen, elixir-format msgid "The map is unavailable. Enter coordinates manually." msgstr "" @@ -5256,7 +5262,7 @@ msgstr "" msgid "The request is not linked to an account." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:472 +#: lib/who_need_help_web/live/notification_live.ex:499 #, elixir-autogen, elixir-format msgid "The saved center is private and is used only to find matching requests." msgstr "" @@ -5272,27 +5278,27 @@ msgstr "" msgid "This is not an account-deletion case." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:748 +#: lib/who_need_help_web/live/notification_live.ex:775 #, elixir-autogen, elixir-format msgid "Thu" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:746 +#: lib/who_need_help_web/live/notification_live.ex:773 #, elixir-autogen, elixir-format msgid "Tue" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:459 +#: lib/who_need_help_web/live/notification_live.ex:486 #, elixir-autogen, elixir-format msgid "Until" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:550 +#: lib/who_need_help_web/live/notification_live.ex:577 #, elixir-autogen, elixir-format msgid "Urgent medicine near home" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:455 +#: lib/who_need_help_web/live/notification_live.ex:482 #, elixir-autogen, elixir-format msgid "Use quiet hours" msgstr "" @@ -5302,17 +5308,18 @@ msgstr "" msgid "Verify the requester contact first." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:368 +#: lib/who_need_help_web/live/notification_live.ex:395 #, elixir-autogen, elixir-format msgid "Web Push keys are not configured in this local environment yet." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:380 +#: lib/who_need_help_web/live/notification_live.ex:367 +#: lib/who_need_help_web/live/notification_live.ex:407 #, elixir-autogen, elixir-format msgid "Web browser" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:747 +#: lib/who_need_help_web/live/notification_live.ex:774 #, elixir-autogen, elixir-format msgid "Wed" msgstr "" @@ -5329,12 +5336,12 @@ msgstr "" msgid "You left this match. The request is open for another helper if time remains." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:366 +#: lib/who_need_help_web/live/notification_live.ex:393 #, elixir-autogen, elixir-format msgid "Your browser will ask for notification permission." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:470 +#: lib/who_need_help_web/live/notification_live.ex:497 #, elixir-autogen, elixir-format msgid "Your nearby alerts" msgstr "" @@ -5365,6 +5372,7 @@ msgstr "" msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map." msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:7 #: lib/who_need_help_web/live/activity_live/index.ex:497 #: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/request_live/show.ex:1278 @@ -6579,3 +6587,73 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Search languages" msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:349 +#, elixir-autogen, elixir-format +msgid "Android push notifications are not available yet." +msgstr "" + +#: lib/who_need_help_web/live/activity_live/new.ex:317 +#, elixir-autogen, elixir-format +msgid "Location added." +msgstr "" + +#: lib/who_need_help_web/components/layouts/root.html.heex:9 +#, elixir-autogen, elixir-format +msgid "Map marker" +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:347 +#, elixir-autogen, elixir-format +msgid "Notification permission was not granted." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:361 +#, elixir-autogen, elixir-format +msgid "Push keys changed. Enable notifications to reconnect this device securely." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:351 +#, elixir-autogen, elixir-format +msgid "Push notifications are disabled on this device." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:342 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this Android device." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:358 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this device." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:356 +#, elixir-autogen, elixir-format +msgid "Push notifications are unavailable in this browser." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:359 +#, elixir-autogen, elixir-format +msgid "Push notifications could not be enabled." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:345 +#, elixir-autogen, elixir-format +msgid "The Android push token could not be saved. Please try again." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:364 +#, elixir-autogen, elixir-format +msgid "This browser has a push subscription. Enable it to reconnect this device." +msgstr "" + +#: lib/who_need_help_web/live/notification_live.ex:353 +#, elixir-autogen, elixir-format +msgid "Waiting for Android notification permission and token…" +msgstr "" + +#: lib/who_need_help_web/components/layouts/root.html.heex:23 +#, elixir-autogen, elixir-format +msgid "Who Need Help connects adults who need urgent local help with nearby volunteers." +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index e466e52..07b938d 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -37,7 +37,7 @@ msgid "Attempting to reconnect" msgstr "Attempting to reconnect" #: lib/who_need_help_web/components/layouts.ex:236 -#: lib/who_need_help_web/live/notification_live.ex:691 +#: lib/who_need_help_web/live/notification_live.ex:718 #, elixir-autogen, elixir-format msgid "Categories" msgstr "Categories" @@ -173,7 +173,7 @@ msgstr "Action center" #: lib/who_need_help_web/live/moderation_live.ex:266 #: lib/who_need_help_web/live/moderation_live.ex:702 -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Active" msgstr "Active" @@ -641,8 +641,8 @@ msgstr "Double-blind review" #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:104 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:137 #: lib/who_need_help_web/controllers/user_settings_html/edit.html.heex:15 -#: lib/who_need_help_web/live/notification_live.ex:441 -#: lib/who_need_help_web/live/notification_live.ex:495 +#: lib/who_need_help_web/live/notification_live.ex:468 +#: lib/who_need_help_web/live/notification_live.ex:522 #, elixir-autogen, elixir-format msgid "Email" msgstr "Email" @@ -683,7 +683,7 @@ msgstr "Enter handover code" msgid "Exact address after matching" msgstr "Exact address after matching" -#: lib/who_need_help_web/live/activity_live/new.ex:321 +#: lib/who_need_help_web/live/activity_live/new.ex:324 #, elixir-autogen, elixir-format msgid "Exact coordinates are shown only to participants you approve." msgstr "Exact coordinates are shown only to participants you approve." @@ -845,7 +845,7 @@ msgstr "I confirm there is no immediate danger, people and vehicles are away fro msgid "I confirm this is not an emergency, there is no immediate danger, and the requested task is lawful." msgstr "I confirm this is not an emergency, there is no immediate danger, and the requested task is lawful." -#: lib/who_need_help_web/live/activity_live/new.ex:345 +#: lib/who_need_help_web/live/activity_live/new.ex:348 #, elixir-autogen, elixir-format msgid "I will approve participants individually, keep sensitive details in the approved group, and use an appropriate public first meeting point." msgstr "I will approve participants individually, keep sensitive details in the approved group, and use an appropriate public first meeting point." @@ -910,8 +910,8 @@ msgstr "Join requests are closed." msgid "Join requests close" msgstr "Join requests close" -#: lib/who_need_help_web/live/activity_live/new.ex:329 -#: lib/who_need_help_web/live/notification_live.ex:659 +#: lib/who_need_help_web/live/activity_live/new.ex:332 +#: lib/who_need_help_web/live/notification_live.ex:686 #: lib/who_need_help_web/live/request_live/new.ex:668 #, elixir-autogen, elixir-format msgid "Latitude" @@ -968,8 +968,8 @@ msgstr "Log in only this time" msgid "Logged out successfully." msgstr "Logged out successfully." -#: lib/who_need_help_web/live/activity_live/new.ex:336 -#: lib/who_need_help_web/live/notification_live.ex:673 +#: lib/who_need_help_web/live/activity_live/new.ex:339 +#: lib/who_need_help_web/live/notification_live.ex:700 #: lib/who_need_help_web/live/request_live/new.ex:682 #, elixir-autogen, elixir-format msgid "Longitude" @@ -1163,7 +1163,7 @@ msgstr "Not an emergency or medical service. In immediate danger, contact local msgid "Not for emergencies" msgstr "Not for emergencies" -#: lib/who_need_help_web/live/notification_live.ex:721 +#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/request_live/index.ex:297 #: lib/who_need_help_web/live/request_live/index.ex:298 #: lib/who_need_help_web/live/request_live/index.ex:409 @@ -1399,7 +1399,7 @@ msgstr "Public reputation" msgid "Publish a clear public plan. Join requests stay pending until you approve them." msgstr "Publish a clear public plan. Join requests stay pending until you approve them." -#: lib/who_need_help_web/live/activity_live/new.ex:357 +#: lib/who_need_help_web/live/activity_live/new.ex:360 #, elixir-autogen, elixir-format msgid "Publish activity" msgstr "Publish activity" @@ -1414,7 +1414,7 @@ msgstr "Publish proposal" msgid "Publish request" msgstr "Publish request" -#: lib/who_need_help_web/live/activity_live/new.ex:355 +#: lib/who_need_help_web/live/activity_live/new.ex:358 #: lib/who_need_help_web/live/request_live/new.ex:742 #, elixir-autogen, elixir-format msgid "Publishing…" @@ -1654,7 +1654,7 @@ msgstr "Save Password" msgid "Save profile" msgstr "Save profile" -#: lib/who_need_help_web/live/notification_live.ex:723 +#: lib/who_need_help_web/live/notification_live.ex:750 #: lib/who_need_help_web/live/request_live/index.ex:301 #: lib/who_need_help_web/live/request_live/index.ex:302 #: lib/who_need_help_web/live/request_live/index.ex:411 @@ -1713,7 +1713,7 @@ msgstr "Sign up" msgid "Signal updated." msgstr "Signal updated." -#: lib/who_need_help_web/components/layouts/root.html.heex:40 +#: lib/who_need_help_web/components/layouts/root.html.heex:48 #, elixir-autogen, elixir-format msgid "Skip to main content" msgstr "Skip to main content" @@ -1967,7 +1967,7 @@ msgstr "This request is unavailable." msgid "To see sent emails, visit" msgstr "To see sent emails, visit" -#: lib/who_need_help_web/live/notification_live.ex:722 +#: lib/who_need_help_web/live/notification_live.ex:749 #: lib/who_need_help_web/live/request_live/index.ex:299 #: lib/who_need_help_web/live/request_live/index.ex:300 #: lib/who_need_help_web/live/request_live/index.ex:410 @@ -2044,7 +2044,7 @@ msgstr "Unique people" msgid "Update email instructions" msgstr "Update email instructions" -#: lib/who_need_help_web/live/notification_live.ex:716 +#: lib/who_need_help_web/live/notification_live.ex:743 #: lib/who_need_help_web/live/request_live/index.ex:406 #: lib/who_need_help_web/live/request_live/new.ex:447 #, elixir-autogen, elixir-format @@ -2072,7 +2072,7 @@ msgstr "Use dark theme" msgid "Use light theme" msgstr "Use light theme" -#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/activity_live/new.ex:321 #, elixir-autogen, elixir-format msgid "Use my current foreground location" msgstr "Use my current foreground location" @@ -4038,7 +4038,7 @@ msgstr "" msgid "Date" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:656 +#: lib/who_need_help_web/live/notification_live.ex:683 #: lib/who_need_help_web/live/request_live/new.ex:660 #, elixir-autogen, elixir-format msgid "Enter coordinates manually" @@ -4125,13 +4125,15 @@ msgstr "" msgid "In 3 hours" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:574 +#: lib/who_need_help_web/live/activity_live/new.ex:316 +#: lib/who_need_help_web/live/notification_live.ex:601 #: lib/who_need_help_web/live/request_live/new.ex:484 #, elixir-autogen, elixir-format msgid "Location is unavailable in this browser." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:576 +#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/notification_live.ex:603 #: lib/who_need_help_web/live/request_live/new.ex:486 #, elixir-autogen, elixir-format msgid "Location permission was denied." @@ -4383,7 +4385,7 @@ msgstr "" msgid "Use another email" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:609 +#: lib/who_need_help_web/live/notification_live.ex:636 #: lib/who_need_help_web/live/request_live/new.ex:595 #, elixir-autogen, elixir-format, fuzzy msgid "Use my location" @@ -4566,6 +4568,7 @@ msgstr "" msgid "Load more in this area" msgstr "Load more in this area" +#: lib/who_need_help_web/components/layouts/root.html.heex:5 #: lib/who_need_help_web/live/request_live/index.ex:475 #, elixir-autogen, elixir-format msgid "Map" @@ -4597,6 +4600,7 @@ msgstr "No open requests in this area" msgid "Only requests from the selected map area will be loaded." msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:8 #: lib/who_need_help_web/live/request_live/index.ex:585 #, elixir-autogen, elixir-format msgid "Open request" @@ -4634,11 +4638,12 @@ msgstr "Static preview" msgid "Together" msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:6 #: lib/who_need_help_web/controllers/page_html/home.html.heex:160 #: lib/who_need_help_web/live/activity_live/index.ex:496 #: lib/who_need_help_web/live/activity_live/show.ex:545 -#: lib/who_need_help_web/live/notification_live.ex:575 -#: lib/who_need_help_web/live/notification_live.ex:594 +#: lib/who_need_help_web/live/notification_live.ex:602 +#: lib/who_need_help_web/live/notification_live.ex:621 #: lib/who_need_help_web/live/request_live/index.ex:584 #: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:563 @@ -4684,7 +4689,7 @@ msgstr[1] "" msgid "A request matching one of your nearby-help alerts is available.\n\nOpen Who Need Help to review the public details:\n%{url}\n\nYou can change nearby alerts and email delivery in Notification settings." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:439 +#: lib/who_need_help_web/live/notification_live.ex:466 #, elixir-autogen, elixir-format msgid "Acceptance, arrival, completion, and cancellation" msgstr "" @@ -4694,22 +4699,22 @@ msgstr "" msgid "Active or unresolved product state must be handled first." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:570 +#: lib/who_need_help_web/live/notification_live.ex:597 #, elixir-autogen, elixir-format msgid "Alert area selected." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:569 +#: lib/who_need_help_web/live/notification_live.ex:596 #, elixir-autogen, elixir-format msgid "Alert area selected. Drag the pin to move it." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:549 +#: lib/who_need_help_web/live/notification_live.ex:576 #, elixir-autogen, elixir-format msgid "Alert name" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:612 +#: lib/who_need_help_web/live/notification_live.ex:639 #, elixir-autogen, elixir-format msgid "Alert radius" msgstr "" @@ -4720,12 +4725,12 @@ msgstr "" msgid "Alert was not found." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:445 +#: lib/who_need_help_web/live/notification_live.ex:472 #, elixir-autogen, elixir-format msgid "Allow email notifications" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:424 +#: lib/who_need_help_web/live/notification_live.ex:451 #, elixir-autogen, elixir-format msgid "Allow push notifications" msgstr "" @@ -4740,17 +4745,17 @@ msgstr "" msgid "Automatic erasure is disabled: no jurisdiction-specific retention and anonymisation policy is configured. Do not mark the case resolved until the approved data action is completed and recorded." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:740 +#: lib/who_need_help_web/live/notification_live.ex:767 #, elixir-autogen, elixir-format msgid "Available days" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:773 +#: lib/who_need_help_web/live/notification_live.ex:800 #, elixir-autogen, elixir-format msgid "Available from (optional)" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:778 +#: lib/who_need_help_web/live/notification_live.ex:805 #, elixir-autogen, elixir-format msgid "Available until (optional)" msgstr "" @@ -4776,23 +4781,23 @@ msgstr "" msgid "Cancelling…" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:537 +#: lib/who_need_help_web/live/notification_live.ex:564 #, elixir-autogen, elixir-format msgid "Choose an area, categories, urgency, and the times when you are available." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:784 +#: lib/who_need_help_web/live/notification_live.ex:811 #, elixir-autogen, elixir-format msgid "Choose at least one way to receive this nearby alert." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:568 -#: lib/who_need_help_web/live/notification_live.ex:649 +#: lib/who_need_help_web/live/notification_live.ex:595 +#: lib/who_need_help_web/live/notification_live.ex:676 #, elixir-autogen, elixir-format msgid "Choose the private center of your alert area." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:599 +#: lib/who_need_help_web/live/notification_live.ex:626 #, elixir-autogen, elixir-format msgid "Click the map or drag the green pin to move your private alert area" msgstr "" @@ -4818,12 +4823,12 @@ msgstr "" msgid "Count" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:535 +#: lib/who_need_help_web/live/notification_live.ex:562 #, elixir-autogen, elixir-format msgid "Create a nearby alert" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:799 +#: lib/who_need_help_web/live/notification_live.ex:826 #, elixir-autogen, elixir-format msgid "Create nearby alert" msgstr "" @@ -4833,22 +4838,22 @@ msgstr "" msgid "Daily aggregate counters only. No user ID, email, coordinate, request text, chat text, medicine name, or device credential is stored here." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:524 +#: lib/who_need_help_web/live/notification_live.ex:551 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:521 +#: lib/who_need_help_web/live/notification_live.ex:548 #, elixir-autogen, elixir-format msgid "Delete this nearby alert?" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:782 +#: lib/who_need_help_web/live/notification_live.ex:809 #, elixir-autogen, elixir-format msgid "Delivery channels" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:343 +#: lib/who_need_help_web/live/notification_live.ex:370 #, elixir-autogen, elixir-format msgid "Delivery channels and quiet hours" msgstr "" @@ -4863,7 +4868,7 @@ msgstr "" msgid "Dimension" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:397 +#: lib/who_need_help_web/live/notification_live.ex:424 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" @@ -4873,19 +4878,19 @@ msgstr "" msgid "Download my data" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:571 -#: lib/who_need_help_web/live/notification_live.ex:572 +#: lib/who_need_help_web/live/notification_live.ex:598 +#: lib/who_need_help_web/live/notification_live.ex:599 #, elixir-autogen, elixir-format msgid "Drag to move the alert area" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:795 +#: lib/who_need_help_web/live/notification_live.ex:822 #, elixir-autogen, elixir-format msgid "Email notification" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:358 -#: lib/who_need_help_web/live/notification_live.ex:361 +#: lib/who_need_help_web/live/notification_live.ex:385 +#: lib/who_need_help_web/live/notification_live.ex:388 #, elixir-autogen, elixir-format msgid "Enable push on this device" msgstr "" @@ -4895,12 +4900,12 @@ msgstr "" msgid "Follow request updates and choose which nearby needs should reach this device." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:749 +#: lib/who_need_help_web/live/notification_live.ex:776 #, elixir-autogen, elixir-format msgid "Fri" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:458 +#: lib/who_need_help_web/live/notification_live.ex:485 #, elixir-autogen, elixir-format msgid "From" msgstr "" @@ -4910,6 +4915,7 @@ msgstr "" msgid "Google could not be connected. Please try again." msgstr "" +#: lib/who_need_help_web/components/layouts/root.html.heex:10 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:79 #, elixir-autogen, elixir-format msgid "Google sign-in could not be completed. Please try again." @@ -4950,7 +4956,7 @@ msgstr "" msgid "Helper's live location" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:555 +#: lib/who_need_help_web/live/notification_live.ex:582 #, elixir-autogen, elixir-format msgid "Home area" msgstr "" @@ -4971,7 +4977,7 @@ msgstr "" msgid "Inbox" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:693 +#: lib/who_need_help_web/live/notification_live.ex:720 #, elixir-autogen, elixir-format msgid "Leave every category unchecked to receive all matching requests." msgstr "" @@ -5011,7 +5017,7 @@ msgstr "" msgid "Metric" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:745 +#: lib/who_need_help_web/live/notification_live.ex:772 #, elixir-autogen, elixir-format msgid "Mon" msgstr "" @@ -5026,13 +5032,13 @@ msgstr "" msgid "Nearby alert deleted." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:429 +#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/request_live/index.ex:362 #, elixir-autogen, elixir-format msgid "Nearby requests" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:450 +#: lib/who_need_help_web/live/notification_live.ex:477 #, elixir-autogen, elixir-format msgid "Nearby requests by email" msgstr "" @@ -5043,7 +5049,7 @@ msgstr "" msgid "New help request nearby" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:434 +#: lib/who_need_help_web/live/notification_live.ex:461 #, elixir-autogen, elixir-format msgid "New private messages" msgstr "" @@ -5058,7 +5064,7 @@ msgstr "" msgid "No aggregate events recorded yet." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:476 +#: lib/who_need_help_web/live/notification_live.ex:503 #, elixir-autogen, elixir-format msgid "No nearby alerts configured yet." msgstr "" @@ -5085,7 +5091,7 @@ msgstr "" msgid "Notification preferences saved." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:345 +#: lib/who_need_help_web/live/notification_live.ex:372 #, elixir-autogen, elixir-format msgid "Notification text never contains chat messages or exact coordinates." msgstr "" @@ -5109,17 +5115,17 @@ msgstr "" msgid "Operations" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:638 +#: lib/who_need_help_web/live/notification_live.ex:665 #, elixir-autogen, elixir-format msgid "Other users never see this saved point." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Pause" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Paused" msgstr "" @@ -5129,12 +5135,12 @@ msgstr "" msgid "Plans changed" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:554 +#: lib/who_need_help_web/live/notification_live.ex:581 #, elixir-autogen, elixir-format msgid "Private area label" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:637 +#: lib/who_need_help_web/live/notification_live.ex:664 #, elixir-autogen, elixir-format msgid "Private matching center" msgstr "" @@ -5151,17 +5157,17 @@ msgstr "" msgid "Progress" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:492 +#: lib/who_need_help_web/live/notification_live.ex:519 #, elixir-autogen, elixir-format msgid "Push" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:359 +#: lib/who_need_help_web/live/notification_live.ex:386 #, elixir-autogen, elixir-format msgid "Push enabled on this device" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:790 +#: lib/who_need_help_web/live/notification_live.ex:817 #, elixir-autogen, elixir-format msgid "Push notification" msgstr "" @@ -5201,7 +5207,7 @@ msgstr "" msgid "Requester's live location" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Resume" msgstr "" @@ -5211,12 +5217,12 @@ msgstr "" msgid "Run deletion preflight" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:750 +#: lib/who_need_help_web/live/notification_live.ex:777 #, elixir-autogen, elixir-format msgid "Sat" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:461 +#: lib/who_need_help_web/live/notification_live.ex:488 #, elixir-autogen, elixir-format msgid "Save preferences" msgstr "" @@ -5231,7 +5237,7 @@ msgstr "" msgid "Stay available without refreshing" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:751 +#: lib/who_need_help_web/live/notification_live.ex:778 #, elixir-autogen, elixir-format msgid "Sun" msgstr "" @@ -5241,7 +5247,7 @@ msgstr "" msgid "The linked account no longer exists." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:592 +#: lib/who_need_help_web/live/notification_live.ex:619 #, elixir-autogen, elixir-format msgid "The map is unavailable. Enter coordinates manually." msgstr "" @@ -5256,7 +5262,7 @@ msgstr "" msgid "The request is not linked to an account." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:472 +#: lib/who_need_help_web/live/notification_live.ex:499 #, elixir-autogen, elixir-format msgid "The saved center is private and is used only to find matching requests." msgstr "" @@ -5272,27 +5278,27 @@ msgstr "" msgid "This is not an account-deletion case." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:748 +#: lib/who_need_help_web/live/notification_live.ex:775 #, elixir-autogen, elixir-format msgid "Thu" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:746 +#: lib/who_need_help_web/live/notification_live.ex:773 #, elixir-autogen, elixir-format msgid "Tue" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:459 +#: lib/who_need_help_web/live/notification_live.ex:486 #, elixir-autogen, elixir-format msgid "Until" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:550 +#: lib/who_need_help_web/live/notification_live.ex:577 #, elixir-autogen, elixir-format msgid "Urgent medicine near home" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:455 +#: lib/who_need_help_web/live/notification_live.ex:482 #, elixir-autogen, elixir-format msgid "Use quiet hours" msgstr "" @@ -5302,17 +5308,18 @@ msgstr "" msgid "Verify the requester contact first." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:368 +#: lib/who_need_help_web/live/notification_live.ex:395 #, elixir-autogen, elixir-format msgid "Web Push keys are not configured in this local environment yet." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:380 +#: lib/who_need_help_web/live/notification_live.ex:367 +#: lib/who_need_help_web/live/notification_live.ex:407 #, elixir-autogen, elixir-format msgid "Web browser" msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:747 +#: lib/who_need_help_web/live/notification_live.ex:774 #, elixir-autogen, elixir-format msgid "Wed" msgstr "" @@ -5329,12 +5336,12 @@ msgstr "" msgid "You left this match. The request is open for another helper if time remains." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:366 +#: lib/who_need_help_web/live/notification_live.ex:393 #, elixir-autogen, elixir-format msgid "Your browser will ask for notification permission." msgstr "" -#: lib/who_need_help_web/live/notification_live.ex:470 +#: lib/who_need_help_web/live/notification_live.ex:497 #, elixir-autogen, elixir-format msgid "Your nearby alerts" msgstr "" @@ -5365,6 +5372,7 @@ msgstr "Selected example:" msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map." msgstr "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map." +#: lib/who_need_help_web/components/layouts/root.html.heex:7 #: lib/who_need_help_web/live/activity_live/index.ex:497 #: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/request_live/show.ex:1278 @@ -6579,3 +6587,73 @@ msgstr "No languages found" #, elixir-autogen, elixir-format msgid "Search languages" msgstr "Search languages" + +#: lib/who_need_help_web/live/notification_live.ex:349 +#, elixir-autogen, elixir-format +msgid "Android push notifications are not available yet." +msgstr "Android push notifications are not available yet." + +#: lib/who_need_help_web/live/activity_live/new.ex:317 +#, elixir-autogen, elixir-format +msgid "Location added." +msgstr "Location added." + +#: lib/who_need_help_web/components/layouts/root.html.heex:9 +#, elixir-autogen, elixir-format +msgid "Map marker" +msgstr "Map marker" + +#: lib/who_need_help_web/live/notification_live.ex:347 +#, elixir-autogen, elixir-format +msgid "Notification permission was not granted." +msgstr "Notification permission was not granted." + +#: lib/who_need_help_web/live/notification_live.ex:361 +#, elixir-autogen, elixir-format +msgid "Push keys changed. Enable notifications to reconnect this device securely." +msgstr "Push keys changed. Enable notifications to reconnect this device securely." + +#: lib/who_need_help_web/live/notification_live.ex:351 +#, elixir-autogen, elixir-format +msgid "Push notifications are disabled on this device." +msgstr "Push notifications are disabled on this device." + +#: lib/who_need_help_web/live/notification_live.ex:342 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this Android device." +msgstr "Push notifications are enabled on this Android device." + +#: lib/who_need_help_web/live/notification_live.ex:358 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this device." +msgstr "Push notifications are enabled on this device." + +#: lib/who_need_help_web/live/notification_live.ex:356 +#, elixir-autogen, elixir-format +msgid "Push notifications are unavailable in this browser." +msgstr "Push notifications are unavailable in this browser." + +#: lib/who_need_help_web/live/notification_live.ex:359 +#, elixir-autogen, elixir-format +msgid "Push notifications could not be enabled." +msgstr "Push notifications could not be enabled." + +#: lib/who_need_help_web/live/notification_live.ex:345 +#, elixir-autogen, elixir-format +msgid "The Android push token could not be saved. Please try again." +msgstr "The Android push token could not be saved. Please try again." + +#: lib/who_need_help_web/live/notification_live.ex:364 +#, elixir-autogen, elixir-format +msgid "This browser has a push subscription. Enable it to reconnect this device." +msgstr "This browser has a push subscription. Enable it to reconnect this device." + +#: lib/who_need_help_web/live/notification_live.ex:353 +#, elixir-autogen, elixir-format +msgid "Waiting for Android notification permission and token…" +msgstr "Waiting for Android notification permission and token…" + +#: lib/who_need_help_web/components/layouts/root.html.heex:23 +#, elixir-autogen, elixir-format +msgid "Who Need Help connects adults who need urgent local help with nearby volunteers." +msgstr "Who Need Help connects adults who need urgent local help with nearby volunteers." diff --git a/priv/gettext/ru/LC_MESSAGES/default.po b/priv/gettext/ru/LC_MESSAGES/default.po index 144e176..c4f707f 100644 --- a/priv/gettext/ru/LC_MESSAGES/default.po +++ b/priv/gettext/ru/LC_MESSAGES/default.po @@ -37,7 +37,7 @@ msgid "Attempting to reconnect" msgstr "Пытаемся восстановить соединение" #: lib/who_need_help_web/components/layouts.ex:236 -#: lib/who_need_help_web/live/notification_live.ex:691 +#: lib/who_need_help_web/live/notification_live.ex:718 #, elixir-autogen, elixir-format msgid "Categories" msgstr "Категории" @@ -178,7 +178,7 @@ msgstr "Центр действий" #: lib/who_need_help_web/live/moderation_live.ex:266 #: lib/who_need_help_web/live/moderation_live.ex:702 -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Active" msgstr "Активный" @@ -669,8 +669,8 @@ msgstr "Двусторонний скрытый отзыв" #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:104 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:137 #: lib/who_need_help_web/controllers/user_settings_html/edit.html.heex:15 -#: lib/who_need_help_web/live/notification_live.ex:441 -#: lib/who_need_help_web/live/notification_live.ex:495 +#: lib/who_need_help_web/live/notification_live.ex:468 +#: lib/who_need_help_web/live/notification_live.ex:522 #, elixir-autogen, elixir-format msgid "Email" msgstr "Электронная почта" @@ -716,7 +716,7 @@ msgstr "Введите код передачи" msgid "Exact address after matching" msgstr "Точный адрес после назначения помощника" -#: lib/who_need_help_web/live/activity_live/new.ex:321 +#: lib/who_need_help_web/live/activity_live/new.ex:324 #, elixir-autogen, elixir-format msgid "Exact coordinates are shown only to participants you approve." msgstr "Точные координаты показаны только участникам, которых вы одобряете." @@ -910,7 +910,7 @@ msgstr "" "Я подтверждаю, что это не экстренная ситуация, непосредственной опасности " "нет, а запрашиваемая помощь законна." -#: lib/who_need_help_web/live/activity_live/new.ex:345 +#: lib/who_need_help_web/live/activity_live/new.ex:348 #, elixir-autogen, elixir-format msgid "I will approve participants individually, keep sensitive details in the approved group, and use an appropriate public first meeting point." msgstr "" @@ -983,8 +983,8 @@ msgstr "Приём заявок на участие закрыт." msgid "Join requests close" msgstr "Приём заявок завершается" -#: lib/who_need_help_web/live/activity_live/new.ex:329 -#: lib/who_need_help_web/live/notification_live.ex:659 +#: lib/who_need_help_web/live/activity_live/new.ex:332 +#: lib/who_need_help_web/live/notification_live.ex:686 #: lib/who_need_help_web/live/request_live/new.ex:668 #, elixir-autogen, elixir-format msgid "Latitude" @@ -1043,8 +1043,8 @@ msgstr "Войти только сейчас" msgid "Logged out successfully." msgstr "Вы успешно вышли." -#: lib/who_need_help_web/live/activity_live/new.ex:336 -#: lib/who_need_help_web/live/notification_live.ex:673 +#: lib/who_need_help_web/live/activity_live/new.ex:339 +#: lib/who_need_help_web/live/notification_live.ex:700 #: lib/who_need_help_web/live/request_live/new.ex:682 #, elixir-autogen, elixir-format msgid "Longitude" @@ -1251,7 +1251,7 @@ msgstr "" msgid "Not for emergencies" msgstr "Не для чрезвычайных ситуаций" -#: lib/who_need_help_web/live/notification_live.ex:721 +#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/request_live/index.ex:297 #: lib/who_need_help_web/live/request_live/index.ex:298 #: lib/who_need_help_web/live/request_live/index.ex:409 @@ -1502,7 +1502,7 @@ msgstr "" "Опубликуйте понятный публичный план. Заявки на участие будут ожидать, пока " "вы их не одобрите." -#: lib/who_need_help_web/live/activity_live/new.ex:357 +#: lib/who_need_help_web/live/activity_live/new.ex:360 #, elixir-autogen, elixir-format msgid "Publish activity" msgstr "Опубликовать активность" @@ -1517,7 +1517,7 @@ msgstr "Опубликовать предложение" msgid "Publish request" msgstr "Опубликовать заявку" -#: lib/who_need_help_web/live/activity_live/new.ex:355 +#: lib/who_need_help_web/live/activity_live/new.ex:358 #: lib/who_need_help_web/live/request_live/new.ex:742 #, elixir-autogen, elixir-format msgid "Publishing…" @@ -1763,7 +1763,7 @@ msgstr "Сохранить пароль" msgid "Save profile" msgstr "Сохранить профиль" -#: lib/who_need_help_web/live/notification_live.ex:723 +#: lib/who_need_help_web/live/notification_live.ex:750 #: lib/who_need_help_web/live/request_live/index.ex:301 #: lib/who_need_help_web/live/request_live/index.ex:302 #: lib/who_need_help_web/live/request_live/index.ex:411 @@ -1826,7 +1826,7 @@ msgstr "Зарегистрироваться" msgid "Signal updated." msgstr "Сигнал обновлен." -#: lib/who_need_help_web/components/layouts/root.html.heex:40 +#: lib/who_need_help_web/components/layouts/root.html.heex:48 #, elixir-autogen, elixir-format msgid "Skip to main content" msgstr "Пропустить основной контент" @@ -2090,7 +2090,7 @@ msgstr "Эта заявка недоступна." msgid "To see sent emails, visit" msgstr "Чтобы посмотреть отправленные письма, откройте" -#: lib/who_need_help_web/live/notification_live.ex:722 +#: lib/who_need_help_web/live/notification_live.ex:749 #: lib/who_need_help_web/live/request_live/index.ex:299 #: lib/who_need_help_web/live/request_live/index.ex:300 #: lib/who_need_help_web/live/request_live/index.ex:410 @@ -2167,7 +2167,7 @@ msgstr "Уникальные люди" msgid "Update email instructions" msgstr "Инструкции для изменения электронной почты" -#: lib/who_need_help_web/live/notification_live.ex:716 +#: lib/who_need_help_web/live/notification_live.ex:743 #: lib/who_need_help_web/live/request_live/index.ex:406 #: lib/who_need_help_web/live/request_live/new.ex:447 #, elixir-autogen, elixir-format @@ -2198,7 +2198,7 @@ msgstr "Включить тёмную тему" msgid "Use light theme" msgstr "Включить светлую тему" -#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/activity_live/new.ex:321 #, elixir-autogen, elixir-format msgid "Use my current foreground location" msgstr "Использовать мою текущую геопозицию" @@ -4178,7 +4178,7 @@ msgstr "Не удалось скопировать" msgid "Date" msgstr "Дата" -#: lib/who_need_help_web/live/notification_live.ex:656 +#: lib/who_need_help_web/live/notification_live.ex:683 #: lib/who_need_help_web/live/request_live/new.ex:660 #, elixir-autogen, elixir-format msgid "Enter coordinates manually" @@ -4265,13 +4265,15 @@ msgstr "Через 1 час" msgid "In 3 hours" msgstr "Через 3 часа" -#: lib/who_need_help_web/live/notification_live.ex:574 +#: lib/who_need_help_web/live/activity_live/new.ex:316 +#: lib/who_need_help_web/live/notification_live.ex:601 #: lib/who_need_help_web/live/request_live/new.ex:484 #, elixir-autogen, elixir-format msgid "Location is unavailable in this browser." msgstr "Геопозиция недоступна в этом браузере." -#: lib/who_need_help_web/live/notification_live.ex:576 +#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/notification_live.ex:603 #: lib/who_need_help_web/live/request_live/new.ex:486 #, elixir-autogen, elixir-format msgid "Location permission was denied." @@ -4523,7 +4525,7 @@ msgstr "Укажите безопасное публичное место вст msgid "Use another email" msgstr "Использовать другую почту" -#: lib/who_need_help_web/live/notification_live.ex:609 +#: lib/who_need_help_web/live/notification_live.ex:636 #: lib/who_need_help_web/live/request_live/new.ex:595 #, elixir-autogen, elixir-format msgid "Use my location" @@ -4707,6 +4709,7 @@ msgstr "Список" msgid "Load more in this area" msgstr "Загрузить ещё в этой области" +#: lib/who_need_help_web/components/layouts/root.html.heex:5 #: lib/who_need_help_web/live/request_live/index.ex:475 #, elixir-autogen, elixir-format msgid "Map" @@ -4738,6 +4741,7 @@ msgstr "В этой области нет открытых заявок" msgid "Only requests from the selected map area will be loaded." msgstr "Будут загружены только заявки из выбранной области карты." +#: lib/who_need_help_web/components/layouts/root.html.heex:8 #: lib/who_need_help_web/live/request_live/index.ex:585 #, elixir-autogen, elixir-format msgid "Open request" @@ -4775,11 +4779,12 @@ msgstr "Статический просмотр" msgid "Together" msgstr "Вместе" +#: lib/who_need_help_web/components/layouts/root.html.heex:6 #: lib/who_need_help_web/controllers/page_html/home.html.heex:160 #: lib/who_need_help_web/live/activity_live/index.ex:496 #: lib/who_need_help_web/live/activity_live/show.ex:545 -#: lib/who_need_help_web/live/notification_live.ex:575 -#: lib/who_need_help_web/live/notification_live.ex:594 +#: lib/who_need_help_web/live/notification_live.ex:602 +#: lib/who_need_help_web/live/notification_live.ex:621 #: lib/who_need_help_web/live/request_live/index.ex:584 #: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:563 @@ -4826,7 +4831,7 @@ msgstr[2] "%{count} непрочитанных уведомлений" msgid "A request matching one of your nearby-help alerts is available.\n\nOpen Who Need Help to review the public details:\n%{url}\n\nYou can change nearby alerts and email delivery in Notification settings." msgstr "Появилась заявка, подходящая под одно из ваших уведомлений о помощи рядом.\n\nОткройте Who Need Help, чтобы посмотреть публичные сведения:\n%{url}\n\nНастроить уведомления поблизости и отправку писем можно в разделе уведомлений." -#: lib/who_need_help_web/live/notification_live.ex:439 +#: lib/who_need_help_web/live/notification_live.ex:466 #, elixir-autogen, elixir-format msgid "Acceptance, arrival, completion, and cancellation" msgstr "Принятие, прибытие, завершение и отмена" @@ -4836,22 +4841,22 @@ msgstr "Принятие, прибытие, завершение и отмена msgid "Active or unresolved product state must be handled first." msgstr "Сначала нужно обработать активное или незавершённое состояние." -#: lib/who_need_help_web/live/notification_live.ex:570 +#: lib/who_need_help_web/live/notification_live.ex:597 #, elixir-autogen, elixir-format msgid "Alert area selected." msgstr "Область уведомления выбрана." -#: lib/who_need_help_web/live/notification_live.ex:569 +#: lib/who_need_help_web/live/notification_live.ex:596 #, elixir-autogen, elixir-format msgid "Alert area selected. Drag the pin to move it." msgstr "Область уведомления выбрана. Перетащите маркер, чтобы её переместить." -#: lib/who_need_help_web/live/notification_live.ex:549 +#: lib/who_need_help_web/live/notification_live.ex:576 #, elixir-autogen, elixir-format msgid "Alert name" msgstr "Название уведомления" -#: lib/who_need_help_web/live/notification_live.ex:612 +#: lib/who_need_help_web/live/notification_live.ex:639 #, elixir-autogen, elixir-format msgid "Alert radius" msgstr "Радиус уведомления" @@ -4862,12 +4867,12 @@ msgstr "Радиус уведомления" msgid "Alert was not found." msgstr "Уведомление не найдено." -#: lib/who_need_help_web/live/notification_live.ex:445 +#: lib/who_need_help_web/live/notification_live.ex:472 #, elixir-autogen, elixir-format msgid "Allow email notifications" msgstr "Разрешить уведомления по почте" -#: lib/who_need_help_web/live/notification_live.ex:424 +#: lib/who_need_help_web/live/notification_live.ex:451 #, elixir-autogen, elixir-format msgid "Allow push notifications" msgstr "Разрешить push-уведомления" @@ -4882,17 +4887,17 @@ msgstr "Прибытие сохранено. Автор заявки получ msgid "Automatic erasure is disabled: no jurisdiction-specific retention and anonymisation policy is configured. Do not mark the case resolved until the approved data action is completed and recorded." msgstr "Автоматическое удаление отключено: правила хранения и обезличивания для выбранной юрисдикции не настроены. Не отмечайте обращение решённым, пока согласованное действие с данными не выполнено и не зафиксировано." -#: lib/who_need_help_web/live/notification_live.ex:740 +#: lib/who_need_help_web/live/notification_live.ex:767 #, elixir-autogen, elixir-format msgid "Available days" msgstr "Доступные дни" -#: lib/who_need_help_web/live/notification_live.ex:773 +#: lib/who_need_help_web/live/notification_live.ex:800 #, elixir-autogen, elixir-format msgid "Available from (optional)" msgstr "Доступен с (необязательно)" -#: lib/who_need_help_web/live/notification_live.ex:778 +#: lib/who_need_help_web/live/notification_live.ex:805 #, elixir-autogen, elixir-format msgid "Available until (optional)" msgstr "Доступен до (необязательно)" @@ -4918,23 +4923,23 @@ msgstr "Отмена завершит эту помощь и остановит msgid "Cancelling…" msgstr "Отменяем…" -#: lib/who_need_help_web/live/notification_live.ex:537 +#: lib/who_need_help_web/live/notification_live.ex:564 #, elixir-autogen, elixir-format msgid "Choose an area, categories, urgency, and the times when you are available." msgstr "Выберите область, категории, срочность и время, когда вы доступны." -#: lib/who_need_help_web/live/notification_live.ex:784 +#: lib/who_need_help_web/live/notification_live.ex:811 #, elixir-autogen, elixir-format msgid "Choose at least one way to receive this nearby alert." msgstr "Выберите хотя бы один способ получения этого уведомления." -#: lib/who_need_help_web/live/notification_live.ex:568 -#: lib/who_need_help_web/live/notification_live.ex:649 +#: lib/who_need_help_web/live/notification_live.ex:595 +#: lib/who_need_help_web/live/notification_live.ex:676 #, elixir-autogen, elixir-format msgid "Choose the private center of your alert area." msgstr "Выберите скрытый центр области уведомления." -#: lib/who_need_help_web/live/notification_live.ex:599 +#: lib/who_need_help_web/live/notification_live.ex:626 #, elixir-autogen, elixir-format msgid "Click the map or drag the green pin to move your private alert area" msgstr "Нажмите на карту или перетащите зелёный маркер, чтобы переместить скрытую область уведомления" @@ -4960,12 +4965,12 @@ msgstr "Подтвердить выход" msgid "Count" msgstr "Количество" -#: lib/who_need_help_web/live/notification_live.ex:535 +#: lib/who_need_help_web/live/notification_live.ex:562 #, elixir-autogen, elixir-format msgid "Create a nearby alert" msgstr "Создать уведомление поблизости" -#: lib/who_need_help_web/live/notification_live.ex:799 +#: lib/who_need_help_web/live/notification_live.ex:826 #, elixir-autogen, elixir-format msgid "Create nearby alert" msgstr "Создать уведомление" @@ -4975,22 +4980,22 @@ msgstr "Создать уведомление" msgid "Daily aggregate counters only. No user ID, email, coordinate, request text, chat text, medicine name, or device credential is stored here." msgstr "Здесь хранятся только дневные суммарные показатели. Идентификаторы пользователей, почта, координаты, тексты заявок и чатов, названия лекарств и данные устройств не сохраняются." -#: lib/who_need_help_web/live/notification_live.ex:524 +#: lib/who_need_help_web/live/notification_live.ex:551 #, elixir-autogen, elixir-format msgid "Delete" msgstr "Удалить" -#: lib/who_need_help_web/live/notification_live.ex:521 +#: lib/who_need_help_web/live/notification_live.ex:548 #, elixir-autogen, elixir-format msgid "Delete this nearby alert?" msgstr "Удалить это уведомление поблизости?" -#: lib/who_need_help_web/live/notification_live.ex:782 +#: lib/who_need_help_web/live/notification_live.ex:809 #, elixir-autogen, elixir-format msgid "Delivery channels" msgstr "Каналы доставки" -#: lib/who_need_help_web/live/notification_live.ex:343 +#: lib/who_need_help_web/live/notification_live.ex:370 #, elixir-autogen, elixir-format msgid "Delivery channels and quiet hours" msgstr "Каналы доставки и тихие часы" @@ -5005,7 +5010,7 @@ msgstr "Устройство не найдено." msgid "Dimension" msgstr "Параметр" -#: lib/who_need_help_web/live/notification_live.ex:397 +#: lib/who_need_help_web/live/notification_live.ex:424 #, elixir-autogen, elixir-format msgid "Disable" msgstr "Отключить" @@ -5015,19 +5020,19 @@ msgstr "Отключить" msgid "Download my data" msgstr "Скачать мои данные" -#: lib/who_need_help_web/live/notification_live.ex:571 -#: lib/who_need_help_web/live/notification_live.ex:572 +#: lib/who_need_help_web/live/notification_live.ex:598 +#: lib/who_need_help_web/live/notification_live.ex:599 #, elixir-autogen, elixir-format msgid "Drag to move the alert area" msgstr "Перетащите, чтобы переместить область уведомления" -#: lib/who_need_help_web/live/notification_live.ex:795 +#: lib/who_need_help_web/live/notification_live.ex:822 #, elixir-autogen, elixir-format msgid "Email notification" msgstr "Уведомление по почте" -#: lib/who_need_help_web/live/notification_live.ex:358 -#: lib/who_need_help_web/live/notification_live.ex:361 +#: lib/who_need_help_web/live/notification_live.ex:385 +#: lib/who_need_help_web/live/notification_live.ex:388 #, elixir-autogen, elixir-format msgid "Enable push on this device" msgstr "Включить push на этом устройстве" @@ -5037,12 +5042,12 @@ msgstr "Включить push на этом устройстве" msgid "Follow request updates and choose which nearby needs should reach this device." msgstr "Следите за обновлениями заявок и выбирайте, какие просьбы поблизости получать на этом устройстве." -#: lib/who_need_help_web/live/notification_live.ex:749 +#: lib/who_need_help_web/live/notification_live.ex:776 #, elixir-autogen, elixir-format msgid "Fri" msgstr "Пт" -#: lib/who_need_help_web/live/notification_live.ex:458 +#: lib/who_need_help_web/live/notification_live.ex:485 #, elixir-autogen, elixir-format msgid "From" msgstr "С" @@ -5052,6 +5057,7 @@ msgstr "С" msgid "Google could not be connected. Please try again." msgstr "Не удалось подключить Google. Попробуйте снова." +#: lib/who_need_help_web/components/layouts/root.html.heex:10 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:79 #, elixir-autogen, elixir-format msgid "Google sign-in could not be completed. Please try again." @@ -5092,7 +5098,7 @@ msgstr "Помощник прибыл" msgid "Helper's live location" msgstr "Текущая геопозиция помощника" -#: lib/who_need_help_web/live/notification_live.ex:555 +#: lib/who_need_help_web/live/notification_live.ex:582 #, elixir-autogen, elixir-format msgid "Home area" msgstr "Район дома" @@ -5113,7 +5119,7 @@ msgstr "Я прибыл" msgid "Inbox" msgstr "Входящие" -#: lib/who_need_help_web/live/notification_live.ex:693 +#: lib/who_need_help_web/live/notification_live.ex:720 #, elixir-autogen, elixir-format msgid "Leave every category unchecked to receive all matching requests." msgstr "Не выбирайте категории, чтобы получать все подходящие заявки." @@ -5153,7 +5159,7 @@ msgstr "Отметить все прочитанными" msgid "Metric" msgstr "Показатель" -#: lib/who_need_help_web/live/notification_live.ex:745 +#: lib/who_need_help_web/live/notification_live.ex:772 #, elixir-autogen, elixir-format msgid "Mon" msgstr "Пн" @@ -5168,13 +5174,13 @@ msgstr "Уведомление поблизости создано." msgid "Nearby alert deleted." msgstr "Уведомление поблизости удалено." -#: lib/who_need_help_web/live/notification_live.ex:429 +#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/request_live/index.ex:362 #, elixir-autogen, elixir-format msgid "Nearby requests" msgstr "Заявки поблизости" -#: lib/who_need_help_web/live/notification_live.ex:450 +#: lib/who_need_help_web/live/notification_live.ex:477 #, elixir-autogen, elixir-format msgid "Nearby requests by email" msgstr "Заявки поблизости по почте" @@ -5185,7 +5191,7 @@ msgstr "Заявки поблизости по почте" msgid "New help request nearby" msgstr "Новая заявка на помощь поблизости" -#: lib/who_need_help_web/live/notification_live.ex:434 +#: lib/who_need_help_web/live/notification_live.ex:461 #, elixir-autogen, elixir-format msgid "New private messages" msgstr "Новые личные сообщения" @@ -5200,7 +5206,7 @@ msgstr "Активный пользовательский процесс не н msgid "No aggregate events recorded yet." msgstr "Суммарных событий пока нет." -#: lib/who_need_help_web/live/notification_live.ex:476 +#: lib/who_need_help_web/live/notification_live.ex:503 #, elixir-autogen, elixir-format msgid "No nearby alerts configured yet." msgstr "Уведомления поблизости ещё не настроены." @@ -5227,7 +5233,7 @@ msgstr "Уведомление не найдено." msgid "Notification preferences saved." msgstr "Настройки уведомлений сохранены." -#: lib/who_need_help_web/live/notification_live.ex:345 +#: lib/who_need_help_web/live/notification_live.ex:372 #, elixir-autogen, elixir-format msgid "Notification text never contains chat messages or exact coordinates." msgstr "Текст уведомления никогда не содержит сообщения из чата или точные координаты." @@ -5251,17 +5257,17 @@ msgstr "Уведомления и помощь поблизости" msgid "Operations" msgstr "Операции" -#: lib/who_need_help_web/live/notification_live.ex:638 +#: lib/who_need_help_web/live/notification_live.ex:665 #, elixir-autogen, elixir-format msgid "Other users never see this saved point." msgstr "Другие пользователи никогда не видят эту сохранённую точку." -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Pause" msgstr "Приостановить" -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Paused" msgstr "Приостановлено" @@ -5271,12 +5277,12 @@ msgstr "Приостановлено" msgid "Plans changed" msgstr "Планы изменились" -#: lib/who_need_help_web/live/notification_live.ex:554 +#: lib/who_need_help_web/live/notification_live.ex:581 #, elixir-autogen, elixir-format msgid "Private area label" msgstr "Личное название области" -#: lib/who_need_help_web/live/notification_live.ex:637 +#: lib/who_need_help_web/live/notification_live.ex:664 #, elixir-autogen, elixir-format msgid "Private matching center" msgstr "Скрытый центр поиска" @@ -5293,17 +5299,17 @@ msgstr "Аналитика продукта" msgid "Progress" msgstr "Ход выполнения" -#: lib/who_need_help_web/live/notification_live.ex:492 +#: lib/who_need_help_web/live/notification_live.ex:519 #, elixir-autogen, elixir-format msgid "Push" msgstr "Push" -#: lib/who_need_help_web/live/notification_live.ex:359 +#: lib/who_need_help_web/live/notification_live.ex:386 #, elixir-autogen, elixir-format msgid "Push enabled on this device" msgstr "Push включён на этом устройстве" -#: lib/who_need_help_web/live/notification_live.ex:790 +#: lib/who_need_help_web/live/notification_live.ex:817 #, elixir-autogen, elixir-format msgid "Push notification" msgstr "Push-уведомление" @@ -5343,7 +5349,7 @@ msgstr "Не удаётся связаться с автором заявки" msgid "Requester's live location" msgstr "Текущая геопозиция автора заявки" -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Resume" msgstr "Возобновить" @@ -5353,12 +5359,12 @@ msgstr "Возобновить" msgid "Run deletion preflight" msgstr "Проверить возможность удаления" -#: lib/who_need_help_web/live/notification_live.ex:750 +#: lib/who_need_help_web/live/notification_live.ex:777 #, elixir-autogen, elixir-format msgid "Sat" msgstr "Сб" -#: lib/who_need_help_web/live/notification_live.ex:461 +#: lib/who_need_help_web/live/notification_live.ex:488 #, elixir-autogen, elixir-format msgid "Save preferences" msgstr "Сохранить настройки" @@ -5373,7 +5379,7 @@ msgstr "Передаваемая геопозиция" msgid "Stay available without refreshing" msgstr "Оставайтесь на связи без обновления страницы" -#: lib/who_need_help_web/live/notification_live.ex:751 +#: lib/who_need_help_web/live/notification_live.ex:778 #, elixir-autogen, elixir-format msgid "Sun" msgstr "Вс" @@ -5383,7 +5389,7 @@ msgstr "Вс" msgid "The linked account no longer exists." msgstr "Связанный аккаунт больше не существует." -#: lib/who_need_help_web/live/notification_live.ex:592 +#: lib/who_need_help_web/live/notification_live.ex:619 #, elixir-autogen, elixir-format msgid "The map is unavailable. Enter coordinates manually." msgstr "Карта недоступна. Введите координаты вручную." @@ -5398,7 +5404,7 @@ msgstr "Предыдущий помощник вышел. Заявка снов msgid "The request is not linked to an account." msgstr "Заявка не связана с аккаунтом." -#: lib/who_need_help_web/live/notification_live.ex:472 +#: lib/who_need_help_web/live/notification_live.ex:499 #, elixir-autogen, elixir-format msgid "The saved center is private and is used only to find matching requests." msgstr "Сохранённый центр скрыт и используется только для поиска подходящих заявок." @@ -5414,27 +5420,27 @@ msgstr "Это показатели активности, а не проверк msgid "This is not an account-deletion case." msgstr "Это обращение не связано с удалением аккаунта." -#: lib/who_need_help_web/live/notification_live.ex:748 +#: lib/who_need_help_web/live/notification_live.ex:775 #, elixir-autogen, elixir-format msgid "Thu" msgstr "Чт" -#: lib/who_need_help_web/live/notification_live.ex:746 +#: lib/who_need_help_web/live/notification_live.ex:773 #, elixir-autogen, elixir-format msgid "Tue" msgstr "Вт" -#: lib/who_need_help_web/live/notification_live.ex:459 +#: lib/who_need_help_web/live/notification_live.ex:486 #, elixir-autogen, elixir-format msgid "Until" msgstr "До" -#: lib/who_need_help_web/live/notification_live.ex:550 +#: lib/who_need_help_web/live/notification_live.ex:577 #, elixir-autogen, elixir-format msgid "Urgent medicine near home" msgstr "Срочная доставка лекарства рядом с домом" -#: lib/who_need_help_web/live/notification_live.ex:455 +#: lib/who_need_help_web/live/notification_live.ex:482 #, elixir-autogen, elixir-format msgid "Use quiet hours" msgstr "Использовать тихие часы" @@ -5444,17 +5450,18 @@ msgstr "Использовать тихие часы" msgid "Verify the requester contact first." msgstr "Сначала подтвердите контакт автора заявки." -#: lib/who_need_help_web/live/notification_live.ex:368 +#: lib/who_need_help_web/live/notification_live.ex:395 #, elixir-autogen, elixir-format msgid "Web Push keys are not configured in this local environment yet." msgstr "Ключи Web Push ещё не настроены в этом локальном окружении." -#: lib/who_need_help_web/live/notification_live.ex:380 +#: lib/who_need_help_web/live/notification_live.ex:367 +#: lib/who_need_help_web/live/notification_live.ex:407 #, elixir-autogen, elixir-format msgid "Web browser" msgstr "Веб-браузер" -#: lib/who_need_help_web/live/notification_live.ex:747 +#: lib/who_need_help_web/live/notification_live.ex:774 #, elixir-autogen, elixir-format msgid "Wed" msgstr "Ср" @@ -5471,12 +5478,12 @@ msgstr "Вы приняли эту заявку. Безопасно соглас msgid "You left this match. The request is open for another helper if time remains." msgstr "Вы вышли из этой помощи. Если время не истекло, заявку сможет принять другой помощник." -#: lib/who_need_help_web/live/notification_live.ex:366 +#: lib/who_need_help_web/live/notification_live.ex:393 #, elixir-autogen, elixir-format msgid "Your browser will ask for notification permission." msgstr "Браузер запросит разрешение на уведомления." -#: lib/who_need_help_web/live/notification_live.ex:470 +#: lib/who_need_help_web/live/notification_live.ex:497 #, elixir-autogen, elixir-format msgid "Your nearby alerts" msgstr "Ваши уведомления поблизости" @@ -5507,6 +5514,7 @@ msgstr "Выбранный пример:" msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map." msgstr "WebGL недоступен в этом браузере, поэтому полная карта не может запуститься. Выберите пример ниже или попробуйте запустить карту ещё раз." +#: lib/who_need_help_web/components/layouts/root.html.heex:7 #: lib/who_need_help_web/live/activity_live/index.ex:497 #: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/request_live/show.ex:1278 @@ -6722,3 +6730,73 @@ msgstr "Языки не найдены" #, elixir-autogen, elixir-format msgid "Search languages" msgstr "Поиск языков" + +#: lib/who_need_help_web/live/notification_live.ex:349 +#, elixir-autogen, elixir-format +msgid "Android push notifications are not available yet." +msgstr "Push-уведомления Android пока недоступны." + +#: lib/who_need_help_web/live/activity_live/new.ex:317 +#, elixir-autogen, elixir-format +msgid "Location added." +msgstr "Местоположение добавлено." + +#: lib/who_need_help_web/components/layouts/root.html.heex:9 +#, elixir-autogen, elixir-format +msgid "Map marker" +msgstr "Маркер на карте" + +#: lib/who_need_help_web/live/notification_live.ex:347 +#, elixir-autogen, elixir-format +msgid "Notification permission was not granted." +msgstr "Разрешение на уведомления не предоставлено." + +#: lib/who_need_help_web/live/notification_live.ex:361 +#, elixir-autogen, elixir-format +msgid "Push keys changed. Enable notifications to reconnect this device securely." +msgstr "Ключи push-уведомлений изменились. Включите уведомления, чтобы безопасно переподключить это устройство." + +#: lib/who_need_help_web/live/notification_live.ex:351 +#, elixir-autogen, elixir-format +msgid "Push notifications are disabled on this device." +msgstr "Push-уведомления отключены для этого устройства." + +#: lib/who_need_help_web/live/notification_live.ex:342 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this Android device." +msgstr "Push-уведомления включены на этом Android-устройстве." + +#: lib/who_need_help_web/live/notification_live.ex:358 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this device." +msgstr "Push-уведомления включены на этом устройстве." + +#: lib/who_need_help_web/live/notification_live.ex:356 +#, elixir-autogen, elixir-format +msgid "Push notifications are unavailable in this browser." +msgstr "Push-уведомления недоступны в этом браузере." + +#: lib/who_need_help_web/live/notification_live.ex:359 +#, elixir-autogen, elixir-format +msgid "Push notifications could not be enabled." +msgstr "Не удалось включить push-уведомления." + +#: lib/who_need_help_web/live/notification_live.ex:345 +#, elixir-autogen, elixir-format +msgid "The Android push token could not be saved. Please try again." +msgstr "Не удалось сохранить push-токен Android. Повторите попытку." + +#: lib/who_need_help_web/live/notification_live.ex:364 +#, elixir-autogen, elixir-format +msgid "This browser has a push subscription. Enable it to reconnect this device." +msgstr "В этом браузере есть push-подписка. Включите уведомления, чтобы переподключить это устройство." + +#: lib/who_need_help_web/live/notification_live.ex:353 +#, elixir-autogen, elixir-format +msgid "Waiting for Android notification permission and token…" +msgstr "Ожидаем разрешения на уведомления и токен Android…" + +#: lib/who_need_help_web/components/layouts/root.html.heex:23 +#, elixir-autogen, elixir-format +msgid "Who Need Help connects adults who need urgent local help with nearby volunteers." +msgstr "Who Need Help связывает взрослых, которым нужна срочная помощь поблизости, с находящимися рядом волонтёрами." diff --git a/priv/gettext/uk/LC_MESSAGES/default.po b/priv/gettext/uk/LC_MESSAGES/default.po index cd0a667..d64fbe8 100644 --- a/priv/gettext/uk/LC_MESSAGES/default.po +++ b/priv/gettext/uk/LC_MESSAGES/default.po @@ -37,7 +37,7 @@ msgid "Attempting to reconnect" msgstr "Спроба повторного з’єднання" #: lib/who_need_help_web/components/layouts.ex:236 -#: lib/who_need_help_web/live/notification_live.ex:691 +#: lib/who_need_help_web/live/notification_live.ex:718 #, elixir-autogen, elixir-format msgid "Categories" msgstr "Категорії" @@ -178,7 +178,7 @@ msgstr "Центр дій" #: lib/who_need_help_web/live/moderation_live.ex:266 #: lib/who_need_help_web/live/moderation_live.ex:702 -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Active" msgstr "Активний" @@ -669,8 +669,8 @@ msgstr "Двосторонній прихований відгук" #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:104 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:137 #: lib/who_need_help_web/controllers/user_settings_html/edit.html.heex:15 -#: lib/who_need_help_web/live/notification_live.ex:441 -#: lib/who_need_help_web/live/notification_live.ex:495 +#: lib/who_need_help_web/live/notification_live.ex:468 +#: lib/who_need_help_web/live/notification_live.ex:522 #, elixir-autogen, elixir-format msgid "Email" msgstr "Електронна пошта" @@ -715,7 +715,7 @@ msgstr "Введіть код передачі" msgid "Exact address after matching" msgstr "Точна адреса після призначення помічника" -#: lib/who_need_help_web/live/activity_live/new.ex:321 +#: lib/who_need_help_web/live/activity_live/new.ex:324 #, elixir-autogen, elixir-format msgid "Exact coordinates are shown only to participants you approve." msgstr "Точні координати показуються лише схваленим вами учасникам." @@ -909,7 +909,7 @@ msgstr "" "Я підтверджую, що це не екстрена ситуація, безпосередньої небезпеки немає, а" " запитувана допомога є законною." -#: lib/who_need_help_web/live/activity_live/new.ex:345 +#: lib/who_need_help_web/live/activity_live/new.ex:348 #, elixir-autogen, elixir-format msgid "I will approve participants individually, keep sensitive details in the approved group, and use an appropriate public first meeting point." msgstr "" @@ -981,8 +981,8 @@ msgstr "Подання заявок на участь закрито." msgid "Join requests close" msgstr "Приймання заявок завершується" -#: lib/who_need_help_web/live/activity_live/new.ex:329 -#: lib/who_need_help_web/live/notification_live.ex:659 +#: lib/who_need_help_web/live/activity_live/new.ex:332 +#: lib/who_need_help_web/live/notification_live.ex:686 #: lib/who_need_help_web/live/request_live/new.ex:668 #, elixir-autogen, elixir-format msgid "Latitude" @@ -1041,8 +1041,8 @@ msgstr "Увійти лише зараз" msgid "Logged out successfully." msgstr "Ви успішно вийшли." -#: lib/who_need_help_web/live/activity_live/new.ex:336 -#: lib/who_need_help_web/live/notification_live.ex:673 +#: lib/who_need_help_web/live/activity_live/new.ex:339 +#: lib/who_need_help_web/live/notification_live.ex:700 #: lib/who_need_help_web/live/request_live/new.ex:682 #, elixir-autogen, elixir-format msgid "Longitude" @@ -1247,7 +1247,7 @@ msgstr "" msgid "Not for emergencies" msgstr "Не для екстрених ситуацій" -#: lib/who_need_help_web/live/notification_live.ex:721 +#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/request_live/index.ex:297 #: lib/who_need_help_web/live/request_live/index.ex:298 #: lib/who_need_help_web/live/request_live/index.ex:409 @@ -1498,7 +1498,7 @@ msgstr "" "Опублікуйте зрозумілий публічний план. Заявки на участь очікуватимуть, доки " "ви їх не схвалите." -#: lib/who_need_help_web/live/activity_live/new.ex:357 +#: lib/who_need_help_web/live/activity_live/new.ex:360 #, elixir-autogen, elixir-format msgid "Publish activity" msgstr "Опублікувати активність" @@ -1513,7 +1513,7 @@ msgstr "Оприлюднити пропозицію" msgid "Publish request" msgstr "Опублікувати заявку" -#: lib/who_need_help_web/live/activity_live/new.ex:355 +#: lib/who_need_help_web/live/activity_live/new.ex:358 #: lib/who_need_help_web/live/request_live/new.ex:742 #, elixir-autogen, elixir-format msgid "Publishing…" @@ -1760,7 +1760,7 @@ msgstr "Зберегти пароль" msgid "Save profile" msgstr "Зберегти профіль" -#: lib/who_need_help_web/live/notification_live.ex:723 +#: lib/who_need_help_web/live/notification_live.ex:750 #: lib/who_need_help_web/live/request_live/index.ex:301 #: lib/who_need_help_web/live/request_live/index.ex:302 #: lib/who_need_help_web/live/request_live/index.ex:411 @@ -1823,7 +1823,7 @@ msgstr "Зареєструватися" msgid "Signal updated." msgstr "Сигнал оновлено." -#: lib/who_need_help_web/components/layouts/root.html.heex:40 +#: lib/who_need_help_web/components/layouts/root.html.heex:48 #, elixir-autogen, elixir-format msgid "Skip to main content" msgstr "Перейти до головного вмісту" @@ -2087,7 +2087,7 @@ msgstr "Ця заявка недоступна." msgid "To see sent emails, visit" msgstr "Щоб переглянути надіслані листи, відкрийте" -#: lib/who_need_help_web/live/notification_live.ex:722 +#: lib/who_need_help_web/live/notification_live.ex:749 #: lib/who_need_help_web/live/request_live/index.ex:299 #: lib/who_need_help_web/live/request_live/index.ex:300 #: lib/who_need_help_web/live/request_live/index.ex:410 @@ -2164,7 +2164,7 @@ msgstr "Унікальні люди" msgid "Update email instructions" msgstr "Інструкції для зміни електронної пошти" -#: lib/who_need_help_web/live/notification_live.ex:716 +#: lib/who_need_help_web/live/notification_live.ex:743 #: lib/who_need_help_web/live/request_live/index.ex:406 #: lib/who_need_help_web/live/request_live/new.ex:447 #, elixir-autogen, elixir-format @@ -2194,7 +2194,7 @@ msgstr "Увімкнути темну тему" msgid "Use light theme" msgstr "Увімкнути світлу тему" -#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/activity_live/new.ex:321 #, elixir-autogen, elixir-format msgid "Use my current foreground location" msgstr "Використати мою поточну геопозицію" @@ -4172,7 +4172,7 @@ msgstr "Не вдалося скопіювати" msgid "Date" msgstr "Дата" -#: lib/who_need_help_web/live/notification_live.ex:656 +#: lib/who_need_help_web/live/notification_live.ex:683 #: lib/who_need_help_web/live/request_live/new.ex:660 #, elixir-autogen, elixir-format msgid "Enter coordinates manually" @@ -4259,13 +4259,15 @@ msgstr "За 1 годину" msgid "In 3 hours" msgstr "За 3 години" -#: lib/who_need_help_web/live/notification_live.ex:574 +#: lib/who_need_help_web/live/activity_live/new.ex:316 +#: lib/who_need_help_web/live/notification_live.ex:601 #: lib/who_need_help_web/live/request_live/new.ex:484 #, elixir-autogen, elixir-format msgid "Location is unavailable in this browser." msgstr "Геопозиція недоступна в цьому браузері." -#: lib/who_need_help_web/live/notification_live.ex:576 +#: lib/who_need_help_web/live/activity_live/new.ex:318 +#: lib/who_need_help_web/live/notification_live.ex:603 #: lib/who_need_help_web/live/request_live/new.ex:486 #, elixir-autogen, elixir-format msgid "Location permission was denied." @@ -4517,7 +4519,7 @@ msgstr "Вкажіть безпечне публічне місце зустрі msgid "Use another email" msgstr "Використати іншу пошту" -#: lib/who_need_help_web/live/notification_live.ex:609 +#: lib/who_need_help_web/live/notification_live.ex:636 #: lib/who_need_help_web/live/request_live/new.ex:595 #, elixir-autogen, elixir-format msgid "Use my location" @@ -4701,6 +4703,7 @@ msgstr "Список" msgid "Load more in this area" msgstr "Завантажити ще в цій області" +#: lib/who_need_help_web/components/layouts/root.html.heex:5 #: lib/who_need_help_web/live/request_live/index.ex:475 #, elixir-autogen, elixir-format msgid "Map" @@ -4732,6 +4735,7 @@ msgstr "У цій області немає відкритих заявок" msgid "Only requests from the selected map area will be loaded." msgstr "Буде завантажено лише заявки з вибраної області карти." +#: lib/who_need_help_web/components/layouts/root.html.heex:8 #: lib/who_need_help_web/live/request_live/index.ex:585 #, elixir-autogen, elixir-format msgid "Open request" @@ -4769,11 +4773,12 @@ msgstr "Статичний перегляд" msgid "Together" msgstr "Разом" +#: lib/who_need_help_web/components/layouts/root.html.heex:6 #: lib/who_need_help_web/controllers/page_html/home.html.heex:160 #: lib/who_need_help_web/live/activity_live/index.ex:496 #: lib/who_need_help_web/live/activity_live/show.ex:545 -#: lib/who_need_help_web/live/notification_live.ex:575 -#: lib/who_need_help_web/live/notification_live.ex:594 +#: lib/who_need_help_web/live/notification_live.ex:602 +#: lib/who_need_help_web/live/notification_live.ex:621 #: lib/who_need_help_web/live/request_live/index.ex:584 #: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:563 @@ -4820,7 +4825,7 @@ msgstr[2] "%{count} непрочитаних сповіщень" msgid "A request matching one of your nearby-help alerts is available.\n\nOpen Who Need Help to review the public details:\n%{url}\n\nYou can change nearby alerts and email delivery in Notification settings." msgstr "З’явилася заявка, що відповідає одному з ваших сповіщень про допомогу поруч.\n\nВідкрийте Who Need Help, щоб переглянути публічні відомості:\n%{url}\n\nНалаштувати сповіщення поблизу та надсилання листів можна в розділі сповіщень." -#: lib/who_need_help_web/live/notification_live.ex:439 +#: lib/who_need_help_web/live/notification_live.ex:466 #, elixir-autogen, elixir-format msgid "Acceptance, arrival, completion, and cancellation" msgstr "Прийняття, прибуття, завершення та скасування" @@ -4830,22 +4835,22 @@ msgstr "Прийняття, прибуття, завершення та скас msgid "Active or unresolved product state must be handled first." msgstr "Спочатку потрібно опрацювати активний або незавершений стан." -#: lib/who_need_help_web/live/notification_live.ex:570 +#: lib/who_need_help_web/live/notification_live.ex:597 #, elixir-autogen, elixir-format msgid "Alert area selected." msgstr "Область сповіщення вибрано." -#: lib/who_need_help_web/live/notification_live.ex:569 +#: lib/who_need_help_web/live/notification_live.ex:596 #, elixir-autogen, elixir-format msgid "Alert area selected. Drag the pin to move it." msgstr "Область сповіщення вибрано. Перетягніть маркер, щоб її перемістити." -#: lib/who_need_help_web/live/notification_live.ex:549 +#: lib/who_need_help_web/live/notification_live.ex:576 #, elixir-autogen, elixir-format msgid "Alert name" msgstr "Назва сповіщення" -#: lib/who_need_help_web/live/notification_live.ex:612 +#: lib/who_need_help_web/live/notification_live.ex:639 #, elixir-autogen, elixir-format msgid "Alert radius" msgstr "Радіус сповіщення" @@ -4856,12 +4861,12 @@ msgstr "Радіус сповіщення" msgid "Alert was not found." msgstr "Сповіщення не знайдено." -#: lib/who_need_help_web/live/notification_live.ex:445 +#: lib/who_need_help_web/live/notification_live.ex:472 #, elixir-autogen, elixir-format msgid "Allow email notifications" msgstr "Дозволити сповіщення поштою" -#: lib/who_need_help_web/live/notification_live.ex:424 +#: lib/who_need_help_web/live/notification_live.ex:451 #, elixir-autogen, elixir-format msgid "Allow push notifications" msgstr "Дозволити push-сповіщення" @@ -4876,17 +4881,17 @@ msgstr "Прибуття збережено. Автор заявки отрим msgid "Automatic erasure is disabled: no jurisdiction-specific retention and anonymisation policy is configured. Do not mark the case resolved until the approved data action is completed and recorded." msgstr "Автоматичне видалення вимкнено: правила зберігання й знеособлення для вибраної юрисдикції не налаштовано. Не позначайте звернення вирішеним, доки погоджену дію з даними не виконано й не зафіксовано." -#: lib/who_need_help_web/live/notification_live.ex:740 +#: lib/who_need_help_web/live/notification_live.ex:767 #, elixir-autogen, elixir-format msgid "Available days" msgstr "Доступні дні" -#: lib/who_need_help_web/live/notification_live.ex:773 +#: lib/who_need_help_web/live/notification_live.ex:800 #, elixir-autogen, elixir-format msgid "Available from (optional)" msgstr "Доступний з (необов’язково)" -#: lib/who_need_help_web/live/notification_live.ex:778 +#: lib/who_need_help_web/live/notification_live.ex:805 #, elixir-autogen, elixir-format msgid "Available until (optional)" msgstr "Доступний до (необов’язково)" @@ -4912,23 +4917,23 @@ msgstr "Скасування завершить цю допомогу й зуп msgid "Cancelling…" msgstr "Скасовуємо…" -#: lib/who_need_help_web/live/notification_live.ex:537 +#: lib/who_need_help_web/live/notification_live.ex:564 #, elixir-autogen, elixir-format msgid "Choose an area, categories, urgency, and the times when you are available." msgstr "Виберіть область, категорії, терміновість і час, коли ви доступні." -#: lib/who_need_help_web/live/notification_live.ex:784 +#: lib/who_need_help_web/live/notification_live.ex:811 #, elixir-autogen, elixir-format msgid "Choose at least one way to receive this nearby alert." msgstr "Виберіть хоча б один спосіб отримання цього сповіщення." -#: lib/who_need_help_web/live/notification_live.ex:568 -#: lib/who_need_help_web/live/notification_live.ex:649 +#: lib/who_need_help_web/live/notification_live.ex:595 +#: lib/who_need_help_web/live/notification_live.ex:676 #, elixir-autogen, elixir-format msgid "Choose the private center of your alert area." msgstr "Виберіть прихований центр області сповіщення." -#: lib/who_need_help_web/live/notification_live.ex:599 +#: lib/who_need_help_web/live/notification_live.ex:626 #, elixir-autogen, elixir-format msgid "Click the map or drag the green pin to move your private alert area" msgstr "Натисніть на карту або перетягніть зелений маркер, щоб перемістити приховану область сповіщення" @@ -4954,12 +4959,12 @@ msgstr "Підтвердити вихід" msgid "Count" msgstr "Кількість" -#: lib/who_need_help_web/live/notification_live.ex:535 +#: lib/who_need_help_web/live/notification_live.ex:562 #, elixir-autogen, elixir-format msgid "Create a nearby alert" msgstr "Створити сповіщення поблизу" -#: lib/who_need_help_web/live/notification_live.ex:799 +#: lib/who_need_help_web/live/notification_live.ex:826 #, elixir-autogen, elixir-format msgid "Create nearby alert" msgstr "Створити сповіщення" @@ -4969,22 +4974,22 @@ msgstr "Створити сповіщення" msgid "Daily aggregate counters only. No user ID, email, coordinate, request text, chat text, medicine name, or device credential is stored here." msgstr "Тут зберігаються лише щоденні зведені показники. Ідентифікатори користувачів, пошта, координати, тексти заявок і чатів, назви ліків та дані пристроїв не зберігаються." -#: lib/who_need_help_web/live/notification_live.ex:524 +#: lib/who_need_help_web/live/notification_live.ex:551 #, elixir-autogen, elixir-format msgid "Delete" msgstr "Видалити" -#: lib/who_need_help_web/live/notification_live.ex:521 +#: lib/who_need_help_web/live/notification_live.ex:548 #, elixir-autogen, elixir-format msgid "Delete this nearby alert?" msgstr "Видалити це сповіщення поблизу?" -#: lib/who_need_help_web/live/notification_live.ex:782 +#: lib/who_need_help_web/live/notification_live.ex:809 #, elixir-autogen, elixir-format msgid "Delivery channels" msgstr "Канали доставки" -#: lib/who_need_help_web/live/notification_live.ex:343 +#: lib/who_need_help_web/live/notification_live.ex:370 #, elixir-autogen, elixir-format msgid "Delivery channels and quiet hours" msgstr "Канали доставки й тихі години" @@ -4999,7 +5004,7 @@ msgstr "Пристрій не знайдено." msgid "Dimension" msgstr "Параметр" -#: lib/who_need_help_web/live/notification_live.ex:397 +#: lib/who_need_help_web/live/notification_live.ex:424 #, elixir-autogen, elixir-format msgid "Disable" msgstr "Вимкнути" @@ -5009,19 +5014,19 @@ msgstr "Вимкнути" msgid "Download my data" msgstr "Завантажити мої дані" -#: lib/who_need_help_web/live/notification_live.ex:571 -#: lib/who_need_help_web/live/notification_live.ex:572 +#: lib/who_need_help_web/live/notification_live.ex:598 +#: lib/who_need_help_web/live/notification_live.ex:599 #, elixir-autogen, elixir-format msgid "Drag to move the alert area" msgstr "Перетягніть, щоб перемістити область сповіщення" -#: lib/who_need_help_web/live/notification_live.ex:795 +#: lib/who_need_help_web/live/notification_live.ex:822 #, elixir-autogen, elixir-format msgid "Email notification" msgstr "Сповіщення поштою" -#: lib/who_need_help_web/live/notification_live.ex:358 -#: lib/who_need_help_web/live/notification_live.ex:361 +#: lib/who_need_help_web/live/notification_live.ex:385 +#: lib/who_need_help_web/live/notification_live.ex:388 #, elixir-autogen, elixir-format msgid "Enable push on this device" msgstr "Увімкнути push на цьому пристрої" @@ -5031,12 +5036,12 @@ msgstr "Увімкнути push на цьому пристрої" msgid "Follow request updates and choose which nearby needs should reach this device." msgstr "Стежте за оновленнями заявок і вибирайте, які прохання поблизу отримувати на цьому пристрої." -#: lib/who_need_help_web/live/notification_live.ex:749 +#: lib/who_need_help_web/live/notification_live.ex:776 #, elixir-autogen, elixir-format msgid "Fri" msgstr "Пт" -#: lib/who_need_help_web/live/notification_live.ex:458 +#: lib/who_need_help_web/live/notification_live.ex:485 #, elixir-autogen, elixir-format msgid "From" msgstr "З" @@ -5046,6 +5051,7 @@ msgstr "З" msgid "Google could not be connected. Please try again." msgstr "Не вдалося підключити Google. Спробуйте ще раз." +#: lib/who_need_help_web/components/layouts/root.html.heex:10 #: lib/who_need_help_web/controllers/user_session_html/new.html.heex:79 #, elixir-autogen, elixir-format msgid "Google sign-in could not be completed. Please try again." @@ -5086,7 +5092,7 @@ msgstr "Помічник прибув" msgid "Helper's live location" msgstr "Поточна геопозиція помічника" -#: lib/who_need_help_web/live/notification_live.ex:555 +#: lib/who_need_help_web/live/notification_live.ex:582 #, elixir-autogen, elixir-format msgid "Home area" msgstr "Район дому" @@ -5107,7 +5113,7 @@ msgstr "Я прибув" msgid "Inbox" msgstr "Вхідні" -#: lib/who_need_help_web/live/notification_live.ex:693 +#: lib/who_need_help_web/live/notification_live.ex:720 #, elixir-autogen, elixir-format msgid "Leave every category unchecked to receive all matching requests." msgstr "Не вибирайте категорій, щоб отримувати всі відповідні заявки." @@ -5147,7 +5153,7 @@ msgstr "Позначити все прочитаним" msgid "Metric" msgstr "Показник" -#: lib/who_need_help_web/live/notification_live.ex:745 +#: lib/who_need_help_web/live/notification_live.ex:772 #, elixir-autogen, elixir-format msgid "Mon" msgstr "Пн" @@ -5162,13 +5168,13 @@ msgstr "Сповіщення поблизу створено." msgid "Nearby alert deleted." msgstr "Сповіщення поблизу видалено." -#: lib/who_need_help_web/live/notification_live.ex:429 +#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/request_live/index.ex:362 #, elixir-autogen, elixir-format msgid "Nearby requests" msgstr "Заявки поблизу" -#: lib/who_need_help_web/live/notification_live.ex:450 +#: lib/who_need_help_web/live/notification_live.ex:477 #, elixir-autogen, elixir-format msgid "Nearby requests by email" msgstr "Заявки поблизу поштою" @@ -5179,7 +5185,7 @@ msgstr "Заявки поблизу поштою" msgid "New help request nearby" msgstr "Нова заявка на допомогу поблизу" -#: lib/who_need_help_web/live/notification_live.ex:434 +#: lib/who_need_help_web/live/notification_live.ex:461 #, elixir-autogen, elixir-format msgid "New private messages" msgstr "Нові приватні повідомлення" @@ -5194,7 +5200,7 @@ msgstr "Активний користувацький процес не знай msgid "No aggregate events recorded yet." msgstr "Зведених подій поки немає." -#: lib/who_need_help_web/live/notification_live.ex:476 +#: lib/who_need_help_web/live/notification_live.ex:503 #, elixir-autogen, elixir-format msgid "No nearby alerts configured yet." msgstr "Сповіщення поблизу ще не налаштовано." @@ -5221,7 +5227,7 @@ msgstr "Сповіщення не знайдено." msgid "Notification preferences saved." msgstr "Налаштування сповіщень збережено." -#: lib/who_need_help_web/live/notification_live.ex:345 +#: lib/who_need_help_web/live/notification_live.ex:372 #, elixir-autogen, elixir-format msgid "Notification text never contains chat messages or exact coordinates." msgstr "Текст сповіщення ніколи не містить повідомлень із чату або точних координат." @@ -5245,17 +5251,17 @@ msgstr "Сповіщення та допомога поблизу" msgid "Operations" msgstr "Операції" -#: lib/who_need_help_web/live/notification_live.ex:638 +#: lib/who_need_help_web/live/notification_live.ex:665 #, elixir-autogen, elixir-format msgid "Other users never see this saved point." msgstr "Інші користувачі ніколи не бачать цю збережену точку." -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Pause" msgstr "Призупинити" -#: lib/who_need_help_web/live/notification_live.ex:504 +#: lib/who_need_help_web/live/notification_live.ex:531 #, elixir-autogen, elixir-format msgid "Paused" msgstr "Призупинено" @@ -5265,12 +5271,12 @@ msgstr "Призупинено" msgid "Plans changed" msgstr "Плани змінилися" -#: lib/who_need_help_web/live/notification_live.ex:554 +#: lib/who_need_help_web/live/notification_live.ex:581 #, elixir-autogen, elixir-format msgid "Private area label" msgstr "Особиста назва області" -#: lib/who_need_help_web/live/notification_live.ex:637 +#: lib/who_need_help_web/live/notification_live.ex:664 #, elixir-autogen, elixir-format msgid "Private matching center" msgstr "Прихований центр пошуку" @@ -5287,17 +5293,17 @@ msgstr "Аналітика продукту" msgid "Progress" msgstr "Хід виконання" -#: lib/who_need_help_web/live/notification_live.ex:492 +#: lib/who_need_help_web/live/notification_live.ex:519 #, elixir-autogen, elixir-format msgid "Push" msgstr "Push" -#: lib/who_need_help_web/live/notification_live.ex:359 +#: lib/who_need_help_web/live/notification_live.ex:386 #, elixir-autogen, elixir-format msgid "Push enabled on this device" msgstr "Push увімкнено на цьому пристрої" -#: lib/who_need_help_web/live/notification_live.ex:790 +#: lib/who_need_help_web/live/notification_live.ex:817 #, elixir-autogen, elixir-format msgid "Push notification" msgstr "Push-сповіщення" @@ -5337,7 +5343,7 @@ msgstr "Не вдається зв’язатися з автором заявк msgid "Requester's live location" msgstr "Поточна геопозиція автора заявки" -#: lib/who_need_help_web/live/notification_live.ex:515 +#: lib/who_need_help_web/live/notification_live.ex:542 #, elixir-autogen, elixir-format msgid "Resume" msgstr "Відновити" @@ -5347,12 +5353,12 @@ msgstr "Відновити" msgid "Run deletion preflight" msgstr "Перевірити можливість видалення" -#: lib/who_need_help_web/live/notification_live.ex:750 +#: lib/who_need_help_web/live/notification_live.ex:777 #, elixir-autogen, elixir-format msgid "Sat" msgstr "Сб" -#: lib/who_need_help_web/live/notification_live.ex:461 +#: lib/who_need_help_web/live/notification_live.ex:488 #, elixir-autogen, elixir-format msgid "Save preferences" msgstr "Зберегти налаштування" @@ -5367,7 +5373,7 @@ msgstr "Геопозиція, що передається" msgid "Stay available without refreshing" msgstr "Залишайтеся на зв’язку без оновлення сторінки" -#: lib/who_need_help_web/live/notification_live.ex:751 +#: lib/who_need_help_web/live/notification_live.ex:778 #, elixir-autogen, elixir-format msgid "Sun" msgstr "Нд" @@ -5377,7 +5383,7 @@ msgstr "Нд" msgid "The linked account no longer exists." msgstr "Пов’язаний обліковий запис більше не існує." -#: lib/who_need_help_web/live/notification_live.ex:592 +#: lib/who_need_help_web/live/notification_live.ex:619 #, elixir-autogen, elixir-format msgid "The map is unavailable. Enter coordinates manually." msgstr "Карта недоступна. Введіть координати вручну." @@ -5392,7 +5398,7 @@ msgstr "Попередній помічник вийшов. Заявку зно msgid "The request is not linked to an account." msgstr "Заявка не пов’язана з обліковим записом." -#: lib/who_need_help_web/live/notification_live.ex:472 +#: lib/who_need_help_web/live/notification_live.ex:499 #, elixir-autogen, elixir-format msgid "The saved center is private and is used only to find matching requests." msgstr "Збережений центр прихований і використовується лише для пошуку відповідних заявок." @@ -5408,27 +5414,27 @@ msgstr "Це показники активності, а не перевірка msgid "This is not an account-deletion case." msgstr "Це звернення не пов’язане з видаленням облікового запису." -#: lib/who_need_help_web/live/notification_live.ex:748 +#: lib/who_need_help_web/live/notification_live.ex:775 #, elixir-autogen, elixir-format msgid "Thu" msgstr "Чт" -#: lib/who_need_help_web/live/notification_live.ex:746 +#: lib/who_need_help_web/live/notification_live.ex:773 #, elixir-autogen, elixir-format msgid "Tue" msgstr "Вт" -#: lib/who_need_help_web/live/notification_live.ex:459 +#: lib/who_need_help_web/live/notification_live.ex:486 #, elixir-autogen, elixir-format msgid "Until" msgstr "До" -#: lib/who_need_help_web/live/notification_live.ex:550 +#: lib/who_need_help_web/live/notification_live.ex:577 #, elixir-autogen, elixir-format msgid "Urgent medicine near home" msgstr "Термінова доставка ліків поруч із домом" -#: lib/who_need_help_web/live/notification_live.ex:455 +#: lib/who_need_help_web/live/notification_live.ex:482 #, elixir-autogen, elixir-format msgid "Use quiet hours" msgstr "Використовувати тихі години" @@ -5438,17 +5444,18 @@ msgstr "Використовувати тихі години" msgid "Verify the requester contact first." msgstr "Спочатку підтвердьте контакт автора заявки." -#: lib/who_need_help_web/live/notification_live.ex:368 +#: lib/who_need_help_web/live/notification_live.ex:395 #, elixir-autogen, elixir-format msgid "Web Push keys are not configured in this local environment yet." msgstr "Ключі Web Push ще не налаштовано в цьому локальному середовищі." -#: lib/who_need_help_web/live/notification_live.ex:380 +#: lib/who_need_help_web/live/notification_live.ex:367 +#: lib/who_need_help_web/live/notification_live.ex:407 #, elixir-autogen, elixir-format msgid "Web browser" msgstr "Веббраузер" -#: lib/who_need_help_web/live/notification_live.ex:747 +#: lib/who_need_help_web/live/notification_live.ex:774 #, elixir-autogen, elixir-format msgid "Wed" msgstr "Ср" @@ -5465,12 +5472,12 @@ msgstr "Ви прийняли цю заявку. Безпечно узгодьт msgid "You left this match. The request is open for another helper if time remains." msgstr "Ви вийшли з цієї допомоги. Якщо час не минув, заявку зможе прийняти інший помічник." -#: lib/who_need_help_web/live/notification_live.ex:366 +#: lib/who_need_help_web/live/notification_live.ex:393 #, elixir-autogen, elixir-format msgid "Your browser will ask for notification permission." msgstr "Браузер попросить дозвіл на сповіщення." -#: lib/who_need_help_web/live/notification_live.ex:470 +#: lib/who_need_help_web/live/notification_live.ex:497 #, elixir-autogen, elixir-format msgid "Your nearby alerts" msgstr "Ваші сповіщення поблизу" @@ -5501,6 +5508,7 @@ msgstr "Вибраний приклад:" msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map." msgstr "WebGL недоступний у цьому браузері, тому повна карта не може запуститися. Виберіть приклад нижче або спробуйте запустити карту ще раз." +#: lib/who_need_help_web/components/layouts/root.html.heex:7 #: lib/who_need_help_web/live/activity_live/index.ex:497 #: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/request_live/show.ex:1278 @@ -6716,3 +6724,73 @@ msgstr "Мов не знайдено" #, elixir-autogen, elixir-format msgid "Search languages" msgstr "Пошук мов" + +#: lib/who_need_help_web/live/notification_live.ex:349 +#, elixir-autogen, elixir-format +msgid "Android push notifications are not available yet." +msgstr "Push-сповіщення Android поки недоступні." + +#: lib/who_need_help_web/live/activity_live/new.ex:317 +#, elixir-autogen, elixir-format +msgid "Location added." +msgstr "Місцезнаходження додано." + +#: lib/who_need_help_web/components/layouts/root.html.heex:9 +#, elixir-autogen, elixir-format +msgid "Map marker" +msgstr "Маркер на карті" + +#: lib/who_need_help_web/live/notification_live.ex:347 +#, elixir-autogen, elixir-format +msgid "Notification permission was not granted." +msgstr "Дозвіл на сповіщення не надано." + +#: lib/who_need_help_web/live/notification_live.ex:361 +#, elixir-autogen, elixir-format +msgid "Push keys changed. Enable notifications to reconnect this device securely." +msgstr "Ключі push-сповіщень змінилися. Увімкніть сповіщення, щоб безпечно перепідключити цей пристрій." + +#: lib/who_need_help_web/live/notification_live.ex:351 +#, elixir-autogen, elixir-format +msgid "Push notifications are disabled on this device." +msgstr "Push-сповіщення вимкнено для цього пристрою." + +#: lib/who_need_help_web/live/notification_live.ex:342 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this Android device." +msgstr "Push-сповіщення ввімкнено на цьому Android-пристрої." + +#: lib/who_need_help_web/live/notification_live.ex:358 +#, elixir-autogen, elixir-format +msgid "Push notifications are enabled on this device." +msgstr "Push-сповіщення ввімкнено на цьому пристрої." + +#: lib/who_need_help_web/live/notification_live.ex:356 +#, elixir-autogen, elixir-format +msgid "Push notifications are unavailable in this browser." +msgstr "Push-сповіщення недоступні в цьому браузері." + +#: lib/who_need_help_web/live/notification_live.ex:359 +#, elixir-autogen, elixir-format +msgid "Push notifications could not be enabled." +msgstr "Не вдалося ввімкнути push-сповіщення." + +#: lib/who_need_help_web/live/notification_live.ex:345 +#, elixir-autogen, elixir-format +msgid "The Android push token could not be saved. Please try again." +msgstr "Не вдалося зберегти push-токен Android. Повторіть спробу." + +#: lib/who_need_help_web/live/notification_live.ex:364 +#, elixir-autogen, elixir-format +msgid "This browser has a push subscription. Enable it to reconnect this device." +msgstr "У цьому браузері є push-підписка. Увімкніть сповіщення, щоб перепідключити цей пристрій." + +#: lib/who_need_help_web/live/notification_live.ex:353 +#, elixir-autogen, elixir-format +msgid "Waiting for Android notification permission and token…" +msgstr "Очікуємо на дозвіл для сповіщень і токен Android…" + +#: lib/who_need_help_web/components/layouts/root.html.heex:23 +#, elixir-autogen, elixir-format +msgid "Who Need Help connects adults who need urgent local help with nearby volunteers." +msgstr "Who Need Help з’єднує дорослих, яким потрібна термінова допомога поруч, із місцевими волонтерами." diff --git a/test/who_need_help_web/live/mutual_aid_live_test.exs b/test/who_need_help_web/live/mutual_aid_live_test.exs index b28c5e2..a9a071b 100644 --- a/test/who_need_help_web/live/mutual_aid_live_test.exs +++ b/test/who_need_help_web/live/mutual_aid_live_test.exs @@ -96,6 +96,16 @@ defmodule WhoNeedHelpWeb.MutualAidLiveTest do html = render(view) assert html =~ ~s(data-enable-label="Enable push on this device") assert html =~ ~s(data-enabled-label="Push enabled on this device") + + assert html =~ + ~s(data-status-android-enabled="Push notifications are enabled on this Android device.") + + assert html =~ + ~s(data-status-browser-unavailable="Push notifications are unavailable in this browser.") + + assert html =~ + ~s(data-status-reconnect-required="This browser has a push subscription. Enable it to reconnect this device.") + assert has_element?(view, "[data-disable-device='#{push_device.id}']") view @@ -654,6 +664,8 @@ defmodule WhoNeedHelpWeb.MutualAidLiveTest do {:ok, view, html} = live(conn, ~p"/activities/new") assert html =~ "Social activity — Hiking" refute html =~ "Medicine pickup status" + assert html =~ ~s(data-added-label="Location added.") + assert html =~ ~s(data-permission-denied-label="Location permission was denied.") html = render_change(view, "validate", %{