diff --git a/src/localization/languages/uk.json b/src/localization/languages/uk.json
index b2264585..4bc430e1 100644
--- a/src/localization/languages/uk.json
+++ b/src/localization/languages/uk.json
@@ -1,19 +1,17 @@
{
"name": "українська",
"substrings": {
- "ContactLink": "звернись до творця"
+ "ContactLink": "сповістити про проблему на GitHub"
},
"strings": {
"LinkInput": "встав посилання сюди",
- "AboutSummary": "{appName} - твій помічник з завантаження контенту з соцмереж. ніякої реклами, трекерів та іншого лайна. вставляєш посилання, отримуєш файл, і допиваєш свій смузі у спокої.",
- "AboutSupportedServices": "сервіси, що підтримуються станом на зараз:",
- "EmbedBriefDescription": "зберігай контент із соцмереж без роздратувань",
+ "AboutSummary": "{appName} - твій помічник з завантаження контенту з соцмереж. ніякої реклами, трекерів та іншого лайна. вставляєш посилання, отримуєш файл, і все готово.",
+ "EmbedBriefDescription": "зберігайте те, що вам подобається, без реклами, трекерів чи іншого лайна.",
"MadeWithLove": "wukko створив це все з <3",
"AccessibilityInputArea": "місце для посилання",
"AccessibilityOpenAbout": "про {appName}",
"AccessibilityDownloadButton": "кнопка завантаження",
"AccessibilityOpenSettings": "відкрити налаштування",
- "AccessibilityOpenChangelog": "відкрити список змін",
"AccessibilityClosePopup": "закрити вікно",
"AccessibilityOpenDonate": "відкрити інфу щодо пожертв",
"TitlePopupAbout": "що таке {appName}?",
@@ -21,86 +19,106 @@
"TitlePopupError": "от халепа...",
"TitlePopupChangelog": "що нового?",
"TitlePopupDonate": "підтримай {appName}",
- "TitlePopupDownload": "завантажити",
- "ErrorSomethingWentWrong": "щось пішло не так, і нічого з того, що ти просив, отримати не вдалось. ти можеш спробувати ще раз, але якщо проблема не зникне, будь ласка, {ContactLink}",
- "ErrorUnsupported": "схоже, цей сервіс ще не підтримується, або твоє посилання недійсне.",
+ "TitlePopupDownload": "як продовжити?",
+ "ErrorSomethingWentWrong": "щось пішло не так, і нічого з того, що ти просив, отримати не вдалось. спробуй ще раз, але якщо проблема не зникне, {ContactLink}",
+ "ErrorUnsupported": "схоже на те, що цей сервіс поки не підтримується або твоє посилання недійсне. ти ж вставив правильне посилання?",
"ErrorBrokenLink": "{s} підтримується, але з твоїм посиланням щось не так. можливо, ти не повністю його скопіював?",
- "ErrorNoLink": "я не вмію вгадувати, що ти хочеш завантажити! будь ласка, дай мені посилання.",
- "ErrorPageRenderFail": "щось пішло не так і сторінку відобразити не вдалося. якщо ця проблема повторюється або надзвичайно важлива, будь ласка, {ContactLink}. було б корисно, якби ти надав поточний хеш коміту ({s}) та кроки відтворення помилки. наперед дякую :D",
- "ErrorRateLimit": "ти надсилаєш забагато запитів. заспокойся та спробуй ще раз пізніше.",
- "ErrorCouldntFetch": "не зміг отримати ніякої інформації з твого посилання. перевір, щоб посилання було дійсним, та спробуй ще раз.",
- "ErrorLengthLimit": "поточний ліміт тривалості становить {s} хв. відео, яке ти намагався завантажити, триває більше {s} хв. спробуй щось інше!",
+ "ErrorNoLink": "я не вмію вгадувати, що ти хочеш завантажити! будь ласка, дай мені посилання :(",
+ "ErrorPageRenderFail": "якщо ти це читаєш, щось під час рендерингу сторінки дуже сильно зламалось. будь ласка, {ContactLink}. не забудь надати домен, з яким виникає ця проблема, а такош хеш збірки ({s}). вдячний наперед :D",
+ "ErrorRateLimit": "ти надсилаєш забагато запитів. заспокойся та спробуй ще раз через хвилину!",
+ "ErrorCouldntFetch": "за цим посиланням я нічого не знайшов. переконайся, що посилання робоче, й спробуй ще раз! ще може бути таке, що це відео має регіональні обмеження, тримай це у голові.",
+ "ErrorLengthLimit": "я не оброблюватиму відео довші за {s} хвилин, тому знайди відео коротше.",
"ErrorBadFetch": "я намагався отримати інформацію з твого посилання, але сталася помилка. ти впевнений, що воно працює? переконайся у правильності посилання та спробуй ще раз.",
- "ErrorCorruptedStream": "на жаль, це завантаження пошкоджено. повтори спробу або спробуй інший формат та роздільну здатність.",
"ErrorNoInternet": "немає інтернету, або api {appName} не працює. перевір з'єднання з інтернетом та спробуй ще раз.",
- "ErrorCantConnectToServiceAPI": "у мене не вийшло під'єднатися до api {s}. можливо, {s} не працює, або ip сервера {appName} було заблоковано. спробуй ще раз пізніше.",
- "ErrorEmptyDownload": "тут я не бачу нічого, що можна було б завантажити. спробуй інше посилання.",
- "ErrorLiveVideo": "я не можу дивитися в майбутнє і завантажувати відео з прямого етеру. почекай, доки трансляція закінчиться, та спробуй ще раз!",
+ "ErrorCantConnectToServiceAPI": "я не зміг під'єднатися до api. можливо, воно впало, а може {appName} заблокували. спробуй ще, але якщо помилка повторюватиметься, {ContactLink}",
+ "ErrorEmptyDownload": "тут я не бачу нічого, що можна було б завантажити. спробуй інше посилання!",
+ "ErrorLiveVideo": "цей етер ще триває, я не вмію заглядати у майбутнє. почекай кінця трансляції й спробуй знову!",
"SettingsAppearanceSubtitle": "вигляд",
"SettingsThemeSubtitle": "тема",
- "SettingsFormatSubtitle": "формат завантаження",
- "SettingsMiscSubtitle": "інші налаштування",
- "SettingsDownloadsSubtitle": "завантаження",
+ "SettingsFormatSubtitle": "формат",
"SettingsQualitySubtitle": "якість",
"SettingsThemeAuto": "авто",
"SettingsThemeLight": "світла",
"SettingsThemeDark": "темна",
- "SettingsQualitySwitchMax": "макс",
- "SettingsQualitySwitchHigh": "висока",
- "SettingsQualitySwitchMedium": "середня",
- "SettingsQualitySwitchLow": "низька",
- "SettingsQualitySwitchLowest": "найнижча",
"SettingsKeepDownloadButton": "зробити >> видимим",
"AccessibilityKeepDownloadButton": "завжди показувати кнопку завантаження",
- "SettingsEnableDownloadPopup": "питати щодо методу зберігання",
+ "SettingsEnableDownloadPopup": "запитувати, як зберегти",
"AccessibilityEnableDownloadPopup": "питати, що робити з завантаженнями",
- "SettingsFormatDescription": "обери webm, якщо ти бажаєш максимальної якості. webm зазвичай кращий за якістю, але пристрої на ios не можуть програвати їх без сторонніх програм.",
- "SettingsQualityDescription": "якщо вибрана роздільна здатність недоступна, замість неї вибирається найближча. якщо ти хочеш опублікувати відео з youtube у twitter, вибери комбінацію mp4 і 720p. з такими відео twitter працює найкраще.",
- "DonateSubtitle": "допоможи платити за оренду серверу",
- "DonateDescription": "мені не дуже подобається криптовалюта у її сучасному стані, але наразі для мене це єдиний надійний спосіб отримувати гроші та платити за що-небудь за кордоном.",
- "LinkGitHubIssues": ">> повідомляй про помилки та переглядай код на github",
+ "SettingsQualityDescription": "якщо вибрана якість не доступна, буде використана найближча до неї.",
"LinkGitHubChanges": ">> ознайомся з попередніми комітами та зроби свій внесок на github",
- "LinkDonateContact": ">> дай нам знати, якщо валюти, у якій ти б хотів задонатити, немає у списку",
- "NoScriptMessage": "{appName} використовує javascript, щоб отримувати інформацію з сайтів та мати інтерактивний інтерфейс. тобі доведеться дозволити javascript, щоб користуватися сайтом. тут ніколи не буде ніякої реклами чи трекерів.",
- "DownloadPopupDescriptionIOS": "в тебе пристрій на ios, тож для завантаження тобі треба натиснути та утримувати кнопку завантаження, а потім у вікні, яке з'явиться, вибрати \"завантажити відео\". такий обряд доведеться виконувати допоки apple не припинить змушувати розробників використовувати safari webview в усіх браузерах.",
+ "NoScriptMessage": "{appName} використовує javascript, щоб отримувати інформацію з сайтів та мати інтерактивний інтерфейс. тобі доведеться дозволити javascript, щоб користуватися сайтом. ніякої реклами чи трекерів я тут не тримаю і не планую тримати, їй богу.",
+ "DownloadPopupDescriptionIOS": "найпростіший спосіб зберегти відео на iOS:\n1. додай цю команду siri.\n2. натисни «поділитися» зверху і у меню, що з'явиться, обери «додати зображення в програму \"фотографії\"».\nякщо необхідно, у вікні запиту на дозвіл натисни «завжди дозволяти».\n\nальтернативний метод: натиснита утримуй кнопку завантаження, приховай попередній перегляд відео та вибери «викачати повʼязаний файл».\nпісля цього відкрий завантаження safari і вибери файл, що ти скачав, відкрий меню «поділитися» і, нарешті, натисни «зберегти відео».",
"DownloadPopupDescription": "кнопка завантаження відкриває нову вкладку з запитуваним файлом. це можна змінити у налаштуваннях.",
"DownloadPopupWayToSave": "вибери спосіб зберігання",
"ClickToCopy": "натисни, щоб скопіювати",
"Download": "завантажити",
- "CopyURL": "скопіювати url",
+ "CopyURL": "копіювати",
"AboutTab": "інфа",
"ChangelogTab": "список змін",
"DonationsTab": "донати",
"SettingsVideoTab": "відео",
"SettingsAudioTab": "аудіо",
"SettingsOtherTab": "інше",
- "ChangelogLastCommit": "останній коміт (англійською мовою)",
- "ChangelogLastMajor": "останнє оновлення",
+ "ChangelogLastMajor": "поточна версія та коміт",
"AccessibilityModeToggle": "змінити режим завантаження",
- "DonateLinksDescription": "лінки на донати відкриваються у нових вкладках. це найкращий спосіб донатити, якщо хочеш, щоб ми безпосередньо отримували гроші.",
+ "DonateLinksDescription": "це найкращий спосіб, якщо ти хочеш, щоб я отримав твій донат напряму.",
"SettingsAudioFormatBest": "найкращий",
- "SettingsAudioFormatDescription": "якщо вибрано найкращий формат, буде завантажено оригінал аудіо. якщо вибрано щось інше, завантажений файл буде трохи стисненим.",
+ "SettingsAudioFormatDescription": "коли обрано формат \"найкращий\", ти отримаєш аудіо у такому виді, у якому воно лежить на сервісі. без перекодування. усі інші формати перекодовуються.",
"Keyphrase": "зберігай те, що любиш",
- "SettingsDisableChangelogOnUpdate": "не показувати \"що нового\" після суттєвих оновлень",
"SettingsRemoveWatermark": "прибрати вотермарку",
"ErrorPopupCloseButton": "зрозуміло",
- "ModeToggle": "режим",
- "ModeToggleSmart": "розумний",
- "ErrorLengthAudioConvert": "я не можу конвертувати аудіо, якщо воно довше ніж {s} хв. вибери \"найкращий\" формат аудіо, щоб завантажити аудіо такої тривалості.",
- "SettingsAudioFullTikTok": "завантажувати повне аудіо",
+ "ErrorLengthAudioConvert": "зараз ліміт на конвертацію аудіо — {s} хв. вибери \"найкращий\" формат аудіо, щоб завантажувати без обмежень!",
+ "SettingsAudioFullTikTok": "повне аудіо",
"SettingsAudioFullTikTokDescription": "зазвичай таке аудіо - оригінальний звук або пісня, яке використовується у відео. тобто це аудіо без обрізань, голосу за кадром тощо.",
- "ErrorCantGetID": "я не зміг отримати повну інформацію за скороченим посиланням. переконайся, що воно працює, або спробуй повне посилання.",
- "ErrorNoVideosInTweet": "цей твіт не містить відео чи gif. спробуй інший!",
+ "ErrorCantGetID": "я не зміг отримати повну інформацію за скороченим посиланням. переконайся, що воно працює, або спробуй повне посилання! якщо проблема продовжує відтворюватись, {ContactLink}.",
+ "ErrorNoVideosInTweet": "не знайшов у цьому твіті ні відео, ні gif. спробуй якийсь інший!",
"ImagePickerTitle": "вибери зображення для завантаження",
"ImagePickerDownloadAudio": "завантажити аудіо",
"ImagePickerExplanationPC": "клацни на зображення правою кнопкою миші, щоб зберегти.",
"ImagePickerExplanationPhone": "натисни та утримуй зображення, щоб зберегти.",
- "ErrorNoUrlReturned": "сервер не повернув посилання для завантаження. таке не має траплятись. онови сторінку і спробуй ще раз, але якщо це не допоможе, {ContactLink}",
- "ErrorUnknownStatus": "я отримав відповідь, яку я не можу обробити. найімовірніше, щось не так зі статусом. таке не має траплятись. онови сторінку і спробуй ще раз, але якщо це не допоможе, {ContactLink}",
- "PasteFromClipboard": "вставити з буфера обміну",
- "SettingsDisableClipboard": "приховати кнопку буфера обміну",
- "FollowTwitter": "читай твіттер акаунт {appName}, щоб слідкувати за опитуваннями, новинами та більше: @justusecobalt",
- "ChangelogOlder": "попередні оновлення",
- "ChangelogPressToExpand": "натисни, щоб завантажити"
+ "ErrorNoUrlReturned": "я не отримав посилання на завантаження від сервера. траплятись такого не повинно. спробуй ще раз, але якщо проблема відтвориться, {ContactLink}.",
+ "ErrorUnknownStatus": "я отримав відповідь, яку я не розумію. траплятись такого не повинно. спробуй ще раз, але якщо проблема відтвориться, {ContactLink}.",
+ "PasteFromClipboard": "вставити та скачати",
+ "ChangelogOlder": "попередні версії",
+ "ChangelogPressToExpand": "розгорнути",
+ "Miscellaneous": "інше",
+ "ModeToggleAuto": "авто режим",
+ "ModeToggleAudio": "режим аудіо",
+ "SettingsDisableNotifications": "приховати сповіщення",
+ "MediaPickerTitle": "вибери, що зберегти",
+ "MediaPickerExplanationPC": "натисни або клацни правою кнопкою миші, щоб завантажити бажане.",
+ "MediaPickerExplanationPhone": "натисни або утримуй, щоб завантажити бажане.",
+ "MediaPickerExplanationPhoneIOS": "натисни та утримуй, приховай попередній перегляд, а потім обери \"завантажити файл за посиланням\", щоб зберегти.",
+ "TwitterSpaceWasntRecorded": "цей аудіочат не було записано, тому завантажити нічого не вийде. спробуй щось інше!",
+ "ErrorCantProcess": "я не зміг обробити твій запит :(\nти можеш спробувати ще раз, але якщо проблема залишиться, будь ласка, {ContactLink}.",
+ "ChangelogPressToHide": "згорнути",
+ "Donate": "донат",
+ "DonateSub": "ти можеш допомогти!",
+ "DonateExplanation": "{appName} не пхає тобі рекламу в обличчя й не продає твої персональні дані, то працює абсолютно безплатно. та виявляється, що розробка та підтримка сервісу, яким користується 150 тисяч людей, є доволі затратними.\n\nякщо {appName} допоміг тобі і ти хочеш виразити вдячність розробнику, це можна зробити через донати! кожна копійка допомагає мені і я буду БЕЗМЕЖНО вдячний :D\n\nнаразі я маю великі (зростаючі) плани, й мені потрібна твоя допомога. користувацька база {appName} зростає щодня і мені треба надолужити. я буду радий донатам більше, ніж будь-коли.\n\nмені ще належить почати заробляти з {appName}, всі гроші інвестуються назад у користувачів, тому двої донати, по факту, допомагають усім.",
+ "DonateVia": "пожертва через",
+ "DonateHireMe": "...або можеш запросити мене на роботу :)",
+ "SettingsVideoMute": "заглушити аудіо",
+ "SettingsVideoMuteExplanation": "видаляє аудіо з відео завантаження, коли це можливо.",
+ "ErrorSoundCloudNoClientId": "мені не вдалося отримати тимчасовий токен, який потрібен для завантаження пісень з soundcloud. спробуй ще раз, але якщо проблема відтворюється, {ContactLink}.",
+ "CollapseServices": "підтримувані сервіси",
+ "CollapseSupport": "підтримка та вихідний код",
+ "CollapsePrivacy": "політика конфіденційності",
+ "ServicesNote": "цей список не є остаточним і продовжує розширюватися з плином часу, тому перевіряй його час від часу, щоб точно знати, що підтримується!",
+ "FollowSupport": "підпишись на {appName} на mastodon або twitter для підтримки, опитувань, новин та багато іншого:",
+ "SupportNote": "прошу звернути увагу на те, що відповідь на питання та проблеми з моєї сторони може зайняти деякий час, тому що вас багато, а я один.",
+ "SourceCode": "повідомити про проблему, вихідний код, старнути або форкнути репозиторій:",
+ "PrivacyPolicy": "політика конфіденційності {appName} досить проста: ніякі дані не збираються і не зберігаються. нуль, пусто, дуля, нічого.\nте, що ти завантажуєш - лише твоя особиста справа, не моя.\n\nу випадках, коли твоєму завантаженню потрібне перекодування, тимчасово зберігається трохи невідстежуваної інформації. це необхідно для роботи такого типу завантажень.\n\nу цьому випадку, sha256 хеш (з сіллю) твоєї ip адреси та дані про запитаний стрім зберігаються в оперативній пам'яті сервера протягом двох хвилин. Після цього періоду все стирається. хеш твоєї ip адреси використовується для обмеження доступу до завантаження так, щоб воно було доступне лише тобі. ні у кого (навіть у мене) немає доступу до тимчасово збережених даних, оскільки оригінальний код {appName} не надає такої можливості.\n\nти завжди можеш переглянути вихідний код {appName} і переконатися, що все так, як описано.",
+ "ErrorYTUnavailable": "це відео з youtube недоступне або обмежене за віком. наразі я не в змозі завантажити відео з чутливим вмістом. спробуй інше!",
+ "ErrorYTTryOtherCodec": "я не знайшов завантажень за вашими налаштуваннями. спробуй інший кодек або якість!\n\nмай на увазі: youtube api іноді дивно поводитися. вини за це google, не мене.",
+ "SettingsCodecSubtitle": "youtube кодек",
+ "SettingsCodecDescription": "h264: ширша підтримка відео-плеєрами, але максимальна якість - 1080p.\nav1: обмежена підтримка відео-плеєрами, але підтримує 8k та HDR.\nvp9: зазвичай має найвищий бітрейт, зберігає найбвльшу кількість деталей. підтримує 4k & HDR.\n\nобери h264, якщо хочеш найкращу підтримку плеєрів, відео-редакторів та соц. мереж.",
+ "SettingsAudioDub": "звукова доріжка youtube",
+ "SettingsAudioDubDescription": "визначає, яка аудіодоріжка буде використовуватися. якщо дубляжу немає, буде завантажено відео в оригінальній мові.\n\nоригінал: використовується мова оригіналу.\nавто: використовується мова браузеру (та {appName}).",
+ "SettingsDubDefault": "оригінал",
+ "SettingsDubAuto": "авто",
+ "SettingsVimeoPrefer": "тип файлів vimeo",
+ "SettingsVimeoPreferDescription": "progressive: пряме посилання на файл з vimeo cdn. максимальна якість - 1080p.\ndash: відео і аудіо об'єднано {appName} в один файл. максимальна якість - 4k.\n\nобирай \"progressive\", якщо хочеш використовувати кращу сумісність з редакторами/плеэрами або соціальними мережами. якщо режим \"progressive\" недоступний, використовуватиметься режим \"dash\".",
+ "ShareURL": "поділитися",
+ "ErrorTweetUnavailable": "не вдалося нічого знайти про цей твіт. це може бути тому, що його видимість обмежена. спробуй інше!"
}
}