diff --git a/lib/l10n/arb/app_uk.arb b/lib/l10n/arb/app_uk.arb index cb449a1f..8e0b6492 100644 --- a/lib/l10n/arb/app_uk.arb +++ b/lib/l10n/arb/app_uk.arb @@ -70,8 +70,8 @@ "appearanceAccentBlue": "Блакитний", "appearanceAccentPurple": "Фіолетовий", "appearanceAccentPink": "Рожевий", - "appearanceUseSystemFont": "Use system font", - "appearanceUseSystemFontSubtitle": "Use your device’s default typeface for app text.", + "appearanceUseSystemFont": "Використовувати системний шрифт", + "appearanceUseSystemFontSubtitle": "Використовуйте стандартний шрифт вашого пристрою для тексту в додатку.", "@appearanceStyle": { "description": "Appearance section for choosing the app visual style" }, @@ -109,7 +109,7 @@ "@homeEmptyTitle": { "description": "Title shown on home when no providers are available yet" }, - "homeEmptySubtitle": "Install an extension to continue.", + "homeEmptySubtitle": "Встановіть розширення, щоб продовжити.", "@homeEmptySubtitle": { "description": "Subtitle shown on home when no providers are available yet" }, @@ -133,11 +133,11 @@ "@historyFilterSingles": { "description": "Filter chip - show singles only" }, - "libraryRecentlyAdded": "Recently Added", - "libraryDownloads": "Downloads", - "libraryNoActiveDownloads": "No active downloads", - "librarySearchHint": "Search your library", - "libraryEmptyCollection": "Your music will appear here", + "libraryRecentlyAdded": "Нещодавно додані", + "libraryDownloads": "Завантаження", + "libraryNoActiveDownloads": "Немає активних завантажень", + "librarySearchHint": "Пошук у вашій бібліотеці", + "libraryEmptyCollection": "Ваша музика з’явиться тут", "historySearchHint": "Історія пошуку...", "@historySearchHint": { "description": "Search bar placeholder in history" @@ -226,7 +226,7 @@ "@optionsPrimaryProvider": { "description": "Main search provider setting" }, - "optionsPrimaryProviderSubtitle": "Service used for searching by track or album name", + "optionsPrimaryProviderSubtitle": "Сервіс для пошуку за назвою треку або альбому", "@optionsPrimaryProviderSubtitle": { "description": "Subtitle for primary provider" }, @@ -259,7 +259,7 @@ "@optionsEmbedLyrics": { "description": "Embed lyrics in audio files" }, - "optionsEmbedLyricsSubtitle": "Save synced lyrics alongside your downloaded tracks", + "optionsEmbedLyricsSubtitle": "Зберігайте синхронізовані тексти пісень разом із завантаженими треками", "@optionsEmbedLyricsSubtitle": { "description": "Subtitle for embed lyrics" }, @@ -275,27 +275,27 @@ "@optionsReplayGainSubtitleOff": { "description": "Subtitle when ReplayGain is disabled" }, - "trackReplayGain": "Rescan ReplayGain", + "trackReplayGain": "Повторне сканування ReplayGain", "@trackReplayGain": { "description": "Three-dot menu option to scan loudness and write ReplayGain tags" }, - "trackReplayGainScanning": "Analyzing loudness...", + "trackReplayGainScanning": "Аналіз гучності...", "@trackReplayGainScanning": { "description": "Snackbar/progress message while scanning ReplayGain for a single track" }, - "trackReplayGainSuccess": "ReplayGain tags added", + "trackReplayGainSuccess": "Додано теги ReplayGain", "@trackReplayGainSuccess": { "description": "Snackbar message after ReplayGain tags written for a single track" }, - "trackReplayGainFailed": "Failed to add ReplayGain tags", + "trackReplayGainFailed": "Не вдалося додати теги ReplayGain", "@trackReplayGainFailed": { "description": "Snackbar message when ReplayGain scan/write fails" }, - "trackRemoveReplayGain": "Remove ReplayGain", - "trackRemoveReplayGainSuccess": "ReplayGain tags removed", - "trackRemoveReplayGainFailed": "Failed to remove ReplayGain tags", - "replayGainRemoving": "Removing ReplayGain...", - "replayGainRemoveConfirmMessage": "Remove track and album ReplayGain tags from {count} track(s)? Audio, artwork, and other metadata will be preserved.", + "trackRemoveReplayGain": "Видалити ReplayGain", + "trackRemoveReplayGainSuccess": "Теги ReplayGain видалено", + "trackRemoveReplayGainFailed": "Не вдалося видалити теги ReplayGain", + "replayGainRemoving": "Видалення ReplayGain...", + "replayGainRemoveConfirmMessage": "Видалити теги ReplayGain для треків та альбомів з {count} трек(s)? Аудіодані, обкладинки та інші метадані буде збережено.", "@replayGainRemoveConfirmMessage": { "placeholders": { "count": { @@ -303,7 +303,7 @@ } } }, - "selectionRemoveReplayGainCount": "Remove RG ({count})", + "selectionRemoveReplayGainCount": "Видалити RG ({count})", "@selectionRemoveReplayGainCount": { "description": "Compact selection action label. RG abbreviates ReplayGain; keep this short for a two-column toolbar.", "placeholders": { @@ -312,7 +312,7 @@ } } }, - "replayGainRemoveBatchSuccess": "ReplayGain removed from {success} of {total} tracks", + "replayGainRemoveBatchSuccess": "ReplayGain видалено з {success} з {total} треків", "@replayGainRemoveBatchSuccess": { "placeholders": { "success": { @@ -332,11 +332,11 @@ } } }, - "replayGainBatchConfirmTitle": "Add ReplayGain", + "replayGainBatchConfirmTitle": "Додати ReplayGain", "@replayGainBatchConfirmTitle": { "description": "Title of the batch ReplayGain confirmation dialog" }, - "replayGainBatchConfirmMessage": "Analyze loudness and write ReplayGain tags to {count} track(s)?", + "replayGainBatchConfirmMessage": "Проаналізувати гучність та записати теги ReplayGain на {count} трек(s)?", "@replayGainBatchConfirmMessage": { "description": "Message of the batch ReplayGain confirmation dialog", "placeholders": { @@ -345,12 +345,12 @@ } } }, - "replayGainBatchAnalyzing": "Analyzing ReplayGain...", + "replayGainBatchAnalyzing": "Аналіз ReplayGain...", "@replayGainBatchAnalyzing": { "description": "Progress dialog title while batch scanning ReplayGain" }, - "replayGainBatchSuccess": "ReplayGain added to {success} of {total} tracks", - "replayGainUnsupportedDecoder": "Some tracks could not be analyzed because their audio codec is not supported by the ReplayGain decoder. Their files were not changed.", + "replayGainBatchSuccess": "ReplayGain додано до {success} з {total} треків", + "replayGainUnsupportedDecoder": "Деякі треки не вдалося проаналізувати, оскільки їхній аудіокодек не підтримується декодером ReplayGain. Їхні файли не були змінені.", "@replayGainBatchSuccess": { "description": "Snackbar after batch ReplayGain completes", "placeholders": { @@ -519,7 +519,7 @@ "@aboutPCSource": { "description": "Link to PC GitHub repo" }, - "aboutKeepAndroidOpen": "Keep Android Open", + "aboutKeepAndroidOpen": "Зберігайте Android відкритим", "@aboutKeepAndroidOpen": { "description": "Link to Keep Android Open campaign website" }, @@ -567,27 +567,27 @@ "@aboutVersion": { "description": "Version info label" }, - "aboutBinimumDesc": "The creator of QQDL & HiFi API. This project helped shape lossless download support.", + "aboutBinimumDesc": "Розробник QQDL та HiFi API. Цей проєкт допоміг сформувати підтримку завантаження формату lossless.", "@aboutBinimumDesc": { "description": "Credit description for binimum" }, - "aboutSachinsenalDesc": "The original HiFi project creator. A foundation for lossless-source integration.", + "aboutSachinsenalDesc": "Автор оригінального проєкту HiFi. Основа для інтеграції джерел формату lossless.", "@aboutSachinsenalDesc": { "description": "Credit description for sachinsenal0x64" }, - "aboutUnituneDesc": "Open-source music link resolver by Flaze, used for cross-platform fallback matching.", + "aboutUnituneDesc": "Розв'язувач музичних посилань з відкритим кодом від Flaze, що використовується для кросплатформного підбору альтернативних варіантів.", "@aboutUnituneDesc": { "description": "Credit for the UniTune resolver" }, - "aboutMusicBrainzDesc": "Open music database maintained by MetaBrainz and its community, used for recording cross-references.", + "aboutMusicBrainzDesc": "Відкрита музична база даних, яку підтримують MetaBrainz та її спільнота; використовується для фіксації перехресних посилань.", "@aboutMusicBrainzDesc": { "description": "Credit for the MusicBrainz database" }, - "aboutSquiglyDesc": "Universal music link service by Liam Macmillan, used as a final cross-platform resolver fallback.", + "aboutSquiglyDesc": "Універсальний сервіс посилань на музику від Liam Macmillan, що використовується як кінцевий резервний варіант для кросплатформного визначення цільової сторінки.", "@aboutSquiglyDesc": { "description": "Credit for the Squigly resolver" }, - "aboutAppDescription": "Search music metadata, manage extensions, and organize your library.", + "aboutAppDescription": "Шукайте музичні метадані, керуйте розширеннями та впорядковуйте свою бібліотеку.", "@aboutAppDescription": { "description": "App description in header card" }, @@ -720,7 +720,7 @@ "@setupIcloudNotSupported": { "description": "Error when user selects iCloud Drive on iOS" }, - "setupDownloadInFlac": "Download music in lossless and Hi-Res quality", + "setupDownloadInFlac": "Завантажуйте музику у якості Lossless та Hi-Res", "@setupDownloadInFlac": { "description": "App tagline in setup" }, @@ -780,15 +780,15 @@ "@setupAllowAccessToManageFiles": { "description": "Instruction for file access permission" }, - "setupLanguageTitle": "Choose Language", + "setupLanguageTitle": "Виберіть мову", "@setupLanguageTitle": { "description": "Title for the language selection step in setup" }, - "setupLanguageDescription": "Select your preferred language for the app. You can change this later in Settings.", + "setupLanguageDescription": "Виберіть бажану мову для програми. Ви зможете змінити її пізніше в налаштуваннях.", "@setupLanguageDescription": { "description": "Description for the language selection step in setup" }, - "setupLanguageSystemDefault": "System Default", + "setupLanguageSystemDefault": "Система за замовчуванням", "@setupLanguageSystemDefault": { "description": "Option to use the system language" }, @@ -824,15 +824,15 @@ "@dialogDownload": { "description": "Confirm button in Download All dialog" }, - "previewPlay": "Play preview", + "previewPlay": "Відтворити попередній", "@previewPlay": { "description": "Tooltip for the button that plays a short track preview snippet" }, - "previewStop": "Stop preview", + "previewStop": "Зупинити попередній", "@previewStop": { "description": "Tooltip for the button that stops the playing track preview snippet" }, - "previewUnavailable": "Preview unavailable", + "previewUnavailable": "Попередній перегляд недоступний", "@previewUnavailable": { "description": "Snackbar shown when a track preview snippet cannot be played" }, @@ -906,7 +906,7 @@ "@dialogImportPlaylistTitle": { "description": "Dialog title - import CSV playlist" }, - "dialogImportPlaylistMessage": "Found {count} tracks in the playlist file. Add them to download queue?", + "dialogImportPlaylistMessage": "У файлі списку відтворення знайдено {count} треків. Додати їх до черги завантаження?", "csvImportTracks": "{count} треків з CSV", "@csvImportTracks": { "description": "Label shown in quality picker for CSV import", @@ -916,11 +916,11 @@ } } }, - "collectionExportM3u": "Export as M3U8", + "collectionExportM3u": "Експортувати як M3U8", "@collectionExportM3u": { "description": "Tooltip on the collection screen action that exports the track list as an M3U8 playlist file" }, - "collectionExportM3uDone": "Exported {exported} of {total} tracks", + "collectionExportM3uDone": "Експортовано {exported} із {total} треків", "@collectionExportM3uDone": { "description": "Snackbar after M3U8 export; tracks without a local file are not exported", "placeholders": { @@ -932,47 +932,47 @@ } } }, - "collectionExportM3uNone": "No downloaded files to export", + "collectionExportM3uNone": "Немає завантажених файлів для експорту", "@collectionExportM3uNone": { "description": "Snackbar when an M3U8 export finds no local files" }, - "collectionExportM3uFailed": "Export failed", + "collectionExportM3uFailed": "Експорт не вдався", "@collectionExportM3uFailed": { "description": "Snackbar when writing or sharing the M3U8 export fails" }, - "trackOpenOn": "Open on...", + "trackOpenOn": "Відкрити на...", "@trackOpenOn": { "description": "Track option and sheet title listing streaming platforms where the track can be opened" }, - "trackOpenOnNoLinks": "No platform links found for this track.", + "trackOpenOnNoLinks": "Для цього треку не знайдено посилань на платформи.", "@trackOpenOnNoLinks": { "description": "Shown in the Open on sheet when song.link returns no links" }, - "libraryReviewDuplicates": "Review duplicates", + "libraryReviewDuplicates": "Переглянути дублікати", "@libraryReviewDuplicates": { "description": "Library settings row opening the duplicate review sheet" }, - "libraryReviewDuplicatesSubtitle": "Find tracks stored more than once", + "libraryReviewDuplicatesSubtitle": "Знайти треки, збережені більше одного разу", "@libraryReviewDuplicatesSubtitle": { "description": "Subtitle for the duplicate review settings row" }, - "duplicatesTitle": "Duplicates", + "duplicatesTitle": "Дублікати", "@duplicatesTitle": { "description": "Title of the duplicate review sheet" }, - "duplicatesEmpty": "No duplicate tracks found.", + "duplicatesEmpty": "Не знайдено повторюваних треків.", "@duplicatesEmpty": { "description": "Shown when the duplicate review sheet finds nothing" }, - "duplicatesKeepBest": "Keep best", + "duplicatesKeepBest": "Залишити краще", "@duplicatesKeepBest": { "description": "Button that deletes all but the highest-quality copy in a duplicate group" }, - "duplicatesKeepBestAll": "Keep best for all", + "duplicatesKeepBestAll": "Зробити найкращим для всіх", "@duplicatesKeepBestAll": { "description": "Button that keeps the highest-quality copy in every duplicate group and deletes the rest" }, - "duplicatesKeepBestAllMessage": "Keep the best copy of {groupCount} {groupCount, plural, =1{track} other{tracks}} and delete {count} lower-quality {count, plural, =1{copy} other{copies}}?\n\nThe deleted files will be removed from storage.", + "duplicatesKeepBestAllMessage": "Зберегти найкращу копію з-поміж {groupCount} {groupCount, plural, =1{track} other{tracks}} і видалити {count}гіршої якості {count, plural, =1{copy} other{copies}}? Видалені файли будуть усунені зі сховища. ", "@duplicatesKeepBestAllMessage": { "description": "Confirmation message for keeping the best copy across every duplicate group", "placeholders": { @@ -3875,7 +3875,7 @@ } } }, - "collectionRemovedFromFavoriteArtists": "\"{artistName}\" removed from Favorite Artists", + "collectionRemovedFromFavoriteArtists": "\"{artistName}\" видалено з улюблених Виконавців", "@collectionRemovedFromFavoriteArtists": { "description": "Snackbar after removing artist from favorite artists", "placeholders": {