SkateSpots/src/i18n/uk/drift.ts

377 lines
26 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 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: "Почніть",
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: "Станьте першим, хто запропонує кастомний одяг, командні комплекти й екіпірування для сцени.",
},
craftFields: {
sizing: "Діапазон розмірів",
samples: "Зразки / прототипи",
customization: "Кастомізація",
},
},
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: "Оновити",
crews: "Команди",
crewFounder: "Засновник",
crewMember: "Учасник",
crewOpen: "Відкрити",
crewSetUp: "Налаштувати",
},
form: {
cordnGroup: "Група Cordn",
cordnGroupHint: "Необов'язково: вставте посилання на групу зі Staircase або Cordn (веб). Тоді ваша команда отримає справжній наскрізний MLS-чат на нашому координаторі.",
},
},
settingsUi: {
loginDialog: {
welcomeSubtitleBrowse: "Зареєструйтеся або увійдіть — або продовжуйте перегляд.",
extensionCard: "Розширення браузера",
signerCard: "Застосунок-підписувач",
secretKeyLink: "Використати секретний ключ",
whereBunker: "Де взяти бункер?",
},
settingsPage: {
trust: "Довіра",
trustSub: "Джерела та відображення",
},
},
walletUi: {
trust: {
mute: "Заглушити",
muted: "Заглушено",
mutedDesc: "Ви не бачитимете їхній вміст.",
muteFailed: "Не вдалося заглушити. Спробуйте знову.",
loginToMute: "Увійдіть, щоб заглушити.",
attributedNetwork: "Від людей з вашої мережі",
attributedProviderHouse: "Від спільного провайдера довіри",
attributedProviderCustom: "Від обраного вами провайдера",
howItWorks: "Як працює довіра",
flaggedNoticeTitle: "Повідомлено довіреними скейтерами",
flaggedNoticeDesc: "Будьте обережні. Довірені люди в мережі повідомили про цей акаунт.",
flaggedReporterFollow: "{{count}} з ваших підписок",
flaggedReporterNetwork: "{{count}} з вашої мережі",
flaggedReporterOther: "{{count}} інших акаунтів",
flaggedReport: "Поскаржитися",
flaggedDismiss: "Відхилити",
bucketVerified: "Підтверджено",
bucketUnknown: "Невідомо",
bucketFlagged: "Позначено",
bucketVerifiedDesc: "Хтось із вашої мережі поручився за цей акаунт.",
bucketUnknownDesc: "Поки ніхто з вашої мережі не поручився за цей акаунт.",
bucketFlaggedDesc: "Довірені люди повідомили про цей акаунт.",
reportedByTrusted: "Повідомлено {{count}} довіреними людьми",
},
},
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: "Перероблене / сток",
},
},
},
becomeRolesUi: {
clothing: {
seoTitle: "Стати дизайнером одягу - SkateSpots",
seoDescription: "Кастомний одяг, командні комплекти та екіпірування для сцени.",
heading: "Дизайнер одягу",
tagline: "Кастомний одяг, командні комплекти та екіпірування для сцени",
noun: "дизайнер одягу",
rateLabel: "Ставка",
portfolioLabel: "Посилання на магазин / портфоліо",
sectionWhatYouMake: "Що ви створюєте",
sectionHowYouMake: "Як ви це робите",
sectionMaterials: "Матеріали",
minimumPlaceholder: "напр. 10 штук",
turnaroundPlaceholder: "напр. 2–3 тижні",
sizingPlaceholder: "напр. XS–3XL / за мірками",
samplesHelper: "Чи пропонуєте ви зразки або прототипи перед повним тиражем?",
customizationPlaceholder: "напр. імена, номери, графіка",
},
},
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: "Попросити приєднатися",
checkInvite: "Перевірити запрошення",
requested: "Запит надіслано — адміністратор команди його схвалить.",
noInvite: "Запрошення ще не чекає. Попросіть адміністратора схвалити ваш запит.",
placeholder: "Повідомлення для команди…",
send: "Надіслати",
refresh: "Оновити",
requests: "Запити на приєднання",
checkRequests: "Перевірити запити",
approve: "Додати",
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: "Додатково",
coordinator: "Координатор",
keyPackage: "Пакет ключів",
keyPackageReady: "Готово на цьому пристрої",
keyPackageMissing: "Не налаштовано на цьому пристрої",
members: "Учасники",
roleFounder: "Засновник",
roleAdmin: "Адміністратор",
roleMember: "Учасник",
qrTitle: "Відскануйте, щоб увійти до приватного чату",
qrHint: "Учасники команди сканують код камерою телефона. Посилання відкриває вкладку «Приватний чат».",
sendFailed: "Не вдалося надіслати — натисніть «Повторити».",
sending: "Надсилання…",
sent: "Надіслано",
retry: "Повторити",
errorUnreachable: "Не вдалося зв’язатися з приватним чатом. Перевірте з’єднання.",
errorDetails: "Подробиці",
unreachable: "Недоступно",
dismiss: "Закрити",
},
translateUi: {
title: "Переклад повідомлень",
translate: "Перекласти",
translating: "Переклад…",
showOriginal: "Показати оригінал",
showTranslation: "Показати переклад",
translatedFrom: "Перекладено з {{language}}",
failed: "Не вдалося перекласти. Спробуйте ще раз.",
unsupported: "Ця мовна пара поки недоступна.",
pilotNote: "Пілот: лише англійська ↔ іспанська.",
autoTranslate: "Автоматично перекладати повідомлення",
autoTranslateDesc: "Перекладати вхідні повідомлення вашою мовою. Працює на цьому пристрої; нічого не надсилається.",
privacy: "Переклад виконується на вашому пристрої. Ваше повідомлення ніколи його не залишає. Під час першого використання завантажується мовна модель.",
},
};
export default drift;