Fix Android notification registration lifecycle

This commit is contained in:
SimpleTest 2026-08-25 15:27:21 +03:00
parent e5351c000b
commit f15f5578e0
13 changed files with 606 additions and 323 deletions

View File

@ -350,6 +350,29 @@ public final class AndroidClientInstrumentedTest {
} }
} }
@Test
public void test03aNativePushStateRestoresRegisteredDevice() {
PushTokenStore.clearRegistration(context);
PushTokenStore.setRequested(context, true);
PushTokenStore.markRegistered(context, "fixture-device-id");
try (ActivityScenario<MainActivity> scenario = launch("/push-state")) {
onWebView()
.withElement(findElement(Locator.ID, "push-state"))
.perform(webClick());
onWebView()
.withElement(findElement(Locator.ID, "marker"))
.check(
webMatches(
getText(),
containsString("push-state:true:fixture-device-id")
)
);
} finally {
PushTokenStore.clearRegistration(context);
}
}
@Test @Test
public void test03bSameOriginDeepLinkUpdatesRunningActivity() { public void test03bSameOriginDeepLinkUpdatesRunningActivity() {
ActivityScenario<MainActivity> scenario = ActivityScenario<MainActivity> scenario =

View File

@ -264,6 +264,10 @@ final class FixtureHttpServer implements Closeable {
+ "document.getElementById('marker').textContent='tracking-cancelled'});" + "document.getElementById('marker').textContent='tracking-cancelled'});"
+ "window.addEventListener('wnh:native-tracking-error',()=>{" + "window.addEventListener('wnh:native-tracking-error',()=>{"
+ "document.getElementById('marker').textContent='tracking-error'});" + "document.getElementById('marker').textContent='tracking-error'});"
+ "window.addEventListener('wnh:native-push-state',(event)=>{"
+ "document.getElementById('marker').textContent='push-state:'"
+ "+event.detail.requested+':'"
+ "+event.detail.server_device_id});"
+ "</script>" + "</script>"
+ "<button id=\"location\" onclick=\"navigator.geolocation.getCurrentPosition(" + "<button id=\"location\" onclick=\"navigator.geolocation.getCurrentPosition("
+ "()=>{document.getElementById('marker').textContent='location-granted';" + "()=>{document.getElementById('marker').textContent='location-granted';"
@ -278,6 +282,9 @@ final class FixtureHttpServer implements Closeable {
+ "assignment_id:'00000000-0000-4000-8000-000000000001'," + "assignment_id:'00000000-0000-4000-8000-000000000001',"
+ "csrf_token:'fixture-csrf'}))\">" + "csrf_token:'fixture-csrf'}))\">"
+ "Start live tracking</button>" + "Start live tracking</button>"
+ "<button id=\"push-state\" onclick=\"window.WhoNeedHelpAndroid.postMessage("
+ "JSON.stringify({action:'push_token_request'}))\">"
+ "Read push state</button>"
+ "</body></html>"; + "</body></html>";
} }

View File

@ -603,6 +603,7 @@ public final class MainActivity extends ComponentActivity {
} else if ("disable_push".equals(action)) { } else if ("disable_push".equals(action)) {
disablePush(); disablePush();
} else if ("push_token_request".equals(action)) { } else if ("push_token_request".equals(action)) {
dispatchNativePushState();
dispatchPendingPushToken(); dispatchPendingPushToken();
} else if ("google_sign_in".equals(action)) { } else if ("google_sign_in".equals(action)) {
startNativeGoogleSignIn( startNativeGoogleSignIn(
@ -719,6 +720,27 @@ public final class MainActivity extends ComponentActivity {
} }
} }
private void dispatchNativePushState() {
if (webView == null) {
return;
}
try {
JSONObject detail = new JSONObject()
.put("configured", BuildConfig.FIREBASE_CONFIGURED)
.put("requested", PushTokenStore.requested(this))
.put("server_device_id", PushTokenStore.serverDeviceId(this));
webView.evaluateJavascript(
"window.dispatchEvent(new CustomEvent('wnh:native-push-state',{detail:"
+ detail
+ "}))",
null
);
} catch (JSONException exception) {
dispatchNativePushError("state_unavailable");
}
}
private void dispatchNativePushError(String reason) { private void dispatchNativePushError(String reason) {
if (webView == null) { if (webView == null) {
return; return;

View File

@ -45,7 +45,6 @@ final class PushTokenStore {
.edit() .edit()
.putString(TOKEN, value) .putString(TOKEN, value)
.putBoolean(DIRTY, true) .putBoolean(DIRTY, true)
.remove(SERVER_DEVICE_ID)
.apply(); .apply();
} }

View File

@ -12,6 +12,7 @@ import {
shouldApplyInitialViewport, shouldApplyInitialViewport,
viewportMatchesBounds viewportMatchesBounds
} from "./map_viewport_sync.mjs" } from "./map_viewport_sync.mjs"
import {resolveNativePushState} from "./native_push_state.mjs"
const trackingMinTimeMs = 5000 const trackingMinTimeMs = 5000
@ -1350,6 +1351,15 @@ export const Hooks = {
this.buttonEnabled = null this.buttonEnabled = null
this.message = key => this.el.dataset[key] || "" this.message = key => this.el.dataset[key] || ""
this.applyNativePresentation = () => {
if (!this.native || !this.buttonLabel) return
this.buttonLabel.dataset.enableLabel = this.buttonLabel.dataset.nativeEnableLabel
this.buttonLabel.dataset.enabledLabel = this.buttonLabel.dataset.nativeEnabledLabel
}
this.applyNativePresentation()
if (this.native && this.button) this.button.disabled = false if (this.native && this.button) this.button.disabled = false
this.setStatus = message => { this.setStatus = message => {
@ -1419,6 +1429,19 @@ export const Hooks = {
window.WhoNeedHelpAndroid.postMessage(JSON.stringify(payload)) window.WhoNeedHelpAndroid.postMessage(JSON.stringify(payload))
} }
this.activeServerDeviceIds = () =>
[...this.el.querySelectorAll("[data-disable-device]")]
.map(element => element.dataset.disableDevice)
.filter(Boolean)
this.clearStaleNativeRegistration = () => {
window.localStorage.removeItem("wnh.push.server-device-id")
this.postNative({action: "disable_push"})
this.setButtonState(false)
this.setStatus(this.message("statusAndroidPrompt"))
if (this.button) this.button.disabled = false
}
this.registerDevice = async payload => { this.registerDevice = async payload => {
const csrfToken = document.querySelector("meta[name='csrf-token']")?.content || "" const csrfToken = document.querySelector("meta[name='csrf-token']")?.content || ""
const response = await window.fetch("/mobile/push-devices", { const response = await window.fetch("/mobile/push-devices", {
@ -1447,6 +1470,18 @@ export const Hooks = {
const detail = event.detail || {} const detail = event.detail || {}
if (!detail.token || !detail.installation_id) return if (!detail.token || !detail.installation_id) return
const state = resolveNativePushState({
configured: true,
requested: true,
serverDeviceId: detail.server_device_id,
activeDeviceIds: this.activeServerDeviceIds()
})
if (state.stale) {
this.clearStaleNativeRegistration()
return
}
try { try {
await this.registerDevice({ await this.registerDevice({
platform: "android", platform: "android",
@ -1480,6 +1515,40 @@ export const Hooks = {
if (this.button) this.button.disabled = false if (this.button) this.button.disabled = false
} }
this.nativeState = event => {
const detail = event.detail || {}
const state = resolveNativePushState({
configured: detail.configured,
requested: detail.requested,
serverDeviceId: detail.server_device_id,
activeDeviceIds: this.activeServerDeviceIds()
})
if (!state.configured) {
this.setButtonState(false)
this.setStatus(this.message("statusAndroidUnavailable"))
if (this.button) this.button.disabled = true
return
}
if (state.stale) {
this.clearStaleNativeRegistration()
return
}
if (state.registered) {
window.localStorage.setItem("wnh.push.server-device-id", state.serverDeviceId)
this.setButtonState(true)
this.setStatus(this.message("statusAndroidEnabled"))
} else {
window.localStorage.removeItem("wnh.push.server-device-id")
this.setButtonState(false)
this.setStatus(this.message("statusAndroidPrompt"))
}
if (this.button) this.button.disabled = false
}
this.disableCurrentDevice = async event => { this.disableCurrentDevice = async event => {
const button = event.target.closest("[data-disable-device]") const button = event.target.closest("[data-disable-device]")
if (!button) return if (!button) return
@ -1559,12 +1628,7 @@ export const Hooks = {
this.activeServerDevice = () => { this.activeServerDevice = () => {
const deviceId = window.localStorage.getItem("wnh.push.server-device-id") const deviceId = window.localStorage.getItem("wnh.push.server-device-id")
return Boolean(deviceId && this.activeServerDeviceIds().includes(deviceId))
return Boolean(
deviceId &&
[...this.el.querySelectorAll("[data-disable-device]")]
.some(element => element.dataset.disableDevice === deviceId)
)
} }
this.restoreNativeState = () => { this.restoreNativeState = () => {
@ -1615,6 +1679,7 @@ export const Hooks = {
window.addEventListener("wnh:native-push-token", this.nativeToken) window.addEventListener("wnh:native-push-token", this.nativeToken)
window.addEventListener("wnh:native-push-error", this.nativeError) window.addEventListener("wnh:native-push-error", this.nativeError)
window.addEventListener("wnh:native-push-state", this.nativeState)
this.el.addEventListener("click", this.disableCurrentDevice) this.el.addEventListener("click", this.disableCurrentDevice)
this.button?.addEventListener("click", this.enable) this.button?.addEventListener("click", this.enable)
if (this.native) { if (this.native) {
@ -1636,6 +1701,8 @@ export const Hooks = {
this.buttonLabel = this.el.querySelector("[data-enable-push-label]") this.buttonLabel = this.el.querySelector("[data-enable-push-label]")
this.status = this.el.querySelector("[data-push-status]") this.status = this.el.querySelector("[data-push-status]")
this.applyNativePresentation()
if (this.native && this.button) this.button.disabled = false if (this.native && this.button) this.button.disabled = false
this.button?.removeEventListener("click", this.enable) this.button?.removeEventListener("click", this.enable)
@ -1654,6 +1721,7 @@ export const Hooks = {
destroyed() { destroyed() {
window.removeEventListener("wnh:native-push-token", this.nativeToken) window.removeEventListener("wnh:native-push-token", this.nativeToken)
window.removeEventListener("wnh:native-push-error", this.nativeError) window.removeEventListener("wnh:native-push-error", this.nativeError)
window.removeEventListener("wnh:native-push-state", this.nativeState)
this.el.removeEventListener("click", this.disableCurrentDevice) this.el.removeEventListener("click", this.disableCurrentDevice)
this.button?.removeEventListener("click", this.enable) this.button?.removeEventListener("click", this.enable)
} }

View File

@ -0,0 +1,20 @@
const normalizedDeviceId = value => String(value || "").trim()
export const resolveNativePushState = ({
configured,
requested,
serverDeviceId,
activeDeviceIds = []
}) => {
const deviceId = normalizedDeviceId(serverDeviceId)
const activeIds = new Set([...activeDeviceIds].map(normalizedDeviceId).filter(Boolean))
const belongsToCurrentAccount = deviceId !== "" && activeIds.has(deviceId)
return {
configured: configured === true,
registered: configured === true && requested === true && belongsToCurrentAccount,
stale: configured === true && requested === true && deviceId !== "" &&
!belongsToCurrentAccount,
serverDeviceId: deviceId
}
}

View File

@ -0,0 +1,72 @@
import assert from "node:assert/strict"
import test from "node:test"
import {resolveNativePushState} from "./native_push_state.mjs"
test("a configured registration is active only for the current account", () => {
assert.deepEqual(
resolveNativePushState({
configured: true,
requested: true,
serverDeviceId: "device-current",
activeDeviceIds: ["device-current", "device-other"]
}),
{
configured: true,
registered: true,
stale: false,
serverDeviceId: "device-current"
}
)
})
test("a device registered to another account is stale", () => {
assert.deepEqual(
resolveNativePushState({
configured: true,
requested: true,
serverDeviceId: "device-previous-account",
activeDeviceIds: ["device-current-account"]
}),
{
configured: true,
registered: false,
stale: true,
serverDeviceId: "device-previous-account"
}
)
})
test("a requested token without a server device remains eligible for registration", () => {
assert.deepEqual(
resolveNativePushState({
configured: true,
requested: true,
serverDeviceId: "",
activeDeviceIds: []
}),
{
configured: true,
registered: false,
stale: false,
serverDeviceId: ""
}
)
})
test("an unconfigured Android client is neither registered nor stale", () => {
assert.deepEqual(
resolveNativePushState({
configured: false,
requested: true,
serverDeviceId: "device-current",
activeDeviceIds: ["device-current"]
}),
{
configured: false,
registered: false,
stale: false,
serverDeviceId: "device-current"
}
)
})

View File

@ -342,6 +342,11 @@ defmodule WhoNeedHelpWeb.NotificationLive do
data-status-android-waiting={ data-status-android-waiting={
gettext("Waiting for Android notification permission and token…") gettext("Waiting for Android notification permission and token…")
} }
data-status-android-prompt={
gettext(
"Android will request notification permission and securely register this device."
)
}
data-status-browser-unavailable={ data-status-browser-unavailable={
gettext("Push notifications are unavailable in this browser.") gettext("Push notifications are unavailable in this browser.")
} }
@ -374,6 +379,8 @@ defmodule WhoNeedHelpWeb.NotificationLive do
data-enable-push-label data-enable-push-label
data-enable-label={gettext("Enable push on this device")} data-enable-label={gettext("Enable push on this device")}
data-enabled-label={gettext("Push enabled on this device")} data-enabled-label={gettext("Push enabled on this device")}
data-native-enable-label={gettext("Enable Android notifications")}
data-native-enabled-label={gettext("Android notifications enabled")}
> >
{gettext("Enable push on this device")} {gettext("Enable push on this device")}
</span> </span>

View File

@ -41,7 +41,7 @@ msgstr ""
#: lib/who_need_help_web/components/layouts.ex:235 #: lib/who_need_help_web/components/layouts.ex:235
#: lib/who_need_help_web/live/moderation_live.ex:494 #: lib/who_need_help_web/live/moderation_live.ex:494
#: lib/who_need_help_web/live/notification_live.ex:699 #: lib/who_need_help_web/live/notification_live.ex:706
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Categories" msgid "Categories"
msgstr "" msgstr ""
@ -209,7 +209,7 @@ msgstr ""
#: lib/who_need_help_web/live/admin_user_live.ex:188 #: lib/who_need_help_web/live/admin_user_live.ex:188
#: lib/who_need_help_web/live/admin_users_live.ex:125 #: lib/who_need_help_web/live/admin_users_live.ex:125
#: lib/who_need_help_web/live/admin_users_live.ex:185 #: lib/who_need_help_web/live/admin_users_live.ex:185
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Active" msgid "Active"
msgstr "" msgstr ""
@ -911,7 +911,7 @@ msgid "Join requests close"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:486 #: lib/who_need_help_web/live/activity_live/new.ex:486
#: lib/who_need_help_web/live/notification_live.ex:667 #: lib/who_need_help_web/live/notification_live.ex:674
#: lib/who_need_help_web/live/request_live/new.ex:668 #: lib/who_need_help_web/live/request_live/new.ex:668
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Latitude" msgid "Latitude"
@ -964,7 +964,7 @@ msgid "Logged out successfully."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:500 #: lib/who_need_help_web/live/activity_live/new.ex:500
#: lib/who_need_help_web/live/notification_live.ex:681 #: lib/who_need_help_web/live/notification_live.ex:688
#: lib/who_need_help_web/live/request_live/new.ex:682 #: lib/who_need_help_web/live/request_live/new.ex:682
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Longitude" msgid "Longitude"
@ -1144,7 +1144,7 @@ msgstr ""
msgid "Not for emergencies" msgid "Not for emergencies"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:729 #: lib/who_need_help_web/live/notification_live.ex:736
#: lib/who_need_help_web/live/request_live/index.ex:443 #: lib/who_need_help_web/live/request_live/index.ex:443
#: lib/who_need_help_web/live/request_live/index.ex:444 #: lib/who_need_help_web/live/request_live/index.ex:444
#: lib/who_need_help_web/live/request_live/index.ex:555 #: lib/who_need_help_web/live/request_live/index.ex:555
@ -1624,7 +1624,7 @@ msgstr ""
msgid "Save profile" msgid "Save profile"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:731 #: lib/who_need_help_web/live/notification_live.ex:738
#: lib/who_need_help_web/live/request_live/index.ex:447 #: lib/who_need_help_web/live/request_live/index.ex:447
#: lib/who_need_help_web/live/request_live/index.ex:448 #: lib/who_need_help_web/live/request_live/index.ex:448
#: lib/who_need_help_web/live/request_live/index.ex:557 #: lib/who_need_help_web/live/request_live/index.ex:557
@ -1937,7 +1937,7 @@ msgstr ""
msgid "To see sent emails, visit" msgid "To see sent emails, visit"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:730 #: lib/who_need_help_web/live/notification_live.ex:737
#: lib/who_need_help_web/live/request_live/index.ex:445 #: lib/who_need_help_web/live/request_live/index.ex:445
#: lib/who_need_help_web/live/request_live/index.ex:446 #: lib/who_need_help_web/live/request_live/index.ex:446
#: lib/who_need_help_web/live/request_live/index.ex:556 #: lib/who_need_help_web/live/request_live/index.ex:556
@ -2009,7 +2009,7 @@ msgstr ""
msgid "Unique people" msgid "Unique people"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:724 #: lib/who_need_help_web/live/notification_live.ex:731
#: lib/who_need_help_web/live/request_live/index.ex:552 #: lib/who_need_help_web/live/request_live/index.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:447 #: lib/who_need_help_web/live/request_live/new.ex:447
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -3925,7 +3925,7 @@ msgid "Date"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:478 #: lib/who_need_help_web/live/activity_live/new.ex:478
#: lib/who_need_help_web/live/notification_live.ex:664 #: lib/who_need_help_web/live/notification_live.ex:671
#: lib/who_need_help_web/live/request_live/new.ex:660 #: lib/who_need_help_web/live/request_live/new.ex:660
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enter coordinates manually" msgid "Enter coordinates manually"
@ -4013,14 +4013,14 @@ msgid "In 3 hours"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:354 #: lib/who_need_help_web/live/activity_live/new.ex:354
#: lib/who_need_help_web/live/notification_live.ex:582 #: lib/who_need_help_web/live/notification_live.ex:589
#: lib/who_need_help_web/live/request_live/new.ex:484 #: lib/who_need_help_web/live/request_live/new.ex:484
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser." msgid "Location is unavailable in this browser."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:356 #: lib/who_need_help_web/live/activity_live/new.ex:356
#: lib/who_need_help_web/live/notification_live.ex:584 #: lib/who_need_help_web/live/notification_live.ex:591
#: lib/who_need_help_web/live/request_live/new.ex:486 #: lib/who_need_help_web/live/request_live/new.ex:486
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location permission was denied." msgid "Location permission was denied."
@ -4274,7 +4274,7 @@ msgid "Use another email"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:435 #: lib/who_need_help_web/live/activity_live/new.ex:435
#: lib/who_need_help_web/live/notification_live.ex:617 #: lib/who_need_help_web/live/notification_live.ex:624
#: lib/who_need_help_web/live/request_live/new.ex:595 #: lib/who_need_help_web/live/request_live/new.ex:595
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use my location" msgid "Use my location"
@ -4519,8 +4519,8 @@ msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:355 #: lib/who_need_help_web/live/activity_live/new.ex:355
#: lib/who_need_help_web/live/activity_live/new.ex:414 #: lib/who_need_help_web/live/activity_live/new.ex:414
#: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/activity_live/show.ex:546
#: lib/who_need_help_web/live/notification_live.ex:583 #: lib/who_need_help_web/live/notification_live.ex:590
#: lib/who_need_help_web/live/notification_live.ex:602 #: lib/who_need_help_web/live/notification_live.ex:609
#: lib/who_need_help_web/live/request_live/index.ex:784 #: lib/who_need_help_web/live/request_live/index.ex:784
#: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:485
#: lib/who_need_help_web/live/request_live/new.ex:563 #: lib/who_need_help_web/live/request_live/new.ex:563
@ -4561,7 +4561,7 @@ msgid_plural "%{count} unread"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/notification_live.ex:463
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Acceptance, arrival, completion, and cancellation" msgid "Acceptance, arrival, completion, and cancellation"
msgstr "" msgstr ""
@ -4571,22 +4571,22 @@ msgstr ""
msgid "Active or unresolved product state must be handled first." msgid "Active or unresolved product state must be handled first."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:578 #: lib/who_need_help_web/live/notification_live.ex:585
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected." msgid "Alert area selected."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:577 #: lib/who_need_help_web/live/notification_live.ex:584
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected. Drag the pin to move it." msgid "Alert area selected. Drag the pin to move it."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:557 #: lib/who_need_help_web/live/notification_live.ex:564
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert name" msgid "Alert name"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:620 #: lib/who_need_help_web/live/notification_live.ex:627
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert radius" msgid "Alert radius"
msgstr "" msgstr ""
@ -4597,7 +4597,7 @@ msgstr ""
msgid "Alert was not found." msgid "Alert was not found."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:441 #: lib/who_need_help_web/live/notification_live.ex:448
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Allow push notifications" msgid "Allow push notifications"
msgstr "" msgstr ""
@ -4607,17 +4607,17 @@ msgstr ""
msgid "Arrival saved. The requester has been notified." msgid "Arrival saved. The requester has been notified."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/notification_live.ex:755
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available days" msgid "Available days"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:781 #: lib/who_need_help_web/live/notification_live.ex:788
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available from (optional)" msgid "Available from (optional)"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:786 #: lib/who_need_help_web/live/notification_live.ex:793
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available until (optional)" msgid "Available until (optional)"
msgstr "" msgstr ""
@ -4638,18 +4638,18 @@ msgstr ""
msgid "Cancelling…" msgid "Cancelling…"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:545 #: lib/who_need_help_web/live/notification_live.ex:552
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose an area, categories, urgency, and the times when you are available." msgid "Choose an area, categories, urgency, and the times when you are available."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:576 #: lib/who_need_help_web/live/notification_live.ex:583
#: lib/who_need_help_web/live/notification_live.ex:657 #: lib/who_need_help_web/live/notification_live.ex:664
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose the private center of your alert area." msgid "Choose the private center of your alert area."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:607 #: lib/who_need_help_web/live/notification_live.ex:614
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move your private alert area" msgid "Click the map or drag the green pin to move your private alert area"
msgstr "" msgstr ""
@ -4675,32 +4675,32 @@ msgstr ""
msgid "Count" msgid "Count"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:543 #: lib/who_need_help_web/live/notification_live.ex:550
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create a nearby alert" msgid "Create a nearby alert"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:803 #: lib/who_need_help_web/live/notification_live.ex:810
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create nearby alert" msgid "Create nearby alert"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:532 #: lib/who_need_help_web/live/notification_live.ex:539
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:529 #: lib/who_need_help_web/live/notification_live.ex:536
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete this nearby alert?" msgid "Delete this nearby alert?"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:790 #: lib/who_need_help_web/live/notification_live.ex:797
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels" msgid "Delivery channels"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:360 #: lib/who_need_help_web/live/notification_live.ex:365
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels and quiet hours" msgid "Delivery channels and quiet hours"
msgstr "" msgstr ""
@ -4716,7 +4716,7 @@ msgstr ""
msgid "Dimension" msgid "Dimension"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:414 #: lib/who_need_help_web/live/notification_live.ex:421
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
@ -4726,14 +4726,14 @@ msgstr ""
msgid "Download my data" msgid "Download my data"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:579 #: lib/who_need_help_web/live/notification_live.ex:586
#: lib/who_need_help_web/live/notification_live.ex:580 #: lib/who_need_help_web/live/notification_live.ex:587
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Drag to move the alert area" msgid "Drag to move the alert area"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:375 #: lib/who_need_help_web/live/notification_live.ex:380
#: lib/who_need_help_web/live/notification_live.ex:378 #: lib/who_need_help_web/live/notification_live.ex:385
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable push on this device" msgid "Enable push on this device"
msgstr "" msgstr ""
@ -4743,12 +4743,12 @@ msgstr ""
msgid "Follow request updates and choose which nearby needs should reach this device." msgid "Follow request updates and choose which nearby needs should reach this device."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:757 #: lib/who_need_help_web/live/notification_live.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fri" msgid "Fri"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:469 #: lib/who_need_help_web/live/notification_live.ex:476
#: lib/who_need_help_web/live/product_analytics_live.ex:220 #: lib/who_need_help_web/live/product_analytics_live.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "From" msgid "From"
@ -4800,7 +4800,7 @@ msgstr ""
msgid "Helper's live location" msgid "Helper's live location"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:563 #: lib/who_need_help_web/live/notification_live.ex:570
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Home area" msgid "Home area"
msgstr "" msgstr ""
@ -4821,7 +4821,7 @@ msgstr ""
msgid "Inbox" msgid "Inbox"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:701 #: lib/who_need_help_web/live/notification_live.ex:708
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Leave every category unchecked to receive all matching requests." msgid "Leave every category unchecked to receive all matching requests."
msgstr "" msgstr ""
@ -4862,7 +4862,7 @@ msgstr ""
msgid "Metric" msgid "Metric"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:753 #: lib/who_need_help_web/live/notification_live.ex:760
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Mon" msgid "Mon"
msgstr "" msgstr ""
@ -4877,7 +4877,7 @@ msgstr ""
msgid "Nearby alert deleted." msgid "Nearby alert deleted."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:446 #: lib/who_need_help_web/live/notification_live.ex:453
#: lib/who_need_help_web/live/request_live/index.ex:508 #: lib/who_need_help_web/live/request_live/index.ex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby requests" msgid "Nearby requests"
@ -4888,7 +4888,7 @@ msgstr ""
msgid "New help request nearby" msgid "New help request nearby"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:451 #: lib/who_need_help_web/live/notification_live.ex:458
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New private messages" msgid "New private messages"
msgstr "" msgstr ""
@ -4898,7 +4898,7 @@ msgstr ""
msgid "No active product workflow was found." msgid "No active product workflow was found."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:487 #: lib/who_need_help_web/live/notification_live.ex:494
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No nearby alerts configured yet." msgid "No nearby alerts configured yet."
msgstr "" msgstr ""
@ -4920,7 +4920,7 @@ msgstr ""
msgid "Notification preferences saved." msgid "Notification preferences saved."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:362 #: lib/who_need_help_web/live/notification_live.ex:367
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notification text never contains chat messages or exact coordinates." msgid "Notification text never contains chat messages or exact coordinates."
msgstr "" msgstr ""
@ -4944,17 +4944,17 @@ msgstr ""
msgid "Operations" msgid "Operations"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:646 #: lib/who_need_help_web/live/notification_live.ex:653
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Other users never see this saved point." msgid "Other users never see this saved point."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pause" msgid "Pause"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paused" msgid "Paused"
msgstr "" msgstr ""
@ -4964,12 +4964,12 @@ msgstr ""
msgid "Plans changed" msgid "Plans changed"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:562 #: lib/who_need_help_web/live/notification_live.ex:569
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private area label" msgid "Private area label"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:645 #: lib/who_need_help_web/live/notification_live.ex:652
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private matching center" msgid "Private matching center"
msgstr "" msgstr ""
@ -4985,17 +4985,17 @@ msgstr ""
msgid "Progress" msgid "Progress"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:503 #: lib/who_need_help_web/live/notification_live.ex:510
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push" msgid "Push"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:376 #: lib/who_need_help_web/live/notification_live.ex:381
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push enabled on this device" msgid "Push enabled on this device"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:798 #: lib/who_need_help_web/live/notification_live.ex:805
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notification" msgid "Push notification"
msgstr "" msgstr ""
@ -5035,7 +5035,7 @@ msgstr ""
msgid "Requester's live location" msgid "Requester's live location"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Resume" msgid "Resume"
msgstr "" msgstr ""
@ -5045,12 +5045,12 @@ msgstr ""
msgid "Run deletion preflight" msgid "Run deletion preflight"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:758 #: lib/who_need_help_web/live/notification_live.ex:765
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sat" msgid "Sat"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:472 #: lib/who_need_help_web/live/notification_live.ex:479
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save preferences" msgid "Save preferences"
msgstr "" msgstr ""
@ -5065,7 +5065,7 @@ msgstr ""
msgid "Stay available without refreshing" msgid "Stay available without refreshing"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:759 #: lib/who_need_help_web/live/notification_live.ex:766
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sun" msgid "Sun"
msgstr "" msgstr ""
@ -5075,7 +5075,7 @@ msgstr ""
msgid "The linked account no longer exists." msgid "The linked account no longer exists."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:600 #: lib/who_need_help_web/live/notification_live.ex:607
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The map is unavailable. Enter coordinates manually." msgid "The map is unavailable. Enter coordinates manually."
msgstr "" msgstr ""
@ -5090,7 +5090,7 @@ msgstr ""
msgid "The request is not linked to an account." msgid "The request is not linked to an account."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:483 #: lib/who_need_help_web/live/notification_live.ex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The saved center is private and is used only to find matching requests." msgid "The saved center is private and is used only to find matching requests."
msgstr "" msgstr ""
@ -5106,27 +5106,27 @@ msgstr ""
msgid "This is not an account-deletion case." msgid "This is not an account-deletion case."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:756 #: lib/who_need_help_web/live/notification_live.ex:763
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Thu" msgid "Thu"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:754 #: lib/who_need_help_web/live/notification_live.ex:761
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tue" msgid "Tue"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:470 #: lib/who_need_help_web/live/notification_live.ex:477
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Until" msgid "Until"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:558 #: lib/who_need_help_web/live/notification_live.ex:565
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Urgent medicine near home" msgid "Urgent medicine near home"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:466 #: lib/who_need_help_web/live/notification_live.ex:473
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use quiet hours" msgid "Use quiet hours"
msgstr "" msgstr ""
@ -5136,18 +5136,18 @@ msgstr ""
msgid "Verify the requester contact first." msgid "Verify the requester contact first."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:385 #: lib/who_need_help_web/live/notification_live.ex:392
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web Push keys are not configured in this local environment yet." msgid "Web Push keys are not configured in this local environment yet."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:357 #: lib/who_need_help_web/live/notification_live.ex:362
#: lib/who_need_help_web/live/notification_live.ex:397 #: lib/who_need_help_web/live/notification_live.ex:404
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web browser" msgid "Web browser"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:755 #: lib/who_need_help_web/live/notification_live.ex:762
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Wed" msgid "Wed"
msgstr "" msgstr ""
@ -5164,12 +5164,12 @@ msgstr ""
msgid "You left this match. The request is open for another helper if time remains." msgid "You left this match. The request is open for another helper if time remains."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:383 #: lib/who_need_help_web/live/notification_live.ex:390
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your browser will ask for notification permission." msgid "Your browser will ask for notification permission."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:481 #: lib/who_need_help_web/live/notification_live.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your nearby alerts" msgid "Your nearby alerts"
msgstr "" msgstr ""
@ -6355,7 +6355,7 @@ msgstr ""
msgid "Notification permission was not granted." msgid "Notification permission was not granted."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:351 #: lib/who_need_help_web/live/notification_live.ex:356
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push keys changed. Enable notifications to reconnect this device securely." msgid "Push keys changed. Enable notifications to reconnect this device securely."
msgstr "" msgstr ""
@ -6370,17 +6370,17 @@ msgstr ""
msgid "Push notifications are enabled on this Android device." msgid "Push notifications are enabled on this Android device."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:348 #: lib/who_need_help_web/live/notification_live.ex:353
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are enabled on this device." msgid "Push notifications are enabled on this device."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:346 #: lib/who_need_help_web/live/notification_live.ex:351
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are unavailable in this browser." msgid "Push notifications are unavailable in this browser."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:349 #: lib/who_need_help_web/live/notification_live.ex:354
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications could not be enabled." msgid "Push notifications could not be enabled."
msgstr "" msgstr ""
@ -6390,7 +6390,7 @@ msgstr ""
msgid "The Android push token could not be saved. Please try again." msgid "The Android push token could not be saved. Please try again."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:354 #: lib/who_need_help_web/live/notification_live.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This browser has a push subscription. Enable it to reconnect this device." msgid "This browser has a push subscription. Enable it to reconnect this device."
msgstr "" msgstr ""
@ -7828,12 +7828,12 @@ msgstr ""
msgid "Keep this status link private. Important status changes may also be sent to the verified contact email." msgid "Keep this status link private. Important status changes may also be sent to the verified contact email."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:792 #: lib/who_need_help_web/live/notification_live.ex:799
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby alerts always appear in your inbox. Push is optional." msgid "Nearby alerts always appear in your inbox. Push is optional."
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:459 #: lib/who_need_help_web/live/notification_live.ex:466
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet." msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet."
msgstr "" msgstr ""
@ -7857,3 +7857,18 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Child safety or sexual exploitation" msgid "Child safety or sexual exploitation"
msgstr "" msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:383
#, elixir-autogen, elixir-format
msgid "Android notifications enabled"
msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:346
#, elixir-autogen, elixir-format
msgid "Android will request notification permission and securely register this device."
msgstr ""
#: lib/who_need_help_web/live/notification_live.ex:382
#, elixir-autogen, elixir-format
msgid "Enable Android notifications"
msgstr ""

View File

@ -41,7 +41,7 @@ msgstr "Attempting to reconnect"
#: lib/who_need_help_web/components/layouts.ex:235 #: lib/who_need_help_web/components/layouts.ex:235
#: lib/who_need_help_web/live/moderation_live.ex:494 #: lib/who_need_help_web/live/moderation_live.ex:494
#: lib/who_need_help_web/live/notification_live.ex:699 #: lib/who_need_help_web/live/notification_live.ex:706
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Categories" msgid "Categories"
msgstr "Categories" msgstr "Categories"
@ -209,7 +209,7 @@ msgstr "Action center"
#: lib/who_need_help_web/live/admin_user_live.ex:188 #: lib/who_need_help_web/live/admin_user_live.ex:188
#: lib/who_need_help_web/live/admin_users_live.ex:125 #: lib/who_need_help_web/live/admin_users_live.ex:125
#: lib/who_need_help_web/live/admin_users_live.ex:185 #: lib/who_need_help_web/live/admin_users_live.ex:185
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Active" msgid "Active"
msgstr "Active" msgstr "Active"
@ -911,7 +911,7 @@ msgid "Join requests close"
msgstr "Join requests close" msgstr "Join requests close"
#: lib/who_need_help_web/live/activity_live/new.ex:486 #: lib/who_need_help_web/live/activity_live/new.ex:486
#: lib/who_need_help_web/live/notification_live.ex:667 #: lib/who_need_help_web/live/notification_live.ex:674
#: lib/who_need_help_web/live/request_live/new.ex:668 #: lib/who_need_help_web/live/request_live/new.ex:668
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Latitude" msgid "Latitude"
@ -964,7 +964,7 @@ msgid "Logged out successfully."
msgstr "Logged out successfully." msgstr "Logged out successfully."
#: lib/who_need_help_web/live/activity_live/new.ex:500 #: lib/who_need_help_web/live/activity_live/new.ex:500
#: lib/who_need_help_web/live/notification_live.ex:681 #: lib/who_need_help_web/live/notification_live.ex:688
#: lib/who_need_help_web/live/request_live/new.ex:682 #: lib/who_need_help_web/live/request_live/new.ex:682
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Longitude" msgid "Longitude"
@ -1144,7 +1144,7 @@ msgstr "Not an emergency or medical service. In immediate danger, contact local
msgid "Not for emergencies" msgid "Not for emergencies"
msgstr "Not for emergencies" msgstr "Not for emergencies"
#: lib/who_need_help_web/live/notification_live.ex:729 #: lib/who_need_help_web/live/notification_live.ex:736
#: lib/who_need_help_web/live/request_live/index.ex:443 #: lib/who_need_help_web/live/request_live/index.ex:443
#: lib/who_need_help_web/live/request_live/index.ex:444 #: lib/who_need_help_web/live/request_live/index.ex:444
#: lib/who_need_help_web/live/request_live/index.ex:555 #: lib/who_need_help_web/live/request_live/index.ex:555
@ -1624,7 +1624,7 @@ msgstr "Save Password"
msgid "Save profile" msgid "Save profile"
msgstr "Save profile" msgstr "Save profile"
#: lib/who_need_help_web/live/notification_live.ex:731 #: lib/who_need_help_web/live/notification_live.ex:738
#: lib/who_need_help_web/live/request_live/index.ex:447 #: lib/who_need_help_web/live/request_live/index.ex:447
#: lib/who_need_help_web/live/request_live/index.ex:448 #: lib/who_need_help_web/live/request_live/index.ex:448
#: lib/who_need_help_web/live/request_live/index.ex:557 #: lib/who_need_help_web/live/request_live/index.ex:557
@ -1937,7 +1937,7 @@ msgstr "This request is unavailable."
msgid "To see sent emails, visit" msgid "To see sent emails, visit"
msgstr "To see sent emails, visit" msgstr "To see sent emails, visit"
#: lib/who_need_help_web/live/notification_live.ex:730 #: lib/who_need_help_web/live/notification_live.ex:737
#: lib/who_need_help_web/live/request_live/index.ex:445 #: lib/who_need_help_web/live/request_live/index.ex:445
#: lib/who_need_help_web/live/request_live/index.ex:446 #: lib/who_need_help_web/live/request_live/index.ex:446
#: lib/who_need_help_web/live/request_live/index.ex:556 #: lib/who_need_help_web/live/request_live/index.ex:556
@ -2009,7 +2009,7 @@ msgstr "Unblock this user"
msgid "Unique people" msgid "Unique people"
msgstr "Unique people" msgstr "Unique people"
#: lib/who_need_help_web/live/notification_live.ex:724 #: lib/who_need_help_web/live/notification_live.ex:731
#: lib/who_need_help_web/live/request_live/index.ex:552 #: lib/who_need_help_web/live/request_live/index.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:447 #: lib/who_need_help_web/live/request_live/new.ex:447
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -3925,7 +3925,7 @@ msgid "Date"
msgstr "Date" msgstr "Date"
#: lib/who_need_help_web/live/activity_live/new.ex:478 #: lib/who_need_help_web/live/activity_live/new.ex:478
#: lib/who_need_help_web/live/notification_live.ex:664 #: lib/who_need_help_web/live/notification_live.ex:671
#: lib/who_need_help_web/live/request_live/new.ex:660 #: lib/who_need_help_web/live/request_live/new.ex:660
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enter coordinates manually" msgid "Enter coordinates manually"
@ -4013,14 +4013,14 @@ msgid "In 3 hours"
msgstr "In 3 hours" msgstr "In 3 hours"
#: lib/who_need_help_web/live/activity_live/new.ex:354 #: lib/who_need_help_web/live/activity_live/new.ex:354
#: lib/who_need_help_web/live/notification_live.ex:582 #: lib/who_need_help_web/live/notification_live.ex:589
#: lib/who_need_help_web/live/request_live/new.ex:484 #: lib/who_need_help_web/live/request_live/new.ex:484
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser." msgid "Location is unavailable in this browser."
msgstr "Location is unavailable in this browser." msgstr "Location is unavailable in this browser."
#: lib/who_need_help_web/live/activity_live/new.ex:356 #: lib/who_need_help_web/live/activity_live/new.ex:356
#: lib/who_need_help_web/live/notification_live.ex:584 #: lib/who_need_help_web/live/notification_live.ex:591
#: lib/who_need_help_web/live/request_live/new.ex:486 #: lib/who_need_help_web/live/request_live/new.ex:486
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location permission was denied." msgid "Location permission was denied."
@ -4274,7 +4274,7 @@ msgid "Use another email"
msgstr "Use another email" msgstr "Use another email"
#: lib/who_need_help_web/live/activity_live/new.ex:435 #: lib/who_need_help_web/live/activity_live/new.ex:435
#: lib/who_need_help_web/live/notification_live.ex:617 #: lib/who_need_help_web/live/notification_live.ex:624
#: lib/who_need_help_web/live/request_live/new.ex:595 #: lib/who_need_help_web/live/request_live/new.ex:595
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use my location" msgid "Use my location"
@ -4519,8 +4519,8 @@ msgstr "Together"
#: lib/who_need_help_web/live/activity_live/new.ex:355 #: lib/who_need_help_web/live/activity_live/new.ex:355
#: lib/who_need_help_web/live/activity_live/new.ex:414 #: lib/who_need_help_web/live/activity_live/new.ex:414
#: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/activity_live/show.ex:546
#: lib/who_need_help_web/live/notification_live.ex:583 #: lib/who_need_help_web/live/notification_live.ex:590
#: lib/who_need_help_web/live/notification_live.ex:602 #: lib/who_need_help_web/live/notification_live.ex:609
#: lib/who_need_help_web/live/request_live/index.ex:784 #: lib/who_need_help_web/live/request_live/index.ex:784
#: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:485
#: lib/who_need_help_web/live/request_live/new.ex:563 #: lib/who_need_help_web/live/request_live/new.ex:563
@ -4561,7 +4561,7 @@ msgid_plural "%{count} unread"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/notification_live.ex:463
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Acceptance, arrival, completion, and cancellation" msgid "Acceptance, arrival, completion, and cancellation"
msgstr "Acceptance, arrival, completion, and cancellation" msgstr "Acceptance, arrival, completion, and cancellation"
@ -4571,22 +4571,22 @@ msgstr "Acceptance, arrival, completion, and cancellation"
msgid "Active or unresolved product state must be handled first." msgid "Active or unresolved product state must be handled first."
msgstr "Active or unresolved product state must be handled first." msgstr "Active or unresolved product state must be handled first."
#: lib/who_need_help_web/live/notification_live.ex:578 #: lib/who_need_help_web/live/notification_live.ex:585
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected." msgid "Alert area selected."
msgstr "Alert area selected." msgstr "Alert area selected."
#: lib/who_need_help_web/live/notification_live.ex:577 #: lib/who_need_help_web/live/notification_live.ex:584
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected. Drag the pin to move it." msgid "Alert area selected. Drag the pin to move it."
msgstr "Alert area selected. Drag the pin to move it." msgstr "Alert area selected. Drag the pin to move it."
#: lib/who_need_help_web/live/notification_live.ex:557 #: lib/who_need_help_web/live/notification_live.ex:564
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert name" msgid "Alert name"
msgstr "Alert name" msgstr "Alert name"
#: lib/who_need_help_web/live/notification_live.ex:620 #: lib/who_need_help_web/live/notification_live.ex:627
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert radius" msgid "Alert radius"
msgstr "Alert radius" msgstr "Alert radius"
@ -4597,7 +4597,7 @@ msgstr "Alert radius"
msgid "Alert was not found." msgid "Alert was not found."
msgstr "Alert was not found." msgstr "Alert was not found."
#: lib/who_need_help_web/live/notification_live.ex:441 #: lib/who_need_help_web/live/notification_live.ex:448
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Allow push notifications" msgid "Allow push notifications"
msgstr "Allow push notifications" msgstr "Allow push notifications"
@ -4607,17 +4607,17 @@ msgstr "Allow push notifications"
msgid "Arrival saved. The requester has been notified." msgid "Arrival saved. The requester has been notified."
msgstr "Arrival saved. The requester has been notified." msgstr "Arrival saved. The requester has been notified."
#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/notification_live.ex:755
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available days" msgid "Available days"
msgstr "Available days" msgstr "Available days"
#: lib/who_need_help_web/live/notification_live.ex:781 #: lib/who_need_help_web/live/notification_live.ex:788
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available from (optional)" msgid "Available from (optional)"
msgstr "Available from (optional)" msgstr "Available from (optional)"
#: lib/who_need_help_web/live/notification_live.ex:786 #: lib/who_need_help_web/live/notification_live.ex:793
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available until (optional)" msgid "Available until (optional)"
msgstr "Available until (optional)" msgstr "Available until (optional)"
@ -4638,18 +4638,18 @@ msgstr "Cancelling ends this match and stops live-location sharing."
msgid "Cancelling…" msgid "Cancelling…"
msgstr "Cancelling…" msgstr "Cancelling…"
#: lib/who_need_help_web/live/notification_live.ex:545 #: lib/who_need_help_web/live/notification_live.ex:552
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose an area, categories, urgency, and the times when you are available." msgid "Choose an area, categories, urgency, and the times when you are available."
msgstr "Choose an area, categories, urgency, and the times when you are available." msgstr "Choose an area, categories, urgency, and the times when you are available."
#: lib/who_need_help_web/live/notification_live.ex:576 #: lib/who_need_help_web/live/notification_live.ex:583
#: lib/who_need_help_web/live/notification_live.ex:657 #: lib/who_need_help_web/live/notification_live.ex:664
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose the private center of your alert area." msgid "Choose the private center of your alert area."
msgstr "Choose the private center of your alert area." msgstr "Choose the private center of your alert area."
#: lib/who_need_help_web/live/notification_live.ex:607 #: lib/who_need_help_web/live/notification_live.ex:614
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move your private alert area" msgid "Click the map or drag the green pin to move your private alert area"
msgstr "Click the map or drag the green pin to move your private alert area" msgstr "Click the map or drag the green pin to move your private alert area"
@ -4675,32 +4675,32 @@ msgstr "Confirm withdrawal"
msgid "Count" msgid "Count"
msgstr "Count" msgstr "Count"
#: lib/who_need_help_web/live/notification_live.ex:543 #: lib/who_need_help_web/live/notification_live.ex:550
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create a nearby alert" msgid "Create a nearby alert"
msgstr "Create a nearby alert" msgstr "Create a nearby alert"
#: lib/who_need_help_web/live/notification_live.ex:803 #: lib/who_need_help_web/live/notification_live.ex:810
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create nearby alert" msgid "Create nearby alert"
msgstr "Create nearby alert" msgstr "Create nearby alert"
#: lib/who_need_help_web/live/notification_live.ex:532 #: lib/who_need_help_web/live/notification_live.ex:539
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Delete" msgstr "Delete"
#: lib/who_need_help_web/live/notification_live.ex:529 #: lib/who_need_help_web/live/notification_live.ex:536
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete this nearby alert?" msgid "Delete this nearby alert?"
msgstr "Delete this nearby alert?" msgstr "Delete this nearby alert?"
#: lib/who_need_help_web/live/notification_live.ex:790 #: lib/who_need_help_web/live/notification_live.ex:797
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels" msgid "Delivery channels"
msgstr "Delivery channels" msgstr "Delivery channels"
#: lib/who_need_help_web/live/notification_live.ex:360 #: lib/who_need_help_web/live/notification_live.ex:365
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels and quiet hours" msgid "Delivery channels and quiet hours"
msgstr "Delivery channels and quiet hours" msgstr "Delivery channels and quiet hours"
@ -4716,7 +4716,7 @@ msgstr "Device was not found."
msgid "Dimension" msgid "Dimension"
msgstr "Dimension" msgstr "Dimension"
#: lib/who_need_help_web/live/notification_live.ex:414 #: lib/who_need_help_web/live/notification_live.ex:421
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Disable" msgid "Disable"
msgstr "Disable" msgstr "Disable"
@ -4726,14 +4726,14 @@ msgstr "Disable"
msgid "Download my data" msgid "Download my data"
msgstr "Download my data" msgstr "Download my data"
#: lib/who_need_help_web/live/notification_live.ex:579 #: lib/who_need_help_web/live/notification_live.ex:586
#: lib/who_need_help_web/live/notification_live.ex:580 #: lib/who_need_help_web/live/notification_live.ex:587
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Drag to move the alert area" msgid "Drag to move the alert area"
msgstr "Drag to move the alert area" msgstr "Drag to move the alert area"
#: lib/who_need_help_web/live/notification_live.ex:375 #: lib/who_need_help_web/live/notification_live.ex:380
#: lib/who_need_help_web/live/notification_live.ex:378 #: lib/who_need_help_web/live/notification_live.ex:385
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable push on this device" msgid "Enable push on this device"
msgstr "Enable push on this device" msgstr "Enable push on this device"
@ -4743,12 +4743,12 @@ msgstr "Enable push on this device"
msgid "Follow request updates and choose which nearby needs should reach this device." msgid "Follow request updates and choose which nearby needs should reach this device."
msgstr "Follow request updates and choose which nearby needs should reach this device." msgstr "Follow request updates and choose which nearby needs should reach this device."
#: lib/who_need_help_web/live/notification_live.ex:757 #: lib/who_need_help_web/live/notification_live.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fri" msgid "Fri"
msgstr "Fri" msgstr "Fri"
#: lib/who_need_help_web/live/notification_live.ex:469 #: lib/who_need_help_web/live/notification_live.ex:476
#: lib/who_need_help_web/live/product_analytics_live.ex:220 #: lib/who_need_help_web/live/product_analytics_live.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "From" msgid "From"
@ -4800,7 +4800,7 @@ msgstr "Helper arrived"
msgid "Helper's live location" msgid "Helper's live location"
msgstr "Helper's live location" msgstr "Helper's live location"
#: lib/who_need_help_web/live/notification_live.ex:563 #: lib/who_need_help_web/live/notification_live.ex:570
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Home area" msgid "Home area"
msgstr "Home area" msgstr "Home area"
@ -4821,7 +4821,7 @@ msgstr "I have arrived"
msgid "Inbox" msgid "Inbox"
msgstr "Inbox" msgstr "Inbox"
#: lib/who_need_help_web/live/notification_live.ex:701 #: lib/who_need_help_web/live/notification_live.ex:708
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Leave every category unchecked to receive all matching requests." msgid "Leave every category unchecked to receive all matching requests."
msgstr "Leave every category unchecked to receive all matching requests." msgstr "Leave every category unchecked to receive all matching requests."
@ -4862,7 +4862,7 @@ msgstr "Mark all read"
msgid "Metric" msgid "Metric"
msgstr "Metric" msgstr "Metric"
#: lib/who_need_help_web/live/notification_live.ex:753 #: lib/who_need_help_web/live/notification_live.ex:760
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Mon" msgid "Mon"
msgstr "Mon" msgstr "Mon"
@ -4877,7 +4877,7 @@ msgstr "Nearby alert created."
msgid "Nearby alert deleted." msgid "Nearby alert deleted."
msgstr "Nearby alert deleted." msgstr "Nearby alert deleted."
#: lib/who_need_help_web/live/notification_live.ex:446 #: lib/who_need_help_web/live/notification_live.ex:453
#: lib/who_need_help_web/live/request_live/index.ex:508 #: lib/who_need_help_web/live/request_live/index.ex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby requests" msgid "Nearby requests"
@ -4888,7 +4888,7 @@ msgstr "Nearby requests"
msgid "New help request nearby" msgid "New help request nearby"
msgstr "New help request nearby" msgstr "New help request nearby"
#: lib/who_need_help_web/live/notification_live.ex:451 #: lib/who_need_help_web/live/notification_live.ex:458
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New private messages" msgid "New private messages"
msgstr "New private messages" msgstr "New private messages"
@ -4898,7 +4898,7 @@ msgstr "New private messages"
msgid "No active product workflow was found." msgid "No active product workflow was found."
msgstr "No active product workflow was found." msgstr "No active product workflow was found."
#: lib/who_need_help_web/live/notification_live.ex:487 #: lib/who_need_help_web/live/notification_live.ex:494
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No nearby alerts configured yet." msgid "No nearby alerts configured yet."
msgstr "No nearby alerts configured yet." msgstr "No nearby alerts configured yet."
@ -4920,7 +4920,7 @@ msgstr "Note (optional)"
msgid "Notification preferences saved." msgid "Notification preferences saved."
msgstr "Notification preferences saved." msgstr "Notification preferences saved."
#: lib/who_need_help_web/live/notification_live.ex:362 #: lib/who_need_help_web/live/notification_live.ex:367
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notification text never contains chat messages or exact coordinates." msgid "Notification text never contains chat messages or exact coordinates."
msgstr "Notification text never contains chat messages or exact coordinates." msgstr "Notification text never contains chat messages or exact coordinates."
@ -4944,17 +4944,17 @@ msgstr "Notifications and nearby alerts"
msgid "Operations" msgid "Operations"
msgstr "Operations" msgstr "Operations"
#: lib/who_need_help_web/live/notification_live.ex:646 #: lib/who_need_help_web/live/notification_live.ex:653
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Other users never see this saved point." msgid "Other users never see this saved point."
msgstr "Other users never see this saved point." msgstr "Other users never see this saved point."
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pause" msgid "Pause"
msgstr "Pause" msgstr "Pause"
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paused" msgid "Paused"
msgstr "Paused" msgstr "Paused"
@ -4964,12 +4964,12 @@ msgstr "Paused"
msgid "Plans changed" msgid "Plans changed"
msgstr "Plans changed" msgstr "Plans changed"
#: lib/who_need_help_web/live/notification_live.ex:562 #: lib/who_need_help_web/live/notification_live.ex:569
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private area label" msgid "Private area label"
msgstr "Private area label" msgstr "Private area label"
#: lib/who_need_help_web/live/notification_live.ex:645 #: lib/who_need_help_web/live/notification_live.ex:652
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private matching center" msgid "Private matching center"
msgstr "Private matching center" msgstr "Private matching center"
@ -4985,17 +4985,17 @@ msgstr "Product analytics"
msgid "Progress" msgid "Progress"
msgstr "Progress" msgstr "Progress"
#: lib/who_need_help_web/live/notification_live.ex:503 #: lib/who_need_help_web/live/notification_live.ex:510
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push" msgid "Push"
msgstr "Push" msgstr "Push"
#: lib/who_need_help_web/live/notification_live.ex:376 #: lib/who_need_help_web/live/notification_live.ex:381
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push enabled on this device" msgid "Push enabled on this device"
msgstr "Push enabled on this device" msgstr "Push enabled on this device"
#: lib/who_need_help_web/live/notification_live.ex:798 #: lib/who_need_help_web/live/notification_live.ex:805
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notification" msgid "Push notification"
msgstr "Push notification" msgstr "Push notification"
@ -5035,7 +5035,7 @@ msgstr "Requester is unreachable"
msgid "Requester's live location" msgid "Requester's live location"
msgstr "Requester's live location" msgstr "Requester's live location"
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Resume" msgid "Resume"
msgstr "Resume" msgstr "Resume"
@ -5045,12 +5045,12 @@ msgstr "Resume"
msgid "Run deletion preflight" msgid "Run deletion preflight"
msgstr "Run deletion preflight" msgstr "Run deletion preflight"
#: lib/who_need_help_web/live/notification_live.ex:758 #: lib/who_need_help_web/live/notification_live.ex:765
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sat" msgid "Sat"
msgstr "Sat" msgstr "Sat"
#: lib/who_need_help_web/live/notification_live.ex:472 #: lib/who_need_help_web/live/notification_live.ex:479
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save preferences" msgid "Save preferences"
msgstr "Save preferences" msgstr "Save preferences"
@ -5065,7 +5065,7 @@ msgstr "Shared live location"
msgid "Stay available without refreshing" msgid "Stay available without refreshing"
msgstr "Stay available without refreshing" msgstr "Stay available without refreshing"
#: lib/who_need_help_web/live/notification_live.ex:759 #: lib/who_need_help_web/live/notification_live.ex:766
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sun" msgid "Sun"
msgstr "Sun" msgstr "Sun"
@ -5075,7 +5075,7 @@ msgstr "Sun"
msgid "The linked account no longer exists." msgid "The linked account no longer exists."
msgstr "The linked account no longer exists." msgstr "The linked account no longer exists."
#: lib/who_need_help_web/live/notification_live.ex:600 #: lib/who_need_help_web/live/notification_live.ex:607
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The map is unavailable. Enter coordinates manually." msgid "The map is unavailable. Enter coordinates manually."
msgstr "The map is unavailable. Enter coordinates manually." msgstr "The map is unavailable. Enter coordinates manually."
@ -5090,7 +5090,7 @@ msgstr "The previous helper left. This request is open for a new helper again."
msgid "The request is not linked to an account." msgid "The request is not linked to an account."
msgstr "The request is not linked to an account." msgstr "The request is not linked to an account."
#: lib/who_need_help_web/live/notification_live.ex:483 #: lib/who_need_help_web/live/notification_live.ex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The saved center is private and is used only to find matching requests." msgid "The saved center is private and is used only to find matching requests."
msgstr "The saved center is private and is used only to find matching requests." msgstr "The saved center is private and is used only to find matching requests."
@ -5106,27 +5106,27 @@ msgstr "These are activity signals, not an identity, background, qualification,
msgid "This is not an account-deletion case." msgid "This is not an account-deletion case."
msgstr "This is not an account-deletion case." msgstr "This is not an account-deletion case."
#: lib/who_need_help_web/live/notification_live.ex:756 #: lib/who_need_help_web/live/notification_live.ex:763
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Thu" msgid "Thu"
msgstr "Thu" msgstr "Thu"
#: lib/who_need_help_web/live/notification_live.ex:754 #: lib/who_need_help_web/live/notification_live.ex:761
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tue" msgid "Tue"
msgstr "Tue" msgstr "Tue"
#: lib/who_need_help_web/live/notification_live.ex:470 #: lib/who_need_help_web/live/notification_live.ex:477
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Until" msgid "Until"
msgstr "Until" msgstr "Until"
#: lib/who_need_help_web/live/notification_live.ex:558 #: lib/who_need_help_web/live/notification_live.ex:565
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Urgent medicine near home" msgid "Urgent medicine near home"
msgstr "Urgent medicine near home" msgstr "Urgent medicine near home"
#: lib/who_need_help_web/live/notification_live.ex:466 #: lib/who_need_help_web/live/notification_live.ex:473
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use quiet hours" msgid "Use quiet hours"
msgstr "Use quiet hours" msgstr "Use quiet hours"
@ -5136,18 +5136,18 @@ msgstr "Use quiet hours"
msgid "Verify the requester contact first." msgid "Verify the requester contact first."
msgstr "Verify the requester contact first." msgstr "Verify the requester contact first."
#: lib/who_need_help_web/live/notification_live.ex:385 #: lib/who_need_help_web/live/notification_live.ex:392
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web Push keys are not configured in this local environment yet." msgid "Web Push keys are not configured in this local environment yet."
msgstr "Web Push keys are not configured in this local environment yet." msgstr "Web Push keys are not configured in this local environment yet."
#: lib/who_need_help_web/live/notification_live.ex:357 #: lib/who_need_help_web/live/notification_live.ex:362
#: lib/who_need_help_web/live/notification_live.ex:397 #: lib/who_need_help_web/live/notification_live.ex:404
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web browser" msgid "Web browser"
msgstr "Web browser" msgstr "Web browser"
#: lib/who_need_help_web/live/notification_live.ex:755 #: lib/who_need_help_web/live/notification_live.ex:762
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Wed" msgid "Wed"
msgstr "Wed" msgstr "Wed"
@ -5164,12 +5164,12 @@ msgstr "You accepted this request. Use private chat to coordinate safely."
msgid "You left this match. The request is open for another helper if time remains." msgid "You left this match. The request is open for another helper if time remains."
msgstr "You left this match. The request is open for another helper if time remains." msgstr "You left this match. The request is open for another helper if time remains."
#: lib/who_need_help_web/live/notification_live.ex:383 #: lib/who_need_help_web/live/notification_live.ex:390
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your browser will ask for notification permission." msgid "Your browser will ask for notification permission."
msgstr "Your browser will ask for notification permission." msgstr "Your browser will ask for notification permission."
#: lib/who_need_help_web/live/notification_live.ex:481 #: lib/who_need_help_web/live/notification_live.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your nearby alerts" msgid "Your nearby alerts"
msgstr "Your nearby alerts" msgstr "Your nearby alerts"
@ -6355,7 +6355,7 @@ msgstr "Map marker"
msgid "Notification permission was not granted." msgid "Notification permission was not granted."
msgstr "Notification permission was not granted." msgstr "Notification permission was not granted."
#: lib/who_need_help_web/live/notification_live.ex:351 #: lib/who_need_help_web/live/notification_live.ex:356
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push keys changed. Enable notifications to reconnect this device securely." msgid "Push keys changed. Enable notifications to reconnect this device securely."
msgstr "Push keys changed. Enable notifications to reconnect this device securely." msgstr "Push keys changed. Enable notifications to reconnect this device securely."
@ -6370,17 +6370,17 @@ msgstr "Push notifications are disabled on this device."
msgid "Push notifications are enabled on this Android device." msgid "Push notifications are enabled on this Android device."
msgstr "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:348 #: lib/who_need_help_web/live/notification_live.ex:353
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are enabled on this device." msgid "Push notifications are enabled on this device."
msgstr "Push notifications are enabled on this device." msgstr "Push notifications are enabled on this device."
#: lib/who_need_help_web/live/notification_live.ex:346 #: lib/who_need_help_web/live/notification_live.ex:351
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are unavailable in this browser." msgid "Push notifications are unavailable in this browser."
msgstr "Push notifications are unavailable in this browser." msgstr "Push notifications are unavailable in this browser."
#: lib/who_need_help_web/live/notification_live.ex:349 #: lib/who_need_help_web/live/notification_live.ex:354
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications could not be enabled." msgid "Push notifications could not be enabled."
msgstr "Push notifications could not be enabled." msgstr "Push notifications could not be enabled."
@ -6390,7 +6390,7 @@ msgstr "Push notifications could not be enabled."
msgid "The Android push token could not be saved. Please try again." msgid "The Android push token could not be saved. Please try again."
msgstr "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:354 #: lib/who_need_help_web/live/notification_live.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This browser has a push subscription. Enable it to reconnect this device." 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." msgstr "This browser has a push subscription. Enable it to reconnect this device."
@ -7828,12 +7828,12 @@ msgstr "Child-safety reports are routed through the protected support and conten
msgid "Keep this status link private. Important status changes may also be sent to the verified contact email." msgid "Keep this status link private. Important status changes may also be sent to the verified contact email."
msgstr "Keep this status link private. Important status changes may also be sent to the verified contact email." msgstr "Keep this status link private. Important status changes may also be sent to the verified contact email."
#: lib/who_need_help_web/live/notification_live.ex:792 #: lib/who_need_help_web/live/notification_live.ex:799
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby alerts always appear in your inbox. Push is optional." msgid "Nearby alerts always appear in your inbox. Push is optional."
msgstr "Nearby alerts always appear in your inbox. Push is optional." msgstr "Nearby alerts always appear in your inbox. Push is optional."
#: lib/who_need_help_web/live/notification_live.ex:459 #: lib/who_need_help_web/live/notification_live.ex:466
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet." msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet."
msgstr "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet." msgstr "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet."
@ -7857,3 +7857,18 @@ msgstr "Log in to help"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Child safety or sexual exploitation" msgid "Child safety or sexual exploitation"
msgstr "Child safety or sexual exploitation" msgstr "Child safety or sexual exploitation"
#: lib/who_need_help_web/live/notification_live.ex:383
#, elixir-autogen, elixir-format
msgid "Android notifications enabled"
msgstr "Android notifications enabled"
#: lib/who_need_help_web/live/notification_live.ex:346
#, elixir-autogen, elixir-format
msgid "Android will request notification permission and securely register this device."
msgstr "Android will request notification permission and securely register this device."
#: lib/who_need_help_web/live/notification_live.ex:382
#, elixir-autogen, elixir-format
msgid "Enable Android notifications"
msgstr "Enable Android notifications"

View File

@ -41,7 +41,7 @@ msgstr "Пытаемся восстановить соединение"
#: lib/who_need_help_web/components/layouts.ex:235 #: lib/who_need_help_web/components/layouts.ex:235
#: lib/who_need_help_web/live/moderation_live.ex:494 #: lib/who_need_help_web/live/moderation_live.ex:494
#: lib/who_need_help_web/live/notification_live.ex:699 #: lib/who_need_help_web/live/notification_live.ex:706
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Categories" msgid "Categories"
msgstr "Категории" msgstr "Категории"
@ -213,7 +213,7 @@ msgstr "Центр действий"
#: lib/who_need_help_web/live/admin_user_live.ex:188 #: lib/who_need_help_web/live/admin_user_live.ex:188
#: lib/who_need_help_web/live/admin_users_live.ex:125 #: lib/who_need_help_web/live/admin_users_live.ex:125
#: lib/who_need_help_web/live/admin_users_live.ex:185 #: lib/who_need_help_web/live/admin_users_live.ex:185
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Active" msgid "Active"
msgstr "Активный" msgstr "Активный"
@ -960,7 +960,7 @@ msgid "Join requests close"
msgstr "Приём заявок завершается" msgstr "Приём заявок завершается"
#: lib/who_need_help_web/live/activity_live/new.ex:486 #: lib/who_need_help_web/live/activity_live/new.ex:486
#: lib/who_need_help_web/live/notification_live.ex:667 #: lib/who_need_help_web/live/notification_live.ex:674
#: lib/who_need_help_web/live/request_live/new.ex:668 #: lib/who_need_help_web/live/request_live/new.ex:668
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Latitude" msgid "Latitude"
@ -1015,7 +1015,7 @@ msgid "Logged out successfully."
msgstr "Вы успешно вышли." msgstr "Вы успешно вышли."
#: lib/who_need_help_web/live/activity_live/new.ex:500 #: lib/who_need_help_web/live/activity_live/new.ex:500
#: lib/who_need_help_web/live/notification_live.ex:681 #: lib/who_need_help_web/live/notification_live.ex:688
#: lib/who_need_help_web/live/request_live/new.ex:682 #: lib/who_need_help_web/live/request_live/new.ex:682
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Longitude" msgid "Longitude"
@ -1208,7 +1208,7 @@ msgstr ""
msgid "Not for emergencies" msgid "Not for emergencies"
msgstr "Не для чрезвычайных ситуаций" msgstr "Не для чрезвычайных ситуаций"
#: lib/who_need_help_web/live/notification_live.ex:729 #: lib/who_need_help_web/live/notification_live.ex:736
#: lib/who_need_help_web/live/request_live/index.ex:443 #: lib/who_need_help_web/live/request_live/index.ex:443
#: lib/who_need_help_web/live/request_live/index.ex:444 #: lib/who_need_help_web/live/request_live/index.ex:444
#: lib/who_need_help_web/live/request_live/index.ex:555 #: lib/who_need_help_web/live/request_live/index.ex:555
@ -1709,7 +1709,7 @@ msgstr "Сохранить пароль"
msgid "Save profile" msgid "Save profile"
msgstr "Сохранить профиль" msgstr "Сохранить профиль"
#: lib/who_need_help_web/live/notification_live.ex:731 #: lib/who_need_help_web/live/notification_live.ex:738
#: lib/who_need_help_web/live/request_live/index.ex:447 #: lib/who_need_help_web/live/request_live/index.ex:447
#: lib/who_need_help_web/live/request_live/index.ex:448 #: lib/who_need_help_web/live/request_live/index.ex:448
#: lib/who_need_help_web/live/request_live/index.ex:557 #: lib/who_need_help_web/live/request_live/index.ex:557
@ -2036,7 +2036,7 @@ msgstr "Эта заявка недоступна."
msgid "To see sent emails, visit" msgid "To see sent emails, visit"
msgstr "Чтобы посмотреть отправленные письма, откройте" msgstr "Чтобы посмотреть отправленные письма, откройте"
#: lib/who_need_help_web/live/notification_live.ex:730 #: lib/who_need_help_web/live/notification_live.ex:737
#: lib/who_need_help_web/live/request_live/index.ex:445 #: lib/who_need_help_web/live/request_live/index.ex:445
#: lib/who_need_help_web/live/request_live/index.ex:446 #: lib/who_need_help_web/live/request_live/index.ex:446
#: lib/who_need_help_web/live/request_live/index.ex:556 #: lib/who_need_help_web/live/request_live/index.ex:556
@ -2108,7 +2108,7 @@ msgstr "Разблокировать этого пользователя"
msgid "Unique people" msgid "Unique people"
msgstr "Уникальные люди" msgstr "Уникальные люди"
#: lib/who_need_help_web/live/notification_live.ex:724 #: lib/who_need_help_web/live/notification_live.ex:731
#: lib/who_need_help_web/live/request_live/index.ex:552 #: lib/who_need_help_web/live/request_live/index.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:447 #: lib/who_need_help_web/live/request_live/new.ex:447
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -4041,7 +4041,7 @@ msgid "Date"
msgstr "Дата" msgstr "Дата"
#: lib/who_need_help_web/live/activity_live/new.ex:478 #: lib/who_need_help_web/live/activity_live/new.ex:478
#: lib/who_need_help_web/live/notification_live.ex:664 #: lib/who_need_help_web/live/notification_live.ex:671
#: lib/who_need_help_web/live/request_live/new.ex:660 #: lib/who_need_help_web/live/request_live/new.ex:660
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enter coordinates manually" msgid "Enter coordinates manually"
@ -4129,14 +4129,14 @@ msgid "In 3 hours"
msgstr "Через 3 часа" msgstr "Через 3 часа"
#: lib/who_need_help_web/live/activity_live/new.ex:354 #: lib/who_need_help_web/live/activity_live/new.ex:354
#: lib/who_need_help_web/live/notification_live.ex:582 #: lib/who_need_help_web/live/notification_live.ex:589
#: lib/who_need_help_web/live/request_live/new.ex:484 #: lib/who_need_help_web/live/request_live/new.ex:484
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser." msgid "Location is unavailable in this browser."
msgstr "Геопозиция недоступна в этом браузере." msgstr "Геопозиция недоступна в этом браузере."
#: lib/who_need_help_web/live/activity_live/new.ex:356 #: lib/who_need_help_web/live/activity_live/new.ex:356
#: lib/who_need_help_web/live/notification_live.ex:584 #: lib/who_need_help_web/live/notification_live.ex:591
#: lib/who_need_help_web/live/request_live/new.ex:486 #: lib/who_need_help_web/live/request_live/new.ex:486
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location permission was denied." msgid "Location permission was denied."
@ -4390,7 +4390,7 @@ msgid "Use another email"
msgstr "Использовать другую почту" msgstr "Использовать другую почту"
#: lib/who_need_help_web/live/activity_live/new.ex:435 #: lib/who_need_help_web/live/activity_live/new.ex:435
#: lib/who_need_help_web/live/notification_live.ex:617 #: lib/who_need_help_web/live/notification_live.ex:624
#: lib/who_need_help_web/live/request_live/new.ex:595 #: lib/who_need_help_web/live/request_live/new.ex:595
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use my location" msgid "Use my location"
@ -4635,8 +4635,8 @@ msgstr "Вместе"
#: lib/who_need_help_web/live/activity_live/new.ex:355 #: lib/who_need_help_web/live/activity_live/new.ex:355
#: lib/who_need_help_web/live/activity_live/new.ex:414 #: lib/who_need_help_web/live/activity_live/new.ex:414
#: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/activity_live/show.ex:546
#: lib/who_need_help_web/live/notification_live.ex:583 #: lib/who_need_help_web/live/notification_live.ex:590
#: lib/who_need_help_web/live/notification_live.ex:602 #: lib/who_need_help_web/live/notification_live.ex:609
#: lib/who_need_help_web/live/request_live/index.ex:784 #: lib/who_need_help_web/live/request_live/index.ex:784
#: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:485
#: lib/who_need_help_web/live/request_live/new.ex:563 #: lib/who_need_help_web/live/request_live/new.ex:563
@ -4678,7 +4678,7 @@ msgstr[0] "%{count} непрочитанное уведомление"
msgstr[1] "%{count} непрочитанных уведомления" msgstr[1] "%{count} непрочитанных уведомления"
msgstr[2] "%{count} непрочитанных уведомлений" msgstr[2] "%{count} непрочитанных уведомлений"
#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/notification_live.ex:463
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Acceptance, arrival, completion, and cancellation" msgid "Acceptance, arrival, completion, and cancellation"
msgstr "Принятие, прибытие, завершение и отмена" msgstr "Принятие, прибытие, завершение и отмена"
@ -4688,22 +4688,22 @@ msgstr "Принятие, прибытие, завершение и отмена
msgid "Active or unresolved product state must be handled first." msgid "Active or unresolved product state must be handled first."
msgstr "Сначала нужно обработать активное или незавершённое состояние." msgstr "Сначала нужно обработать активное или незавершённое состояние."
#: lib/who_need_help_web/live/notification_live.ex:578 #: lib/who_need_help_web/live/notification_live.ex:585
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected." msgid "Alert area selected."
msgstr "Область уведомления выбрана." msgstr "Область уведомления выбрана."
#: lib/who_need_help_web/live/notification_live.ex:577 #: lib/who_need_help_web/live/notification_live.ex:584
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected. Drag the pin to move it." msgid "Alert area selected. Drag the pin to move it."
msgstr "Область уведомления выбрана. Перетащите маркер, чтобы её переместить." msgstr "Область уведомления выбрана. Перетащите маркер, чтобы её переместить."
#: lib/who_need_help_web/live/notification_live.ex:557 #: lib/who_need_help_web/live/notification_live.ex:564
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert name" msgid "Alert name"
msgstr "Название уведомления" msgstr "Название уведомления"
#: lib/who_need_help_web/live/notification_live.ex:620 #: lib/who_need_help_web/live/notification_live.ex:627
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert radius" msgid "Alert radius"
msgstr "Радиус уведомления" msgstr "Радиус уведомления"
@ -4714,7 +4714,7 @@ msgstr "Радиус уведомления"
msgid "Alert was not found." msgid "Alert was not found."
msgstr "Уведомление не найдено." msgstr "Уведомление не найдено."
#: lib/who_need_help_web/live/notification_live.ex:441 #: lib/who_need_help_web/live/notification_live.ex:448
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Allow push notifications" msgid "Allow push notifications"
msgstr "Разрешить push-уведомления" msgstr "Разрешить push-уведомления"
@ -4724,17 +4724,17 @@ msgstr "Разрешить push-уведомления"
msgid "Arrival saved. The requester has been notified." msgid "Arrival saved. The requester has been notified."
msgstr "Прибытие сохранено. Автор заявки получил уведомление." msgstr "Прибытие сохранено. Автор заявки получил уведомление."
#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/notification_live.ex:755
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available days" msgid "Available days"
msgstr "Доступные дни" msgstr "Доступные дни"
#: lib/who_need_help_web/live/notification_live.ex:781 #: lib/who_need_help_web/live/notification_live.ex:788
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available from (optional)" msgid "Available from (optional)"
msgstr "Доступен с (необязательно)" msgstr "Доступен с (необязательно)"
#: lib/who_need_help_web/live/notification_live.ex:786 #: lib/who_need_help_web/live/notification_live.ex:793
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available until (optional)" msgid "Available until (optional)"
msgstr "Доступен до (необязательно)" msgstr "Доступен до (необязательно)"
@ -4755,18 +4755,18 @@ msgstr "Отмена завершит эту помощь и остановит
msgid "Cancelling…" msgid "Cancelling…"
msgstr "Отменяем…" msgstr "Отменяем…"
#: lib/who_need_help_web/live/notification_live.ex:545 #: lib/who_need_help_web/live/notification_live.ex:552
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose an area, categories, urgency, and the times when you are available." msgid "Choose an area, categories, urgency, and the times when you are available."
msgstr "Выберите область, категории, срочность и время, когда вы доступны." msgstr "Выберите область, категории, срочность и время, когда вы доступны."
#: lib/who_need_help_web/live/notification_live.ex:576 #: lib/who_need_help_web/live/notification_live.ex:583
#: lib/who_need_help_web/live/notification_live.ex:657 #: lib/who_need_help_web/live/notification_live.ex:664
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose the private center of your alert area." msgid "Choose the private center of your alert area."
msgstr "Выберите скрытый центр области уведомления." msgstr "Выберите скрытый центр области уведомления."
#: lib/who_need_help_web/live/notification_live.ex:607 #: lib/who_need_help_web/live/notification_live.ex:614
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move your private alert area" msgid "Click the map or drag the green pin to move your private alert area"
msgstr "Нажмите на карту или перетащите зелёный маркер, чтобы переместить скрытую область уведомления" msgstr "Нажмите на карту или перетащите зелёный маркер, чтобы переместить скрытую область уведомления"
@ -4792,32 +4792,32 @@ msgstr "Подтвердить выход"
msgid "Count" msgid "Count"
msgstr "Количество" msgstr "Количество"
#: lib/who_need_help_web/live/notification_live.ex:543 #: lib/who_need_help_web/live/notification_live.ex:550
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create a nearby alert" msgid "Create a nearby alert"
msgstr "Создать уведомление поблизости" msgstr "Создать уведомление поблизости"
#: lib/who_need_help_web/live/notification_live.ex:803 #: lib/who_need_help_web/live/notification_live.ex:810
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create nearby alert" msgid "Create nearby alert"
msgstr "Создать уведомление" msgstr "Создать уведомление"
#: lib/who_need_help_web/live/notification_live.ex:532 #: lib/who_need_help_web/live/notification_live.ex:539
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Удалить" msgstr "Удалить"
#: lib/who_need_help_web/live/notification_live.ex:529 #: lib/who_need_help_web/live/notification_live.ex:536
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete this nearby alert?" msgid "Delete this nearby alert?"
msgstr "Удалить это уведомление поблизости?" msgstr "Удалить это уведомление поблизости?"
#: lib/who_need_help_web/live/notification_live.ex:790 #: lib/who_need_help_web/live/notification_live.ex:797
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels" msgid "Delivery channels"
msgstr "Каналы доставки" msgstr "Каналы доставки"
#: lib/who_need_help_web/live/notification_live.ex:360 #: lib/who_need_help_web/live/notification_live.ex:365
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels and quiet hours" msgid "Delivery channels and quiet hours"
msgstr "Каналы доставки и тихие часы" msgstr "Каналы доставки и тихие часы"
@ -4833,7 +4833,7 @@ msgstr "Устройство не найдено."
msgid "Dimension" msgid "Dimension"
msgstr "Параметр" msgstr "Параметр"
#: lib/who_need_help_web/live/notification_live.ex:414 #: lib/who_need_help_web/live/notification_live.ex:421
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Disable" msgid "Disable"
msgstr "Отключить" msgstr "Отключить"
@ -4843,14 +4843,14 @@ msgstr "Отключить"
msgid "Download my data" msgid "Download my data"
msgstr "Скачать мои данные" msgstr "Скачать мои данные"
#: lib/who_need_help_web/live/notification_live.ex:579 #: lib/who_need_help_web/live/notification_live.ex:586
#: lib/who_need_help_web/live/notification_live.ex:580 #: lib/who_need_help_web/live/notification_live.ex:587
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Drag to move the alert area" msgid "Drag to move the alert area"
msgstr "Перетащите, чтобы переместить область уведомления" msgstr "Перетащите, чтобы переместить область уведомления"
#: lib/who_need_help_web/live/notification_live.ex:375 #: lib/who_need_help_web/live/notification_live.ex:380
#: lib/who_need_help_web/live/notification_live.ex:378 #: lib/who_need_help_web/live/notification_live.ex:385
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable push on this device" msgid "Enable push on this device"
msgstr "Включить push на этом устройстве" msgstr "Включить push на этом устройстве"
@ -4860,12 +4860,12 @@ msgstr "Включить push на этом устройстве"
msgid "Follow request updates and choose which nearby needs should reach this device." msgid "Follow request updates and choose which nearby needs should reach this device."
msgstr "Следите за обновлениями заявок и выбирайте, какие просьбы поблизости получать на этом устройстве." msgstr "Следите за обновлениями заявок и выбирайте, какие просьбы поблизости получать на этом устройстве."
#: lib/who_need_help_web/live/notification_live.ex:757 #: lib/who_need_help_web/live/notification_live.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fri" msgid "Fri"
msgstr "Пт" msgstr "Пт"
#: lib/who_need_help_web/live/notification_live.ex:469 #: lib/who_need_help_web/live/notification_live.ex:476
#: lib/who_need_help_web/live/product_analytics_live.ex:220 #: lib/who_need_help_web/live/product_analytics_live.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "From" msgid "From"
@ -4917,7 +4917,7 @@ msgstr "Помощник прибыл"
msgid "Helper's live location" msgid "Helper's live location"
msgstr "Текущая геопозиция помощника" msgstr "Текущая геопозиция помощника"
#: lib/who_need_help_web/live/notification_live.ex:563 #: lib/who_need_help_web/live/notification_live.ex:570
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Home area" msgid "Home area"
msgstr "Район дома" msgstr "Район дома"
@ -4938,7 +4938,7 @@ msgstr "Я прибыл"
msgid "Inbox" msgid "Inbox"
msgstr "Входящие" msgstr "Входящие"
#: lib/who_need_help_web/live/notification_live.ex:701 #: lib/who_need_help_web/live/notification_live.ex:708
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Leave every category unchecked to receive all matching requests." msgid "Leave every category unchecked to receive all matching requests."
msgstr "Не выбирайте категории, чтобы получать все подходящие заявки." msgstr "Не выбирайте категории, чтобы получать все подходящие заявки."
@ -4979,7 +4979,7 @@ msgstr "Отметить все прочитанными"
msgid "Metric" msgid "Metric"
msgstr "Показатель" msgstr "Показатель"
#: lib/who_need_help_web/live/notification_live.ex:753 #: lib/who_need_help_web/live/notification_live.ex:760
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Mon" msgid "Mon"
msgstr "Пн" msgstr "Пн"
@ -4994,7 +4994,7 @@ msgstr "Уведомление поблизости создано."
msgid "Nearby alert deleted." msgid "Nearby alert deleted."
msgstr "Уведомление поблизости удалено." msgstr "Уведомление поблизости удалено."
#: lib/who_need_help_web/live/notification_live.ex:446 #: lib/who_need_help_web/live/notification_live.ex:453
#: lib/who_need_help_web/live/request_live/index.ex:508 #: lib/who_need_help_web/live/request_live/index.ex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby requests" msgid "Nearby requests"
@ -5005,7 +5005,7 @@ msgstr "Заявки поблизости"
msgid "New help request nearby" msgid "New help request nearby"
msgstr "Новая заявка на помощь поблизости" msgstr "Новая заявка на помощь поблизости"
#: lib/who_need_help_web/live/notification_live.ex:451 #: lib/who_need_help_web/live/notification_live.ex:458
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New private messages" msgid "New private messages"
msgstr "Новые личные сообщения" msgstr "Новые личные сообщения"
@ -5015,7 +5015,7 @@ msgstr "Новые личные сообщения"
msgid "No active product workflow was found." msgid "No active product workflow was found."
msgstr "Активный пользовательский процесс не найден." msgstr "Активный пользовательский процесс не найден."
#: lib/who_need_help_web/live/notification_live.ex:487 #: lib/who_need_help_web/live/notification_live.ex:494
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No nearby alerts configured yet." msgid "No nearby alerts configured yet."
msgstr "Уведомления поблизости ещё не настроены." msgstr "Уведомления поблизости ещё не настроены."
@ -5037,7 +5037,7 @@ msgstr "Примечание (необязательно)"
msgid "Notification preferences saved." msgid "Notification preferences saved."
msgstr "Настройки уведомлений сохранены." msgstr "Настройки уведомлений сохранены."
#: lib/who_need_help_web/live/notification_live.ex:362 #: lib/who_need_help_web/live/notification_live.ex:367
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notification text never contains chat messages or exact coordinates." msgid "Notification text never contains chat messages or exact coordinates."
msgstr "Текст уведомления никогда не содержит сообщения из чата или точные координаты." msgstr "Текст уведомления никогда не содержит сообщения из чата или точные координаты."
@ -5061,17 +5061,17 @@ msgstr "Уведомления и помощь поблизости"
msgid "Operations" msgid "Operations"
msgstr "Операции" msgstr "Операции"
#: lib/who_need_help_web/live/notification_live.ex:646 #: lib/who_need_help_web/live/notification_live.ex:653
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Other users never see this saved point." msgid "Other users never see this saved point."
msgstr "Другие пользователи никогда не видят эту сохранённую точку." msgstr "Другие пользователи никогда не видят эту сохранённую точку."
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pause" msgid "Pause"
msgstr "Приостановить" msgstr "Приостановить"
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paused" msgid "Paused"
msgstr "Приостановлено" msgstr "Приостановлено"
@ -5081,12 +5081,12 @@ msgstr "Приостановлено"
msgid "Plans changed" msgid "Plans changed"
msgstr "Планы изменились" msgstr "Планы изменились"
#: lib/who_need_help_web/live/notification_live.ex:562 #: lib/who_need_help_web/live/notification_live.ex:569
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private area label" msgid "Private area label"
msgstr "Личное название области" msgstr "Личное название области"
#: lib/who_need_help_web/live/notification_live.ex:645 #: lib/who_need_help_web/live/notification_live.ex:652
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private matching center" msgid "Private matching center"
msgstr "Скрытый центр поиска" msgstr "Скрытый центр поиска"
@ -5102,17 +5102,17 @@ msgstr "Аналитика продукта"
msgid "Progress" msgid "Progress"
msgstr "Ход выполнения" msgstr "Ход выполнения"
#: lib/who_need_help_web/live/notification_live.ex:503 #: lib/who_need_help_web/live/notification_live.ex:510
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push" msgid "Push"
msgstr "Push" msgstr "Push"
#: lib/who_need_help_web/live/notification_live.ex:376 #: lib/who_need_help_web/live/notification_live.ex:381
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push enabled on this device" msgid "Push enabled on this device"
msgstr "Push включён на этом устройстве" msgstr "Push включён на этом устройстве"
#: lib/who_need_help_web/live/notification_live.ex:798 #: lib/who_need_help_web/live/notification_live.ex:805
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notification" msgid "Push notification"
msgstr "Push-уведомление" msgstr "Push-уведомление"
@ -5152,7 +5152,7 @@ msgstr "Не удаётся связаться с автором заявки"
msgid "Requester's live location" msgid "Requester's live location"
msgstr "Текущая геопозиция автора заявки" msgstr "Текущая геопозиция автора заявки"
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Resume" msgid "Resume"
msgstr "Возобновить" msgstr "Возобновить"
@ -5162,12 +5162,12 @@ msgstr "Возобновить"
msgid "Run deletion preflight" msgid "Run deletion preflight"
msgstr "Проверить возможность удаления" msgstr "Проверить возможность удаления"
#: lib/who_need_help_web/live/notification_live.ex:758 #: lib/who_need_help_web/live/notification_live.ex:765
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sat" msgid "Sat"
msgstr "Сб" msgstr "Сб"
#: lib/who_need_help_web/live/notification_live.ex:472 #: lib/who_need_help_web/live/notification_live.ex:479
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save preferences" msgid "Save preferences"
msgstr "Сохранить настройки" msgstr "Сохранить настройки"
@ -5182,7 +5182,7 @@ msgstr "Передаваемая геопозиция"
msgid "Stay available without refreshing" msgid "Stay available without refreshing"
msgstr "Оставайтесь на связи без обновления страницы" msgstr "Оставайтесь на связи без обновления страницы"
#: lib/who_need_help_web/live/notification_live.ex:759 #: lib/who_need_help_web/live/notification_live.ex:766
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sun" msgid "Sun"
msgstr "Вс" msgstr "Вс"
@ -5192,7 +5192,7 @@ msgstr "Вс"
msgid "The linked account no longer exists." msgid "The linked account no longer exists."
msgstr "Связанный аккаунт больше не существует." msgstr "Связанный аккаунт больше не существует."
#: lib/who_need_help_web/live/notification_live.ex:600 #: lib/who_need_help_web/live/notification_live.ex:607
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The map is unavailable. Enter coordinates manually." msgid "The map is unavailable. Enter coordinates manually."
msgstr "Карта недоступна. Введите координаты вручную." msgstr "Карта недоступна. Введите координаты вручную."
@ -5207,7 +5207,7 @@ msgstr "Предыдущий помощник вышел. Заявка снов
msgid "The request is not linked to an account." msgid "The request is not linked to an account."
msgstr "Заявка не связана с аккаунтом." msgstr "Заявка не связана с аккаунтом."
#: lib/who_need_help_web/live/notification_live.ex:483 #: lib/who_need_help_web/live/notification_live.ex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The saved center is private and is used only to find matching requests." msgid "The saved center is private and is used only to find matching requests."
msgstr "Сохранённый центр скрыт и используется только для поиска подходящих заявок." msgstr "Сохранённый центр скрыт и используется только для поиска подходящих заявок."
@ -5223,27 +5223,27 @@ msgstr "Это показатели активности, а не проверк
msgid "This is not an account-deletion case." msgid "This is not an account-deletion case."
msgstr "Это обращение не связано с удалением аккаунта." msgstr "Это обращение не связано с удалением аккаунта."
#: lib/who_need_help_web/live/notification_live.ex:756 #: lib/who_need_help_web/live/notification_live.ex:763
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Thu" msgid "Thu"
msgstr "Чт" msgstr "Чт"
#: lib/who_need_help_web/live/notification_live.ex:754 #: lib/who_need_help_web/live/notification_live.ex:761
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tue" msgid "Tue"
msgstr "Вт" msgstr "Вт"
#: lib/who_need_help_web/live/notification_live.ex:470 #: lib/who_need_help_web/live/notification_live.ex:477
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Until" msgid "Until"
msgstr "До" msgstr "До"
#: lib/who_need_help_web/live/notification_live.ex:558 #: lib/who_need_help_web/live/notification_live.ex:565
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Urgent medicine near home" msgid "Urgent medicine near home"
msgstr "Срочная доставка лекарства рядом с домом" msgstr "Срочная доставка лекарства рядом с домом"
#: lib/who_need_help_web/live/notification_live.ex:466 #: lib/who_need_help_web/live/notification_live.ex:473
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use quiet hours" msgid "Use quiet hours"
msgstr "Использовать тихие часы" msgstr "Использовать тихие часы"
@ -5253,18 +5253,18 @@ msgstr "Использовать тихие часы"
msgid "Verify the requester contact first." msgid "Verify the requester contact first."
msgstr "Сначала подтвердите контакт автора заявки." msgstr "Сначала подтвердите контакт автора заявки."
#: lib/who_need_help_web/live/notification_live.ex:385 #: lib/who_need_help_web/live/notification_live.ex:392
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web Push keys are not configured in this local environment yet." msgid "Web Push keys are not configured in this local environment yet."
msgstr "Ключи Web Push ещё не настроены в этом локальном окружении." msgstr "Ключи Web Push ещё не настроены в этом локальном окружении."
#: lib/who_need_help_web/live/notification_live.ex:357 #: lib/who_need_help_web/live/notification_live.ex:362
#: lib/who_need_help_web/live/notification_live.ex:397 #: lib/who_need_help_web/live/notification_live.ex:404
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web browser" msgid "Web browser"
msgstr "Веб-браузер" msgstr "Веб-браузер"
#: lib/who_need_help_web/live/notification_live.ex:755 #: lib/who_need_help_web/live/notification_live.ex:762
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Wed" msgid "Wed"
msgstr "Ср" msgstr "Ср"
@ -5281,12 +5281,12 @@ msgstr "Вы приняли эту заявку. Безопасно соглас
msgid "You left this match. The request is open for another helper if time remains." msgid "You left this match. The request is open for another helper if time remains."
msgstr "Вы вышли из этой помощи. Если время не истекло, заявку сможет принять другой помощник." msgstr "Вы вышли из этой помощи. Если время не истекло, заявку сможет принять другой помощник."
#: lib/who_need_help_web/live/notification_live.ex:383 #: lib/who_need_help_web/live/notification_live.ex:390
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your browser will ask for notification permission." msgid "Your browser will ask for notification permission."
msgstr "Браузер запросит разрешение на уведомления." msgstr "Браузер запросит разрешение на уведомления."
#: lib/who_need_help_web/live/notification_live.ex:481 #: lib/who_need_help_web/live/notification_live.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your nearby alerts" msgid "Your nearby alerts"
msgstr "Ваши уведомления поблизости" msgstr "Ваши уведомления поблизости"
@ -6472,7 +6472,7 @@ msgstr "Маркер на карте"
msgid "Notification permission was not granted." msgid "Notification permission was not granted."
msgstr "Разрешение на уведомления не предоставлено." msgstr "Разрешение на уведомления не предоставлено."
#: lib/who_need_help_web/live/notification_live.ex:351 #: lib/who_need_help_web/live/notification_live.ex:356
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push keys changed. Enable notifications to reconnect this device securely." msgid "Push keys changed. Enable notifications to reconnect this device securely."
msgstr "Ключи push-уведомлений изменились. Включите уведомления, чтобы безопасно переподключить это устройство." msgstr "Ключи push-уведомлений изменились. Включите уведомления, чтобы безопасно переподключить это устройство."
@ -6487,17 +6487,17 @@ msgstr "Push-уведомления отключены для этого уст
msgid "Push notifications are enabled on this Android device." msgid "Push notifications are enabled on this Android device."
msgstr "Push-уведомления включены на этом Android-устройстве." msgstr "Push-уведомления включены на этом Android-устройстве."
#: lib/who_need_help_web/live/notification_live.ex:348 #: lib/who_need_help_web/live/notification_live.ex:353
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are enabled on this device." msgid "Push notifications are enabled on this device."
msgstr "Push-уведомления включены на этом устройстве." msgstr "Push-уведомления включены на этом устройстве."
#: lib/who_need_help_web/live/notification_live.ex:346 #: lib/who_need_help_web/live/notification_live.ex:351
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are unavailable in this browser." msgid "Push notifications are unavailable in this browser."
msgstr "Push-уведомления недоступны в этом браузере." msgstr "Push-уведомления недоступны в этом браузере."
#: lib/who_need_help_web/live/notification_live.ex:349 #: lib/who_need_help_web/live/notification_live.ex:354
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications could not be enabled." msgid "Push notifications could not be enabled."
msgstr "Не удалось включить push-уведомления." msgstr "Не удалось включить push-уведомления."
@ -6507,7 +6507,7 @@ msgstr "Не удалось включить push-уведомления."
msgid "The Android push token could not be saved. Please try again." msgid "The Android push token could not be saved. Please try again."
msgstr "Не удалось сохранить push-токен Android. Повторите попытку." msgstr "Не удалось сохранить push-токен Android. Повторите попытку."
#: lib/who_need_help_web/live/notification_live.ex:354 #: lib/who_need_help_web/live/notification_live.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This browser has a push subscription. Enable it to reconnect this device." msgid "This browser has a push subscription. Enable it to reconnect this device."
msgstr "В этом браузере есть push-подписка. Включите уведомления, чтобы переподключить это устройство." msgstr "В этом браузере есть push-подписка. Включите уведомления, чтобы переподключить это устройство."
@ -7948,12 +7948,12 @@ msgstr "Сообщения, связанные с безопасностью д
msgid "Keep this status link private. Important status changes may also be sent to the verified contact email." msgid "Keep this status link private. Important status changes may also be sent to the verified contact email."
msgstr "Не передавайте эту ссылку статуса другим. Важные изменения статуса также могут быть отправлены на подтверждённый контактный email." msgstr "Не передавайте эту ссылку статуса другим. Важные изменения статуса также могут быть отправлены на подтверждённый контактный email."
#: lib/who_need_help_web/live/notification_live.ex:792 #: lib/who_need_help_web/live/notification_live.ex:799
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby alerts always appear in your inbox. Push is optional." msgid "Nearby alerts always appear in your inbox. Push is optional."
msgstr "Оповещения о помощи поблизости всегда появляются во входящих. Push-уведомления можно включить по желанию." msgstr "Оповещения о помощи поблизости всегда появляются во входящих. Push-уведомления можно включить по желанию."
#: lib/who_need_help_web/live/notification_live.ex:459 #: lib/who_need_help_web/live/notification_live.ex:466
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet." msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet."
msgstr "Для обновлений поблизости используются входящие в приложении и необязательные push-уведомления. Email-дайджесты пока не включены." msgstr "Для обновлений поблизости используются входящие в приложении и необязательные push-уведомления. Email-дайджесты пока не включены."
@ -7977,3 +7977,18 @@ msgstr "Войти, чтобы помочь"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Child safety or sexual exploitation" msgid "Child safety or sexual exploitation"
msgstr "Безопасность детей или сексуальная эксплуатация" msgstr "Безопасность детей или сексуальная эксплуатация"
#: lib/who_need_help_web/live/notification_live.ex:383
#, elixir-autogen, elixir-format
msgid "Android notifications enabled"
msgstr "Уведомления Android включены"
#: lib/who_need_help_web/live/notification_live.ex:346
#, elixir-autogen, elixir-format
msgid "Android will request notification permission and securely register this device."
msgstr "Android запросит разрешение на уведомления и безопасно зарегистрирует это устройство."
#: lib/who_need_help_web/live/notification_live.ex:382
#, elixir-autogen, elixir-format
msgid "Enable Android notifications"
msgstr "Включить уведомления Android"

View File

@ -41,7 +41,7 @@ msgstr "Спроба повторного з’єднання"
#: lib/who_need_help_web/components/layouts.ex:235 #: lib/who_need_help_web/components/layouts.ex:235
#: lib/who_need_help_web/live/moderation_live.ex:494 #: lib/who_need_help_web/live/moderation_live.ex:494
#: lib/who_need_help_web/live/notification_live.ex:699 #: lib/who_need_help_web/live/notification_live.ex:706
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Categories" msgid "Categories"
msgstr "Категорії" msgstr "Категорії"
@ -213,7 +213,7 @@ msgstr "Центр дій"
#: lib/who_need_help_web/live/admin_user_live.ex:188 #: lib/who_need_help_web/live/admin_user_live.ex:188
#: lib/who_need_help_web/live/admin_users_live.ex:125 #: lib/who_need_help_web/live/admin_users_live.ex:125
#: lib/who_need_help_web/live/admin_users_live.ex:185 #: lib/who_need_help_web/live/admin_users_live.ex:185
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Active" msgid "Active"
msgstr "Активний" msgstr "Активний"
@ -958,7 +958,7 @@ msgid "Join requests close"
msgstr "Приймання заявок завершується" msgstr "Приймання заявок завершується"
#: lib/who_need_help_web/live/activity_live/new.ex:486 #: lib/who_need_help_web/live/activity_live/new.ex:486
#: lib/who_need_help_web/live/notification_live.ex:667 #: lib/who_need_help_web/live/notification_live.ex:674
#: lib/who_need_help_web/live/request_live/new.ex:668 #: lib/who_need_help_web/live/request_live/new.ex:668
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Latitude" msgid "Latitude"
@ -1013,7 +1013,7 @@ msgid "Logged out successfully."
msgstr "Ви успішно вийшли." msgstr "Ви успішно вийшли."
#: lib/who_need_help_web/live/activity_live/new.ex:500 #: lib/who_need_help_web/live/activity_live/new.ex:500
#: lib/who_need_help_web/live/notification_live.ex:681 #: lib/who_need_help_web/live/notification_live.ex:688
#: lib/who_need_help_web/live/request_live/new.ex:682 #: lib/who_need_help_web/live/request_live/new.ex:682
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Longitude" msgid "Longitude"
@ -1204,7 +1204,7 @@ msgstr ""
msgid "Not for emergencies" msgid "Not for emergencies"
msgstr "Не для екстрених ситуацій" msgstr "Не для екстрених ситуацій"
#: lib/who_need_help_web/live/notification_live.ex:729 #: lib/who_need_help_web/live/notification_live.ex:736
#: lib/who_need_help_web/live/request_live/index.ex:443 #: lib/who_need_help_web/live/request_live/index.ex:443
#: lib/who_need_help_web/live/request_live/index.ex:444 #: lib/who_need_help_web/live/request_live/index.ex:444
#: lib/who_need_help_web/live/request_live/index.ex:555 #: lib/who_need_help_web/live/request_live/index.ex:555
@ -1706,7 +1706,7 @@ msgstr "Зберегти пароль"
msgid "Save profile" msgid "Save profile"
msgstr "Зберегти профіль" msgstr "Зберегти профіль"
#: lib/who_need_help_web/live/notification_live.ex:731 #: lib/who_need_help_web/live/notification_live.ex:738
#: lib/who_need_help_web/live/request_live/index.ex:447 #: lib/who_need_help_web/live/request_live/index.ex:447
#: lib/who_need_help_web/live/request_live/index.ex:448 #: lib/who_need_help_web/live/request_live/index.ex:448
#: lib/who_need_help_web/live/request_live/index.ex:557 #: lib/who_need_help_web/live/request_live/index.ex:557
@ -2033,7 +2033,7 @@ msgstr "Ця заявка недоступна."
msgid "To see sent emails, visit" msgid "To see sent emails, visit"
msgstr "Щоб переглянути надіслані листи, відкрийте" msgstr "Щоб переглянути надіслані листи, відкрийте"
#: lib/who_need_help_web/live/notification_live.ex:730 #: lib/who_need_help_web/live/notification_live.ex:737
#: lib/who_need_help_web/live/request_live/index.ex:445 #: lib/who_need_help_web/live/request_live/index.ex:445
#: lib/who_need_help_web/live/request_live/index.ex:446 #: lib/who_need_help_web/live/request_live/index.ex:446
#: lib/who_need_help_web/live/request_live/index.ex:556 #: lib/who_need_help_web/live/request_live/index.ex:556
@ -2105,7 +2105,7 @@ msgstr "Розблокувати цього користувача"
msgid "Unique people" msgid "Unique people"
msgstr "Унікальні люди" msgstr "Унікальні люди"
#: lib/who_need_help_web/live/notification_live.ex:724 #: lib/who_need_help_web/live/notification_live.ex:731
#: lib/who_need_help_web/live/request_live/index.ex:552 #: lib/who_need_help_web/live/request_live/index.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:447 #: lib/who_need_help_web/live/request_live/new.ex:447
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -4035,7 +4035,7 @@ msgid "Date"
msgstr "Дата" msgstr "Дата"
#: lib/who_need_help_web/live/activity_live/new.ex:478 #: lib/who_need_help_web/live/activity_live/new.ex:478
#: lib/who_need_help_web/live/notification_live.ex:664 #: lib/who_need_help_web/live/notification_live.ex:671
#: lib/who_need_help_web/live/request_live/new.ex:660 #: lib/who_need_help_web/live/request_live/new.ex:660
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enter coordinates manually" msgid "Enter coordinates manually"
@ -4123,14 +4123,14 @@ msgid "In 3 hours"
msgstr "За 3 години" msgstr "За 3 години"
#: lib/who_need_help_web/live/activity_live/new.ex:354 #: lib/who_need_help_web/live/activity_live/new.ex:354
#: lib/who_need_help_web/live/notification_live.ex:582 #: lib/who_need_help_web/live/notification_live.ex:589
#: lib/who_need_help_web/live/request_live/new.ex:484 #: lib/who_need_help_web/live/request_live/new.ex:484
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser." msgid "Location is unavailable in this browser."
msgstr "Геопозиція недоступна в цьому браузері." msgstr "Геопозиція недоступна в цьому браузері."
#: lib/who_need_help_web/live/activity_live/new.ex:356 #: lib/who_need_help_web/live/activity_live/new.ex:356
#: lib/who_need_help_web/live/notification_live.ex:584 #: lib/who_need_help_web/live/notification_live.ex:591
#: lib/who_need_help_web/live/request_live/new.ex:486 #: lib/who_need_help_web/live/request_live/new.ex:486
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Location permission was denied." msgid "Location permission was denied."
@ -4384,7 +4384,7 @@ msgid "Use another email"
msgstr "Використати іншу пошту" msgstr "Використати іншу пошту"
#: lib/who_need_help_web/live/activity_live/new.ex:435 #: lib/who_need_help_web/live/activity_live/new.ex:435
#: lib/who_need_help_web/live/notification_live.ex:617 #: lib/who_need_help_web/live/notification_live.ex:624
#: lib/who_need_help_web/live/request_live/new.ex:595 #: lib/who_need_help_web/live/request_live/new.ex:595
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use my location" msgid "Use my location"
@ -4629,8 +4629,8 @@ msgstr "Разом"
#: lib/who_need_help_web/live/activity_live/new.ex:355 #: lib/who_need_help_web/live/activity_live/new.ex:355
#: lib/who_need_help_web/live/activity_live/new.ex:414 #: lib/who_need_help_web/live/activity_live/new.ex:414
#: lib/who_need_help_web/live/activity_live/show.ex:546 #: lib/who_need_help_web/live/activity_live/show.ex:546
#: lib/who_need_help_web/live/notification_live.ex:583 #: lib/who_need_help_web/live/notification_live.ex:590
#: lib/who_need_help_web/live/notification_live.ex:602 #: lib/who_need_help_web/live/notification_live.ex:609
#: lib/who_need_help_web/live/request_live/index.ex:784 #: lib/who_need_help_web/live/request_live/index.ex:784
#: lib/who_need_help_web/live/request_live/new.ex:485 #: lib/who_need_help_web/live/request_live/new.ex:485
#: lib/who_need_help_web/live/request_live/new.ex:563 #: lib/who_need_help_web/live/request_live/new.ex:563
@ -4672,7 +4672,7 @@ msgstr[0] "%{count} непрочитане сповіщення"
msgstr[1] "%{count} непрочитані сповіщення" msgstr[1] "%{count} непрочитані сповіщення"
msgstr[2] "%{count} непрочитаних сповіщень" msgstr[2] "%{count} непрочитаних сповіщень"
#: lib/who_need_help_web/live/notification_live.ex:456 #: lib/who_need_help_web/live/notification_live.ex:463
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Acceptance, arrival, completion, and cancellation" msgid "Acceptance, arrival, completion, and cancellation"
msgstr "Прийняття, прибуття, завершення та скасування" msgstr "Прийняття, прибуття, завершення та скасування"
@ -4682,22 +4682,22 @@ msgstr "Прийняття, прибуття, завершення та скас
msgid "Active or unresolved product state must be handled first." msgid "Active or unresolved product state must be handled first."
msgstr "Спочатку потрібно опрацювати активний або незавершений стан." msgstr "Спочатку потрібно опрацювати активний або незавершений стан."
#: lib/who_need_help_web/live/notification_live.ex:578 #: lib/who_need_help_web/live/notification_live.ex:585
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected." msgid "Alert area selected."
msgstr "Область сповіщення вибрано." msgstr "Область сповіщення вибрано."
#: lib/who_need_help_web/live/notification_live.ex:577 #: lib/who_need_help_web/live/notification_live.ex:584
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert area selected. Drag the pin to move it." msgid "Alert area selected. Drag the pin to move it."
msgstr "Область сповіщення вибрано. Перетягніть маркер, щоб її перемістити." msgstr "Область сповіщення вибрано. Перетягніть маркер, щоб її перемістити."
#: lib/who_need_help_web/live/notification_live.ex:557 #: lib/who_need_help_web/live/notification_live.ex:564
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert name" msgid "Alert name"
msgstr "Назва сповіщення" msgstr "Назва сповіщення"
#: lib/who_need_help_web/live/notification_live.ex:620 #: lib/who_need_help_web/live/notification_live.ex:627
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Alert radius" msgid "Alert radius"
msgstr "Радіус сповіщення" msgstr "Радіус сповіщення"
@ -4708,7 +4708,7 @@ msgstr "Радіус сповіщення"
msgid "Alert was not found." msgid "Alert was not found."
msgstr "Сповіщення не знайдено." msgstr "Сповіщення не знайдено."
#: lib/who_need_help_web/live/notification_live.ex:441 #: lib/who_need_help_web/live/notification_live.ex:448
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Allow push notifications" msgid "Allow push notifications"
msgstr "Дозволити push-сповіщення" msgstr "Дозволити push-сповіщення"
@ -4718,17 +4718,17 @@ msgstr "Дозволити push-сповіщення"
msgid "Arrival saved. The requester has been notified." msgid "Arrival saved. The requester has been notified."
msgstr "Прибуття збережено. Автор заявки отримав сповіщення." msgstr "Прибуття збережено. Автор заявки отримав сповіщення."
#: lib/who_need_help_web/live/notification_live.ex:748 #: lib/who_need_help_web/live/notification_live.ex:755
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available days" msgid "Available days"
msgstr "Доступні дні" msgstr "Доступні дні"
#: lib/who_need_help_web/live/notification_live.ex:781 #: lib/who_need_help_web/live/notification_live.ex:788
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available from (optional)" msgid "Available from (optional)"
msgstr "Доступний з (необов’язково)" msgstr "Доступний з (необов’язково)"
#: lib/who_need_help_web/live/notification_live.ex:786 #: lib/who_need_help_web/live/notification_live.ex:793
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Available until (optional)" msgid "Available until (optional)"
msgstr "Доступний до (необов’язково)" msgstr "Доступний до (необов’язково)"
@ -4749,18 +4749,18 @@ msgstr "Скасування завершить цю допомогу й зуп
msgid "Cancelling…" msgid "Cancelling…"
msgstr "Скасовуємо…" msgstr "Скасовуємо…"
#: lib/who_need_help_web/live/notification_live.ex:545 #: lib/who_need_help_web/live/notification_live.ex:552
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose an area, categories, urgency, and the times when you are available." msgid "Choose an area, categories, urgency, and the times when you are available."
msgstr "Виберіть область, категорії, терміновість і час, коли ви доступні." msgstr "Виберіть область, категорії, терміновість і час, коли ви доступні."
#: lib/who_need_help_web/live/notification_live.ex:576 #: lib/who_need_help_web/live/notification_live.ex:583
#: lib/who_need_help_web/live/notification_live.ex:657 #: lib/who_need_help_web/live/notification_live.ex:664
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Choose the private center of your alert area." msgid "Choose the private center of your alert area."
msgstr "Виберіть прихований центр області сповіщення." msgstr "Виберіть прихований центр області сповіщення."
#: lib/who_need_help_web/live/notification_live.ex:607 #: lib/who_need_help_web/live/notification_live.ex:614
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move your private alert area" msgid "Click the map or drag the green pin to move your private alert area"
msgstr "Натисніть на карту або перетягніть зелений маркер, щоб перемістити приховану область сповіщення" msgstr "Натисніть на карту або перетягніть зелений маркер, щоб перемістити приховану область сповіщення"
@ -4786,32 +4786,32 @@ msgstr "Підтвердити вихід"
msgid "Count" msgid "Count"
msgstr "Кількість" msgstr "Кількість"
#: lib/who_need_help_web/live/notification_live.ex:543 #: lib/who_need_help_web/live/notification_live.ex:550
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create a nearby alert" msgid "Create a nearby alert"
msgstr "Створити сповіщення поблизу" msgstr "Створити сповіщення поблизу"
#: lib/who_need_help_web/live/notification_live.ex:803 #: lib/who_need_help_web/live/notification_live.ex:810
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Create nearby alert" msgid "Create nearby alert"
msgstr "Створити сповіщення" msgstr "Створити сповіщення"
#: lib/who_need_help_web/live/notification_live.ex:532 #: lib/who_need_help_web/live/notification_live.ex:539
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Видалити" msgstr "Видалити"
#: lib/who_need_help_web/live/notification_live.ex:529 #: lib/who_need_help_web/live/notification_live.ex:536
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete this nearby alert?" msgid "Delete this nearby alert?"
msgstr "Видалити це сповіщення поблизу?" msgstr "Видалити це сповіщення поблизу?"
#: lib/who_need_help_web/live/notification_live.ex:790 #: lib/who_need_help_web/live/notification_live.ex:797
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels" msgid "Delivery channels"
msgstr "Канали доставки" msgstr "Канали доставки"
#: lib/who_need_help_web/live/notification_live.ex:360 #: lib/who_need_help_web/live/notification_live.ex:365
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delivery channels and quiet hours" msgid "Delivery channels and quiet hours"
msgstr "Канали доставки й тихі години" msgstr "Канали доставки й тихі години"
@ -4827,7 +4827,7 @@ msgstr "Пристрій не знайдено."
msgid "Dimension" msgid "Dimension"
msgstr "Параметр" msgstr "Параметр"
#: lib/who_need_help_web/live/notification_live.ex:414 #: lib/who_need_help_web/live/notification_live.ex:421
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Disable" msgid "Disable"
msgstr "Вимкнути" msgstr "Вимкнути"
@ -4837,14 +4837,14 @@ msgstr "Вимкнути"
msgid "Download my data" msgid "Download my data"
msgstr "Завантажити мої дані" msgstr "Завантажити мої дані"
#: lib/who_need_help_web/live/notification_live.ex:579 #: lib/who_need_help_web/live/notification_live.ex:586
#: lib/who_need_help_web/live/notification_live.ex:580 #: lib/who_need_help_web/live/notification_live.ex:587
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Drag to move the alert area" msgid "Drag to move the alert area"
msgstr "Перетягніть, щоб перемістити область сповіщення" msgstr "Перетягніть, щоб перемістити область сповіщення"
#: lib/who_need_help_web/live/notification_live.ex:375 #: lib/who_need_help_web/live/notification_live.ex:380
#: lib/who_need_help_web/live/notification_live.ex:378 #: lib/who_need_help_web/live/notification_live.ex:385
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Enable push on this device" msgid "Enable push on this device"
msgstr "Увімкнути push на цьому пристрої" msgstr "Увімкнути push на цьому пристрої"
@ -4854,12 +4854,12 @@ msgstr "Увімкнути push на цьому пристрої"
msgid "Follow request updates and choose which nearby needs should reach this device." msgid "Follow request updates and choose which nearby needs should reach this device."
msgstr "Стежте за оновленнями заявок і вибирайте, які прохання поблизу отримувати на цьому пристрої." msgstr "Стежте за оновленнями заявок і вибирайте, які прохання поблизу отримувати на цьому пристрої."
#: lib/who_need_help_web/live/notification_live.ex:757 #: lib/who_need_help_web/live/notification_live.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fri" msgid "Fri"
msgstr "Пт" msgstr "Пт"
#: lib/who_need_help_web/live/notification_live.ex:469 #: lib/who_need_help_web/live/notification_live.ex:476
#: lib/who_need_help_web/live/product_analytics_live.ex:220 #: lib/who_need_help_web/live/product_analytics_live.ex:220
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "From" msgid "From"
@ -4911,7 +4911,7 @@ msgstr "Помічник прибув"
msgid "Helper's live location" msgid "Helper's live location"
msgstr "Поточна геопозиція помічника" msgstr "Поточна геопозиція помічника"
#: lib/who_need_help_web/live/notification_live.ex:563 #: lib/who_need_help_web/live/notification_live.ex:570
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Home area" msgid "Home area"
msgstr "Район дому" msgstr "Район дому"
@ -4932,7 +4932,7 @@ msgstr "Я прибув"
msgid "Inbox" msgid "Inbox"
msgstr "Вхідні" msgstr "Вхідні"
#: lib/who_need_help_web/live/notification_live.ex:701 #: lib/who_need_help_web/live/notification_live.ex:708
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Leave every category unchecked to receive all matching requests." msgid "Leave every category unchecked to receive all matching requests."
msgstr "Не вибирайте категорій, щоб отримувати всі відповідні заявки." msgstr "Не вибирайте категорій, щоб отримувати всі відповідні заявки."
@ -4973,7 +4973,7 @@ msgstr "Позначити все прочитаним"
msgid "Metric" msgid "Metric"
msgstr "Показник" msgstr "Показник"
#: lib/who_need_help_web/live/notification_live.ex:753 #: lib/who_need_help_web/live/notification_live.ex:760
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Mon" msgid "Mon"
msgstr "Пн" msgstr "Пн"
@ -4988,7 +4988,7 @@ msgstr "Сповіщення поблизу створено."
msgid "Nearby alert deleted." msgid "Nearby alert deleted."
msgstr "Сповіщення поблизу видалено." msgstr "Сповіщення поблизу видалено."
#: lib/who_need_help_web/live/notification_live.ex:446 #: lib/who_need_help_web/live/notification_live.ex:453
#: lib/who_need_help_web/live/request_live/index.ex:508 #: lib/who_need_help_web/live/request_live/index.ex:508
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby requests" msgid "Nearby requests"
@ -4999,7 +4999,7 @@ msgstr "Заявки поблизу"
msgid "New help request nearby" msgid "New help request nearby"
msgstr "Нова заявка на допомогу поблизу" msgstr "Нова заявка на допомогу поблизу"
#: lib/who_need_help_web/live/notification_live.ex:451 #: lib/who_need_help_web/live/notification_live.ex:458
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New private messages" msgid "New private messages"
msgstr "Нові приватні повідомлення" msgstr "Нові приватні повідомлення"
@ -5009,7 +5009,7 @@ msgstr "Нові приватні повідомлення"
msgid "No active product workflow was found." msgid "No active product workflow was found."
msgstr "Активний користувацький процес не знайдено." msgstr "Активний користувацький процес не знайдено."
#: lib/who_need_help_web/live/notification_live.ex:487 #: lib/who_need_help_web/live/notification_live.ex:494
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No nearby alerts configured yet." msgid "No nearby alerts configured yet."
msgstr "Сповіщення поблизу ще не налаштовано." msgstr "Сповіщення поблизу ще не налаштовано."
@ -5031,7 +5031,7 @@ msgstr "Примітка (необов’язково)"
msgid "Notification preferences saved." msgid "Notification preferences saved."
msgstr "Налаштування сповіщень збережено." msgstr "Налаштування сповіщень збережено."
#: lib/who_need_help_web/live/notification_live.ex:362 #: lib/who_need_help_web/live/notification_live.ex:367
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notification text never contains chat messages or exact coordinates." msgid "Notification text never contains chat messages or exact coordinates."
msgstr "Текст сповіщення ніколи не містить повідомлень із чату або точних координат." msgstr "Текст сповіщення ніколи не містить повідомлень із чату або точних координат."
@ -5055,17 +5055,17 @@ msgstr "Сповіщення та допомога поблизу"
msgid "Operations" msgid "Operations"
msgstr "Операції" msgstr "Операції"
#: lib/who_need_help_web/live/notification_live.ex:646 #: lib/who_need_help_web/live/notification_live.ex:653
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Other users never see this saved point." msgid "Other users never see this saved point."
msgstr "Інші користувачі ніколи не бачать цю збережену точку." msgstr "Інші користувачі ніколи не бачать цю збережену точку."
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pause" msgid "Pause"
msgstr "Призупинити" msgstr "Призупинити"
#: lib/who_need_help_web/live/notification_live.ex:512 #: lib/who_need_help_web/live/notification_live.ex:519
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paused" msgid "Paused"
msgstr "Призупинено" msgstr "Призупинено"
@ -5075,12 +5075,12 @@ msgstr "Призупинено"
msgid "Plans changed" msgid "Plans changed"
msgstr "Плани змінилися" msgstr "Плани змінилися"
#: lib/who_need_help_web/live/notification_live.ex:562 #: lib/who_need_help_web/live/notification_live.ex:569
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private area label" msgid "Private area label"
msgstr "Особиста назва області" msgstr "Особиста назва області"
#: lib/who_need_help_web/live/notification_live.ex:645 #: lib/who_need_help_web/live/notification_live.ex:652
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Private matching center" msgid "Private matching center"
msgstr "Прихований центр пошуку" msgstr "Прихований центр пошуку"
@ -5096,17 +5096,17 @@ msgstr "Аналітика продукту"
msgid "Progress" msgid "Progress"
msgstr "Хід виконання" msgstr "Хід виконання"
#: lib/who_need_help_web/live/notification_live.ex:503 #: lib/who_need_help_web/live/notification_live.ex:510
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push" msgid "Push"
msgstr "Push" msgstr "Push"
#: lib/who_need_help_web/live/notification_live.ex:376 #: lib/who_need_help_web/live/notification_live.ex:381
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push enabled on this device" msgid "Push enabled on this device"
msgstr "Push увімкнено на цьому пристрої" msgstr "Push увімкнено на цьому пристрої"
#: lib/who_need_help_web/live/notification_live.ex:798 #: lib/who_need_help_web/live/notification_live.ex:805
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notification" msgid "Push notification"
msgstr "Push-сповіщення" msgstr "Push-сповіщення"
@ -5146,7 +5146,7 @@ msgstr "Не вдається зв’язатися з автором заявк
msgid "Requester's live location" msgid "Requester's live location"
msgstr "Поточна геопозиція автора заявки" msgstr "Поточна геопозиція автора заявки"
#: lib/who_need_help_web/live/notification_live.ex:523 #: lib/who_need_help_web/live/notification_live.ex:530
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Resume" msgid "Resume"
msgstr "Відновити" msgstr "Відновити"
@ -5156,12 +5156,12 @@ msgstr "Відновити"
msgid "Run deletion preflight" msgid "Run deletion preflight"
msgstr "Перевірити можливість видалення" msgstr "Перевірити можливість видалення"
#: lib/who_need_help_web/live/notification_live.ex:758 #: lib/who_need_help_web/live/notification_live.ex:765
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sat" msgid "Sat"
msgstr "Сб" msgstr "Сб"
#: lib/who_need_help_web/live/notification_live.ex:472 #: lib/who_need_help_web/live/notification_live.ex:479
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save preferences" msgid "Save preferences"
msgstr "Зберегти налаштування" msgstr "Зберегти налаштування"
@ -5176,7 +5176,7 @@ msgstr "Геопозиція, що передається"
msgid "Stay available without refreshing" msgid "Stay available without refreshing"
msgstr "Залишайтеся на зв’язку без оновлення сторінки" msgstr "Залишайтеся на зв’язку без оновлення сторінки"
#: lib/who_need_help_web/live/notification_live.ex:759 #: lib/who_need_help_web/live/notification_live.ex:766
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sun" msgid "Sun"
msgstr "Нд" msgstr "Нд"
@ -5186,7 +5186,7 @@ msgstr "Нд"
msgid "The linked account no longer exists." msgid "The linked account no longer exists."
msgstr "Пов’язаний обліковий запис більше не існує." msgstr "Пов’язаний обліковий запис більше не існує."
#: lib/who_need_help_web/live/notification_live.ex:600 #: lib/who_need_help_web/live/notification_live.ex:607
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The map is unavailable. Enter coordinates manually." msgid "The map is unavailable. Enter coordinates manually."
msgstr "Карта недоступна. Введіть координати вручну." msgstr "Карта недоступна. Введіть координати вручну."
@ -5201,7 +5201,7 @@ msgstr "Попередній помічник вийшов. Заявку зно
msgid "The request is not linked to an account." msgid "The request is not linked to an account."
msgstr "Заявка не пов’язана з обліковим записом." msgstr "Заявка не пов’язана з обліковим записом."
#: lib/who_need_help_web/live/notification_live.ex:483 #: lib/who_need_help_web/live/notification_live.ex:490
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "The saved center is private and is used only to find matching requests." msgid "The saved center is private and is used only to find matching requests."
msgstr "Збережений центр прихований і використовується лише для пошуку відповідних заявок." msgstr "Збережений центр прихований і використовується лише для пошуку відповідних заявок."
@ -5217,27 +5217,27 @@ msgstr "Це показники активності, а не перевірка
msgid "This is not an account-deletion case." msgid "This is not an account-deletion case."
msgstr "Це звернення не пов’язане з видаленням облікового запису." msgstr "Це звернення не пов’язане з видаленням облікового запису."
#: lib/who_need_help_web/live/notification_live.ex:756 #: lib/who_need_help_web/live/notification_live.ex:763
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Thu" msgid "Thu"
msgstr "Чт" msgstr "Чт"
#: lib/who_need_help_web/live/notification_live.ex:754 #: lib/who_need_help_web/live/notification_live.ex:761
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tue" msgid "Tue"
msgstr "Вт" msgstr "Вт"
#: lib/who_need_help_web/live/notification_live.ex:470 #: lib/who_need_help_web/live/notification_live.ex:477
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Until" msgid "Until"
msgstr "До" msgstr "До"
#: lib/who_need_help_web/live/notification_live.ex:558 #: lib/who_need_help_web/live/notification_live.ex:565
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Urgent medicine near home" msgid "Urgent medicine near home"
msgstr "Термінова доставка ліків поруч із домом" msgstr "Термінова доставка ліків поруч із домом"
#: lib/who_need_help_web/live/notification_live.ex:466 #: lib/who_need_help_web/live/notification_live.ex:473
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use quiet hours" msgid "Use quiet hours"
msgstr "Використовувати тихі години" msgstr "Використовувати тихі години"
@ -5247,18 +5247,18 @@ msgstr "Використовувати тихі години"
msgid "Verify the requester contact first." msgid "Verify the requester contact first."
msgstr "Спочатку підтвердьте контакт автора заявки." msgstr "Спочатку підтвердьте контакт автора заявки."
#: lib/who_need_help_web/live/notification_live.ex:385 #: lib/who_need_help_web/live/notification_live.ex:392
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web Push keys are not configured in this local environment yet." msgid "Web Push keys are not configured in this local environment yet."
msgstr "Ключі Web Push ще не налаштовано в цьому локальному середовищі." msgstr "Ключі Web Push ще не налаштовано в цьому локальному середовищі."
#: lib/who_need_help_web/live/notification_live.ex:357 #: lib/who_need_help_web/live/notification_live.ex:362
#: lib/who_need_help_web/live/notification_live.ex:397 #: lib/who_need_help_web/live/notification_live.ex:404
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Web browser" msgid "Web browser"
msgstr "Веббраузер" msgstr "Веббраузер"
#: lib/who_need_help_web/live/notification_live.ex:755 #: lib/who_need_help_web/live/notification_live.ex:762
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Wed" msgid "Wed"
msgstr "Ср" msgstr "Ср"
@ -5275,12 +5275,12 @@ msgstr "Ви прийняли цю заявку. Безпечно узгодьт
msgid "You left this match. The request is open for another helper if time remains." msgid "You left this match. The request is open for another helper if time remains."
msgstr "Ви вийшли з цієї допомоги. Якщо час не минув, заявку зможе прийняти інший помічник." msgstr "Ви вийшли з цієї допомоги. Якщо час не минув, заявку зможе прийняти інший помічник."
#: lib/who_need_help_web/live/notification_live.ex:383 #: lib/who_need_help_web/live/notification_live.ex:390
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your browser will ask for notification permission." msgid "Your browser will ask for notification permission."
msgstr "Браузер попросить дозвіл на сповіщення." msgstr "Браузер попросить дозвіл на сповіщення."
#: lib/who_need_help_web/live/notification_live.ex:481 #: lib/who_need_help_web/live/notification_live.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your nearby alerts" msgid "Your nearby alerts"
msgstr "Ваші сповіщення поблизу" msgstr "Ваші сповіщення поблизу"
@ -6466,7 +6466,7 @@ msgstr "Маркер на карті"
msgid "Notification permission was not granted." msgid "Notification permission was not granted."
msgstr "Дозвіл на сповіщення не надано." msgstr "Дозвіл на сповіщення не надано."
#: lib/who_need_help_web/live/notification_live.ex:351 #: lib/who_need_help_web/live/notification_live.ex:356
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push keys changed. Enable notifications to reconnect this device securely." msgid "Push keys changed. Enable notifications to reconnect this device securely."
msgstr "Ключі push-сповіщень змінилися. Увімкніть сповіщення, щоб безпечно перепідключити цей пристрій." msgstr "Ключі push-сповіщень змінилися. Увімкніть сповіщення, щоб безпечно перепідключити цей пристрій."
@ -6481,17 +6481,17 @@ msgstr "Push-сповіщення вимкнено для цього прист
msgid "Push notifications are enabled on this Android device." msgid "Push notifications are enabled on this Android device."
msgstr "Push-сповіщення ввімкнено на цьому Android-пристрої." msgstr "Push-сповіщення ввімкнено на цьому Android-пристрої."
#: lib/who_need_help_web/live/notification_live.ex:348 #: lib/who_need_help_web/live/notification_live.ex:353
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are enabled on this device." msgid "Push notifications are enabled on this device."
msgstr "Push-сповіщення ввімкнено на цьому пристрої." msgstr "Push-сповіщення ввімкнено на цьому пристрої."
#: lib/who_need_help_web/live/notification_live.ex:346 #: lib/who_need_help_web/live/notification_live.ex:351
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications are unavailable in this browser." msgid "Push notifications are unavailable in this browser."
msgstr "Push-сповіщення недоступні в цьому браузері." msgstr "Push-сповіщення недоступні в цьому браузері."
#: lib/who_need_help_web/live/notification_live.ex:349 #: lib/who_need_help_web/live/notification_live.ex:354
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Push notifications could not be enabled." msgid "Push notifications could not be enabled."
msgstr "Не вдалося ввімкнути push-сповіщення." msgstr "Не вдалося ввімкнути push-сповіщення."
@ -6501,7 +6501,7 @@ msgstr "Не вдалося ввімкнути push-сповіщення."
msgid "The Android push token could not be saved. Please try again." msgid "The Android push token could not be saved. Please try again."
msgstr "Не вдалося зберегти push-токен Android. Повторіть спробу." msgstr "Не вдалося зберегти push-токен Android. Повторіть спробу."
#: lib/who_need_help_web/live/notification_live.ex:354 #: lib/who_need_help_web/live/notification_live.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This browser has a push subscription. Enable it to reconnect this device." msgid "This browser has a push subscription. Enable it to reconnect this device."
msgstr "У цьому браузері є push-підписка. Увімкніть сповіщення, щоб перепідключити цей пристрій." msgstr "У цьому браузері є push-підписка. Увімкніть сповіщення, щоб перепідключити цей пристрій."
@ -7942,12 +7942,12 @@ msgstr "Повідомлення, пов’язані з безпекою діт
msgid "Keep this status link private. Important status changes may also be sent to the verified contact email." msgid "Keep this status link private. Important status changes may also be sent to the verified contact email."
msgstr "Не передавайте це посилання статусу іншим. Важливі зміни статусу також можуть надсилатися на підтверджений контактний email." msgstr "Не передавайте це посилання статусу іншим. Важливі зміни статусу також можуть надсилатися на підтверджений контактний email."
#: lib/who_need_help_web/live/notification_live.ex:792 #: lib/who_need_help_web/live/notification_live.ex:799
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby alerts always appear in your inbox. Push is optional." msgid "Nearby alerts always appear in your inbox. Push is optional."
msgstr "Сповіщення про допомогу поблизу завжди з’являються у вхідних. Push-сповіщення можна ввімкнути за бажанням." msgstr "Сповіщення про допомогу поблизу завжди з’являються у вхідних. Push-сповіщення можна ввімкнути за бажанням."
#: lib/who_need_help_web/live/notification_live.ex:459 #: lib/who_need_help_web/live/notification_live.ex:466
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet." msgid "Nearby updates use the in-app inbox and optional push. Email digests are not enabled yet."
msgstr "Для оновлень поблизу використовуються вхідні в застосунку та необов’язкові push-сповіщення. Email-дайджести поки не ввімкнені." msgstr "Для оновлень поблизу використовуються вхідні в застосунку та необов’язкові push-сповіщення. Email-дайджести поки не ввімкнені."
@ -7971,3 +7971,18 @@ msgstr "Увійти, щоб допомогти"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Child safety or sexual exploitation" msgid "Child safety or sexual exploitation"
msgstr "Безпека дітей або сексуальна експлуатація" msgstr "Безпека дітей або сексуальна експлуатація"
#: lib/who_need_help_web/live/notification_live.ex:383
#, elixir-autogen, elixir-format
msgid "Android notifications enabled"
msgstr "Сповіщення Android увімкнено"
#: lib/who_need_help_web/live/notification_live.ex:346
#, elixir-autogen, elixir-format
msgid "Android will request notification permission and securely register this device."
msgstr "Android запросить дозвіл на сповіщення та безпечно зареєструє цей пристрій."
#: lib/who_need_help_web/live/notification_live.ex:382
#, elixir-autogen, elixir-format
msgid "Enable Android notifications"
msgstr "Увімкнути сповіщення Android"

View File

@ -103,10 +103,15 @@ defmodule WhoNeedHelpWeb.MutualAidLiveTest do
html = render(view) html = render(view)
assert html =~ ~s(data-enable-label="Enable push on this device") 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-enabled-label="Push enabled on this device")
assert html =~ ~s(data-native-enable-label="Enable Android notifications")
assert html =~ ~s(data-native-enabled-label="Android notifications enabled")
assert html =~ assert html =~
~s(data-status-android-enabled="Push notifications are enabled on this Android device.") ~s(data-status-android-enabled="Push notifications are enabled on this Android device.")
assert html =~
~s(data-status-android-prompt="Android will request notification permission and securely register this device.")
assert html =~ assert html =~
~s(data-status-browser-unavailable="Push notifications are unavailable in this browser.") ~s(data-status-browser-unavailable="Push notifications are unavailable in this browser.")