576 lines
40 KiB
TypeScript
576 lines
40 KiB
TypeScript
/**
|
||
* uk — translation drift fragment.
|
||
*
|
||
* The keys added to `en` after the original batch pass. Kept in their own
|
||
* module so this pass never touches the batch files. Composed into `uk` in
|
||
* `index.ts` via a deep merge (a shallow spread would clobber the sibling
|
||
* keys already present in the batches, e.g. `socialUi`, `walletUi`).
|
||
*/
|
||
const drift = {
|
||
nav: {
|
||
searchLanguages: "Пошук мов...",
|
||
noLanguages: "Мов не знайдено",
|
||
},
|
||
mapPage: {
|
||
searchSuggestPlaces: "Місця",
|
||
},
|
||
mapUi: {
|
||
firstRunTitle: "Почніть",
|
||
firstRunTip: "Торкніться будь-якої мітки, щоб дослідити. Нічого налаштовувати не потрібно — найближчі Spot за один дотик.",
|
||
firstRunAddSpot: "Додайте перший Spot",
|
||
firstRunJoinCrew: "Приєднатися до команди",
|
||
firstRunStartCrew: "Створіть свою команду",
|
||
firstRunWallet: "Налаштуйте гаманець",
|
||
forecastDays: "Прогноз на {{count}} днів",
|
||
},
|
||
spotUi: {
|
||
forecastDays: "Прогноз на {{count}} днів",
|
||
},
|
||
marketUi: {
|
||
trades: {
|
||
stateRevoked: "відкликано",
|
||
stateVerifying: "перевірка",
|
||
},
|
||
loadFailed: "Не вдалося зв'язатися з релеями. Перевірте з'єднання та спробуйте знову.",
|
||
statusPending: "в очікуванні",
|
||
offers: {
|
||
closeDeal: "Закрити угоду",
|
||
loadFailed: "Не вдалося завантажити пропозиції. Перевірте з'єднання та спробуйте знову.",
|
||
},
|
||
pay: {
|
||
nonSats: "Цю пропозицію оцінено в {{currency}}. Оплата в застосунку — лише в sats. Розрахуйтеся безпосередньо з продавцем.",
|
||
unsupported: "Цей платіжний код (запит Cashu) поки не підтримується. Попросіть у продавця Lightning-рахунок або адресу.",
|
||
},
|
||
escrowRequest: {
|
||
lockedNotSent: "Кошти заблоковано в escrow і збережено на цьому пристрої, але запит не надіслано. Відкрийте оголошення знову, щоб повторити. Не платіть ще раз.",
|
||
mintLabel: "Mint (де заблоковано кошти)",
|
||
sellerMintHint: "Продавець віддає перевагу цьому mint; кошти, заблоковані тут, йому найлегше отримати.",
|
||
mintHint: "Escrow зберігається в цьому mint. Продавець погашає тут, тож виберіть той, якому довіряєте обидва.",
|
||
noMints: "Немає доступних mint",
|
||
p2pkUnsupported: "Цей mint не заявляє підтримку P2PK (NUT-11), тож escrow тут заблокувати не можна. Виберіть інший mint.",
|
||
},
|
||
},
|
||
labUi: {
|
||
offerClothing: "Запропонувати одяг",
|
||
tabClothing: "Одяг",
|
||
empty: {
|
||
clothingTitle: "Дизайнерів одягу поки немає",
|
||
clothingBody: "Станьте першим, хто запропонує кастомний одяг, командні комплекти й екіпірування для сцени.",
|
||
transportTitle: "Перевізників поки немає",
|
||
transportBody: "Перевозиш скейтерів, спорядження чи вантажі? Додай своє авто, вен, таксі, велосипед, гелікоптер, літак або човен.",
|
||
},
|
||
craftFields: {
|
||
sizing: "Діапазон розмірів",
|
||
samples: "Зразки / прототипи",
|
||
customization: "Кастомізація",
|
||
capacity: "Місткість",
|
||
cargo: "Місце для вантажу",
|
||
coverage: "Покриття / маршрути",
|
||
availability: "Доступність",
|
||
base: "Базова зона",
|
||
accessibility: "Безбар'єрний доступ",
|
||
},
|
||
tabTransport: "Транспорт",
|
||
filterVehicles: "Транспорт",
|
||
filterTransportServices: "Послуги",
|
||
filterCapabilities: "Можливості",
|
||
filterCapacity: "Місткість",
|
||
filterCoverage: "Покриття",
|
||
offerTransport: "Запропонувати транспорт",
|
||
labLink: {
|
||
transport: "Транспорт",
|
||
},
|
||
detail: {
|
||
noun: {
|
||
transport: "перевізник",
|
||
},
|
||
skillsTitle: {
|
||
transport: "Транспорт і послуги",
|
||
},
|
||
},
|
||
},
|
||
socialUi: {
|
||
coordinator: {
|
||
ourDefaultTitle: "Координатор SkateSpots",
|
||
ourDefaultDesc: "SkateSpots запускає координатор на relay.skate-spots.org. Використовуйте його за замовчуванням або запустіть власний — координатор бачить лише шифротекст і метадані, ніколи ваші повідомлення.",
|
||
useOurs: "Використати координатор SkateSpots",
|
||
},
|
||
crewCoordinator: {
|
||
encryptedChat: "Зашифрований чат",
|
||
privateChatName: "Приватний чат",
|
||
privateChatDesc: "Груповий чат із прямою секретністю (MLS) через координатор.",
|
||
privateChatDescFull: "Приватний чат створює адміністратор один раз, потім учасники приєднуються.",
|
||
chatRowDesc: "Усі в команді — запечатано ключем кожного учасника (NIP-17).",
|
||
openChat: "Відкрити",
|
||
setUpChat: "Налаштувати",
|
||
joinChat: "Приєднатися",
|
||
checking: "Перевірка…",
|
||
openInAnotherApp: "Відкрити в іншому застосунку",
|
||
openInCordnWeb: "Cordn (веб)",
|
||
openCordnGroup: "Відкрити чат команди",
|
||
copyForStaircase: "Копіювати для Staircase",
|
||
},
|
||
dms: {
|
||
refresh: "Оновити",
|
||
privateRooms: "Приватні кімнати",
|
||
crews: "Команди",
|
||
crewFounder: "Засновник",
|
||
crewMember: "Учасник",
|
||
crewOpen: "Відкрити",
|
||
crewSetUp: "Налаштувати",
|
||
},
|
||
form: {
|
||
cordnGroup: "Група Cordn",
|
||
cordnGroupHint: "Необов'язково: вставте посилання на групу зі Staircase або Cordn (веб). Тоді ваша команда отримає справжній наскрізний MLS-чат на нашому координаторі.",
|
||
},
|
||
bell: {
|
||
dmsUnread: "{{count}} нових зашифрованих повідомлень",
|
||
messagesAndCrews: "Повідомлення та чати crew",
|
||
},
|
||
},
|
||
settingsUi: {
|
||
loginDialog: {
|
||
welcomeSubtitleBrowse: "Зареєструйтеся або увійдіть — або продовжуйте перегляд.",
|
||
extensionCard: "Розширення браузера",
|
||
signerCard: "Застосунок-підписувач",
|
||
secretKeyLink: "Використати секретний ключ",
|
||
whereBunker: "Де взяти бункер?",
|
||
},
|
||
settingsPage: {
|
||
trust: "Довіра",
|
||
trustSub: "Джерела та відображення",
|
||
},
|
||
},
|
||
walletUi: {
|
||
trust: {
|
||
mute: "Заглушити",
|
||
muted: "Заглушено",
|
||
mutedDesc: "Ви не бачитимете їхній вміст.",
|
||
unmute: "Зняти заглушення",
|
||
unmuted: "Заглушення знято",
|
||
unmutedDesc: "Їхній вміст знову буде видно.",
|
||
unmuteFailed: "Не вдалося зняти заглушення. Спробуйте знову.",
|
||
muteFailed: "Не вдалося заглушити. Спробуйте знову.",
|
||
loginToMute: "Увійдіть, щоб заглушити.",
|
||
attributedNetwork: "Від людей з вашої мережі",
|
||
attributedProviderHouse: "Від спільного провайдера довіри",
|
||
attributedProviderCustom: "Від обраного вами провайдера",
|
||
howItWorks: "Як працює довіра",
|
||
flaggedNoticeTitle: "Повідомлено довіреними скейтерами",
|
||
flaggedNoticeDesc: "Будьте обережні. Довірені люди в мережі повідомили про цей акаунт.",
|
||
flaggedReporterFollow: "{{count}} з ваших підписок",
|
||
flaggedReporterNetwork: "{{count}} з вашої мережі",
|
||
flaggedReporterOther: "{{count}} інших акаунтів",
|
||
flaggedReport: "Поскаржитися",
|
||
flaggedDismiss: "Відхилити",
|
||
bucketVerified: "Підтверджено",
|
||
bucketUnknown: "Невідомо",
|
||
bucketFlagged: "Позначено",
|
||
bucketVerifiedDesc: "Хтось із вашої мережі поручився за цей акаунт.",
|
||
bucketUnknownDesc: "Поки ніхто з вашої мережі не поручився за цей акаунт.",
|
||
bucketFlaggedDesc: "Довірені люди повідомили про цей акаунт.",
|
||
reportedByTrusted: "Повідомлено {{count}} довіреними людьми",
|
||
},
|
||
stats: {
|
||
transport: "Транспорт",
|
||
},
|
||
},
|
||
trustUi: {
|
||
alertsTitle: "Мережеві оповіщення",
|
||
alertsDesc: "Акаунти, за якими ви стежите, про які повідомили або які заглушили довірені люди.",
|
||
alertsEmpty: "Немає оповіщень. Ми перевіряємо акаунти, за якими ви стежите, на повідомлення від довірених людей.",
|
||
alertsReported: "Повідомлено {{count}} довіреними людьми",
|
||
alertsMuted: "Заглушено {{count}} довіреними людьми",
|
||
alertsIgnore: "Ігнорувати",
|
||
alertsUnfollow: "Відписатися",
|
||
alertsLogin: "Увійдіть, щоб бачити оповіщення щодо акаунтів, за якими стежите.",
|
||
providerTitle: "Провайдер",
|
||
providerDesc: "Оцінки надходять від обраного вами провайдера. Спільний провайдер — за замовчуванням.",
|
||
useCommunity: "Використати спільного провайдера",
|
||
setProvider: "Вказати провайдера",
|
||
customPubkeyPlaceholder: "npub або hex-публічний ключ провайдера",
|
||
customRelayPlaceholder: "wss://relay.example.com",
|
||
invalidProvider: "Введіть дійсний npub або 64-символьний hex-публічний ключ і релей wss://.",
|
||
publishFailed: "Не вдалося опублікувати провайдера. Спробуйте знову.",
|
||
providerSaved: "Провайдера оновлено.",
|
||
loggedOutProvider: "Увійдіть, щоб вибрати провайдера.",
|
||
showMarks: "Показувати позначки довіри",
|
||
showMarksDesc: "Підтверджені та невідомі позначки. Повідомлення показуються завжди.",
|
||
sourceLabel: "Джерело",
|
||
sourceHouse: "Спільний провайдер довіри",
|
||
sourceCustom: "Ваш провайдер",
|
||
loggedOut: "Увійдіть, щоб вибрати власного провайдера довіри.",
|
||
seoTitle: "Як працює довіра",
|
||
seoDescription: "Як SkateSpots показує довіру: три стани, звідки беруться оцінки й чому відсутність позначки — не недовіра.",
|
||
title: "Як працює довіра",
|
||
intro: "Довіра тут — сигнал, а не вирок. Вона походить від тих, кого ви знаєте, або від обраного вами провайдера. Ми не складаємо глобальний рейтинг людей.",
|
||
statesTitle: "Три стани",
|
||
verifiedTitle: "Підтверджено",
|
||
verifiedDesc: "Хтось із вашої мережі поручився за цей акаунт: друг друга або обраний вами провайдер.",
|
||
unknownTitle: "Невідомо",
|
||
unknownDesc: "Поки ніхто не поручився. З цього починається кожен новий акаунт.",
|
||
flaggedTitle: "Позначено",
|
||
flaggedDesc: "Довірені люди повідомили про цей акаунт. Це попередження придивитися, а не доказ чогось.",
|
||
absenceTitle: "Відсутність позначки — не недовіра",
|
||
absenceDesc: "У більшості акаунтів немає жодних позначок. Це означає, що ніхто з вашої мережі поки не поручився за них, а не те, що щось не так. Ніколи не сприймайте відсутню позначку як мінус.",
|
||
sourceTitle: "Хто це обчислює",
|
||
sourceDesc: "За замовчуванням ми використовуємо вашу власну мережу. Ви також можете вибрати провайдера довіри, який публікує підписані оцінки через Nostr (NIP-85), або вимкнути відображення. Позначене показується завжди, бо це сигнал безпеки.",
|
||
endorsementTitle: "Присутність — не схвалення",
|
||
endorsementDesc: "Підтверджена позначка означає, що хтось поручився, а не що людина хороша. Позначка «позначено» означає, що довірені люди повідомили про неї, а не що вона винна. Перевірте деталі, перш ніж вирішувати.",
|
||
povTitle: "Усе залежить від точки зору",
|
||
povDesc: "Оцінка відносна до того, хто дивиться. Рейтинг від одного провайдера чи людини незрівнянний з іншим, і ми ніколи не подаємо його як об'єктивний факт.",
|
||
settingsCta: "Керувати в налаштуваннях",
|
||
},
|
||
marketTerms: {
|
||
link: "Правила маркетплейсу",
|
||
seoTitle: "Правила маркетплейсу",
|
||
seoDescription: "Як працюють оголошення спорядження на SkateSpots: напряму між людьми, покупець будь уважний, і правила.",
|
||
title: "Правила маркетплейсу",
|
||
intro: "SkateSpots — дошка оголошень про спорядження напряму між людьми. Ви маєте справу безпосередньо з іншою людиною: ми не тримаємо кошти, не надсилаємо товари й не вирішуємо спори.",
|
||
howTitle: "Як це працює",
|
||
howBody: "Виставте спорядження, зв'яжіться з продавцем у приватному повідомленні та розрахуйтеся напряму (готівка, Lightning або обмін). Кошика чи оформлення замовлення немає.",
|
||
rulesTitle: "Що заборонено",
|
||
rulesBody: "Жодного незаконного, небезпечного чи дорослого контенту; жодних наркотиків, зброї, підроблених чи крадених товарів. Оголошення мають стосуватися скейт-спорядження та пов'язаних речей.",
|
||
respectTitle: "Поважайте інших",
|
||
respectBody: "Жодних образ, переслідування, погроз чи ненависті. Модератори можуть приховувати оголошення чи акаунти.",
|
||
trustTitle: "Довіра — орієнтир, а не гарантія",
|
||
trustBody: "Позначки підтвердження та торгова репутація — це сигнали з мережі, а не обіцянки. Перевіряйте самі, перш ніж торгувати.",
|
||
trustLink: "Як працює довіра",
|
||
privacyLink: "Що залишає ваш пристрій",
|
||
safetyTitle: "Торгуйте безпечно",
|
||
safetyBody: "Зустрічайтеся в громадських місцях для передачі, використовуйте escrow або добросовісний задаток для відправлених угод і ніколи не надсилайте гроші поза застосунком.",
|
||
moderationTitle: "Модерація м'яка й оборотна",
|
||
moderationBody: "Прихований вміст залишається на релеях і може бути відновлений; спори між людьми — ваша справа.",
|
||
},
|
||
labOptions: {
|
||
clothing: {
|
||
service: {
|
||
tees: "Футболки",
|
||
hoodies: "Худі та світшоти",
|
||
pants: "Штани та шорти",
|
||
jackets: "Куртки та верхній одяг",
|
||
kits: "Командні комплекти та джерсі",
|
||
caps: "Кепки та шапки",
|
||
socks: "Шкарпетки",
|
||
accessories: "Сумки та аксесуари",
|
||
footwear: "Взуття",
|
||
patches: "Патчі та аплікації",
|
||
griptape: "Гриптейп та одяг для дек",
|
||
onepiece: "Одиничні речі / апсайклінг",
|
||
},
|
||
serviceDesc: {
|
||
tees: "Кастомні футболки та топи",
|
||
hoodies: "Худі, світшоти та спортивні штани",
|
||
pants: "Робочі штани, карго та шорти",
|
||
jackets: "Куртки-коучівки, вітровки та робочі куртки",
|
||
kits: "Командні комплекти, джерсі та форма",
|
||
caps: "Кепки, шапки та головні убори",
|
||
socks: "Високі шкарпетки та трикотаж",
|
||
accessories: "Сумки, ремені та дрібниці",
|
||
footwear: "Кастомне взуття",
|
||
patches: "Вишиті патчі та аплікації",
|
||
griptape: "Арт на гриптейпі та одяг для дек",
|
||
onepiece: "Одиничні речі та апсайкл-одяг",
|
||
},
|
||
method: {
|
||
screenprint: "Шовкодрук",
|
||
dtg: "DTG / прямий друк по тканині",
|
||
embroidery: "Вишивка",
|
||
cutsew: "Крій і шиття",
|
||
sublimation: "Сублімація",
|
||
heattransfer: "Термотрансфер / вініл",
|
||
garmentdye: "Фарбування виробів",
|
||
knit: "Трикотаж",
|
||
patchwork: "Печворк",
|
||
allover: "Друк по всій поверхні",
|
||
},
|
||
material: {
|
||
cotton: "Бавовна",
|
||
heavyweight: "Щільна тканина",
|
||
organic: "Органіка / сталість",
|
||
fleece: "Фліс",
|
||
denim: "Денім",
|
||
canvas: "Канвас",
|
||
nylon: "Нейлон / технічні тканини",
|
||
wool: "Меринос / вовна",
|
||
leather: "Шкіра",
|
||
recycled: "Перероблене / сток",
|
||
},
|
||
},
|
||
transport: {
|
||
capacity: {
|
||
solo: "1–3 особи",
|
||
small_group: "4–7 осіб",
|
||
large_group: "8+ осіб",
|
||
van_load: "Повний фургон",
|
||
freight: "Вантаж / карго",
|
||
},
|
||
coverage: {
|
||
local: "Місцевий",
|
||
regional: "Регіональний",
|
||
national: "Національний",
|
||
international: "Міжнародний",
|
||
cross_border: "Транскордонні маршрути",
|
||
},
|
||
},
|
||
},
|
||
becomeRolesUi: {
|
||
clothing: {
|
||
seoTitle: "Стати дизайнером одягу - SkateSpots",
|
||
seoDescription: "Кастомний одяг, командні комплекти та екіпірування для сцени.",
|
||
heading: "Дизайнер одягу",
|
||
tagline: "Кастомний одяг, командні комплекти та екіпірування для сцени",
|
||
noun: "дизайнер одягу",
|
||
rateLabel: "Ставка",
|
||
portfolioLabel: "Посилання на магазин / портфоліо",
|
||
sectionWhatYouMake: "Що ви створюєте",
|
||
sectionHowYouMake: "Як ви це робите",
|
||
sectionMaterials: "Матеріали",
|
||
minimumPlaceholder: "напр. 10 штук",
|
||
turnaroundPlaceholder: "напр. 2–3 тижні",
|
||
sizingPlaceholder: "напр. XS–3XL / за мірками",
|
||
samplesHelper: "Чи пропонуєте ви зразки або прототипи перед повним тиражем?",
|
||
customizationPlaceholder: "напр. імена, номери, графіка",
|
||
},
|
||
transport: {
|
||
seoTitle: "Запропонувати транспорт / перевезення - SkateSpots",
|
||
seoDescription: "Перевозь скейтерів, спорядження та вантажі — авто, таксі, вени, мотоцикли, гелікоптери, літаки й човни. Самозаявлено, перевірено спільнотою.",
|
||
heading: "Транспорт / Водій",
|
||
tagline: "Перевози людей і спорядження сценою — землею, повітрям чи водою",
|
||
noun: "перевізник",
|
||
rateLabel: "Ставка / поїздка",
|
||
portfolioLabel: "Фото транспорту / автопарку",
|
||
sectionVehicles: "Транспорт",
|
||
sectionServices: "Послуги",
|
||
sectionFeatures: "Що доступно",
|
||
sectionCapacity: "Місткість",
|
||
sectionCoverage: "Покриття",
|
||
capacityLabel: "Місткість",
|
||
capacityPlaceholder: "напр. 4 пасажири / 2 дошки",
|
||
cargoLabel: "Місце для вантажу",
|
||
cargoPlaceholder: "напр. повний вен, 8 коробок з деками",
|
||
coverageLabel: "Покриття / маршрути",
|
||
coveragePlaceholder: "напр. Київ ↔ Львів, регіонально",
|
||
availabilityLabel: "Доступність",
|
||
availabilityPlaceholder: "напр. вихідні, дні подій, на виклик",
|
||
baseLabel: "Базова зона",
|
||
basePlaceholder: "напр. Київ / Бровари",
|
||
accessibilityLabel: "Безбар'єрний доступ",
|
||
accessibilityPlaceholder: "напр. пандус, місце для візка, допомога",
|
||
},
|
||
},
|
||
weatherUi: {
|
||
updated: "Оновлено",
|
||
refresh: "Оновити",
|
||
unavailable: "Погода недоступна.",
|
||
retry: "Повторити",
|
||
sunrise: "Схід",
|
||
sunset: "Захід",
|
||
legendTitle: "Оцінка погоди",
|
||
legendWeatherOnly: "Лише погода",
|
||
},
|
||
cordnUi: {
|
||
shareInvite: 'Запросити',
|
||
shareInviteText: 'Долучайся до {{crew}} — приватний чат команди',
|
||
inviteCopied: 'Посилання-запрошення скопійовано',
|
||
title: "Приватний чат",
|
||
subtitle: "Наскрізне шифрування (MLS) між учасниками команди. Координатор маршрутизує лише шифротекст і метадані — він ніколи не бачить вміст повідомлень.",
|
||
notLoggedIn: "Увійдіть, щоб користуватися приватним чатом команди.",
|
||
membersOnly: "Лише учасники команди можуть відкрити приватний чат.",
|
||
connecting: "Підключення…",
|
||
noCoordinator: "Для цієї команди ще не налаштовано координатор.",
|
||
noGroupAdmin: "Приватний чат цієї команди ще не створено.",
|
||
noGroupMember: "Ви ще не в приватному чаті цієї команди.",
|
||
create: "Створити приватний чат",
|
||
requestJoin: "Попросити приєднатися",
|
||
requestAgain: "Запросити знову",
|
||
requestHandled: "Заявку оброблено",
|
||
copyCordnLink: "Копіювати посилання Cordn",
|
||
cordnWebCaveat: "Cordn web може зависнути після входу; приєднання в застосунку надійніше.",
|
||
checkInvite: "Перевірити запрошення",
|
||
requested: "Запит надіслано — адміністратор команди його схвалить.",
|
||
noInvite: "Запрошення ще не чекає. Попросіть адміністратора схвалити ваш запит.",
|
||
placeholder: "Повідомлення для команди…",
|
||
send: "Надіслати",
|
||
refresh: "Оновити",
|
||
requests: "Запити на приєднання",
|
||
checkRequests: "Перевірити запити",
|
||
approve: "Додати",
|
||
approveTitle: "Схвалити цей пристрій?",
|
||
approveDesc: "Додати {{name}} до цієї зашифрованої кімнати? Цей пристрій зможе читати нові повідомлення.",
|
||
noRequests: "Немає запитів на приєднання, що очікують.",
|
||
inviteHint: "Поки в цьому чаті лише ви — учасники команди можуть натиснути «Попросити приєднатися», а ви схвалите їх тут.",
|
||
memberCount: "{{count}} у групі",
|
||
you: "Ви",
|
||
groupRef: "Посилання на групу",
|
||
copyRef: "Копіювати",
|
||
copied: "Скопійовано",
|
||
attachImage: "Прикріпити зображення",
|
||
uploading: "Завантаження…",
|
||
uploadFailed: "Не вдалося завантажити зображення.",
|
||
bannerTitle: "У цієї команди ще немає приватного чату",
|
||
bannerBody: "Налаштуйте наскрізно зашифрований (MLS) чат для вашої команди — учасники приєднуються з вкладки.",
|
||
bannerCta: "Налаштувати",
|
||
ready: "Підключено · MLS",
|
||
errorPrefix: "Не вдалося зв'язатися з координатором",
|
||
interactiveHint: "Ваш підписувач запитує підтвердження для кожної дії — використовуйте «Оновити» та «Надіслати» за потреби.",
|
||
setupDevice: "Налаштувати цей пристрій",
|
||
setupDeviceBody: "Це дає пристрою власний ключ для приватного чату. Засновник схвалить його один раз.",
|
||
waitingApproval: "Очікування схвалення засновника…",
|
||
waitingApprovalManual: "Очікування засновника. Після схвалення натисніть «Перевірити запрошення».",
|
||
onboardingFounder1: "Запустіть приватний чат.",
|
||
onboardingFounder2: "Схвалюйте учасників, які просять приєднатися.",
|
||
onboardingFounder3: "Спілкуйтеся приватно зі своєю командою.",
|
||
onboardingMember1: "Попросити приєднатися",
|
||
onboardingMember2: "Засновник схвалить ваш пристрій.",
|
||
onboardingMember3: "Ви всередині — повідомлення зашифровані.",
|
||
encryptedNote: "Читати можуть лише учасники команди; координатор лише передає зашифровані повідомлення.",
|
||
advanced: "Додатково",
|
||
compareTitle: "Чат і приватний чат",
|
||
compareChat: "Чат — це стандартний груповий DM за NIP-17. Він працює з іншими клієнтами Nostr і не потребує координатора.",
|
||
comparePrivate: "Приватний чат використовує MLS: суворіший контроль учасників і пряма секретність. Координатор бачить метадані групи та шифротекст, але ніколи — текст повідомлень.",
|
||
coordinator: "Координатор",
|
||
lastChecked: "Остання перевірка",
|
||
keyPackage: "Пакет ключів",
|
||
keyPackageReady: "Готово на цьому пристрої",
|
||
keyPackageMissing: "Не налаштовано на цьому пристрої",
|
||
members: "Учасники",
|
||
roleFounder: "Засновник",
|
||
roleAdmin: "Адміністратор",
|
||
makeAdmin: "Зробити адміністратором",
|
||
removeAdmin: "Зняти адміністратора",
|
||
adminAdded: "Учасника підвищено до адміністратора.",
|
||
adminRemoved: "Роль адміністратора знято.",
|
||
roleUpdateFailed: "Не вдалося змінити роль. Спробуйте ще раз.",
|
||
addReaction: "Додати реакцію",
|
||
deleteMessage: "Видалити повідомлення",
|
||
deleteMessageConfirm: "Видалити це повідомлення для всіх?",
|
||
readBy: "Прочитали: {{count}}",
|
||
joinRequestTitle: "Запит на приватний чат",
|
||
joinRequestFor: "Новий запит на приєднання до {{crew}}",
|
||
joinRequestReview: "Переглянути запит",
|
||
joinRequestDismiss: "Відхилити запит",
|
||
roleMember: "Учасник",
|
||
qrTitle: "Відскануйте, щоб увійти до приватного чату",
|
||
qrHint: "Учасники команди сканують код камерою телефона. Посилання відкриває вкладку «Приватний чат».",
|
||
sendFailed: "Не вдалося надіслати — натисніть «Повторити».",
|
||
queued: "У черзі на цьому пристрої",
|
||
sending: "Надсилання…",
|
||
sent: "Надіслано",
|
||
retry: "Повторити",
|
||
errorUnreachable: "Не вдалося зв’язатися з приватним чатом. Перевірте з’єднання.",
|
||
errorDetails: "Подробиці",
|
||
unreachable: "Недоступно",
|
||
dismiss: "Закрити",
|
||
linkDevice: "Прив’язати цей пристрій",
|
||
linkDeviceTitle: "Прив’язати інший пристрій",
|
||
linkDeviceHint: "Відскануйте цей код на пристрої, який уже є в кімнаті.",
|
||
linkDeviceNote: "Код містить пакет відкритих ключів. Ваш закритий ключ залишиться на новому пристрої.",
|
||
waitingDevice: "Очікування іншого пристрою…",
|
||
addDevice: "Додати пристрій",
|
||
deviceLinked: "Пристрій додано.",
|
||
deviceLinkFailed: "Не вдалося додати цей пристрій.",
|
||
removeMemberConfirm: "Видалити {{name}} з приватного чату? Цей пристрій втратить доступ.",
|
||
removeMemberFailed: "Не вдалося видалити цього учасника.",
|
||
reply: "Відповісти",
|
||
},
|
||
communityUi: {
|
||
link: "Спільнота",
|
||
title: "Чат спільноти",
|
||
subtitle: "Став запитання, ділися відгуками й спілкуйся зі спільнотою SkateSpots — з наскрізним шифруванням.",
|
||
heading: "Спільнота SkateSpots",
|
||
eyebrow: "Запитання та відгуки",
|
||
seoTitle: "Чат спільноти SkateSpots",
|
||
seoDescription: "Запитання, відгуки та спілкування спільноти — з наскрізним шифруванням.",
|
||
notLoggedIn: "Увійди, щоб приєднатися до чату спільноти.",
|
||
noGroupAdmin: "Кімнату спільноти ще не створено.",
|
||
noGroupMember: "Ти ще не в кімнаті спільноти.",
|
||
waitingApproval: "Чекаємо на схвалення від бота спільноти або адміністратора…",
|
||
waitingApprovalManual: "Ручний режим. Коли схвалять, натисни «Перевірити запрошення».",
|
||
noInvite: "Запрошення ще немає. Бот зазвичай схвалює протягом хвилини — після цього натисни «Перевірити запрошення».",
|
||
pendingRequests: "{{count}} запитів на приєднання в очікуванні",
|
||
pendingRequestsDesc: "Бот зазвичай схвалює автоматично. Якщо застрягло, відкрий кімнату нижче й натисни «Перевірити запити».",
|
||
botMissing: "Бота спільноти зараз немає в цій кімнаті, тож заявки на вступ розгляне адміністратор.",
|
||
secondDeviceHint: "Уже є учасником на іншому пристрої? Використай «Прив’язати цей пристрій» для прямого перенесення або попроси знову долучитися з цього пристрою.",
|
||
create: "Створити кімнату спільноти",
|
||
setupDeviceBody: "Це дає цьому пристрою ключ до кімнати спільноти. Адміністратор або бот підтверджує його один раз.",
|
||
onboardingFounder1: "Створи кімнату спільноти.",
|
||
onboardingFounder2: "Підтверджуй бота спільноти та нових учасників.",
|
||
onboardingFounder3: "Відповідай на запитання та збирай відгуки.",
|
||
onboardingMember1: "Попроси приєднатися до кімнати спільноти.",
|
||
onboardingMember2: "Адміністратор або бот спільноти підтвердить твій пристрій.",
|
||
onboardingMember3: "Став запитання, ділися відгуками або просто привітайся.",
|
||
encryptedNote: "Читати це можуть лише учасники кімнати; координатор передає тільки зашифровані повідомлення.",
|
||
shareInviteText: "Приєднуйся до чату спільноти SkateSpots",
|
||
qrTitle: "Скануй, щоб увійти до чату спільноти",
|
||
qrHint: "Відскануй камерою телефона, щоб відкрити чат спільноти й попросити про приєднання.",
|
||
owner: "Власник",
|
||
botName: "Бот спільноти",
|
||
howItWorks: "Нові пристрої один раз підтверджує адміністратор або бот спільноти. Повідомлення, надіслані до твого приєднання, тобі не видно.",
|
||
feedbackNote: "Запитання та відгуки вітаються. Будь доброзичливим — це спільна кімната.",
|
||
},
|
||
translateUi: {
|
||
title: "Переклад повідомлень",
|
||
translate: "Перекласти",
|
||
translating: "Переклад…",
|
||
showOriginal: "Показати оригінал",
|
||
showTranslation: "Показати переклад",
|
||
translatedFrom: "Перекладено з {{language}}",
|
||
failed: "Не вдалося перекласти. Спробуйте ще раз.",
|
||
unsupported: "Ця мовна пара поки недоступна.",
|
||
pilotNote: "Пілот: лише англійська ↔ іспанська.",
|
||
autoTranslate: "Автоматично перекладати повідомлення",
|
||
autoTranslateDesc: "Перекладати вхідні повідомлення вашою мовою. Працює на цьому пристрої; нічого не надсилається.",
|
||
privacy: "Переклад виконується на вашому пристрої. Ваше повідомлення ніколи його не залишає. Під час першого використання завантажується мовна модель.",
|
||
},
|
||
newsletterDraftUi: {
|
||
weeklyDraftReady: 'Тижнева чернетка готова',
|
||
loadDraft: 'Завантажити чернетку',
|
||
hidePreview: 'Приховати попередній перегляд',
|
||
untitled: 'Без назви',
|
||
},
|
||
signerPromptUi: {
|
||
title: "Бюджет запитів Amber",
|
||
body: "Amber запитує підтвердження для кожної підписаної дії. Читання та фонове розшифрування відбуваються локально й не викликають запитів. Надсилання групового DM запитує по одному разу на кожного отримувача (шифрування + підпис), а Cordn може запитувати на кожен запит координатора. Для частого приватного чату або чату екіпажу тихіше використовувати бункер чи локальний ключ.",
|
||
bunker: "Залиште Amber для важливих підписів або перейдіть на бункер, якщо очікуєте довгу розмову.",
|
||
},
|
||
globalSearchUi: {
|
||
open: "Пошук",
|
||
placeholder: "Пошук спотів, екіпажів, подій, спорядження…",
|
||
hint: "⌘K / Ctrl+K",
|
||
recent: "Нещодавні",
|
||
pages: "Сторінки",
|
||
spots: "Споти",
|
||
shops: "Магазини",
|
||
crews: "Екіпажі",
|
||
events: "Події",
|
||
gear: "Спорядження",
|
||
skaters: "Скейтери",
|
||
signers: "Підписувачі",
|
||
trust: "Довіра",
|
||
noResults: "Немає результатів для «{{query}}».",
|
||
},
|
||
marketplaceExtrasUi: {
|
||
savedSearches: "Збережені пошуки",
|
||
saveSearch: "Зберегти пошук",
|
||
searchName: "Назвіть цей пошук…",
|
||
deleteSearch: "Видалити збережений пошук",
|
||
safetyTitle: "Купуйте й продавайте безпечно",
|
||
safetyMeet: "Зустрічайтеся в публічному місці та огляньте спорядження до оплати.",
|
||
safetyKeys: "Ніколи не діліться seed-фразами чи приватними ключами. Тримайте угоду в чаті застосунку.",
|
||
safetyEscrow: "Для доставки спершу прочитайте умови ескроу: Cashu-ескроу працює лише в нативному застосунку й не перевірений.",
|
||
safetyMore: "Прочитати правила маркетплейсу",
|
||
offerTemplates: "Швидкі нотатки",
|
||
offerDiscount: "Можете зробити знижку 10%?",
|
||
offerSwap: "Розглянете обмін?",
|
||
offerPickup: "Можу забрати цього тижня.",
|
||
offerShipping: "Можете об'єднати доставку?",
|
||
},
|
||
placesUi: {
|
||
eventDetail: {
|
||
eventPass: "Перепустка на подію"
|
||
},
|
||
},
|
||
};
|
||
|
||
export default drift;
|