fix(ui): make map fallback interactive

This commit is contained in:
SimpleTest 2026-07-24 12:54:41 +03:00
parent 28fc9559b3
commit 6c3d3ec16d
8 changed files with 367 additions and 235 deletions

View File

@ -444,6 +444,7 @@ html {
}
.home-demo-map-fallback-point {
appearance: none;
display: flex;
align-items: center;
gap: 0.75rem;
@ -452,14 +453,41 @@ html {
border: 1px solid color-mix(in oklab, var(--color-base-content) 12%, transparent);
border-radius: 1rem;
background: color-mix(in oklab, var(--color-base-100) 96%, transparent);
color: var(--color-base-content);
cursor: pointer;
font: inherit;
text-align: left;
box-shadow: 0 0.75rem 2rem rgb(23 37 31 / 0.11);
backdrop-filter: blur(0.5rem);
transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.home-demo-map-fallback-point:nth-child(2) {
justify-self: end;
}
.home-demo-map-fallback-point:hover {
border-color: color-mix(in oklab, var(--color-success) 55%, var(--color-base-300));
transform: translateY(-1px);
}
.home-demo-map-fallback-point:focus-visible {
outline: 3px solid color-mix(in oklab, var(--color-success) 48%, transparent);
outline-offset: 3px;
}
.home-demo-map-fallback-point.is-selected {
border-color: var(--color-success);
box-shadow:
0 0 0 2px color-mix(in oklab, var(--color-success) 18%, transparent),
0 0.75rem 2rem rgb(23 37 31 / 0.13);
}
.home-demo-map-fallback-point.is-selected .home-demo-map-fallback-marker {
background: var(--color-primary);
color: var(--color-primary-content);
}
.home-demo-map-fallback-marker {
display: grid;
width: 2.25rem;
@ -497,6 +525,15 @@ html {
font-size: 0.6875rem;
}
.home-demo-map-fallback-selection {
position: relative;
z-index: 1;
margin-top: 0.75rem;
color: color-mix(in oklab, var(--color-base-content) 72%, transparent);
font-size: 0.75rem;
font-weight: 700;
}
@keyframes home-map-spin {
to {
transform: translate(-50%, -50%) rotate(360deg);

View File

@ -205,7 +205,10 @@ const createAidMap = element => {
state.markReady()
if (state.statusBadge) {
state.statusBadge.textContent = state.statusBadge.dataset.staticLabel
state.statusBadge.textContent =
state.element.dataset.demoMap === "true"
? state.statusBadge.dataset.fallbackLabel
: state.statusBadge.dataset.staticLabel
}
if (state.element.dataset.demoMap !== "true") {
@ -232,9 +235,18 @@ const createAidMap = element => {
const points = document.createElement("div")
points.className = "home-demo-map-fallback-points"
const selection = document.createElement("p")
selection.className = "home-demo-map-fallback-selection"
selection.dataset.mapFallbackSelection = "true"
selection.setAttribute("aria-live", "polite")
selection.textContent = state.element.dataset.mapFallbackInteractionLabel
markerPoints(state.element).forEach((point, index) => {
const item = document.createElement("div")
const item = document.createElement("button")
item.type = "button"
item.className = "home-demo-map-fallback-point"
item.dataset.mapFallbackPoint = "true"
item.setAttribute("aria-pressed", "false")
const marker = document.createElement("span")
marker.className = "home-demo-map-fallback-marker"
@ -252,10 +264,20 @@ const createAidMap = element => {
copy.append(title, location)
item.append(marker, copy)
item.addEventListener("click", () => {
points.querySelectorAll("[data-map-fallback-point]").forEach(candidate => {
const selected = candidate === item
candidate.classList.toggle("is-selected", selected)
candidate.setAttribute("aria-pressed", String(selected))
})
selection.textContent =
`${state.element.dataset.mapFallbackSelectedLabel} ${point.title || ""}`.trim()
})
points.append(item)
})
fallback.append(points, mapRetryButton(state.element, state.retry))
fallback.append(points, selection, mapRetryButton(state.element, state.retry))
state.element.replaceChildren(fallback)
}

View File

@ -23,7 +23,7 @@ test("public safety pages load and private discovery requires authentication", a
assertNoBrowserFailures();
});
test("public demo labels the non-WebGL fallback honestly and offers retry", async ({
test("public demo provides an interactive non-WebGL fallback and offers retry", async ({
page,
}) => {
const assertNoBrowserFailures = captureBrowserFailures(page);
@ -55,14 +55,22 @@ test("public demo labels the non-WebGL fallback honestly and offers retry", asyn
await map.scrollIntoViewIfNeeded();
await expect(map.locator("[data-map-fallback=true]")).toBeVisible();
await expect(status).toHaveText("Static preview");
await expect(status).toHaveText("Interactive fallback");
await expect(retry).toBeVisible();
await expect(map).toHaveAttribute("data-map-unavailable-reason", "webgl-context-unavailable");
await expect.poll(() => mapWarnings.length).toBe(1);
const firstExample = map.locator("[data-map-fallback-point]").first();
await expect(firstExample).toHaveAttribute("aria-pressed", "false");
await firstExample.click();
await expect(firstExample).toHaveAttribute("aria-pressed", "true");
await expect(map.locator("[data-map-fallback-selection]")).toContainText(
"Selected example: Medicine pickup",
);
await retry.click();
await expect.poll(() => mapWarnings.length).toBe(2);
await expect(status).toHaveText("Static preview");
await expect(status).toHaveText("Interactive fallback");
await expect(retry).toBeVisible();
assertNoBrowserFailures();

View File

@ -148,9 +148,13 @@
data-markers={demo_markers}
data-map-unavailable-label={
gettext(
"The interactive demo could not start in this browser. You can retry or use the example steps beside it."
"WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map."
)
}
data-map-fallback-interaction-label={
gettext("Select an example to preview it without exposing a real address.")
}
data-map-fallback-selected-label={gettext("Selected example:")}
data-map-retry-label={gettext("Try map again")}
role="region"
aria-label={gettext("Demo map with synthetic approximate help requests")}
@ -161,6 +165,7 @@
<span
data-map-status-badge
data-interactive-label={gettext("Interactive demo")}
data-fallback-label={gettext("Interactive fallback")}
data-static-label={gettext("Static preview")}
aria-live="polite"
class="badge badge-neutral shadow-sm"

View File

@ -417,7 +417,7 @@ msgstr ""
msgid "Changing..."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:237
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#, elixir-autogen, elixir-format
msgid "Choose a category, urgency, and safe location visibility."
msgstr ""
@ -835,7 +835,7 @@ msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:54
#: lib/who_need_help_web/controllers/page_html/home.html.heex:86
#: lib/who_need_help_web/controllers/page_html/home.html.heex:406
#: lib/who_need_help_web/controllers/page_html/home.html.heex:411
#: lib/who_need_help_web/live/request_live/show.ex:1325
#, elixir-autogen, elixir-format
msgid "I can help"
@ -1004,7 +1004,7 @@ msgstr ""
msgid "Mark completed"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#: lib/who_need_help_web/controllers/page_html/home.html.heex:247
#, elixir-autogen, elixir-format
msgid "Match and coordinate"
msgstr ""
@ -1351,7 +1351,7 @@ msgstr ""
msgid "Podil, near the central pharmacy"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:235
#: lib/who_need_help_web/controllers/page_html/home.html.heex:240
#, elixir-autogen, elixir-format
msgid "Post a clear request"
msgstr ""
@ -2111,7 +2111,7 @@ msgstr ""
msgid "Use my current foreground location"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:244
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#, elixir-autogen, elixir-format
msgid "Use private chat and optional live location sharing."
msgstr ""
@ -2164,7 +2164,7 @@ msgstr ""
msgid "Verify handover"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#: lib/who_need_help_web/controllers/page_html/home.html.heex:254
#, elixir-autogen, elixir-format
msgid "Verify the handover"
msgstr ""
@ -3580,7 +3580,7 @@ msgstr ""
msgid "and"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:225
#: lib/who_need_help_web/controllers/page_html/home.html.heex:230
#, elixir-autogen, elixir-format
msgid "A clear handover"
msgstr ""
@ -3595,7 +3595,7 @@ msgstr ""
msgid "A puncture, broken chain, tyre problem, or similar practical help."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:202
#: lib/who_need_help_web/controllers/page_html/home.html.heex:207
#, elixir-autogen, elixir-format
msgid "Accept and open private coordination"
msgstr ""
@ -3612,7 +3612,7 @@ msgstr ""
msgid "Ask a nearby volunteer to collect medicine that is already purchased or help with a safe roadside problem. There is no mandatory fee."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:339
#: lib/who_need_help_web/controllers/page_html/home.html.heex:344
#, elixir-autogen, elixir-format
msgid "Before you create a request"
msgstr ""
@ -3627,7 +3627,7 @@ msgstr ""
msgid "Bicycle or motorcycle"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:251
#: lib/who_need_help_web/controllers/page_html/home.html.heex:256
#, elixir-autogen, elixir-format
msgid "Both confirm, the helper enters a one-time code, and reviews stay blind until both submit."
msgstr ""
@ -3637,12 +3637,12 @@ msgstr ""
msgid "Bring fuel"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:263
#: lib/who_need_help_web/controllers/page_html/home.html.heex:268
#, elixir-autogen, elixir-format
msgid "Built for safer coordination"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:355
#: lib/who_need_help_web/controllers/page_html/home.html.heex:360
#, elixir-autogen, elixir-format
msgid "Can a volunteer buy medicine for me?"
msgstr ""
@ -3657,37 +3657,37 @@ msgstr ""
msgid "Collect medicine"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:378
#: lib/who_need_help_web/controllers/page_html/home.html.heex:383
#, elixir-autogen, elixir-format
msgid "Contact the emergency service for your location. Who Need Help is for voluntary practical coordination, not emergencies."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:391
#: lib/who_need_help_web/controllers/page_html/home.html.heex:396
#, elixir-autogen, elixir-format
msgid "Create one account, choose your role for each situation, and keep control of what you share."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:213
#: lib/who_need_help_web/controllers/page_html/home.html.heex:218
#, elixir-autogen, elixir-format
msgid "Current coordinates are optional and deleted when sharing stops."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:156
#: lib/who_need_help_web/controllers/page_html/home.html.heex:160
#, elixir-autogen, elixir-format
msgid "Demo map with synthetic approximate help requests"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:193
#: lib/who_need_help_web/controllers/page_html/home.html.heex:198
#, elixir-autogen, elixir-format
msgid "Discover an approximate area"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:345
#: lib/who_need_help_web/controllers/page_html/home.html.heex:350
#, elixir-autogen, elixir-format
msgid "Do I have to pay a helper?"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:171
#: lib/who_need_help_web/controllers/page_html/home.html.heex:176
#, elixir-autogen, elixir-format
msgid "Example data — not live requests"
msgstr ""
@ -3697,12 +3697,12 @@ msgstr ""
msgid "Example request"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:327
#: lib/who_need_help_web/controllers/page_html/home.html.heex:332
#, elixir-autogen, elixir-format
msgid "Explore activities"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:318
#: lib/who_need_help_web/controllers/page_html/home.html.heex:323
#, elixir-autogen, elixir-format
msgid "Find company for coffee, cinema, a walk, or a hike"
msgstr ""
@ -3717,17 +3717,17 @@ msgstr ""
msgid "Free, nearby, voluntary help"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:228
#: lib/who_need_help_web/controllers/page_html/home.html.heex:233
#, elixir-autogen, elixir-format
msgid "From request to verified completion"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:300
#: lib/who_need_help_web/controllers/page_html/home.html.heex:305
#, elixir-autogen, elixir-format
msgid "Handover codes and unique completed matches matter more than raw totals."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:275
#: lib/who_need_help_web/controllers/page_html/home.html.heex:280
#, elixir-autogen, elixir-format
msgid "Help is voluntary. An external thank-you link is optional after completion."
msgstr ""
@ -3738,17 +3738,17 @@ msgid "Help with a wheel"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:51
#: lib/who_need_help_web/controllers/page_html/home.html.heex:400
#: lib/who_need_help_web/controllers/page_html/home.html.heex:405
#, elixir-autogen, elixir-format
msgid "I need help"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:163
#: lib/who_need_help_web/controllers/page_html/home.html.heex:167
#, elixir-autogen, elixir-format
msgid "Interactive demo"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:291
#: lib/who_need_help_web/controllers/page_html/home.html.heex:296
#, elixir-autogen, elixir-format
msgid "Leave a match, block a person, or send a scoped report when something feels wrong."
msgstr ""
@ -3763,17 +3763,17 @@ msgstr ""
msgid "Need help nearby? Ask the community."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:273
#: lib/who_need_help_web/controllers/page_html/home.html.heex:278
#, elixir-autogen, elixir-format
msgid "No mandatory payment"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:348
#: lib/who_need_help_web/controllers/page_html/home.html.heex:353
#, elixir-autogen, elixir-format
msgid "No. Help has no mandatory fee. A helper may optionally publish an external thank-you link after a completed handover."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:315
#: lib/who_need_help_web/controllers/page_html/home.html.heex:320
#, elixir-autogen, elixir-format
msgid "Not only urgent help"
msgstr ""
@ -3783,52 +3783,52 @@ msgstr ""
msgid "Only after people and the vehicle are away from active traffic danger."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:204
#: lib/who_need_help_web/controllers/page_html/home.html.heex:209
#, elixir-autogen, elixir-format
msgid "Only the matched requester and helper receive the private chat."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:178
#: lib/who_need_help_web/controllers/page_html/home.html.heex:183
#, elixir-autogen, elixir-format
msgid "Privacy by default"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:282
#: lib/who_need_help_web/controllers/page_html/home.html.heex:287
#, elixir-autogen, elixir-format
msgid "Private matched chat"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:336
#: lib/who_need_help_web/controllers/page_html/home.html.heex:341
#, elixir-autogen, elixir-format
msgid "Quick answers"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:306
#: lib/who_need_help_web/controllers/page_html/home.html.heex:311
#, elixir-autogen, elixir-format
msgid "Read the safety rules"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:389
#: lib/who_need_help_web/controllers/page_html/home.html.heex:394
#, elixir-autogen, elixir-format
msgid "Ready to ask or help nearby?"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#: lib/who_need_help_web/controllers/page_html/home.html.heex:294
#, elixir-autogen, elixir-format
msgid "Reports and blocking"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:181
#: lib/who_need_help_web/controllers/page_html/home.html.heex:186
#, elixir-autogen, elixir-format
msgid "See nearby needs without exposing a home address"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:211
#: lib/who_need_help_web/controllers/page_html/home.html.heex:216
#, elixir-autogen, elixir-format
msgid "Share live location only by choice"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:321
#: lib/who_need_help_web/controllers/page_html/home.html.heex:326
#, elixir-autogen, elixir-format
msgid "Social activities are separate from urgent requests. Organizers approve participants, and exact meeting details stay inside the approved group."
msgstr ""
@ -3843,27 +3843,27 @@ msgstr ""
msgid "The medicine is already legally purchased or reserved for pickup."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:358
#: lib/who_need_help_web/controllers/page_html/home.html.heex:363
#, elixir-autogen, elixir-format
msgid "The medicine must already be legally purchased or reserved. The service does not prescribe, recommend, sell, or handle controlled substances."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:195
#: lib/who_need_help_web/controllers/page_html/home.html.heex:200
#, elixir-autogen, elixir-format
msgid "The public marker does not need to reveal an exact address."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:284
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#, elixir-autogen, elixir-format
msgid "There is no unsolicited inbox between strangers."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:184
#: lib/who_need_help_web/controllers/page_html/home.html.heex:189
#, elixir-autogen, elixir-format
msgid "These three points are synthetic examples. Real public discovery follows each requester's location visibility choice."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:298
#: lib/who_need_help_web/controllers/page_html/home.html.heex:303
#, elixir-autogen, elixir-format
msgid "Verified reputation signals"
msgstr ""
@ -3873,22 +3873,22 @@ msgstr ""
msgid "What can you ask the community for?"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:375
#: lib/who_need_help_web/controllers/page_html/home.html.heex:380
#, elixir-autogen, elixir-format
msgid "What if there is immediate danger?"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:365
#: lib/who_need_help_web/controllers/page_html/home.html.heex:370
#, elixir-autogen, elixir-format
msgid "Who can see my exact address?"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:368
#: lib/who_need_help_web/controllers/page_html/home.html.heex:373
#, elixir-autogen, elixir-format
msgid "You choose the visibility. Exact active coordinates can be limited to the matched helper and are removed when sharing stops."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:266
#: lib/who_need_help_web/controllers/page_html/home.html.heex:271
#, elixir-autogen, elixir-format
msgid "You stay in control of the match"
msgstr ""
@ -4634,7 +4634,7 @@ msgstr ""
msgid "Map"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#: lib/who_need_help_web/controllers/page_html/home.html.heex:173
#, elixir-autogen, elixir-format
msgid "Map preview"
msgstr ""
@ -4684,22 +4684,17 @@ msgstr ""
msgid "Search this area"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:164
#: lib/who_need_help_web/controllers/page_html/home.html.heex:169
#, elixir-autogen, elixir-format
msgid "Static preview"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "The interactive demo could not start in this browser. You can retry or use the example steps beside it."
msgstr ""
#: lib/who_need_help_web/live/request_live/index.ex:402
#, elixir-autogen, elixir-format
msgid "Together"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:154
#: lib/who_need_help_web/controllers/page_html/home.html.heex:158
#: lib/who_need_help_web/live/activity_live/index.ex:286
#: lib/who_need_help_web/live/activity_live/show.ex:542
#: lib/who_need_help_web/live/notification_live.ex:512
@ -5406,3 +5401,23 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#, elixir-autogen, elixir-format
msgid "Interactive fallback"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:155
#, elixir-autogen, elixir-format
msgid "Select an example to preview it without exposing a real address."
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:157
#, elixir-autogen, elixir-format
msgid "Selected example:"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map."
msgstr ""

View File

@ -417,7 +417,7 @@ msgstr "Change role"
msgid "Changing..."
msgstr "Changing..."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:237
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#, elixir-autogen, elixir-format
msgid "Choose a category, urgency, and safe location visibility."
msgstr "Choose a category, urgency, and safe location visibility."
@ -835,7 +835,7 @@ msgstr "Human decisions retained"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:54
#: lib/who_need_help_web/controllers/page_html/home.html.heex:86
#: lib/who_need_help_web/controllers/page_html/home.html.heex:406
#: lib/who_need_help_web/controllers/page_html/home.html.heex:411
#: lib/who_need_help_web/live/request_live/show.ex:1325
#, elixir-autogen, elixir-format
msgid "I can help"
@ -1004,7 +1004,7 @@ msgstr "Manually added links are public and marked unverified. A verified badge
msgid "Mark completed"
msgstr "Mark completed"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#: lib/who_need_help_web/controllers/page_html/home.html.heex:247
#, elixir-autogen, elixir-format
msgid "Match and coordinate"
msgstr "Match and coordinate"
@ -1351,7 +1351,7 @@ msgstr "Please check the submitted message."
msgid "Podil, near the central pharmacy"
msgstr "Podil, near the central pharmacy"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:235
#: lib/who_need_help_web/controllers/page_html/home.html.heex:240
#, elixir-autogen, elixir-format
msgid "Post a clear request"
msgstr "Post a clear request"
@ -2111,7 +2111,7 @@ msgstr "Use light theme"
msgid "Use my current foreground location"
msgstr "Use my current foreground location"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:244
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#, elixir-autogen, elixir-format
msgid "Use private chat and optional live location sharing."
msgstr "Use private chat and optional live location sharing."
@ -2164,7 +2164,7 @@ msgstr "Verify GitHub"
msgid "Verify handover"
msgstr "Verify handover"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#: lib/who_need_help_web/controllers/page_html/home.html.heex:254
#, elixir-autogen, elixir-format
msgid "Verify the handover"
msgstr "Verify the handover"
@ -3580,7 +3580,7 @@ msgstr "Terms"
msgid "and"
msgstr "and"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:225
#: lib/who_need_help_web/controllers/page_html/home.html.heex:230
#, elixir-autogen, elixir-format
msgid "A clear handover"
msgstr "A clear handover"
@ -3595,7 +3595,7 @@ msgstr "A flat tyre or another small roadside problem in a safe place."
msgid "A puncture, broken chain, tyre problem, or similar practical help."
msgstr "A puncture, broken chain, tyre problem, or similar practical help."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:202
#: lib/who_need_help_web/controllers/page_html/home.html.heex:207
#, elixir-autogen, elixir-format
msgid "Accept and open private coordination"
msgstr "Accept and open private coordination"
@ -3612,7 +3612,7 @@ msgstr "Approximate area · demo data"
msgid "Ask a nearby volunteer to collect medicine that is already purchased or help with a safe roadside problem. There is no mandatory fee."
msgstr "Ask a nearby volunteer to collect medicine that is already purchased or help with a safe roadside problem. There is no mandatory fee."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:339
#: lib/who_need_help_web/controllers/page_html/home.html.heex:344
#, elixir-autogen, elixir-format
msgid "Before you create a request"
msgstr "Before you create a request"
@ -3627,7 +3627,7 @@ msgstr "Bicycle chain help · example"
msgid "Bicycle or motorcycle"
msgstr "Bicycle or motorcycle"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:251
#: lib/who_need_help_web/controllers/page_html/home.html.heex:256
#, elixir-autogen, elixir-format
msgid "Both confirm, the helper enters a one-time code, and reviews stay blind until both submit."
msgstr "Both confirm, the helper enters a one-time code, and reviews stay blind until both submit."
@ -3637,12 +3637,12 @@ msgstr "Both confirm, the helper enters a one-time code, and reviews stay blind
msgid "Bring fuel"
msgstr "Bring fuel"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:263
#: lib/who_need_help_web/controllers/page_html/home.html.heex:268
#, elixir-autogen, elixir-format
msgid "Built for safer coordination"
msgstr "Built for safer coordination"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:355
#: lib/who_need_help_web/controllers/page_html/home.html.heex:360
#, elixir-autogen, elixir-format
msgid "Can a volunteer buy medicine for me?"
msgstr "Can a volunteer buy medicine for me?"
@ -3657,37 +3657,37 @@ msgstr "Choose a moderated category. Each one asks only for the details needed f
msgid "Collect medicine"
msgstr "Collect medicine"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:378
#: lib/who_need_help_web/controllers/page_html/home.html.heex:383
#, elixir-autogen, elixir-format
msgid "Contact the emergency service for your location. Who Need Help is for voluntary practical coordination, not emergencies."
msgstr "Contact the emergency service for your location. Who Need Help is for voluntary practical coordination, not emergencies."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:391
#: lib/who_need_help_web/controllers/page_html/home.html.heex:396
#, elixir-autogen, elixir-format
msgid "Create one account, choose your role for each situation, and keep control of what you share."
msgstr "Create one account, choose your role for each situation, and keep control of what you share."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:213
#: lib/who_need_help_web/controllers/page_html/home.html.heex:218
#, elixir-autogen, elixir-format
msgid "Current coordinates are optional and deleted when sharing stops."
msgstr "Current coordinates are optional and deleted when sharing stops."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:156
#: lib/who_need_help_web/controllers/page_html/home.html.heex:160
#, elixir-autogen, elixir-format
msgid "Demo map with synthetic approximate help requests"
msgstr "Demo map with synthetic approximate help requests"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:193
#: lib/who_need_help_web/controllers/page_html/home.html.heex:198
#, elixir-autogen, elixir-format
msgid "Discover an approximate area"
msgstr "Discover an approximate area"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:345
#: lib/who_need_help_web/controllers/page_html/home.html.heex:350
#, elixir-autogen, elixir-format
msgid "Do I have to pay a helper?"
msgstr "Do I have to pay a helper?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:171
#: lib/who_need_help_web/controllers/page_html/home.html.heex:176
#, elixir-autogen, elixir-format
msgid "Example data — not live requests"
msgstr "Example data — not live requests"
@ -3697,12 +3697,12 @@ msgstr "Example data — not live requests"
msgid "Example request"
msgstr "Example request"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:327
#: lib/who_need_help_web/controllers/page_html/home.html.heex:332
#, elixir-autogen, elixir-format
msgid "Explore activities"
msgstr "Explore activities"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:318
#: lib/who_need_help_web/controllers/page_html/home.html.heex:323
#, elixir-autogen, elixir-format
msgid "Find company for coffee, cinema, a walk, or a hike"
msgstr "Find company for coffee, cinema, a walk, or a hike"
@ -3717,17 +3717,17 @@ msgstr "Flat tyre help · example"
msgid "Free, nearby, voluntary help"
msgstr "Free, nearby, voluntary help"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:228
#: lib/who_need_help_web/controllers/page_html/home.html.heex:233
#, elixir-autogen, elixir-format
msgid "From request to verified completion"
msgstr "From request to verified completion"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:300
#: lib/who_need_help_web/controllers/page_html/home.html.heex:305
#, elixir-autogen, elixir-format
msgid "Handover codes and unique completed matches matter more than raw totals."
msgstr "Handover codes and unique completed matches matter more than raw totals."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:275
#: lib/who_need_help_web/controllers/page_html/home.html.heex:280
#, elixir-autogen, elixir-format
msgid "Help is voluntary. An external thank-you link is optional after completion."
msgstr "Help is voluntary. An external thank-you link is optional after completion."
@ -3738,17 +3738,17 @@ msgid "Help with a wheel"
msgstr "Help with a wheel"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:51
#: lib/who_need_help_web/controllers/page_html/home.html.heex:400
#: lib/who_need_help_web/controllers/page_html/home.html.heex:405
#, elixir-autogen, elixir-format
msgid "I need help"
msgstr "I need help"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:163
#: lib/who_need_help_web/controllers/page_html/home.html.heex:167
#, elixir-autogen, elixir-format
msgid "Interactive demo"
msgstr "Interactive demo"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:291
#: lib/who_need_help_web/controllers/page_html/home.html.heex:296
#, elixir-autogen, elixir-format
msgid "Leave a match, block a person, or send a scoped report when something feels wrong."
msgstr "Leave a match, block a person, or send a scoped report when something feels wrong."
@ -3763,17 +3763,17 @@ msgstr "Medicine pickup · example"
msgid "Need help nearby? Ask the community."
msgstr "Need help nearby? Ask the community."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:273
#: lib/who_need_help_web/controllers/page_html/home.html.heex:278
#, elixir-autogen, elixir-format
msgid "No mandatory payment"
msgstr "No mandatory payment"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:348
#: lib/who_need_help_web/controllers/page_html/home.html.heex:353
#, elixir-autogen, elixir-format
msgid "No. Help has no mandatory fee. A helper may optionally publish an external thank-you link after a completed handover."
msgstr "No. Help has no mandatory fee. A helper may optionally publish an external thank-you link after a completed handover."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:315
#: lib/who_need_help_web/controllers/page_html/home.html.heex:320
#, elixir-autogen, elixir-format
msgid "Not only urgent help"
msgstr "Not only urgent help"
@ -3783,52 +3783,52 @@ msgstr "Not only urgent help"
msgid "Only after people and the vehicle are away from active traffic danger."
msgstr "Only after people and the vehicle are away from active traffic danger."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:204
#: lib/who_need_help_web/controllers/page_html/home.html.heex:209
#, elixir-autogen, elixir-format
msgid "Only the matched requester and helper receive the private chat."
msgstr "Only the matched requester and helper receive the private chat."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:178
#: lib/who_need_help_web/controllers/page_html/home.html.heex:183
#, elixir-autogen, elixir-format
msgid "Privacy by default"
msgstr "Privacy by default"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:282
#: lib/who_need_help_web/controllers/page_html/home.html.heex:287
#, elixir-autogen, elixir-format
msgid "Private matched chat"
msgstr "Private matched chat"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:336
#: lib/who_need_help_web/controllers/page_html/home.html.heex:341
#, elixir-autogen, elixir-format
msgid "Quick answers"
msgstr "Quick answers"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:306
#: lib/who_need_help_web/controllers/page_html/home.html.heex:311
#, elixir-autogen, elixir-format
msgid "Read the safety rules"
msgstr "Read the safety rules"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:389
#: lib/who_need_help_web/controllers/page_html/home.html.heex:394
#, elixir-autogen, elixir-format
msgid "Ready to ask or help nearby?"
msgstr "Ready to ask or help nearby?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#: lib/who_need_help_web/controllers/page_html/home.html.heex:294
#, elixir-autogen, elixir-format
msgid "Reports and blocking"
msgstr "Reports and blocking"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:181
#: lib/who_need_help_web/controllers/page_html/home.html.heex:186
#, elixir-autogen, elixir-format
msgid "See nearby needs without exposing a home address"
msgstr "See nearby needs without exposing a home address"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:211
#: lib/who_need_help_web/controllers/page_html/home.html.heex:216
#, elixir-autogen, elixir-format
msgid "Share live location only by choice"
msgstr "Share live location only by choice"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:321
#: lib/who_need_help_web/controllers/page_html/home.html.heex:326
#, elixir-autogen, elixir-format
msgid "Social activities are separate from urgent requests. Organizers approve participants, and exact meeting details stay inside the approved group."
msgstr "Social activities are separate from urgent requests. Organizers approve participants, and exact meeting details stay inside the approved group."
@ -3843,27 +3843,27 @@ msgstr "Start with urgent practical help"
msgid "The medicine is already legally purchased or reserved for pickup."
msgstr "The medicine is already legally purchased or reserved for pickup."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:358
#: lib/who_need_help_web/controllers/page_html/home.html.heex:363
#, elixir-autogen, elixir-format
msgid "The medicine must already be legally purchased or reserved. The service does not prescribe, recommend, sell, or handle controlled substances."
msgstr "The medicine must already be legally purchased or reserved. The service does not prescribe, recommend, sell, or handle controlled substances."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:195
#: lib/who_need_help_web/controllers/page_html/home.html.heex:200
#, elixir-autogen, elixir-format
msgid "The public marker does not need to reveal an exact address."
msgstr "The public marker does not need to reveal an exact address."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:284
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#, elixir-autogen, elixir-format
msgid "There is no unsolicited inbox between strangers."
msgstr "There is no unsolicited inbox between strangers."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:184
#: lib/who_need_help_web/controllers/page_html/home.html.heex:189
#, elixir-autogen, elixir-format
msgid "These three points are synthetic examples. Real public discovery follows each requester's location visibility choice."
msgstr "These three points are synthetic examples. Real public discovery follows each requester's location visibility choice."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:298
#: lib/who_need_help_web/controllers/page_html/home.html.heex:303
#, elixir-autogen, elixir-format
msgid "Verified reputation signals"
msgstr "Verified reputation signals"
@ -3873,22 +3873,22 @@ msgstr "Verified reputation signals"
msgid "What can you ask the community for?"
msgstr "What can you ask the community for?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:375
#: lib/who_need_help_web/controllers/page_html/home.html.heex:380
#, elixir-autogen, elixir-format
msgid "What if there is immediate danger?"
msgstr "What if there is immediate danger?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:365
#: lib/who_need_help_web/controllers/page_html/home.html.heex:370
#, elixir-autogen, elixir-format
msgid "Who can see my exact address?"
msgstr "Who can see my exact address?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:368
#: lib/who_need_help_web/controllers/page_html/home.html.heex:373
#, elixir-autogen, elixir-format
msgid "You choose the visibility. Exact active coordinates can be limited to the matched helper and are removed when sharing stops."
msgstr "You choose the visibility. Exact active coordinates can be limited to the matched helper and are removed when sharing stops."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:266
#: lib/who_need_help_web/controllers/page_html/home.html.heex:271
#, elixir-autogen, elixir-format
msgid "You stay in control of the match"
msgstr "You stay in control of the match"
@ -4634,7 +4634,7 @@ msgstr "Load more in this area"
msgid "Map"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#: lib/who_need_help_web/controllers/page_html/home.html.heex:173
#, elixir-autogen, elixir-format
msgid "Map preview"
msgstr "Map preview"
@ -4684,22 +4684,17 @@ msgstr ""
msgid "Search this area"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:164
#: lib/who_need_help_web/controllers/page_html/home.html.heex:169
#, elixir-autogen, elixir-format
msgid "Static preview"
msgstr "Static preview"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "The interactive demo could not start in this browser. You can retry or use the example steps beside it."
msgstr "The interactive demo could not start in this browser. You can retry or use the example steps beside it."
#: lib/who_need_help_web/live/request_live/index.ex:402
#, elixir-autogen, elixir-format
msgid "Together"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:154
#: lib/who_need_help_web/controllers/page_html/home.html.heex:158
#: lib/who_need_help_web/live/activity_live/index.ex:286
#: lib/who_need_help_web/live/activity_live/show.ex:542
#: lib/who_need_help_web/live/notification_live.ex:512
@ -5406,3 +5401,23 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#, elixir-autogen, elixir-format
msgid "Interactive fallback"
msgstr "Interactive fallback"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:155
#, elixir-autogen, elixir-format
msgid "Select an example to preview it without exposing a real address."
msgstr "Select an example to preview it without exposing a real address."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:157
#, elixir-autogen, elixir-format
msgid "Selected example:"
msgstr "Selected example:"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map."
msgstr "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map."

View File

@ -433,7 +433,7 @@ msgstr "Изменить роль"
msgid "Changing..."
msgstr "Изменение…"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:237
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#, elixir-autogen, elixir-format
msgid "Choose a category, urgency, and safe location visibility."
msgstr ""
@ -895,7 +895,7 @@ msgstr "Решения остаются за человеком"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:54
#: lib/who_need_help_web/controllers/page_html/home.html.heex:86
#: lib/who_need_help_web/controllers/page_html/home.html.heex:406
#: lib/who_need_help_web/controllers/page_html/home.html.heex:411
#: lib/who_need_help_web/live/request_live/show.ex:1325
#, elixir-autogen, elixir-format
msgid "I can help"
@ -1087,7 +1087,7 @@ msgstr ""
msgid "Mark completed"
msgstr "Отметить завершённой"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#: lib/who_need_help_web/controllers/page_html/home.html.heex:247
#, elixir-autogen, elixir-format
msgid "Match and coordinate"
msgstr "Найдите помощника и согласуйте детали"
@ -1448,7 +1448,7 @@ msgstr "Пожалуйста, проверьте отправленное соо
msgid "Podil, near the central pharmacy"
msgstr "Подол, рядом с центральной аптекой"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:235
#: lib/who_need_help_web/controllers/page_html/home.html.heex:240
#, elixir-autogen, elixir-format
msgid "Post a clear request"
msgstr "Опубликуйте понятную заявку"
@ -2244,7 +2244,7 @@ msgstr "Включить светлую тему"
msgid "Use my current foreground location"
msgstr "Использовать мою текущую геопозицию"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:244
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#, elixir-autogen, elixir-format
msgid "Use private chat and optional live location sharing."
msgstr ""
@ -2299,7 +2299,7 @@ msgstr "Подтвердить через GitHub"
msgid "Verify handover"
msgstr "Подтвердить передачу"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#: lib/who_need_help_web/controllers/page_html/home.html.heex:254
#, elixir-autogen, elixir-format
msgid "Verify the handover"
msgstr "Подтвердите передачу"
@ -3730,7 +3730,7 @@ msgstr "Условия"
msgid "and"
msgstr "и"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:225
#: lib/who_need_help_web/controllers/page_html/home.html.heex:230
#, elixir-autogen, elixir-format
msgid "A clear handover"
msgstr "Понятная передача помощи"
@ -3745,7 +3745,7 @@ msgstr "Проколотая шина или другая небольшая п
msgid "A puncture, broken chain, tyre problem, or similar practical help."
msgstr "Прокол, сломанная цепь, проблема с шиной или похожая практическая помощь."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:202
#: lib/who_need_help_web/controllers/page_html/home.html.heex:207
#, elixir-autogen, elixir-format
msgid "Accept and open private coordination"
msgstr "Принять заявку и перейти к приватной координации"
@ -3762,7 +3762,7 @@ msgstr "Примерный район · демонстрационные дан
msgid "Ask a nearby volunteer to collect medicine that is already purchased or help with a safe roadside problem. There is no mandatory fee."
msgstr "Попросите волонтёра поблизости забрать уже купленное лекарство или помочь с безопасной проблемой в дороге. Обязательной оплаты нет."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:339
#: lib/who_need_help_web/controllers/page_html/home.html.heex:344
#, elixir-autogen, elixir-format
msgid "Before you create a request"
msgstr "Перед созданием заявки"
@ -3777,7 +3777,7 @@ msgstr "Помощь с велосипедной цепью · пример"
msgid "Bicycle or motorcycle"
msgstr "Велосипед или мотоцикл"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:251
#: lib/who_need_help_web/controllers/page_html/home.html.heex:256
#, elixir-autogen, elixir-format
msgid "Both confirm, the helper enters a one-time code, and reviews stay blind until both submit."
msgstr "Оба участника подтверждают передачу, помощник вводит одноразовый код, а отзывы остаются скрытыми, пока их не отправят оба."
@ -3787,12 +3787,12 @@ msgstr "Оба участника подтверждают передачу, п
msgid "Bring fuel"
msgstr "Привезти топливо"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:263
#: lib/who_need_help_web/controllers/page_html/home.html.heex:268
#, elixir-autogen, elixir-format
msgid "Built for safer coordination"
msgstr "Создано для более безопасной координации"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:355
#: lib/who_need_help_web/controllers/page_html/home.html.heex:360
#, elixir-autogen, elixir-format
msgid "Can a volunteer buy medicine for me?"
msgstr "Может ли волонтёр купить мне лекарство?"
@ -3807,37 +3807,37 @@ msgstr "Выберите модерируемую категорию. Кажда
msgid "Collect medicine"
msgstr "Забрать лекарство"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:378
#: lib/who_need_help_web/controllers/page_html/home.html.heex:383
#, elixir-autogen, elixir-format
msgid "Contact the emergency service for your location. Who Need Help is for voluntary practical coordination, not emergencies."
msgstr "Обратитесь в экстренную службу по месту нахождения. Who Need Help предназначен для добровольной практической координации, а не для экстренных ситуаций."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:391
#: lib/who_need_help_web/controllers/page_html/home.html.heex:396
#, elixir-autogen, elixir-format
msgid "Create one account, choose your role for each situation, and keep control of what you share."
msgstr "Создайте один аккаунт, выбирайте свою роль в каждой ситуации и контролируйте, чем делитесь."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:213
#: lib/who_need_help_web/controllers/page_html/home.html.heex:218
#, elixir-autogen, elixir-format
msgid "Current coordinates are optional and deleted when sharing stops."
msgstr "Текущие координаты передаются по желанию и удаляются после остановки."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:156
#: lib/who_need_help_web/controllers/page_html/home.html.heex:160
#, elixir-autogen, elixir-format
msgid "Demo map with synthetic approximate help requests"
msgstr "Демонстрационная карта с синтетическими примерными заявками о помощи"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:193
#: lib/who_need_help_web/controllers/page_html/home.html.heex:198
#, elixir-autogen, elixir-format
msgid "Discover an approximate area"
msgstr "Увидеть примерный район"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:345
#: lib/who_need_help_web/controllers/page_html/home.html.heex:350
#, elixir-autogen, elixir-format
msgid "Do I have to pay a helper?"
msgstr "Нужно ли платить помощнику?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:171
#: lib/who_need_help_web/controllers/page_html/home.html.heex:176
#, elixir-autogen, elixir-format
msgid "Example data — not live requests"
msgstr "Демонстрационные данные — не реальные заявки"
@ -3847,12 +3847,12 @@ msgstr "Демонстрационные данные — не реальные
msgid "Example request"
msgstr "Пример заявки"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:327
#: lib/who_need_help_web/controllers/page_html/home.html.heex:332
#, elixir-autogen, elixir-format
msgid "Explore activities"
msgstr "Посмотреть активности"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:318
#: lib/who_need_help_web/controllers/page_html/home.html.heex:323
#, elixir-autogen, elixir-format
msgid "Find company for coffee, cinema, a walk, or a hike"
msgstr "Найдите компанию для кофе, кино, прогулки или похода"
@ -3867,17 +3867,17 @@ msgstr "Помощь с проколотой шиной · пример"
msgid "Free, nearby, voluntary help"
msgstr "Бесплатная добровольная помощь рядом"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:228
#: lib/who_need_help_web/controllers/page_html/home.html.heex:233
#, elixir-autogen, elixir-format
msgid "From request to verified completion"
msgstr "От заявки до подтверждённого завершения"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:300
#: lib/who_need_help_web/controllers/page_html/home.html.heex:305
#, elixir-autogen, elixir-format
msgid "Handover codes and unique completed matches matter more than raw totals."
msgstr "Одноразовые коды передачи и уникальные завершённые взаимодействия важнее простых итоговых чисел."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:275
#: lib/who_need_help_web/controllers/page_html/home.html.heex:280
#, elixir-autogen, elixir-format
msgid "Help is voluntary. An external thank-you link is optional after completion."
msgstr "Помощь добровольная. Внешняя ссылка для благодарности необязательна и доступна после завершения."
@ -3888,17 +3888,17 @@ msgid "Help with a wheel"
msgstr "Помочь с колесом"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:51
#: lib/who_need_help_web/controllers/page_html/home.html.heex:400
#: lib/who_need_help_web/controllers/page_html/home.html.heex:405
#, elixir-autogen, elixir-format
msgid "I need help"
msgstr "Мне нужна помощь"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:163
#: lib/who_need_help_web/controllers/page_html/home.html.heex:167
#, elixir-autogen, elixir-format
msgid "Interactive demo"
msgstr "Интерактивный пример"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:291
#: lib/who_need_help_web/controllers/page_html/home.html.heex:296
#, elixir-autogen, elixir-format
msgid "Leave a match, block a person, or send a scoped report when something feels wrong."
msgstr "Откажитесь от взаимодействия, заблокируйте человека или отправьте жалобу на конкретный объект, если что-то кажется небезопасным."
@ -3913,17 +3913,17 @@ msgstr "Получение лекарства · пример"
msgid "Need help nearby? Ask the community."
msgstr "Нужна помощь рядом? Обратитесь к сообществу."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:273
#: lib/who_need_help_web/controllers/page_html/home.html.heex:278
#, elixir-autogen, elixir-format
msgid "No mandatory payment"
msgstr "Без обязательной оплаты"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:348
#: lib/who_need_help_web/controllers/page_html/home.html.heex:353
#, elixir-autogen, elixir-format
msgid "No. Help has no mandatory fee. A helper may optionally publish an external thank-you link after a completed handover."
msgstr "Нет. Помощь не требует обязательной оплаты. После подтверждённой передачи помощник может по желанию указать внешнюю ссылку для благодарности."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:315
#: lib/who_need_help_web/controllers/page_html/home.html.heex:320
#, elixir-autogen, elixir-format
msgid "Not only urgent help"
msgstr "Не только срочная помощь"
@ -3933,52 +3933,52 @@ msgstr "Не только срочная помощь"
msgid "Only after people and the vehicle are away from active traffic danger."
msgstr "Только когда люди и транспорт находятся вне опасной зоны активного движения."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:204
#: lib/who_need_help_web/controllers/page_html/home.html.heex:209
#, elixir-autogen, elixir-format
msgid "Only the matched requester and helper receive the private chat."
msgstr "Приватный чат доступен только автору заявки и назначенному помощнику."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:178
#: lib/who_need_help_web/controllers/page_html/home.html.heex:183
#, elixir-autogen, elixir-format
msgid "Privacy by default"
msgstr "Приватность по умолчанию"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:282
#: lib/who_need_help_web/controllers/page_html/home.html.heex:287
#, elixir-autogen, elixir-format
msgid "Private matched chat"
msgstr "Приватный чат после совпадения"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:336
#: lib/who_need_help_web/controllers/page_html/home.html.heex:341
#, elixir-autogen, elixir-format
msgid "Quick answers"
msgstr "Короткие ответы"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:306
#: lib/who_need_help_web/controllers/page_html/home.html.heex:311
#, elixir-autogen, elixir-format
msgid "Read the safety rules"
msgstr "Прочитать правила безопасности"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:389
#: lib/who_need_help_web/controllers/page_html/home.html.heex:394
#, elixir-autogen, elixir-format
msgid "Ready to ask or help nearby?"
msgstr "Готовы попросить о помощи или помочь рядом?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#: lib/who_need_help_web/controllers/page_html/home.html.heex:294
#, elixir-autogen, elixir-format
msgid "Reports and blocking"
msgstr "Жалобы и блокировка"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:181
#: lib/who_need_help_web/controllers/page_html/home.html.heex:186
#, elixir-autogen, elixir-format
msgid "See nearby needs without exposing a home address"
msgstr "Узнавайте о помощи поблизости, не раскрывая домашний адрес"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:211
#: lib/who_need_help_web/controllers/page_html/home.html.heex:216
#, elixir-autogen, elixir-format
msgid "Share live location only by choice"
msgstr "Делитесь геопозицией только по своему выбору"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:321
#: lib/who_need_help_web/controllers/page_html/home.html.heex:326
#, elixir-autogen, elixir-format
msgid "Social activities are separate from urgent requests. Organizers approve participants, and exact meeting details stay inside the approved group."
msgstr "Социальные активности отделены от срочных заявок. Организаторы одобряют участников, а точные сведения о встрече остаются внутри одобренной группы."
@ -3993,27 +3993,27 @@ msgstr "Начните со срочной практической помощи
msgid "The medicine is already legally purchased or reserved for pickup."
msgstr "Лекарство уже законно куплено или зарезервировано для получения."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:358
#: lib/who_need_help_web/controllers/page_html/home.html.heex:363
#, elixir-autogen, elixir-format
msgid "The medicine must already be legally purchased or reserved. The service does not prescribe, recommend, sell, or handle controlled substances."
msgstr "Лекарство должно быть заранее законно куплено или зарезервировано. Сервис не назначает, не рекомендует, не продаёт и не доставляет контролируемые вещества."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:195
#: lib/who_need_help_web/controllers/page_html/home.html.heex:200
#, elixir-autogen, elixir-format
msgid "The public marker does not need to reveal an exact address."
msgstr "Публичная отметка не обязана раскрывать точный адрес."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:284
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#, elixir-autogen, elixir-format
msgid "There is no unsolicited inbox between strangers."
msgstr "Между незнакомыми людьми нет возможности писать без совпадения."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:184
#: lib/who_need_help_web/controllers/page_html/home.html.heex:189
#, elixir-autogen, elixir-format
msgid "These three points are synthetic examples. Real public discovery follows each requester's location visibility choice."
msgstr "Эти три точки — синтетические примеры. Отображение реальных заявок зависит от выбранной автором заявки видимости геопозиции."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:298
#: lib/who_need_help_web/controllers/page_html/home.html.heex:303
#, elixir-autogen, elixir-format
msgid "Verified reputation signals"
msgstr "Подтверждённые сигналы репутации"
@ -4023,22 +4023,22 @@ msgstr "Подтверждённые сигналы репутации"
msgid "What can you ask the community for?"
msgstr "О чём можно попросить сообщество?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:375
#: lib/who_need_help_web/controllers/page_html/home.html.heex:380
#, elixir-autogen, elixir-format
msgid "What if there is immediate danger?"
msgstr "Что делать при непосредственной опасности?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:365
#: lib/who_need_help_web/controllers/page_html/home.html.heex:370
#, elixir-autogen, elixir-format
msgid "Who can see my exact address?"
msgstr "Кто увидит мой точный адрес?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:368
#: lib/who_need_help_web/controllers/page_html/home.html.heex:373
#, elixir-autogen, elixir-format
msgid "You choose the visibility. Exact active coordinates can be limited to the matched helper and are removed when sharing stops."
msgstr "Вы сами выбираете видимость. Точные текущие координаты можно показывать только назначенному помощнику; после остановки передачи они удаляются."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:266
#: lib/who_need_help_web/controllers/page_html/home.html.heex:271
#, elixir-autogen, elixir-format
msgid "You stay in control of the match"
msgstr "Вы контролируете взаимодействие"
@ -4785,7 +4785,7 @@ msgstr "Загрузить ещё в этой области"
msgid "Map"
msgstr "Карта"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#: lib/who_need_help_web/controllers/page_html/home.html.heex:173
#, elixir-autogen, elixir-format
msgid "Map preview"
msgstr "Предпросмотр карты"
@ -4835,22 +4835,17 @@ msgstr "Расположение результатов"
msgid "Search this area"
msgstr "Искать в этой области"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:164
#: lib/who_need_help_web/controllers/page_html/home.html.heex:169
#, elixir-autogen, elixir-format
msgid "Static preview"
msgstr "Статический просмотр"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "The interactive demo could not start in this browser. You can retry or use the example steps beside it."
msgstr "Интерактивная карта не запустилась в этом браузере. Попробуйте ещё раз или используйте примеры рядом."
#: lib/who_need_help_web/live/request_live/index.ex:402
#, elixir-autogen, elixir-format
msgid "Together"
msgstr "Вместе"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:154
#: lib/who_need_help_web/controllers/page_html/home.html.heex:158
#: lib/who_need_help_web/live/activity_live/index.ex:286
#: lib/who_need_help_web/live/activity_live/show.ex:542
#: lib/who_need_help_web/live/notification_live.ex:512
@ -5558,3 +5553,23 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#, elixir-autogen, elixir-format
msgid "Interactive fallback"
msgstr "Интерактивный запасной режим"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:155
#, elixir-autogen, elixir-format
msgid "Select an example to preview it without exposing a real address."
msgstr "Выберите пример, чтобы просмотреть его без раскрытия реального адреса."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:157
#, elixir-autogen, elixir-format
msgid "Selected example:"
msgstr "Выбранный пример:"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map."
msgstr "WebGL недоступен в этом браузере, поэтому полная карта не может запуститься. Выберите пример ниже или попробуйте запустить карту ещё раз."

View File

@ -433,7 +433,7 @@ msgstr "Змінити роль"
msgid "Changing..."
msgstr "Зміна…"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:237
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#, elixir-autogen, elixir-format
msgid "Choose a category, urgency, and safe location visibility."
msgstr ""
@ -894,7 +894,7 @@ msgstr "Рішення залишаються за людиною"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:54
#: lib/who_need_help_web/controllers/page_html/home.html.heex:86
#: lib/who_need_help_web/controllers/page_html/home.html.heex:406
#: lib/who_need_help_web/controllers/page_html/home.html.heex:411
#: lib/who_need_help_web/live/request_live/show.ex:1325
#, elixir-autogen, elixir-format
msgid "I can help"
@ -1082,7 +1082,7 @@ msgstr ""
msgid "Mark completed"
msgstr "Позначити завершеною"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:242
#: lib/who_need_help_web/controllers/page_html/home.html.heex:247
#, elixir-autogen, elixir-format
msgid "Match and coordinate"
msgstr "Знайдіть помічника й узгодьте деталі"
@ -1443,7 +1443,7 @@ msgstr "Будь ласка, перевірте надіслане повідо
msgid "Podil, near the central pharmacy"
msgstr "Поділь, поблизу центральної аптеки."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:235
#: lib/who_need_help_web/controllers/page_html/home.html.heex:240
#, elixir-autogen, elixir-format
msgid "Post a clear request"
msgstr "Опублікуйте зрозумілу заявку"
@ -2239,7 +2239,7 @@ msgstr "Увімкнути світлу тему"
msgid "Use my current foreground location"
msgstr "Використати мою поточну геопозицію"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:244
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#, elixir-autogen, elixir-format
msgid "Use private chat and optional live location sharing."
msgstr ""
@ -2294,7 +2294,7 @@ msgstr "Підтвердити через GitHub"
msgid "Verify handover"
msgstr "Підтвердити передачу"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:249
#: lib/who_need_help_web/controllers/page_html/home.html.heex:254
#, elixir-autogen, elixir-format
msgid "Verify the handover"
msgstr "Підтвердьте передачу"
@ -3722,7 +3722,7 @@ msgstr "Умови"
msgid "and"
msgstr "та"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:225
#: lib/who_need_help_web/controllers/page_html/home.html.heex:230
#, elixir-autogen, elixir-format
msgid "A clear handover"
msgstr "Зрозуміла передача допомоги"
@ -3737,7 +3737,7 @@ msgstr "Проколота шина або інша невелика дорож
msgid "A puncture, broken chain, tyre problem, or similar practical help."
msgstr "Прокол, зламаний ланцюг, проблема з шиною чи подібна практична допомога."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:202
#: lib/who_need_help_web/controllers/page_html/home.html.heex:207
#, elixir-autogen, elixir-format
msgid "Accept and open private coordination"
msgstr "Прийняти заявку й перейти до приватної координації"
@ -3754,7 +3754,7 @@ msgstr "Орієнтовний район · демонстраційні дан
msgid "Ask a nearby volunteer to collect medicine that is already purchased or help with a safe roadside problem. There is no mandatory fee."
msgstr "Попросіть волонтера поблизу забрати вже придбані ліки або допомогти з безпечною дорожньою проблемою. Обов’язкової оплати немає."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:339
#: lib/who_need_help_web/controllers/page_html/home.html.heex:344
#, elixir-autogen, elixir-format
msgid "Before you create a request"
msgstr "Перед створенням заявки"
@ -3769,7 +3769,7 @@ msgstr "Допомога з велосипедним ланцюгом · при
msgid "Bicycle or motorcycle"
msgstr "Велосипед або мотоцикл"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:251
#: lib/who_need_help_web/controllers/page_html/home.html.heex:256
#, elixir-autogen, elixir-format
msgid "Both confirm, the helper enters a one-time code, and reviews stay blind until both submit."
msgstr "Обидва учасники підтверджують передачу, помічник вводить одноразовий код, а відгуки залишаються прихованими, доки їх не надішлють обоє."
@ -3779,12 +3779,12 @@ msgstr "Обидва учасники підтверджують передач
msgid "Bring fuel"
msgstr "Привезти пальне"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:263
#: lib/who_need_help_web/controllers/page_html/home.html.heex:268
#, elixir-autogen, elixir-format
msgid "Built for safer coordination"
msgstr "Створено для безпечнішої координації"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:355
#: lib/who_need_help_web/controllers/page_html/home.html.heex:360
#, elixir-autogen, elixir-format
msgid "Can a volunteer buy medicine for me?"
msgstr "Чи може волонтер купити мені ліки?"
@ -3799,37 +3799,37 @@ msgstr "Оберіть модеровану категорію. Кожна за
msgid "Collect medicine"
msgstr "Забрати ліки"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:378
#: lib/who_need_help_web/controllers/page_html/home.html.heex:383
#, elixir-autogen, elixir-format
msgid "Contact the emergency service for your location. Who Need Help is for voluntary practical coordination, not emergencies."
msgstr "Зверніться до екстреної служби за місцем перебування. Who Need Help призначений для добровільної практичної координації, а не для надзвичайних ситуацій."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:391
#: lib/who_need_help_web/controllers/page_html/home.html.heex:396
#, elixir-autogen, elixir-format
msgid "Create one account, choose your role for each situation, and keep control of what you share."
msgstr "Створіть один обліковий запис, обирайте свою роль у кожній ситуації та контролюйте, чим ділитеся."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:213
#: lib/who_need_help_web/controllers/page_html/home.html.heex:218
#, elixir-autogen, elixir-format
msgid "Current coordinates are optional and deleted when sharing stops."
msgstr "Поточні координати передаються за бажанням і видаляються після зупинення."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:156
#: lib/who_need_help_web/controllers/page_html/home.html.heex:160
#, elixir-autogen, elixir-format
msgid "Demo map with synthetic approximate help requests"
msgstr "Демонстраційна карта із синтетичними орієнтовними заявками про допомогу"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:193
#: lib/who_need_help_web/controllers/page_html/home.html.heex:198
#, elixir-autogen, elixir-format
msgid "Discover an approximate area"
msgstr "Побачити орієнтовний район"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:345
#: lib/who_need_help_web/controllers/page_html/home.html.heex:350
#, elixir-autogen, elixir-format
msgid "Do I have to pay a helper?"
msgstr "Чи потрібно платити помічнику?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:171
#: lib/who_need_help_web/controllers/page_html/home.html.heex:176
#, elixir-autogen, elixir-format
msgid "Example data — not live requests"
msgstr "Демонстраційні дані — не реальні заявки"
@ -3839,12 +3839,12 @@ msgstr "Демонстраційні дані — не реальні заявк
msgid "Example request"
msgstr "Приклад заявки"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:327
#: lib/who_need_help_web/controllers/page_html/home.html.heex:332
#, elixir-autogen, elixir-format
msgid "Explore activities"
msgstr "Переглянути активності"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:318
#: lib/who_need_help_web/controllers/page_html/home.html.heex:323
#, elixir-autogen, elixir-format
msgid "Find company for coffee, cinema, a walk, or a hike"
msgstr "Знайдіть компанію для кави, кіно, прогулянки чи походу"
@ -3859,17 +3859,17 @@ msgstr "Допомога з проколотою шиною · приклад"
msgid "Free, nearby, voluntary help"
msgstr "Безкоштовна добровільна допомога поруч"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:228
#: lib/who_need_help_web/controllers/page_html/home.html.heex:233
#, elixir-autogen, elixir-format
msgid "From request to verified completion"
msgstr "Від заявки до підтвердженого завершення"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:300
#: lib/who_need_help_web/controllers/page_html/home.html.heex:305
#, elixir-autogen, elixir-format
msgid "Handover codes and unique completed matches matter more than raw totals."
msgstr "Одноразові коди передачі й унікальні завершені взаємодії важливіші за прості підсумкові числа."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:275
#: lib/who_need_help_web/controllers/page_html/home.html.heex:280
#, elixir-autogen, elixir-format
msgid "Help is voluntary. An external thank-you link is optional after completion."
msgstr "Допомога добровільна. Зовнішнє посилання для подяки необов’язкове й доступне після завершення."
@ -3880,17 +3880,17 @@ msgid "Help with a wheel"
msgstr "Допомогти з колесом"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:51
#: lib/who_need_help_web/controllers/page_html/home.html.heex:400
#: lib/who_need_help_web/controllers/page_html/home.html.heex:405
#, elixir-autogen, elixir-format
msgid "I need help"
msgstr "Мені потрібна допомога"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:163
#: lib/who_need_help_web/controllers/page_html/home.html.heex:167
#, elixir-autogen, elixir-format
msgid "Interactive demo"
msgstr "Інтерактивний приклад"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:291
#: lib/who_need_help_web/controllers/page_html/home.html.heex:296
#, elixir-autogen, elixir-format
msgid "Leave a match, block a person, or send a scoped report when something feels wrong."
msgstr "Відмовтеся від взаємодії, заблокуйте людину або надішліть скаргу на конкретний об’єкт, якщо щось здається небезпечним."
@ -3905,17 +3905,17 @@ msgstr "Отримання ліків · приклад"
msgid "Need help nearby? Ask the community."
msgstr "Потрібна допомога поруч? Зверніться до спільноти."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:273
#: lib/who_need_help_web/controllers/page_html/home.html.heex:278
#, elixir-autogen, elixir-format
msgid "No mandatory payment"
msgstr "Без обов’язкової оплати"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:348
#: lib/who_need_help_web/controllers/page_html/home.html.heex:353
#, elixir-autogen, elixir-format
msgid "No. Help has no mandatory fee. A helper may optionally publish an external thank-you link after a completed handover."
msgstr "Ні. Допомога не потребує обов’язкової оплати. Після підтвердженої передачі помічник може за бажанням указати зовнішнє посилання для подяки."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:315
#: lib/who_need_help_web/controllers/page_html/home.html.heex:320
#, elixir-autogen, elixir-format
msgid "Not only urgent help"
msgstr "Не лише термінова допомога"
@ -3925,52 +3925,52 @@ msgstr "Не лише термінова допомога"
msgid "Only after people and the vehicle are away from active traffic danger."
msgstr "Лише коли люди й транспорт перебувають поза небезпечною зоною активного руху."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:204
#: lib/who_need_help_web/controllers/page_html/home.html.heex:209
#, elixir-autogen, elixir-format
msgid "Only the matched requester and helper receive the private chat."
msgstr "Приватний чат доступний лише автору заявки й призначеному помічнику."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:178
#: lib/who_need_help_web/controllers/page_html/home.html.heex:183
#, elixir-autogen, elixir-format
msgid "Privacy by default"
msgstr "Приватність за замовчуванням"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:282
#: lib/who_need_help_web/controllers/page_html/home.html.heex:287
#, elixir-autogen, elixir-format
msgid "Private matched chat"
msgstr "Приватний чат після збігу"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:336
#: lib/who_need_help_web/controllers/page_html/home.html.heex:341
#, elixir-autogen, elixir-format
msgid "Quick answers"
msgstr "Короткі відповіді"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:306
#: lib/who_need_help_web/controllers/page_html/home.html.heex:311
#, elixir-autogen, elixir-format
msgid "Read the safety rules"
msgstr "Прочитати правила безпеки"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:389
#: lib/who_need_help_web/controllers/page_html/home.html.heex:394
#, elixir-autogen, elixir-format
msgid "Ready to ask or help nearby?"
msgstr "Готові попросити про допомогу або допомогти поруч?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#: lib/who_need_help_web/controllers/page_html/home.html.heex:294
#, elixir-autogen, elixir-format
msgid "Reports and blocking"
msgstr "Скарги й блокування"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:181
#: lib/who_need_help_web/controllers/page_html/home.html.heex:186
#, elixir-autogen, elixir-format
msgid "See nearby needs without exposing a home address"
msgstr "Дізнавайтеся про потреби поблизу, не розкриваючи домашню адресу"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:211
#: lib/who_need_help_web/controllers/page_html/home.html.heex:216
#, elixir-autogen, elixir-format
msgid "Share live location only by choice"
msgstr "Діліться геопозицією лише за власним вибором"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:321
#: lib/who_need_help_web/controllers/page_html/home.html.heex:326
#, elixir-autogen, elixir-format
msgid "Social activities are separate from urgent requests. Organizers approve participants, and exact meeting details stay inside the approved group."
msgstr "Соціальні активності відокремлені від термінових заявок. Організатори схвалюють учасників, а точні відомості про зустріч залишаються всередині схваленої групи."
@ -3985,27 +3985,27 @@ msgstr "Почніть із термінової практичної допом
msgid "The medicine is already legally purchased or reserved for pickup."
msgstr "Ліки вже законно придбані або зарезервовані для отримання."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:358
#: lib/who_need_help_web/controllers/page_html/home.html.heex:363
#, elixir-autogen, elixir-format
msgid "The medicine must already be legally purchased or reserved. The service does not prescribe, recommend, sell, or handle controlled substances."
msgstr "Ліки мають бути заздалегідь законно придбані або зарезервовані. Сервіс не призначає, не рекомендує, не продає й не обробляє контрольовані речовини."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:195
#: lib/who_need_help_web/controllers/page_html/home.html.heex:200
#, elixir-autogen, elixir-format
msgid "The public marker does not need to reveal an exact address."
msgstr "Публічна позначка не повинна розкривати точну адресу."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:284
#: lib/who_need_help_web/controllers/page_html/home.html.heex:289
#, elixir-autogen, elixir-format
msgid "There is no unsolicited inbox between strangers."
msgstr "Між незнайомими людьми немає можливості писати без збігу."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:184
#: lib/who_need_help_web/controllers/page_html/home.html.heex:189
#, elixir-autogen, elixir-format
msgid "These three points are synthetic examples. Real public discovery follows each requester's location visibility choice."
msgstr "Ці три точки — синтетичні приклади. Відображення реальних заявок залежить від обраної автором заявки видимості геопозиції."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:298
#: lib/who_need_help_web/controllers/page_html/home.html.heex:303
#, elixir-autogen, elixir-format
msgid "Verified reputation signals"
msgstr "Підтверджені сигнали репутації"
@ -4015,22 +4015,22 @@ msgstr "Підтверджені сигнали репутації"
msgid "What can you ask the community for?"
msgstr "Про що можна попросити спільноту?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:375
#: lib/who_need_help_web/controllers/page_html/home.html.heex:380
#, elixir-autogen, elixir-format
msgid "What if there is immediate danger?"
msgstr "Що робити за безпосередньої небезпеки?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:365
#: lib/who_need_help_web/controllers/page_html/home.html.heex:370
#, elixir-autogen, elixir-format
msgid "Who can see my exact address?"
msgstr "Хто побачить мою точну адресу?"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:368
#: lib/who_need_help_web/controllers/page_html/home.html.heex:373
#, elixir-autogen, elixir-format
msgid "You choose the visibility. Exact active coordinates can be limited to the matched helper and are removed when sharing stops."
msgstr "Ви самі обираєте видимість. Точні поточні координати можна показувати лише призначеному помічнику; після зупинення передавання вони видаляються."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:266
#: lib/who_need_help_web/controllers/page_html/home.html.heex:271
#, elixir-autogen, elixir-format
msgid "You stay in control of the match"
msgstr "Ви контролюєте взаємодію"
@ -4777,7 +4777,7 @@ msgstr "Завантажити ще в цій області"
msgid "Map"
msgstr "Карта"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#: lib/who_need_help_web/controllers/page_html/home.html.heex:173
#, elixir-autogen, elixir-format
msgid "Map preview"
msgstr "Попередній перегляд карти"
@ -4827,22 +4827,17 @@ msgstr "Розташування результатів"
msgid "Search this area"
msgstr "Шукати в цій області"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:164
#: lib/who_need_help_web/controllers/page_html/home.html.heex:169
#, elixir-autogen, elixir-format
msgid "Static preview"
msgstr "Статичний перегляд"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "The interactive demo could not start in this browser. You can retry or use the example steps beside it."
msgstr "Інтерактивна карта не запустилася в цьому браузері. Спробуйте ще раз або скористайтеся прикладами поруч."
#: lib/who_need_help_web/live/request_live/index.ex:402
#, elixir-autogen, elixir-format
msgid "Together"
msgstr "Разом"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:154
#: lib/who_need_help_web/controllers/page_html/home.html.heex:158
#: lib/who_need_help_web/live/activity_live/index.ex:286
#: lib/who_need_help_web/live/activity_live/show.ex:542
#: lib/who_need_help_web/live/notification_live.ex:512
@ -5550,3 +5545,23 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "code-confirmed handovers"
msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:168
#, elixir-autogen, elixir-format
msgid "Interactive fallback"
msgstr "Інтерактивний запасний режим"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:155
#, elixir-autogen, elixir-format
msgid "Select an example to preview it without exposing a real address."
msgstr "Виберіть приклад, щоб переглянути його без розкриття справжньої адреси."
#: lib/who_need_help_web/controllers/page_html/home.html.heex:157
#, elixir-autogen, elixir-format
msgid "Selected example:"
msgstr "Вибраний приклад:"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:150
#, elixir-autogen, elixir-format
msgid "WebGL is unavailable in this browser, so the full map cannot start. Select an example below or retry the map."
msgstr "WebGL недоступний у цьому браузері, тому повна карта не може запуститися. Виберіть приклад нижче або спробуйте запустити карту ще раз."